Commit graph

68 commits

Author SHA1 Message Date
darkf
30aaf4ed80 add loop example 2013-10-23 19:35:35 -07:00
darkf
8fda79b9a9 add loop BIF 2013-10-23 19:33:44 -07:00
darkf
702d34ca86 Fix identifiers starting with t or f not parsing 2013-10-23 19:33:13 -07:00
darkf
5c341d7df4 add at and hibye examples 2013-10-23 15:39:01 -07:00
darkf
b1fc1a3715 fix comments in parser 2013-10-23 15:38:11 -07:00
darkf
47d43351e2 add string patterns 2013-10-23 15:31:37 -07:00
darkf
0dcc1707ee implement cons on strings 2013-10-23 15:15:34 -07:00
darkf
ce5083fad9 add + operator on lists 2013-10-23 15:06:57 -07:00
darkf
0800608479 add boolean comparison and equality operators 2013-10-23 15:05:47 -07:00
darkf
767e3eedab evaluate if expressions 2013-10-23 14:43:30 -07:00
darkf
669b4a09a9 add boolean type and constants 2013-10-23 14:41:44 -07:00
darkf
10d0494465 parse ifs 2013-10-23 14:36:06 -07:00
darkf
732802b414 update README 2013-10-23 04:08:45 -07:00
darkf
92463a26c7 treat global scope as a special late binding 2013-10-23 02:13:35 -07:00
darkf
04c227e0e9 fix calls not restoring environment 2013-10-23 01:59:15 -07:00
darkf
639b5646e0 transition to linked lexical environments 2013-10-23 01:48:10 -07:00
darkf
a6cdb3b073 add map example 2013-10-22 17:29:39 -07:00
darkf
d2ad20ff3a transition InterpState to use StateT IO 2013-10-22 17:24:28 -07:00
darkf
d9e1a7bdc1 remove curried functions; multiple arguments use tuples 2013-10-22 15:59:05 -07:00
darkf
8b41c05b94 add tuples 2013-10-22 15:10:34 -07:00
darkf
6d904fdfc4 AST representation of functions shouldn't use a list as they only contain one expression 2013-10-21 13:18:25 -07:00
darkf
700c5be701 refactor examples to use print(x) instead of putstrln(itos(x)) 2013-10-20 22:45:52 -07:00
darkf
dfbad82f26 listsum -> listlength; add actual listsum 2013-10-20 22:43:59 -07:00
darkf
cd309c9a58 add print built-in 2013-10-20 22:37:58 -07:00
darkf
0770474931 add cons expression 2013-10-20 22:27:27 -07:00
darkf
e60deb4ca2 add countdown example 2013-10-20 22:01:36 -07:00
darkf
3b9a5df158 add listsum example 2013-10-20 21:52:04 -07:00
darkf
3be45c44e5 fix 'x::xs' pattern not working on one-element lists 2013-10-20 21:51:54 -07:00
darkf
9dc145c08f add factorial example 2013-10-20 21:07:49 -07:00
darkf
99ce2f75ee reverse pattern binding order 2013-10-20 18:59:22 -07:00
darkf
98305cd6d0 fix pattern bindings preferring the old environment 2013-10-20 18:45:23 -07:00
darkf
dcb52ad6eb fix README formatting 2013-10-20 17:48:02 -07:00
darkf
77b49494b5 fix README formatting 2013-10-20 17:45:00 -07:00
darkf
e2b98244f5 add .gitignore 2013-10-20 17:41:54 -07:00
darkf
262ab75e61 add hello world example 2013-10-20 17:41:22 -07:00
darkf
ef6b9d87c9 add README and LICENSE, and copyright headers 2013-10-20 17:41:12 -07:00
darkf
83111e51fb fix itos to error on non-int inputs 2013-10-20 17:25:38 -07:00
darkf
d36f589132 add other arithmetic operators 2013-10-20 17:24:51 -07:00
darkf
1aad8057a0 fix list pattern not failing 2013-10-20 17:04:12 -07:00
darkf
7bebcdd1dc redefintions of functions adds pattern; fix [] pattern yielding [UnitP] 2013-10-20 17:03:45 -07:00
darkf
f138c7475b add helper bind function 2013-10-20 16:32:23 -07:00
darkf
314458e445 add helper lookup function 2013-10-20 16:30:39 -07:00
darkf
1723239d9b add itos builtin 2013-10-20 16:26:53 -07:00
darkf
2851a60eb0 fix whitespace after string literals 2013-10-20 16:21:41 -07:00
darkf
17cfbce27d add string literals to parser 2013-10-20 16:18:05 -07:00
darkf
fa5783b6e1 add evaluation of blocks 2013-10-20 16:04:56 -07:00
darkf
f7ea85f08f add a driver 2013-10-20 15:55:30 -07:00
darkf
7fd13253e7 add getline putstr, and fix putstr to flush the handle 2013-10-20 01:12:10 -07:00
darkf
007f8f5eca add support for built-ins and putstr built-in 2013-10-19 22:42:48 -07:00
darkf
3d680c99f9 add stream list to interpreter state 2013-10-19 21:34:30 -07:00