Commit Graph

191 Commits

Author SHA1 Message Date
Pekka Laiho
cd8e4c1005 find autoload.php from multiple locations, support --help flag 2020-12-20 08:56:32 +07:00
Pekka Laiho
c53eba8d23 add functions car and cdr because they are familiar for Lispers 2020-12-19 20:46:51 +07:00
Pekka Laiho
16808c7ff9 add support for variable arguments using & 2020-12-19 17:45:18 +07:00
Pekka Laiho
ed2738c91a more unit tests 2020-12-19 16:46:58 +07:00
Pekka Laiho
a10dff1307 unit tests for Func and UserFunc 2020-12-17 21:32:37 +07:00
Pekka Laiho
d1052b9b32 more unit tests 2020-12-17 09:45:37 +07:00
Pekka Laiho
d363700a39 add shortcut ~@ for unquote-splice 2020-12-16 22:01:50 +07:00
Pekka Laiho
5d6fbcc9cc add unit tests for Evaller class 2020-12-16 20:59:09 +07:00
Pekka Laiho
b18fc9cde2 unit tests for Printer class 2020-12-16 09:12:40 +07:00
Pekka Laiho
5ed0b0b531 add unit tests for Reader class 2020-12-16 08:22:51 +07:00
Pekka Laiho
bf726a1b5e macro for using λ instead of fn for lambdas 2020-12-15 22:07:12 +07:00
Pekka Laiho
170b8d424f add Unicode support to Tokenizer 2020-12-15 18:28:02 +07:00
Pekka Laiho
ed18cb2fd5 unit tests for Tokenizer 2020-12-15 09:03:54 +07:00
Pekka Laiho
ea7382caa3 rewrite Tokenizer to handle strings better 2020-12-15 09:03:21 +07:00
Pekka Laiho
2a20690b17 add phpunit 2020-12-14 16:19:42 +07:00
Pekka Laiho
6869c0392b fix error messages 2020-12-14 09:32:16 +07:00
Pekka Laiho
c87ce34f1e add comment blocks to source files 2020-12-14 08:49:07 +07:00
Pekka Laiho
56d9a1ff90 changes to print functions, other small changes 2020-12-14 08:22:22 +07:00
Pekka Laiho
7e146d8a9d remove #! from beginning of loaded files to support use in shell scripts 2020-12-13 15:34:03 +07:00
Pekka Laiho
2b8be79c0e rename run.php -> bin/madlisp 2020-12-13 15:08:24 +07:00
Pekka Laiho
5c4836d3ff rewrite run.php 2020-12-13 14:33:33 +07:00
Pekka Laiho
cf75c6eefd add while, remove loop 2020-12-12 14:53:48 +07:00
Pekka Laiho
a808ba8d4f cleaning and improving readme 2020-12-12 11:00:09 +07:00
Pekka Laiho
1415751843 update readme 2020-12-12 10:31:14 +07:00
Pekka Laiho
487a4fa345 remove ability to call env with argument 2020-12-12 09:08:37 +07:00
Pekka Laiho
dc6c206f4e add mtime, move timer from core to madlisp 2020-12-11 21:30:34 +07:00
Pekka Laiho
83c1e54463 allow multiple expressions in let body 2020-12-11 21:29:35 +07:00
Pekka Laiho
36cf1ad719 add case special form, improve readme 2020-12-11 08:57:31 +07:00
Pekka Laiho
435c9e6bd3 change case to cond 2020-12-10 21:46:03 +07:00
Pekka Laiho
9d2de20c1e remove coinflip, add randf, rand-seed 2020-12-10 20:55:14 +07:00
Pekka Laiho
458d09c007 Optimization: remove some usage of array_map 2020-12-10 20:41:09 +07:00
Pekka Laiho
ecc424c249 add php version to composer.json 2020-12-10 19:56:06 +07:00
Pekka Laiho
882bbe8405 check php extensions when loading libraries 2020-12-10 19:51:49 +07:00
Pekka Laiho
167711c4f0 added support for try-catch exception handlers 2020-12-09 18:09:35 +07:00
Pekka Laiho
6077dc135c improve exceptions, add type for user exceptions 2020-12-09 08:09:12 +07:00
Pekka Laiho
e455fd76eb improve repl error messages 2020-12-09 07:44:47 +07:00
Pekka Laiho
648e5a9554 add stuff for dumping code from memory into files 2020-12-08 20:51:25 +07:00
Pekka Laiho
cc1709f30a make more stuff available in safe-mode 2020-12-08 18:01:44 +07:00
Pekka Laiho
b7ff127e6b add function: pstr 2020-12-08 17:39:26 +07:00
Pekka Laiho
a34d528d80 compare symbols using name 2020-12-08 17:05:28 +07:00
Pekka Laiho
212c0780fd update factorial functions 2020-12-08 17:00:39 +07:00
Pekka Laiho
86cba08088 added special form: undef 2020-12-08 16:13:40 +07:00
Pekka Laiho
07f9c7af8e added functions unset and unset! 2020-12-08 16:02:56 +07:00
Pekka Laiho
208b4ac86d remove features section from readme 2020-12-08 09:24:09 +07:00
Pekka Laiho
c73afe1878 update readme with goals and non-goals 2020-12-08 09:13:34 +07:00
Pekka Laiho
87cff43e93 move meta to special forms from core functions 2020-12-08 08:25:53 +07:00
Pekka Laiho
1151ebe336 better Fibonacci function 2020-12-07 09:38:39 +07:00
Pekka Laiho
086765d286 small optimization for evaller 2020-12-07 09:13:46 +07:00
Pekka Laiho
55da5fb9b6 Optimization: refactor Evaller class, remove evalAst function 2020-12-06 21:11:36 +07:00
Pekka Laiho
d1b412f913 move new-function from Seq to Collection 2020-12-06 21:05:04 +07:00