Commit Graph

91 Commits

Author SHA1 Message Date
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
67c6da058b [honu] return a parsed syntax object immediately if the parser has a current expression 2012-11-30 11:11:11 -07: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
f91d9ded25 [honu] completely expand function arguments 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
c758069a09 [honu] remove unused embedding of racket code inside a honu expression via %racket 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
e4401fd450 [honu] need at least one iterator in a for loop 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
37dc999951 [honu] add primitive macro form 2012-08-20 12:28:15 -06:00
Jon Rafkind
60f1c85207 [honu] remove context argument from macro transformers 2012-08-20 12:28:14 -06:00
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
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
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
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
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
54449d824c [honu] use a function keyword to define procedures and make lambdas 2012-02-01 16:05:40 -07:00
Jon Rafkind
b67f5e71e6 [honu] add moere assignment operators 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
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
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
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
Jon Rafkind
a9ba721be8 [honu] add example of lexically scoped macros 2011-11-22 10:30:44 -07:00
Jon Rafkind
42caad96de [honu] use honu-body directly in the parser 2011-11-22 10:30:44 -07:00
Jon Rafkind
4b4a369d84 [honu] abstract out delayed parsing 2011-11-22 10:30:43 -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
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