Commit Graph

44 Commits

Author SHA1 Message Date
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
4799d08022 [honu] dont splice the output of a macro directly into the output 2012-04-23 17:18:12 -06:00
Jon Rafkind
32a2339d04 [honu] dont create unique ids for struct fields 2012-04-20 14:08:36 -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
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
ae3ff467b0 [honu] already have integer, dont need int 2012-01-18 14:10:48 -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
bef2f188b3 [honu] move when macro to the honu language 2011-11-22 10:30:43 -07:00
Jon Rafkind
815c3887fb [honu] abstract out separated identifiers 2011-11-15 12:19:26 -07:00
Jon Rafkind
9ec39fd590 [honu] add format and a facility to convert floats to integers 2011-11-14 17:49:15 -07:00
Jon Rafkind
9d393f991f [honu] filter out non-pattern variables 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
18b18aaded [honu] add string comparison. add test.xml file for linq example 2011-09-15 16:01:54 -06:00
Jon Rafkind
ffc5387ac3 [honu] configure honu runtime to use the honu syntax reader. this allows honu to be used at the repl 2011-09-06 17:33:12 -06:00
Jon Rafkind
6b766cd395 [honu] add list comprehensions 2011-08-19 17:12:14 -06:00
Jon Rafkind
816b1747e9 [honu] fix if 2011-08-19 17:12:13 -06:00
Jon Rafkind
60aabdc8c5 [honu] don't stop parsing the current expression after invoking a macro.
add a file to help test honu.
2011-08-19 17:12:13 -06:00
Jon Rafkind
07715da5e9 [honu] dont remove syntaxes that end expressions from the stream so macros can consume them. add a simple cond macro 2011-08-17 13:47:58 -06:00
Jon Rafkind
85110e177b [honu] handle unary operators. add some common functions and binary operators 2011-08-17 13:47:58 -06:00
Jon Rafkind
a29d64b44a enable #lang honu 2011-07-14 16:54:26 -06:00
Jon Rafkind
86e7b98d65 fix condition. patterns can take literals 2010-10-22 10:48:11 -06:00
Jon Rafkind
00094ba4e3 make print a macro 2010-10-22 10:48:09 -06:00
Jon Rafkind
9c30bda973 use honu/core. make a convenient macro for providing stuff 2010-10-22 10:48:08 -06:00
Jon Rafkind
b185147a45 separate honu into core and user-level modules 2010-10-22 10:48:07 -06:00
Jon Rafkind
ebb177f28d parse assignment. add simple struct form that can be accessed by field identifiers 2010-10-22 10:48:07 -06:00
Jon Rafkind
222a3f509b allow multiple patterns in a macro. parse call before macro invocation. expressions can end with any number of semicolons 2010-10-22 10:48:06 -06:00
Jon Rafkind
44fc323cff emit macro-debugger steps. dont try to use phased macro invocation 2010-10-22 10:48:05 -06:00
Jon Rafkind
af678f40ec start to trampoline macro expansion 2010-10-22 10:48:05 -06:00
Jon Rafkind
2c6cf77b53 add another introducer. compute syntax position more accurately. parse statements 2010-10-22 10:48:05 -06:00
Jon Rafkind
befa88f1ac use literal sets 2010-10-22 10:48:05 -06:00
Jon Rafkind
99545f8a08 repeater for entire expressions 2010-10-22 10:48:04 -06:00
Jon Rafkind
81544ea644 use a different syntax for expressions 2010-10-22 10:48:03 -06:00
Jon Rafkind
9894670dbe define patterns (really syntax-classes). use different parsers depending on the context. implement provide and require 2010-10-22 10:48:00 -06:00
Jon Rafkind
59db2491d0 honu-syntax supports commas 2010-10-22 10:47:59 -06:00
Jon Rafkind
1b088f7c37 expand syntax properly. force use of syntax-parse classes 2010-10-22 10:47:59 -06:00
Jon Rafkind
d5357f6dca expose syntax-parse classes 2010-10-22 10:47:58 -06:00
Jon Rafkind
721c815d89 allow macros to reparse their input 2010-10-22 10:47:58 -06:00
Jon Rafkind
066166ce65 start to get transformers to work. weave in scheme syntax 2010-10-22 10:47:58 -06:00
Jon Rafkind
3d52f5ff12 parse macro functions 2010-10-22 10:47:58 -06:00
Jon Rafkind
64255032bb start to modify scheme's `syntax' binding 2010-10-22 10:47:56 -06:00
jon
2f5593a104 implement honu-syntax 2010-10-22 10:47:56 -06:00
jon
72f83d19a9 parse transformers 2010-10-22 10:47:55 -06:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00