Commit Graph

77 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
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
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
204333fc25 [honu] add syntax_var which is the same as define-syntax 2012-10-10 23:02:35 -06:00
Jon Rafkind
d7ebe6599c [honu] add phase{ ... }, which is like begin-for-syntax 2012-10-10 23:02:34 -06:00
Jon Rafkind
8210acc696 [honu] add postfix keyword for unary definitions 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
37dc999951 [honu] add primitive macro form 2012-08-20 12:28:15 -06:00
Jon Rafkind
6457e69b48 [honu] support for-syntax in require 2012-06-11 13:07:53 -06:00
Matthew Flatt
e1b180ee17 honu: add `error' to compile time 2012-04-26 17:59:19 -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
b51ab5802a [honu] replace $ with honu-$ just to be safe 2012-04-20 14:08:36 -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
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
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
712951d347 [honu] add fun as an alias to function 2012-02-01 16:05:40 -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
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
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
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
8bb8ac5859 [honu] provide #%top and #%datum for standard honu 2012-01-09 10:38:11 -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
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
6e3cf95e83 [honu] parse bodies of macros early. re-parse the output of macros 2011-11-10 15:55:55 -07:00
Jon Rafkind
dccdcb0550 [honu] wrap expressions with a semicolon at the end of them in (%semicolon ...) 2011-10-23 14:06:06 -06: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
501efef8a1 [honu] dont produce an extra void expression in a block. add a for form to iterate over a list. add an example of linq with xml 2011-09-13 12:15:47 -06:00
Jon Rafkind
1650294a83 [honu] add simple class form. share the function parsing syntax class 2011-09-13 12:15:47 -06:00
Jon Rafkind
062a20f7e1 [honu] function application respects precedence so that dot can bind higher 2011-09-13 12:15:47 -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
Eli Barzilay
6ebf3ab32d Revert "Abolish "typed-scheme"."
This reverts commit 49a89da818.

(Will be redone later today.)
2011-09-04 10:27:58 -04:00
Eli Barzilay
49a89da818 Abolish "typed-scheme". 2011-09-04 08:46:03 -04:00
Jon Rafkind
d88b75a9b7 [honu] macros can be defined with honu syntax 2011-08-30 17:19:17 -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