Commit Graph

145 Commits

Author SHA1 Message Date
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
Jon Rafkind
ec02c2f83a [honu] refactor dot into syntax classes 2012-01-09 10:38:12 -07:00
Jon Rafkind
13abcf91fb [honu] make dot a fixture so that assignment can work: v.x := 5 2012-01-09 10:38:11 -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
8bb8ac5859 [honu] provide #%top and #%datum for standard honu 2012-01-09 10:38:11 -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
bef2f188b3 [honu] move when macro to the honu language 2011-11-22 10:30:43 -07:00
Jon Rafkind
40eeeb6a72 [honu] dont need extra prefixes for require 2011-11-22 10:30:42 -07:00
Jon Rafkind
4c00c26cd5 [honu] clean up main file requires and provides 2011-11-22 10:30:42 -07:00
Jon Rafkind
5d3adb84c2 [honu] add var and = at phase 1 2011-11-18 09:59: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
080e6bc25a [honu] allow else patterns for match 2011-11-15 23:36:01 -07:00
Jon Rafkind
a38949d8ba [honu] use reified syntax classes to check for literals instead of direct comparisons with free-identifier=? 2011-11-15 23:36:00 -07:00