Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Updates to README and History.

  • Loading branch information...
commit d610c62482d2faad091d728a45183bf7251178e9 1 parent 8f72a31
@jcoglan authored
Showing with 39 additions and 3 deletions.
  1. +18 −3 History.txt
  2. +21 −0 README.rdoc
View
21 History.txt
@@ -1,6 +1,21 @@
-=== 1.0.0 / 2009-01-12
+=== Version 0.1.0 (2009-02-25)
-* 1 major enhancement
+First public release
+* Data: booleans, numbers, strings, symbols, proper lists
+* Most of R5RS syntax (chapter 4)
+* Quoting, quasiquoting
+* Binding constructs, conditionals
+* Boolean logic
+* Delayed evaluation
+* Macros
+* Tail recursion
+* Continuations
+* Optional transparent lazy evaluation
+* Decent chunk of R5RS numeric library
- * Birthday!
+
+=== Version 0 (2009-01-12)
+
+Initial draft. Supports (define), (lambda), lexical scoping,
+closures, arithmetic and (display).
View
21 README.rdoc
@@ -226,6 +226,27 @@ conditionally, certainly this will not work with macros as the
inlining process will overwrite conditional code using the first
expansion generated.
+Lazy evaluation mode is mainly useful for doing lambda calculus
+without being concerned about the difference between normal and
+applicative order, which for example affects the expression for
+the Y combinator. It displays some interesting properties, such
+as the fact that this is a perfectly reasonable definition for
+<tt>Y</tt>:
+
+ (define (Y f)
+ (f (Y f)))
+ ; => #<procedure:Y>
+
+ (define fact (Y (lambda (rec)
+ (lambda (x)
+ (if (zero? x)
+ 1
+ (* x (rec (- x 1))))))))
+ ; => #<procedure:fact>
+
+ (fact 6)
+ ; => 720
+
== License
Please sign in to comment.
Something went wrong with that request. Please try again.