Commit Graph

93 Commits

Author SHA1 Message Date
9c238621a5 Relicense to 0BSD, update mail address
I've come to the conclusion that copyright mostly just stands in the way
of software development.  In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.

The updated mail address, also used in my author/committer lines,
is shorter and looks nicer.  People rarely interact anyway.
2018-06-24 03:49:07 +02:00
67cc243e34 _init() and _INITIALIZER -> _make()
Gets rid of stupid memset()s and some preprocessor.
2017-06-22 16:14:11 +02:00
4a199c7b67 Add VIM syntax highlighting 2017-06-20 16:22:04 +02:00
0ae4a42335 Make the printer generic
Now you can concatenate lists like strings.
2017-06-01 10:41:11 +02:00
863ea189eb Skip \r as whitespace 2017-06-01 10:30:00 +02:00
8518c1a58f The great librarificating rename 2017-05-30 02:43:42 +02:00
d579e68051 "quote" -> "block"
Update README accordingly.
2017-05-30 01:04:03 +02:00
4698e522cc Fix regression in multiplication 2017-05-28 10:02:19 +02:00
81853a37fb Update README 2017-05-27 20:20:49 +02:00
ef925158e3 Update README 2017-05-26 20:31:30 +02:00
dd957483ac interpreter: forward "argv" 2017-05-26 20:25:02 +02:00
3e68a09ae1 Remove suck
struct context::arguments stank, the "arg" special form stank.

The amount of lines this adds can be counted on one hand.
2017-05-26 20:15:43 +02:00
8414e07010 Implement dynamic scoping
Okay, that was a PITA to not have.

But I think I'm set now, feature-wise.
2017-05-26 15:20:14 +02:00
fa892b99e7 Update README 2017-05-26 12:49:15 +02:00
f156c67e34 Simplify ".." 2017-05-26 01:47:56 +02:00
ec7a0dc95f Add "values"
This oneliner is way too important to be left out.
2017-05-26 01:47:56 +02:00
735dfd026a Make and/or more useful
Now they follow Scheme, they just aren't special forms here.
2017-05-26 01:27:30 +02:00
4358e6f324 Simplify runtime library initialization
And remove the error printing side effect, just like that, at a cost.
2017-05-25 19:41:27 +02:00
5ae69c1cfc Finish implementation of printing
Now readds all syntax sugar and quotes strings properly.

Removed automatic line breaking and indenting since it is complicated.

Removed #ifndef since it stopped making any sense.
2017-05-25 18:57:01 +02:00
76df28e492 Fix "if"
Blocks didn't work.
2017-05-25 15:01:21 +02:00
a621de2d50 Update README 2017-05-25 14:38:43 +02:00
1de758b6d6 Replace for/break with a try/throw mechanism 2017-05-25 13:52:41 +02:00
aa4b4391f3 Cleanup 2017-05-25 13:52:13 +02:00
6cce0e5595 Add try/throw 2017-05-25 13:51:47 +02:00
cc302bc17c Fix "-" 2017-05-25 13:50:42 +02:00
3929106e5d Add "parse" 2017-05-25 13:50:26 +02:00
1f71c5202c Make setting "set" also return the value 2017-05-25 13:49:32 +02:00
febefc6c6d Get rid of "error_is_fatal" 2017-05-25 13:48:56 +02:00
0d078d7148 Simplify truthy() 2017-05-24 20:54:37 +02:00
a81d75164a Make the lexer follow an unsigned string
Much safer this way, allows omitting "unsigned char" temporaries.
2017-05-24 20:47:55 +02:00
c5cd74d910 Simplify the lexer 2017-05-24 20:42:49 +02:00
383c9d8fd2 Simplify item management 2017-05-24 19:32:18 +02:00
5314815132 repl: add completion
Now it should be fairly useful despite the limitation to single lines.
2017-05-23 18:36:52 +02:00
fa06aff875 repl: highlight matching parenthesis 2017-05-23 18:08:00 +02:00
9f51b986d2 "filter" is not a primitive 2017-05-23 17:54:53 +02:00
120b604abd Fix "unless"
Best of all is, I don't even know why it must be like that.
2017-05-21 18:48:57 +02:00
2224ca00ad Refactor argument saving
While nothing has been achieved, at least now it should be obvious.
2017-05-21 18:32:28 +02:00
b9c2a395d9 Fix lies in README 2017-05-21 18:20:12 +02:00
9ae0e6dc0e Specify argument in which an error happened 2017-05-21 17:57:31 +02:00
dae5622955 Remove some ancient stupidity 2017-05-21 17:47:19 +02:00
ba2e31d81f Reorganize evaluation code 2017-05-21 17:20:15 +02:00
1ede1ed686 Fix crash in print_tree() 2017-05-21 17:11:16 +02:00
1c2db8ad6b Allow calling literal blocks 2017-05-21 16:20:39 +02:00
d1d598f968 Update README 2017-05-21 13:37:43 +02:00
bbdd17885c repl: slight refactoring 2017-05-21 13:24:54 +02:00
a529cf262e Fix backtrace generation 2017-05-21 13:19:50 +02:00
f0156897c8 Add a REPL for toying around 2017-05-21 13:19:50 +02:00
455845d078 Split out the interpreter 2017-05-21 13:19:49 +02:00
b31526d6ba Fix combined operators 2017-05-21 13:19:49 +02:00
e1ec59043e Update README 2017-05-21 13:19:49 +02:00