Jon Rafkind
806b3072e3
[honu] add simple syntax-parse form. add syntax-class for delaying parsing
2012-06-11 13:07:54 -06:00
Jon Rafkind
6457e69b48
[honu] support for-syntax in require
2012-06-11 13:07:53 -06:00
Jon Rafkind
fc96cb258c
[honu] assignment operators cooperate with the dot operator
2012-06-11 13:07:52 -06:00
Jon Rafkind
244f1cccb7
[honu] fix the pattern form and use quote-syntax to prevent syntaxes from being interpolated too early
2012-06-02 15:33:55 -06:00
Jon Rafkind
7dde37bee1
[honu] cleanup - move code to submodules
2012-06-02 15:33:54 -06:00
Jon Rafkind
52047a0474
[honu] pass the original name being defined to get the proper lexical context
2012-06-02 15:33:54 -06:00
Jon Rafkind
241f8e67b4
[honu] analyze macro parameters at phase 2. temporarily break patterns
2012-06-02 15:33:54 -06:00
Jon Rafkind
d688621a18
[honu] use sandbox evaluator to test honu code
2012-06-02 15:33:54 -06:00
Matthew Flatt
662ede2bd2
Revert "work around an internal module-instantation bug"
...
This reverts commit bd75b17a23
.
It would be fine to leave the commit as-is, but I'm reverting to
make clear (and as a backup test) that the internal bug is fixed.
2012-05-16 10:41:31 -06:00
Matthew Flatt
bd75b17a23
work around an internal module-instantation bug
...
Tracking down the bug is taking a while, so I'm pushing a workaround
for now.
2012-05-16 09:43:23 -06:00
Jon Rafkind
976be2b8c9
[honu] typo in parenthesis name for the color lexer
2012-04-26 21:11:56 -06:00
Matthew Flatt
e1b180ee17
honu: add `error' to compile time
2012-04-26 17:59:19 -06:00
Jon Rafkind
40a3161570
[honu] always keep parsing a unary operator
2012-04-23 17:18:12 -06:00
Jon Rafkind
4799d08022
[honu] dont splice the output of a macro directly into the output
2012-04-23 17:18:12 -06:00
Jon Rafkind
32a2339d04
[honu] dont create unique ids for struct fields
2012-04-20 14:08:36 -06:00
Jon Rafkind
9858ec72d2
[honu] allow syntax() form to accept a single term. provide some hash stuff
2012-04-20 14:08:36 -06:00
Jon Rafkind
b51ab5802a
[honu] replace $ with honu-$ just to be safe
2012-04-20 14:08:36 -06:00
Jon Rafkind
79b6e5611e
[honu] dont confuse identifiers with $. use = in with-syntax
2012-04-20 14:08:36 -06:00
Jon Rafkind
bb57412242
[honu] check for definitions before continuing to parse. completely parse the left hand side of an operator
2012-04-20 14:08:36 -06:00
Jon Rafkind
c390d96780
[honu] only allow semicolons in expression sequence position
2012-04-12 12:50:44 -06:00
Jon Rafkind
fa8377883d
[honu] explicitly check for commas when parsing a comma separated expression sequence
2012-04-12 12:50:44 -06:00
Jon Rafkind
76632c7914
[honu] ignore parse-error tokens when building the first syntax tree
2012-04-10 13:33:06 -06:00
Jon Rafkind
bbc806732c
[honu] always reparse the output of honu-expression. provide honu-comma so that it works with literal sets
2012-04-06 12:36:19 -06:00
Jon Rafkind
918c87e96b
[honu] return the current expression when a semicolon is parsed
2012-03-20 11:32:46 -06:00
Jon Rafkind
a94b7b9260
[honu] fix some tests. always reparse the right hand side of an operator
2012-03-05 13:48:52 -07:00
Jon Rafkind
249c7b02ca
[honu] use syntax properties to differentiate parsed syntax from unparsed
2012-03-05 13:48:52 -07:00
Jon Rafkind
89f511fb3e
[honu] bind all attributes from a syntax class. allow multiple expressions in a match list
2012-03-05 13:48:52 -07:00
Jon Rafkind
4852904035
[honu] wrap expressions with let so local macro parsers can be defined. replace more usages of %racket with racket-syntax
2012-02-21 16:19:10 -07:00
Jon Rafkind
7379684c5b
[honu] use syntax properties to differentiate racket syntax from honu syntax instead of the %racket identifier
2012-02-21 16:19:10 -07:00
Jon Rafkind
bb85c06df4
[honu] use honu->racket in more builtin forms
2012-02-21 16:19:09 -07:00
Jon Rafkind
782664316d
[honu] honu forms implemented in racket must call honu->racket on the parsed output. add an example to do ocaml style pattern matching
2012-02-21 16:19:09 -07:00
Jon Rafkind
549a7522e3
[honu] add syntactic patterns. parse the output of macros using a local define-syntax (kind of hackish)
2012-02-21 16:19:09 -07:00
Jon Rafkind
b74ad87160
[honu] wrap the condition of when expression inside parentheses. instantiate literal sets at the proper phase for honu macros
2012-02-01 16:05:41 -07:00
Jon Rafkind
712951d347
[honu] add fun as an alias to function
2012-02-01 16:05:40 -07:00
Jon Rafkind
54449d824c
[honu] use a function keyword to define procedures and make lambdas
2012-02-01 16:05:40 -07:00
Jon Rafkind
42d21a9918
[honu] erase old files
2012-01-26 13:56:05 -07:00
Jon Rafkind
100d77260a
[honu] provide assignment operators
2012-01-26 13:32:52 -07:00
Jon Rafkind
b67f5e71e6
[honu] add moere assignment operators
2012-01-26 13:32:52 -07:00
Jon Rafkind
9e8a77c5c5
[honu] fix more references to :=
2012-01-26 13:32:52 -07:00
Jon Rafkind
7e5a0285d3
[honu] replace := with =
2012-01-26 13:32:52 -07:00
Jon Rafkind
d6be1fbdee
[honu] move operators to their own module
2012-01-26 13:32:52 -07:00
Jon Rafkind
1fac120cd2
[honu] move core definition of honu-syntax to another module
2012-01-26 13:32:52 -07:00
Jon Rafkind
2b6efee854
[honu] still need :=
2012-01-26 13:32:51 -07:00
Jon Rafkind
d7a35c1eb8
[honu] use = for mutation to be consistent with other uses. put where clauses of list comprehensions on the right side
2012-01-26 13:32:51 -07:00
Jon Rafkind
2af9100a5d
[honu] make "then" keyword required for if again. start to add more loop types to for
2012-01-26 13:32:51 -07:00
Jon Rafkind
a1869fa2f1
[honu] then is optional in "if". allow multiple sequences in for. add for/fold
2012-01-26 13:32:51 -07:00
Jon Rafkind
bc30a94c72
[honu] allow list comprehensions to follow expressions
2012-01-26 13:32:50 -07:00
Jon Rafkind
1b81ed5d8d
[honu] add != operator. provide some other basic functions
2012-01-18 12:34:51 -07:00
Jon Rafkind
9d11622968
[honu] add a filtering clause to list comprehensions
2012-01-18 12:34:51 -07:00
Jon Rafkind
6552d3f2cd
[honu] allow classes to accept 0 constructor parameters. add 'to' as a binary operator that creates a list of numbers
2012-01-18 12:34:51 -07:00