Jon Rafkind
|
1f8c1950fb
|
[honu] allow multiple variables to be declared at once
|
2011-11-14 17:49:15 -07:00 |
|
Jon Rafkind
|
9ec39fd590
|
[honu] add format and a facility to convert floats to integers
|
2011-11-14 17:49:15 -07:00 |
|
Jon Rafkind
|
9d393f991f
|
[honu] filter out non-pattern variables
|
2011-11-14 17:49:15 -07:00 |
|
Jon Rafkind
|
0d89827a85
|
[honu] share the variable declaration syntax by moving the pattern to a syntax class
|
2011-11-14 17:49:15 -07:00 |
|
Jon Rafkind
|
5cb1834376
|
[honu] redo operator parsing to fix various precedence cases. add a new quasi-operator macro that can consume as much input on the right as it wants and use that to call methods on objects. change = to equal?. allow variables to be defined in classes
|
2011-11-14 00:45:55 -07:00 |
|
Jon Rafkind
|
dfe33f8919
|
[honu] convert function bodies from honu to racket
|
2011-11-11 10:35:09 -07:00 |
|
Jon Rafkind
|
a4123ce536
|
[honu] rebind the result of parsing to the original pattern variable name
|
2011-11-11 10:35:09 -07:00 |
|
Jon Rafkind
|
6e3cf95e83
|
[honu] parse bodies of macros early. re-parse the output of macros
|
2011-11-10 15:55:55 -07:00 |
|
Jon Rafkind
|
6b6ca7a7c3
|
[honu] allow %racket expressions to remain inside honu syntax and remove them after parsing
|
2011-11-10 15:55:54 -07:00 |
|
Jon Rafkind
|
8fe87bd2a9
|
[honu] reparse honu expressions into racket expressions
|
2011-11-09 11:17:41 -07:00 |
|
Jon Rafkind
|
5aa6b0b06e
|
[honu] dont parse the output of syntax too early. wrap some core racket forms with %racket
|
2011-11-09 11:17:40 -07:00 |
|
Jon Rafkind
|
b25406db4c
|
[honu] re-attach the output of macros to the input stream. wrap racket expressions so they dont get reparsed
|
2011-11-09 11:17:40 -07:00 |
|
Jon Rafkind
|
6b519f7b64
|
[honu] remove extra semicolon from cond
|
2011-10-23 14:06:12 -06:00 |
|
Jon Rafkind
|
dccdcb0550
|
[honu] wrap expressions with a semicolon at the end of them in (%semicolon ...)
|
2011-10-23 14:06:06 -06:00 |
|
Jon Rafkind
|
b055ce9fe0
|
[honu] wrap blocks inside a definition context (with let)
|
2011-10-23 13:26:28 -06:00 |
|
Matthew Flatt
|
ec380e34ed
|
remove built-in reader and printing support for Honu
This is a backward-incompatible change, but I think it's
unlikely that any code depends on the removed bindings
or reader syntax.
|
2011-10-05 09:40:27 -06:00 |
|
Eli Barzilay
|
81e0f3f3d7
|
Move scribblings/honu' to honu/scribblings'.
Also, use `user-doc' since it's not distributed, yet.
|
2011-09-21 16:10:48 -04:00 |
|
Jon Rafkind
|
34689f1711
|
[honu] checkpoint for docs
|
2011-09-20 18:05:27 -06:00 |
|
Jon Rafkind
|
b4a74fc12d
|
[honu] return eof at the repl if an eof-object is read
|
2011-09-15 17:21:24 -06:00 |
|
Jon Rafkind
|
808c2bdf27
|
[honu] read and parse a line at the repl
|
2011-09-15 16:01:54 -06:00 |
|
Jon Rafkind
|
219516b321
|
[honu] use an empty "begin" if nothing was parsed
|
2011-09-15 16:01:54 -06:00 |
|
Jon Rafkind
|
0b4e630b8c
|
[honu] return currently parsed form if a macro is seen
|
2011-09-15 16:01:54 -06:00 |
|
Jon Rafkind
|
18b18aaded
|
[honu] add string comparison. add test.xml file for linq example
|
2011-09-15 16:01:54 -06:00 |
|
Jon Rafkind
|
aaed60493a
|
[honu] recognize linq literals
|
2011-09-15 16:01:53 -06:00 |
|
Jon Rafkind
|
501efef8a1
|
[honu] dont produce an extra void expression in a block. add a for form to iterate over a list. add an example of linq with xml
|
2011-09-13 12:15:47 -06:00 |
|
Jon Rafkind
|
1650294a83
|
[honu] add simple class form. share the function parsing syntax class
|
2011-09-13 12:15:47 -06:00 |
|
Jon Rafkind
|
062a20f7e1
|
[honu] function application respects precedence so that dot can bind higher
|
2011-09-13 12:15:47 -06:00 |
|
Jon Rafkind
|
6bf5d43c37
|
[honu] expand honu's #%top-interaction to racket's #%top-interaction
|
2011-09-06 17:33:13 -06:00 |
|
Jon Rafkind
|
d53332c1f7
|
[honu] remove debugging output
|
2011-09-06 17:33:13 -06:00 |
|
Jon Rafkind
|
ffc5387ac3
|
[honu] configure honu runtime to use the honu syntax reader. this allows honu to be used at the repl
|
2011-09-06 17:33:12 -06:00 |
|
Eli Barzilay
|
6ebf3ab32d
|
Revert "Abolish "typed-scheme"."
This reverts commit 49a89da818 .
(Will be redone later today.)
|
2011-09-04 10:27:58 -04:00 |
|
Eli Barzilay
|
49a89da818
|
Abolish "typed-scheme".
|
2011-09-04 08:46:03 -04:00 |
|
Jon Rafkind
|
5f0a221a03
|
[honu] allow already parsed expression to pass through
|
2011-08-30 21:11:11 -06:00 |
|
Jon Rafkind
|
6af36bc25d
|
[honu] treat #\return like #\newline
|
2011-08-30 17:19:17 -06:00 |
|
Jon Rafkind
|
d88b75a9b7
|
[honu] macros can be defined with honu syntax
|
2011-08-30 17:19:17 -06:00 |
|
Jon Rafkind
|
6c75b60d1b
|
[honu] add assignment operator
|
2011-08-30 17:19:17 -06:00 |
|
Jon Rafkind
|
758edda5ce
|
[honu] accidentally added these files, so removing them
|
2011-08-19 17:21:56 -06:00 |
|
Jon Rafkind
|
242337286d
|
[honu] move test to the tests collection
|
2011-08-19 17:13:22 -06:00 |
|
Jon Rafkind
|
6b766cd395
|
[honu] add list comprehensions
|
2011-08-19 17:12:14 -06:00 |
|
Jon Rafkind
|
816b1747e9
|
[honu] fix if
|
2011-08-19 17:12:13 -06:00 |
|
Jon Rafkind
|
c6e35ff665
|
[honu] move test file. minor cleanups to the parsing code
|
2011-08-19 17:12:13 -06:00 |
|
Jon Rafkind
|
60aabdc8c5
|
[honu] don't stop parsing the current expression after invoking a macro.
add a file to help test honu.
|
2011-08-19 17:12:13 -06:00 |
|
Jon Rafkind
|
07715da5e9
|
[honu] dont remove syntaxes that end expressions from the stream so macros can consume them. add a simple cond macro
|
2011-08-17 13:47:58 -06:00 |
|
Jon Rafkind
|
85110e177b
|
[honu] handle unary operators. add some common functions and binary operators
|
2011-08-17 13:47:58 -06:00 |
|
Jon Rafkind
|
0bac61f538
|
[honu] add flow operator which composes functions from right to left
|
2011-08-12 15:16:39 -06:00 |
|
Jon Rafkind
|
d4763da563
|
[honu] add structs and use . to lookup the field names in a struct instance
|
2011-08-12 15:16:39 -06:00 |
|
Jon Rafkind
|
5157a333bb
|
[honu] use brackets to do list lookup instead of using dot
|
2011-08-12 15:16:39 -06:00 |
|
Jon Rafkind
|
17f1ac53be
|
[honu] add dot as an operator. parse parenthesized expressions
|
2011-08-10 17:33:43 -06:00 |
|
Jon Rafkind
|
c8695ddf2e
|
[honu] set associativty for operators
|
2011-08-10 17:33:43 -06:00 |
|
Jon Rafkind
|
2f2e1e6a03
|
[honu] add :: as the infix cons operator
|
2011-08-09 16:25:28 -06:00 |
|
Jon Rafkind
|
0871117538
|
[honu] add [] as a list form
|
2011-08-09 16:25:28 -06:00 |
|
Jon Rafkind
|
ab0a21db99
|
[honu] add quote and quasiquote
|
2011-08-09 16:25:27 -06:00 |
|
Jon Rafkind
|
4538335b1c
|
[honu] return a void expression if there is no current expression waiting to be processed
|
2011-08-09 16:25:27 -06:00 |
|
Jon Rafkind
|
3bcf99b8f6
|
[honu] parse brace-enclosed code as an expression
|
2011-08-09 11:57:52 -06:00 |
|
Jon Rafkind
|
b823df23a7
|
[honu] handle empty files
|
2011-08-09 11:57:52 -06:00 |
|
Jon Rafkind
|
182cded2a3
|
[honu] return the last expression if two atomic expressions occur in sequence. add a simple for loop macro
|
2011-08-09 11:57:52 -06:00 |
|
Jon Rafkind
|
4324a1a33d
|
[honu] add colored lexer so drracket can color honu syntax appropriately
|
2011-08-03 14:37:26 -06:00 |
|
Jon Rafkind
|
adecdd5603
|
[honu] return a parse error if the lexer couldnt find any other matching regex
|
2011-08-03 14:37:26 -06:00 |
|
Jon Rafkind
|
7f3e434cb5
|
[honu] allow nested block comments
|
2011-07-29 18:42:55 -06:00 |
|
Jon Rafkind
|
cd5d0ee9a3
|
[honu] fix escapes in string literals
|
2011-07-29 16:59:48 -06:00 |
|
Jon Rafkind
|
7532515110
|
[honu] use regular expressions to lex comments
|
2011-07-29 16:59:48 -06:00 |
|
Jon Rafkind
|
cd62f1983f
|
show line/column information for parsing errors
|
2011-07-29 16:59:48 -06:00 |
|
Jon Rafkind
|
1e4c9b4ec3
|
use new reader for #lang honu
|
2011-07-26 17:41:07 -06:00 |
|
Jon Rafkind
|
ae6a69b8eb
|
make syntax objects
|
2011-07-26 17:41:07 -06:00 |
|
Jon Rafkind
|
a39cd8773a
|
refactor
|
2011-07-26 17:41:07 -06:00 |
|
Jon Rafkind
|
df9b8db14a
|
parse sub-trees
|
2011-07-26 17:41:06 -06:00 |
|
Jon Rafkind
|
1f9b9b4c51
|
parse tokens into a tree
|
2011-07-26 17:41:06 -06:00 |
|
Jon Rafkind
|
1978002312
|
handle end of line comments
|
2011-07-26 12:31:45 -04:00 |
|
Jon Rafkind
|
f941e56f71
|
lex identifiers and delimiters
|
2011-07-26 12:31:45 -04:00 |
|
Jon Rafkind
|
4e8e18463b
|
add lexer for honu
|
2011-07-26 12:31:44 -04:00 |
|
Jon Rafkind
|
23e907aa5c
|
add printf. recognize strings as atoms
|
2011-07-22 14:43:45 -04:00 |
|
Jon Rafkind
|
d4ea3b5d79
|
parse multiple call arguments
|
2011-07-22 14:43:45 -04:00 |
|
Jon Rafkind
|
1b914ead61
|
add optional val before functions and arguments
|
2011-07-20 19:22:30 -06:00 |
|
Jon Rafkind
|
292512221e
|
function == lambda. add new syntax for defining functions
|
2011-07-20 19:22:30 -06:00 |
|
Jon Rafkind
|
a7768a13a3
|
use #%module-begin for honu modules so top level expressions get printed
macros return whether they terminate parsing
|
2011-07-19 11:00:32 -06:00 |
|
Jon Rafkind
|
3a1dde7f14
|
parse arguments. provide basic math operations
|
2011-07-18 11:28:34 -06:00 |
|
Jon Rafkind
|
3736571ad0
|
fix sequences
|
2011-07-14 16:54:26 -06:00 |
|
Jon Rafkind
|
a29d64b44a
|
enable #lang honu
|
2011-07-14 16:54:26 -06:00 |
|
Jon Rafkind
|
57a759c383
|
fix parsing for operators
|
2011-07-14 16:54:26 -06:00 |
|
Jon Rafkind
|
3e96a1e66e
|
parse operators
|
2011-07-13 16:09:22 -06:00 |
|
Jon Rafkind
|
acb3bce1e7
|
add function as a macro
|
2011-07-13 16:09:21 -06:00 |
|
Jon Rafkind
|
2737351c4a
|
start new honu implementation
|
2011-07-12 10:37:23 -06:00 |
|
Eli Barzilay
|
3157955d40
|
".ss" -> ".rkt" scan done.
|
2011-07-02 10:37:53 -04:00 |
|
Vincent St-Amour
|
fcf766c905
|
Prune dead code from Honu.
Approved by Jon Rafkind.
|
2011-05-24 10:57:31 -04:00 |
|
Robby Findler
|
507b1cd8fd
|
moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
one library
|
2011-05-05 16:10:42 -05:00 |
|
Jon Rafkind
|
d859642195
|
remove honu from docs check
|
2011-04-26 10:36:53 -06:00 |
|
Robby Findler
|
e7d0029aea
|
added lots of new tests that our documentation is complete
|
2011-04-25 13:24:43 -05:00 |
|
David Van Horn
|
c9519fd113
|
Fixed various spelling errors.
|
2011-02-03 17:42:33 -05:00 |
|
Jon Rafkind
|
b8ad3ad1cb
|
use racket. add list-match utility
|
2010-10-27 12:07:36 -06:00 |
|
Jon Rafkind
|
b406e74a8e
|
remove old parser implementation. disable honu expansion and disable
debugging output
|
2010-10-22 14:33:22 -06:00 |
|
Jon Rafkind
|
e1ca24b80d
|
add parse file
|
2010-10-22 10:48:12 -06:00 |
|
Jon Rafkind
|
a1e26dd01b
|
try to fix infix macros
|
2010-10-22 10:48:12 -06:00 |
|
Jon Rafkind
|
1b356476a4
|
change printf to debug. add infix macro parser
|
2010-10-22 10:48:11 -06:00 |
|
Jon Rafkind
|
c45aba592d
|
allow comma in templates
|
2010-10-22 10:48:11 -06:00 |
|
Jon Rafkind
|
86e7b98d65
|
fix condition. patterns can take literals
|
2010-10-22 10:48:11 -06:00 |
|
Jon Rafkind
|
29ed62021c
|
convert syntax back to honu form
|
2010-10-22 10:48:11 -06:00 |
|
Jon Rafkind
|
eeaf6b4981
|
fix with-syntax
|
2010-10-22 10:48:10 -06:00 |
|
Jon Rafkind
|
02e87cdc0c
|
add with-syntax
|
2010-10-22 10:48:10 -06:00 |
|
Jon Rafkind
|
03562eb8e3
|
fix if. add check_expect. add some comparison operators
|
2010-10-22 10:48:10 -06:00 |
|
Jon Rafkind
|
3d26928a3c
|
parse blocks
|
2010-10-22 10:48:09 -06:00 |
|
Jon Rafkind
|
00094ba4e3
|
make print a macro
|
2010-10-22 10:48:09 -06:00 |
|
Jon Rafkind
|
3d6de914b4
|
add print - display + newline
|
2010-10-22 10:48:09 -06:00 |
|
Jon Rafkind
|
9c30bda973
|
use honu/core. make a convenient macro for providing stuff
|
2010-10-22 10:48:08 -06:00 |
|
Jon Rafkind
|
00989ef01b
|
add honu function
|
2010-10-22 10:48:08 -06:00 |
|
Jon Rafkind
|
32227e391d
|
move rest of honu files. point core at local private files
|
2010-10-22 10:48:08 -06:00 |
|
Jon Rafkind
|
b185147a45
|
separate honu into core and user-level modules
|
2010-10-22 10:48:07 -06:00 |
|
Jon Rafkind
|
ebb177f28d
|
parse assignment. add simple struct form that can be accessed by field identifiers
|
2010-10-22 10:48:07 -06:00 |
|
Jon Rafkind
|
9a984fcc2b
|
parse assignment
|
2010-10-22 10:48:06 -06:00 |
|
Jon Rafkind
|
222a3f509b
|
allow multiple patterns in a macro. parse call before macro invocation. expressions can end with any number of semicolons
|
2010-10-22 10:48:06 -06:00 |
|
Jon Rafkind
|
44fc323cff
|
emit macro-debugger steps. dont try to use phased macro invocation
|
2010-10-22 10:48:05 -06:00 |
|
Jon Rafkind
|
af678f40ec
|
start to trampoline macro expansion
|
2010-10-22 10:48:05 -06:00 |
|
Jon Rafkind
|
2c6cf77b53
|
add another introducer. compute syntax position more accurately. parse statements
|
2010-10-22 10:48:05 -06:00 |
|
Jon Rafkind
|
befa88f1ac
|
use literal sets
|
2010-10-22 10:48:05 -06:00 |
|
Jon Rafkind
|
99545f8a08
|
repeater for entire expressions
|
2010-10-22 10:48:04 -06:00 |
|
Jon Rafkind
|
81544ea644
|
use a different syntax for expressions
|
2010-10-22 10:48:03 -06:00 |
|
Jon Rafkind
|
9894670dbe
|
define patterns (really syntax-classes). use different parsers depending on the context. implement provide and require
|
2010-10-22 10:48:00 -06:00 |
|
Jon Rafkind
|
0ec71da614
|
attach original syntax properties during expansion. add debug syntax
classes.
|
2010-10-22 10:48:00 -06:00 |
|
Jon Rafkind
|
d90235efbc
|
dont parse raw scheme syntax. fix comma replacer
|
2010-10-22 10:47:59 -06:00 |
|
Jon Rafkind
|
59db2491d0
|
honu-syntax supports commas
|
2010-10-22 10:47:59 -06:00 |
|
Jon Rafkind
|
1b088f7c37
|
expand syntax properly. force use of syntax-parse classes
|
2010-10-22 10:47:59 -06:00 |
|
Jon Rafkind
|
d5357f6dca
|
expose syntax-parse classes
|
2010-10-22 10:47:58 -06:00 |
|
Jon Rafkind
|
721c815d89
|
allow macros to reparse their input
|
2010-10-22 10:47:58 -06:00 |
|
Jon Rafkind
|
066166ce65
|
start to get transformers to work. weave in scheme syntax
|
2010-10-22 10:47:58 -06:00 |
|
Jon Rafkind
|
3d52f5ff12
|
parse macro functions
|
2010-10-22 10:47:58 -06:00 |
|
Jon Rafkind
|
31cafd7974
|
move syntax-rules macro to a syntax-parse pattern
|
2010-10-22 10:47:57 -06:00 |
|
Jon Rafkind
|
d5533606e6
|
attach honu-syntax to output from syntax-rules macros
|
2010-10-22 10:47:57 -06:00 |
|
Jon Rafkind
|
177141a852
|
test
|
2010-10-22 10:47:57 -06:00 |
|
Jon Rafkind
|
837f1e24e5
|
test
|
2010-10-22 10:47:56 -06:00 |
|
Jon Rafkind
|
64255032bb
|
start to modify scheme's `syntax' binding
|
2010-10-22 10:47:56 -06:00 |
|
jon
|
2f5593a104
|
implement honu-syntax
|
2010-10-22 10:47:56 -06:00 |
|
jon
|
99e6eb5e9d
|
fix parser so that it parses left to right
|
2010-10-22 10:47:56 -06:00 |
|
jon
|
72f83d19a9
|
parse transformers
|
2010-10-22 10:47:55 -06:00 |
|
jon
|
e052c33998
|
add hook for parsing transformers
|
2010-10-22 10:47:55 -06:00 |
|
Ryan Culpepper
|
a436df02f4
|
fixed another reference to syntax/parse/experimental/splicing
|
2010-08-31 16:21:44 -06:00 |
|
Ryan Culpepper
|
712a8f60e9
|
updated syntax/parse/exp./splicing, updated honu use
fixed stress.rkt
|
2010-08-31 16:21:44 -06:00 |
|
Matthew Flatt
|
28b4043077
|
rename all files .ss -> .rkt
|
2010-04-27 16:50:15 -06:00 |
|
Jon Rafkind
|
a1d5573613
|
move bindings to different modules
svn: r17934
|
2010-02-01 22:57:42 +00:00 |
|
Jon Rafkind
|
f980cf9462
|
use new syntax-parse primitive to enable macro invocation during expression parsing
svn: r17891
|
2010-01-30 01:42:14 +00:00 |
|
Jon Rafkind
|
794efa5ebb
|
s/trigraph/ternary
svn: r17833
|
2010-01-26 00:25:45 +00:00 |
|
Jon Rafkind
|
9ee9280485
|
support commas in function calls
svn: r17832
|
2010-01-26 00:10:01 +00:00 |
|
Jon Rafkind
|
6f26a0ffeb
|
add trigraph expression
svn: r17831
|
2010-01-25 23:21:26 +00:00 |
|
Jon Rafkind
|
9dccfcbe28
|
factor out common expressions for better performance. thanks to ryan
svn: r17821
|
2010-01-25 18:51:34 +00:00 |
|
Jon Rafkind
|
bee5af120b
|
add more operators
svn: r17773
|
2010-01-22 22:14:28 +00:00 |
|
Jon Rafkind
|
3e4221b410
|
cleanup
svn: r17771
|
2010-01-22 21:11:26 +00:00 |
|
Jon Rafkind
|
91e3bc001f
|
use a macro for generating infix precedence table
svn: r17770
|
2010-01-22 19:55:02 +00:00 |
|
Jon Rafkind
|
21aab7e99c
|
generalize infix operator definition
svn: r17762
|
2010-01-21 00:53:13 +00:00 |
|
Jon Rafkind
|
94f0edd8d2
|
parse + expressions
svn: r17761
|
2010-01-21 00:19:23 +00:00 |
|
Jon Rafkind
|
8f4853a3ae
|
replace ; with semicolon
svn: r17760
|
2010-01-21 00:06:21 +00:00 |
|
Jon Rafkind
|
b3d41faa68
|
parse function calls and definitions
svn: r17669
|
2010-01-15 21:44:56 +00:00 |
|
Jon Rafkind
|
9c2ea4c1cf
|
use syntax/parse for parsing honu forms
svn: r17620
|
2010-01-12 21:51:34 +00:00 |
|