Sign in
Code Monkey Have Fun
Tags
Ape
Books
C#
Calculators
Colemak
Composition
Concatenative Languages
Continuations
CPS
Curiosities
DCPU-16
Demo Code
F#
Fignition
Forth
FRP
FScheme
HP-35
HPCalcs
Interpreters
Kata
Kids Programming
Lambda
Lazy
LegoNXT
Logic Programming
Logo
Magimathics
Memoization
Microsoft Life
Monads
NDP
Pages
Project Euler
Ramble
Recursion
Robotics
RPN
Scheme
Streams
TCO
TransForth
Turing Machine
Turtle Graphics
VMs
XSLT
Browse by Tags
MSDN Blogs
>
Code Monkey Have Fun
>
All Tags
>
scheme
Tagged Content List
Blog Post:
FScheme - Scheme in F#
Ashley Nathan Feniello
[Part 1 of the FScheme series ] One of my New Year’s goals is to re-read Lisp in Small Pieces and implement all 11 interpreters and 2 compilers. As much as I like the "Lisp in Lisp" idea and enjoyed the eureka moment in SICP when Sussman writes the metacircular interpreter on the board to the...
on
24 Sep 2010
Blog Post:
Functional I/O (Historical Debugging)
Ashley Nathan Feniello
[Part 14 of the FScheme series ] Historical Debugging in VS2010 is quite the engineering feat! We can actually pull off something similar in our interpreter with amazing ease. Because of the pure nature of our functional I/O system (last two posts ) and the already centrally managed world state and...
on
10 Mar 2010
Blog Post:
Functional I/O (including “I” this time)
Ashley Nathan Feniello
[Part 13 of the FScheme series ] Now to add input to our Functional I/O system; following up on the previous post . We already had bouncing balls so how ‘bout we add a mouse-controlled paddle and make a primitive “Pong”? Mouse Input To keep it simple, we’re just going...
on
9 Mar 2010
Blog Post:
Functional I/O (or at least “O”)
Ashley Nathan Feniello
[Part 12 of the FScheme series ] I just watched Matthias Felleisen’s talk on Functional I/O and read this paper and decided to bolt on a little I/O system to the FScheme interpreter we’ve been building. It’s a pretty nice FRP-type system. Reading the paper or watching the talk is...
on
5 Mar 2010
Blog Post:
Playing Dice with the Universe
Ashley Nathan Feniello
[Part 11 of the FScheme series ] We’re now taking the first small step into the world of nondeterministic logic programming (chapter 16 of Bill Hails’ book ). Hopefully you enjoyed the last post about continuation passing and found the idea to be ripe with potential power; indeed so powerful...
on
21 Feb 2010
Blog Post:
Turning Your Brain Inside Out with Continuations
Ashley Nathan Feniello
[Part 10 of the FScheme series ] We’re into one of the most magical chapters in Bill Hails’ book . We’re about to add a very strange and dangerous feature to the interpreter: ‘call/cc’ (“call with current continuation”). To appreciate the beauty of it, we’ll...
on
11 Feb 2010
Blog Post:
Recursion Is The New Iteration
Ashley Nathan Feniello
I remember the strange feeling as a kid the first time I saw structured BASIC after having been doing everything with line numbers. Any time I happened to walk into a Radio Shack in the early 80s I’d just have to leave this behind: I was in a GOTO / GOSUB world ( give it a try ). The first time...
on
6 Feb 2010
Blog Post:
Language vs. Library
Ashley Nathan Feniello
[Part 9 of the FScheme series ] Primitives Perhaps this post should have gone along with the one about macros and how Lisp is a “programmable programming language.” The common tension in any language or runtime design is how much to build in as primitives and how much to implement as...
on
30 Jan 2010
Blog Post:
Oh, The Humanity!
Ashley Nathan Feniello
[Part 8 of the FScheme series ] 'set', 'begin', 'define' Here we implement chapters 10 and 11 of Bill Hails’ book . We’re about to do something hideous and horrible to the language (and to our interpreter). We’re about to add assignment. This is a travesty to a pure functional...
on
22 Jan 2010
Blog Post:
No Wait, Macro the Ultimate!
Ashley Nathan Feniello
[Part 7 of the FScheme series ] The Soul of Scheme We’re now getting into the language-oriented features of Scheme. This is why Scheme is one of my very favorite languages. Scheme is of course a multi-paradigm language; functional, imperative (next post), object oriented (soon), but most...
on
21 Jan 2010
Blog Post:
What's Lisp Without Lists?!
Ashley Nathan Feniello
[Part 6 of the FScheme series ] Once again, I must plug Bill Hails’ book Lists How could we even be pretending this is Lisp when we have yet to add lists! We need to add the standard ‘cons’, ‘car’, and ‘cdr’ for constructing and destructing list structure...
on
18 Jan 2010
Blog Post:
What ‘letrec’ Can’t Do
Ashley Nathan Feniello
[Part 5 of the FScheme series ] In this series I’m glossing over all the gory details. You really should read Bill Hails’ book ! Simultaneous 'let' We just added ‘letrec’ to solve the issue of bindings referring back to themselves. Remember that to implement it we first...
on
18 Jan 2010
Blog Post:
Rinse and Recurse
Ashley Nathan Feniello
[Part 4 of the FScheme series ] Recursive ‘let’ Normal ‘let’ can’t be used to bind names to recursive expressions (ones referring back to the names) because the expressions end up being evaluated in the calling environment before it’s been extended with the names...
on
16 Jan 2010
Blog Post:
Lambda the Ultimate!
Ashley Nathan Feniello
[Part 3 of the FScheme series ] Continuing along in Bill Hails’ book . Be sure to follow the previous posts . Lambda Now we’re going to add the all-powerful ‘lambda’! Since we’ve already done all the environment-passing plumbing from the last post, this will be...
on
15 Jan 2010
Blog Post:
Just ‘let’ Me Be Already!
Ashley Nathan Feniello
[Part 2 of the FScheme series ] Still working through Bill Hails’ awesome book . Adding to the FScheme interpreter from this previous post . Now we’ll add ‘let’. To do this we’re changing the evaluation model into an environment-passing one. Environment Passing ...
on
15 Jan 2010
Blog Post:
The Lambda Calculus
Ashley Nathan Feniello
Mads Torgersen’s post the other day was very cool! The first time I really understood Lambda Calculus was from this little 8-page paper . Relating it to Scheme made it stick for me. After reading Dr. T’s post I was just now having some fun playing with it in Scheme and couldn’t resist making a post of...
on
3 Dec 2008
Page 1 of 1 (16 items)