public
Description: Scheme in as little Ruby and as much Scheme as possible. Supports macros, continuations, tail recursion and lazy evaluation.
Homepage:
Clone URL: git://github.com/jcoglan/heist.git
jcoglan (author)
Thu Oct 15 15:52:05 -0700 2009
commit  17056c8fa0de07b546a598548949da3ac5e2a508
tree    247eb60851eb5235b81acd3fc60dfacb4c2339e5
parent  8850ed12e495da8152f62201ad38bd95d214780b
heist / History.txt
100644 71 lines (50 sloc) 2.424 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
=== Version 0.3.2 (TODO)
 
* Built-in library code is executed in a protected scope so that redefinitions of
  core functions in user code do not break implementations of library functions
* The core library is compiled to a Ruby representation that loads faster
* The REPL prints quote/unquote expressions using shorthand notation
 
 
=== Version 0.3.1 (2009-08-23)
 
* Added the (rationalize) procedure
* Allowed (gcd) and (lcm) to take more than two arguments
* Fixed string output so the REPL prints all data types correctly
 
 
=== Version 0.3.0 (2009-07-31)
 
We've got all your data types now
* Vectors are supported, including the full R5RS library, macro and quasiquoting support
* Characters are available, including named characters (#\newline, #\space, #\tab)
* The full R5RS character and string libraries are implemented
* Complex numbers work correctly on Ruby1.9
* Dotted tail notation properly supported in macro templates
 
 
=== Version 0.2.1 (2009-05-19)
 
* Fixed a bug in (append) where '() is the last argument
* Implemented (begin) in Ruby rather than Scheme for performance reasons
* Fixed a macro bug relating to binding of macro keywords
 
 
=== Version 0.2.0 (2009-04-01)
 
The 'lists' release
* Entirely revised to correctly support lists as linked pairs
* Complete set of R5RS list functions
* Syntax for dotted pairs and improper lists implemented
* Rest-args for functions using dot notation
* Almost-complete R5RS numeric library, including complexes and rationals
* Some parser bugs regarding literals and quoting fixed
* Many macro parsing and expansion bugs fixed, esp. concerning nested repeating patterns
* Macro keywords and collisions with local variables now follow the spec
* R6RS ellipsis escaping feature -- (... ...) -- implemented
* All library syntax now implemented as macros, should all support call/cc
* Ruby data can now be executed as Scheme code
* Lots of inline documentation for the runtime
 
 
=== Version 0.1.0 (2009-02-25)
 
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
 
 
=== Version 0 (2009-01-12)
 
Initial draft. Supports (define), (lambda), lexical scoping,
closures, arithmetic and (display).