Commit Graph

78 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
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