Commit Graph

95 Commits

Author SHA1 Message Date
Jon Rafkind
dc1b34479c [honu] move honu-syntax to syntax.rkt. allow each pattern to specify a syntax result 2012-11-01 11:22:55 -06:00
Jon Rafkind
59ec52dd8b [honu] remove debugging lines 2012-10-11 21:50:39 -06:00
Jon Rafkind
8b627ed8fd [honu] xml example doesnt need its own < and > literals 2012-10-10 23:02:35 -06:00
Jon Rafkind
a3e2c2fae6 [honu] add xml example 2012-10-10 23:02:35 -06:00
Jon Rafkind
8210acc696 [honu] add postfix keyword for unary definitions 2012-10-04 23:53:03 -06:00
Jon Rafkind
afdd5c4393 [honu] support postfix unary operators 2012-10-04 23:53:03 -06:00
Jon Rafkind
6c20513587 [honu] add binary_operator and unary_operator forms for plain expression-based operators 2012-10-04 23:53:02 -06:00
Jon Rafkind
5bf68d32d5 [honu] remove context argument 2012-08-20 16:25:38 -06:00
Jon Rafkind
dc3d06c7ae [honu] change -> to = 2012-08-20 12:28:15 -06:00
Jon Rafkind
62042beb50 [honu] wrap syntax with (semicolon ...) when a ; is present 2012-08-20 12:28:15 -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
2b5e5c5b57 [honu] combine string-append and the evaluator 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
Jon Rafkind
6531ce7547 [honu] use a local macro inside a where expression 2012-04-06 12:36:18 -06:00
Jon Rafkind
a606f6614b [honu] add two more tests 2012-03-20 11:32:46 -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
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
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
99daf6a9d1 [honu] fix tests 2012-01-26 15:23:20 -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
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
276cb4150d [honu] replace = with in 2012-01-18 14:15:54 -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
Jon Rafkind
c9788909ea [honu] fix for literal sets generated in a macro. replace . with -> for classes in the linq example 2012-01-09 10:38:11 -07:00
Jon Rafkind
dc16449dd5 [honu] change to honu extension 2012-01-09 10:38:11 -07:00
Jon Rafkind
35b3e73b2a disable test for now 2011-11-22 13:15:21 -07:00
Jon Rafkind
a9ba721be8 [honu] add example of lexically scoped macros 2011-11-22 10:30:44 -07:00
Jon Rafkind
973000adbb [honu] delay parsing of function bodies 2011-11-22 10:30:43 -07:00
Jon Rafkind
70589a7033 [honu] create a new syntax class for parsing expressions at current-phase + 1. allow new operators to be defined using honu syntax 2011-11-17 23:34:59 -07:00
Jon Rafkind
219a39575a [honu] actually check for separator for the separate ids class. parse constructor arguments with comma separated ids 2011-11-15 12:19:27 -07:00
Jon Rafkind
815c3887fb [honu] abstract out separated identifiers 2011-11-15 12:19:26 -07:00
Jon Rafkind
47c6acdea5 [honu] add tests for precedence cases 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
a4123ce536 [honu] rebind the result of parsing to the original pattern variable name 2011-11-11 10:35:09 -07:00
Jon Rafkind
786436b314 [honu] add some simple macro examples 2011-11-11 10:35:08 -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
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
0790efd585 [honu] add order-by clause 2011-09-15 16:01:54 -06:00
Jon Rafkind
aaed60493a [honu] recognize linq literals 2011-09-15 16:01:53 -06:00