Commit Graph

38 Commits

Author SHA1 Message Date
Jon Rafkind
943ac799d8 [honu] add operator which creates simple lambdas 2012-11-30 11:11:11 -07:00
Jon Rafkind
5d1bb74b42 [honu] ignore braces when computing syntax result for a pattern 2012-11-30 11:11:11 -07:00
Jon Rafkind
3de9b1da74 [honu] add syntax form that is not parsed by enforest so it can contain normal racket code 2012-11-01 11:22:55 -06:00
Jon Rafkind
fb42f390c9 [honu] provide honu-syntax through the user api 2012-11-01 11:22:55 -06:00
Jon Rafkind
2984bfe8e2 [honu] remove printf 2012-11-01 11:22:55 -06:00
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
ae15ef55b3 [honu] clean up syntax parse attributes in patterns. dont remove repeats too early from syntax 2012-11-01 11:22:55 -06:00
Jon Rafkind
d7ebe6599c [honu] add phase{ ... }, which is like begin-for-syntax 2012-10-10 23:02:34 -06:00
Jon Rafkind
cb42b7ed6a [honu] clean up requires by separating code into modules 2012-10-04 23:53:03 -06:00
Jon Rafkind
60f1c85207 [honu] remove context argument from macro transformers 2012-08-20 12:28:14 -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
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
4799d08022 [honu] dont splice the output of a macro directly into the output 2012-04-23 17:18:12 -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
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
918c87e96b [honu] return the current expression when a semicolon is parsed 2012-03-20 11:32:46 -06: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
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
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
1fac120cd2 [honu] move core definition of honu-syntax to another module 2012-01-26 13:32:52 -07:00
Jon Rafkind
bef2f188b3 [honu] move when macro to the honu language 2011-11-22 10:30:43 -07:00
Jon Rafkind
23cbc505cc [honu] define parsing macro in the transformer phase. also provide a bunch of things from main 2011-11-17 23:34:59 -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
9d393f991f [honu] filter out non-pattern variables 2011-11-14 17:49:15 -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
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
d88b75a9b7 [honu] macros can be defined with honu syntax 2011-08-30 17:19:17 -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
2737351c4a start new honu implementation 2011-07-12 10:37:23 -06:00