Eli Barzilay
af6be85ff5
Fix lots of indentation mistakes.
...
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Jon Rafkind
9a9b30c751
[honu] many small things: allow with syntax to bind arbitrary patterns. provide time and time-apply. make compress-dollars recurse on sub-expressions. add an implicit pattern variable that consists of the result with an ellipses depth of 1. fix the while form. allow require forms to contain mostly anything and be separated by commas.
2013-03-04 18:48:41 -07:00
Jon Rafkind
c3716d5a97
[honu] mark/unmark syntax parsed through the expression syntax class
2013-03-04 18:48:40 -07:00
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