|
e6342eda24
|
Implement tagbody and go macros
|
2021-04-10 21:42:44 +02:00 |
|
|
44468958b6
|
Implement dolist and add tests
|
2021-04-10 02:19:09 +02:00 |
|
|
c5e9cf2155
|
Fix lexer: Strings can be empty
|
2021-04-10 01:26:07 +02:00 |
|
|
ac1f8aef03
|
Implement dotimes and add tests
|
2021-04-10 01:16:03 +02:00 |
|
|
f576081d22
|
Implement apply and rudimentary read-line
|
2021-04-10 00:17:54 +02:00 |
|
|
c79b2aabf4
|
Fix 'and': return nil if it has no operands
|
2021-04-08 23:49:04 +02:00 |
|
|
6bff33af20
|
Fix parsing comment at end of file
|
2021-04-08 23:33:09 +02:00 |
|
|
4aaff13d91
|
Add debug mode for lexer
|
2021-04-08 23:32:53 +02:00 |
|
|
46d904535a
|
Add implicit block to do macro
|
2021-04-08 21:53:21 +02:00 |
|
|
34d4de92f0
|
Implement macros catch and throw
|
2021-04-08 21:48:42 +02:00 |
|
|
f50550f882
|
Catch rogue returns in top-level
|
2021-04-08 21:47:57 +02:00 |
|
|
8bdc8232f9
|
Add loop macro and a test
|
2021-04-07 23:31:28 +02:00 |
|
|
a355528492
|
Implement block mechanism and macros block, return and return-from
|
2021-04-07 23:16:44 +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 |
|
|
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 |
|
|
9c0db610bf
|
Add range function and euler1 example
|
2021-04-05 04:04:23 +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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
a6c609ff4c
|
Add rudimentary support for lists
|
2021-04-02 20:01:57 +02:00 |
|
|
32d0313681
|
Fix progn and let
|
2021-04-02 20:00:51 +02:00 |
|
|
a9b9d5efa1
|
Add length function for strings
|
2021-04-02 19:03:23 +02:00 |
|
|
31bab456b0
|
Add support for comments
|
2021-04-02 16:05:22 +02:00 |
|
|
106a58991d
|
Add bitwise operations
|
2021-04-02 03:36:39 +02:00 |
|
|
af9a6acd53
|
Add functions zerop, min and max
|
2021-04-02 03:36:26 +02:00 |
|
|
395c271243
|
Add logical operations
|
2021-04-02 03:35:59 +02:00 |
|