Commit Graph

138 Commits

Author SHA1 Message Date
Pekka Laiho
170b8d424f add Unicode support to Tokenizer 2020-12-15 18:28:02 +07:00
Pekka Laiho
ea7382caa3 rewrite Tokenizer to handle strings better 2020-12-15 09:03:21 +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
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
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
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
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
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
87cff43e93 move meta to special forms from core functions 2020-12-08 08:25:53 +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
Pekka Laiho
351647944d Optimization: keep macro names in cache to avoid unnecessary macro lookups 2020-12-06 17:32:29 +07:00
Pekka Laiho
9459c07529 improve debug data, add depth to eval 2020-12-06 14:27:55 +07:00
Pekka Laiho
16f2e615b1 small optimization for evaller 2020-12-06 13:50:51 +07:00
Pekka Laiho
304e112f37 Optimization: remove extra function call from macroexpand 2020-12-06 13:32:52 +07:00
Pekka Laiho
82c8f3b52b rename pull to cons, update readme 2020-12-06 10:18:52 +07:00
Pekka Laiho
69b3778975 add built-in macros, add macros to readme 2020-12-06 09:32:45 +07:00
Pekka Laiho
496e1c2c2e support for macros in Types lib 2020-12-06 08:31:14 +07:00
Pekka Laiho
c6193b6ea2 initial support for macros 2020-12-06 08:26:27 +07:00
Pekka Laiho
f1c49009ab add shortcuts for quasiquote and unquote 2020-12-05 17:38:42 +07:00
Pekka Laiho
a2f5cdbcc0 rename splice-unquote to unquote-splice 2020-12-05 17:22:50 +07:00
Pekka Laiho
dae6fe455f add support for vectors to quasiquote 2020-12-05 17:15:15 +07:00
Pekka Laiho
25ba08a6e7 add functions ltov and vtol 2020-12-05 17:02:56 +07:00
Pekka Laiho
a6caab3ee2 concat always returns a list (because it is used by quasiquote) 2020-12-05 16:52:45 +07:00
Pekka Laiho
f4baaca01c added support for quasiquote 2020-12-05 16:47:49 +07:00
Pekka Laiho
52b7bc6934 add concat function 2020-12-05 15:26:51 +07:00
Pekka Laiho
33f4cecbbf improve error from unterminated string 2020-12-05 14:53:21 +07:00
Pekka Laiho
35ebe02e0a move functions 'sleep' and 'timer' to Core 2020-12-05 11:32:25 +07:00
Pekka Laiho
35224bce8a add support for experimental safe-mode which disables some functionality 2020-12-05 11:24:31 +07:00
Pekka Laiho
02e5176612 ability to set docstrings for functions 2020-12-05 10:39:58 +07:00
Pekka Laiho
a96b6faa93 allow function arguments as a vector (Clojure style) 2020-12-05 09:57:54 +07:00
Pekka Laiho
894bd96e06 fix bug from optimization 2020-12-05 09:48:17 +07:00
Pekka Laiho
ff1ae7b2d4 move core functions to separate file 2020-12-05 09:41:27 +07:00
Pekka Laiho
90f4d7860d add toggle for debug output 2020-12-05 08:42:56 +07:00