|
8bdc8232f9
|
Add loop macro and a test
|
2021-04-07 23:31:28 +02:00 |
|
|
2e784310fb
|
Add test for blocks
|
2021-04-07 23:17:08 +02:00 |
|
|
a355528492
|
Implement block mechanism and macros block, return and return-from
|
2021-04-07 23:16:44 +02:00 |
|
|
fe23edcb90
|
Add tests for two more edge cases
|
2021-04-06 23:54:22 +02:00 |
|
|
7d6a988e88
|
let.t - Remove debug comments
|
2021-04-06 23:50:56 +02:00 |
|
|
732a3f87b4
|
Add tests for when and unless testing for implicit progn
|
2021-04-06 23:40:10 +02:00 |
|
|
b930ed8eba
|
Fix macros when and unless
Both support implicit progn, not just one expression.
|
2021-04-06 23:36:06 +02:00 |
|
|
5c37830ef4
|
Replace two checks with slurp_token
|
2021-04-06 23:34:16 +02:00 |
|
|
9cc16ed55a
|
Add parser function to parse multiple expressions
|
2021-04-06 23:30:21 +02:00 |
|
|
42b5567c29
|
Utilize peek_token where possible
|
2021-04-06 23:17:38 +02:00 |
|
|
f86caf6b5f
|
Add example fizzbuzz
|
2021-04-06 23:00:00 +02:00 |
|
|
8e6929c0a9
|
Add euler examples as tests
|
2021-04-06 22:41:49 +02:00 |
|
|
cae6fef76d
|
Add second euler problem as example
|
2021-04-06 22:21:26 +02:00 |
|
|
cd769b36de
|
Remove non standard range function
Let example define its own range function using do.
|
2021-04-06 22:11:52 +02:00 |
|
|
7ca4bad9b0
|
Implement do macro
|
2021-04-06 22:11:37 +02:00 |
|
|
1ff74f4f6c
|
Fix grammar
|
2021-04-06 22:10:55 +02:00 |
|
|
b14ed6d9d1
|
Add slurp_token for easier parsing
|
2021-04-06 21:11:13 +02:00 |
|
|
c954f0216f
|
when, unless: check for wrongful evaluation
when and unless must not evaluate their bodies if the condition does not require it.
|
2021-04-05 04:07:22 +02:00 |
|
|
9c0db610bf
|
Add range function and euler1 example
|
2021-04-05 04:04:23 +02:00 |
|
|
d07c480390
|
Set +x for run.pl
|
2021-04-05 04:03:47 +02:00 |
|
|
b4e46a9b40
|
Add tests for mod function
|
2021-04-05 03:53:44 +02:00 |
|
|
941bd17ac6
|
Add mod function
|
2021-04-05 03:50:48 +02:00 |
|
|
41984b0083
|
Float support
|
2021-04-05 03:50:33 +02:00 |
|
|
9d2665e2e8
|
Fix grammar
|
2021-04-05 03:18:53 +02:00 |
|
|
03dfa8f188
|
Implement let*
|
2021-04-05 03:06:44 +02:00 |
|
|
f1e7da781b
|
Add comment function for tests
|
2021-04-05 00:25:53 +02:00 |
|
|
7f1283eecc
|
Improve bool system
lisp has true in form of t and false in form of nil
|
2021-04-05 00:06:49 +02:00 |
|
|
61df548e00
|
Implement set
|
2021-04-04 23:13:17 +02:00 |
|
|
0ec88feeb6
|
Simplify parsing of identifiers
|
2021-04-04 22:55:26 +02:00 |
|
|
02ac5dd3fc
|
Fix run.pl
|
2021-04-04 22:15:13 +02:00 |
|
|
2d668371e2
|
Rework ctx system
|
2021-04-04 22:15:04 +02:00 |
|
|
4a42695a27
|
Add function filter and a test
|
2021-04-04 02:34:05 +02:00 |
|
|
1df85fd67c
|
Add another function test
|
2021-04-04 02:33:49 +02:00 |
|
|
7db1cce024
|
Improve test description for math.t
|
2021-04-04 01:53:30 +02:00 |
|
|
e163fdce59
|
Add when, unless
|
2021-04-04 01:53:18 +02:00 |
|
|
0b19227810
|
Add cond macro
|
2021-04-04 01:44:47 +02:00 |
|
|
ed59a6a04e
|
Improve macro parsing
|
2021-04-04 01:44:28 +02:00 |
|
|
c909c8880d
|
Fix typo
|
2021-04-04 01:44:05 +02:00 |
|
|
abe30ac2b2
|
Add compile_file function
|
2021-04-04 01:17:18 +02:00 |
|
|
0620c777bf
|
Test string functions
|
2021-04-03 18:48:10 +02:00 |
|
|
11ee4d006b
|
Add some string functions
|
2021-04-03 18:47:45 +02:00 |
|
|
b0d9bf447e
|
Move length to multipurpose functions
|
2021-04-03 18:47:23 +02:00 |
|
|
c575115f92
|
Add short notation for lists: '(1 2) == (list 1 2)
|
2021-04-03 18:09:20 +02:00 |
|
|
b316404b2b
|
Add cons, car, cdr
|
2021-04-03 18:05:59 +02:00 |
|
|
63af87b9ca
|
Add simple tests for keywords
|
2021-04-02 20:53:59 +02:00 |
|
|
b014552d09
|
Add test that compares unequal lists
|
2021-04-02 20:53:12 +02:00 |
|
|
42f0e3bc99
|
Create a multipurpose equal
|
2021-04-02 20:52:57 +02:00 |
|
|
31e8c61d5e
|
Add rudimentary support for keywords
|
2021-04-02 20:52:26 +02:00 |
|
|
7f38e74e78
|
Add map, reduce and equal for lists
|
2021-04-02 20:18:42 +02:00 |
|
|
78c4bebaae
|
Add first tests for list
|
2021-04-02 20:01:57 +02:00 |
|