1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 10:07:45 +03:00
Commit Graph

1674 Commits

Author SHA1 Message Date
Vasilij Schneidermann
90670a6d20 Implement step 8 2016-10-16 22:58:01 +02:00
Vasilij Schneidermann
32a75b868b Implement step 7 2016-10-16 00:11:07 +02:00
Vasilij Schneidermann
30a55a912d Implement step 6 2016-10-15 00:01:35 +02:00
Vasilij Schneidermann
872ae9c4a6 Fix rep 2016-10-14 10:16:44 +02:00
Vasilij Schneidermann
0e9990bc0c Fix naming 2016-10-14 09:40:19 +02:00
Vasilij Schneidermann
624e67cb65 Implement step 5 2016-10-11 18:26:04 +02:00
Vasilij Schneidermann
118269ab74 Implement step 4 2016-10-05 10:07:24 +02:00
Vasilij Schneidermann
f5763ca16a Implement step 3 2016-10-03 00:31:43 +02:00
Vasilij Schneidermann
8d229b7c80 Implement step 2 2016-10-02 20:02:25 +02:00
Vasilij Schneidermann
879a1d5d4e Update Makefile to include readline 2016-10-02 15:58:23 +02:00
Vasilij Schneidermann
a870ad3f5e Implement step 1 2016-10-02 15:55:19 +02:00
Vasilij Schneidermann
ed976bf7b0 Distinguish EOF from empty input 2016-09-30 10:39:42 +02:00
Vasilij Schneidermann
42f304e8c9 Implement step 0 2016-09-30 10:05:43 +02:00
Joel Martin
fa5af3ad92 Merge pull request #231 from iqbalansari/master
Update README to mention CLISP implementation
2016-08-29 12:47:06 -05:00
Iqbal Ansari
b0e083743e Add GNU CLISP to the list of implementations 2016-08-29 22:35:43 +05:30
Iqbal Ansari
68511d82dc Do not start MAL REPL if code is executed in Emacs (specially via SLIME) 2016-08-29 20:24:29 +05:30
Iqbal Ansari
798b5717f6 Add interop
- clisp-eval: allows executing Common Lisp
- define-builtin: allows defining builtin functions on the fly
2016-08-29 20:24:26 +05:30
Iqbal Ansari
5f6ad97006 Intern symbols in mal-user package while unwraping MAL values 2016-08-29 20:10:42 +05:30
Iqbal Ansari
32dda0de21 Print startup header when REPL starts 2016-08-29 16:37:11 +05:30
Iqbal Ansari
c1ad20675e Fix path of history file for readline 2016-08-29 16:37:00 +05:30
Joel Martin
8421dbf821 Merge pull request #230 from iqbalansari/clisp
Add MAL implementation in clisp
2016-08-28 16:01:15 -05:00
Iqbal Ansari
cfa139a7a1 Add make target to clean generated files 2016-08-28 23:33:49 +05:30
Iqbal Ansari
abb46bb21d Add readline integration support to the REPL 2016-08-28 23:33:35 +05:30
Iqbal Ansari
d65385bf2d Use only clisp specific features 2016-08-28 23:22:57 +05:30
Iqbal Ansari
3283e402d9 Compile clisp files before running
This step gives really good speedups, there still seem to be some
bottlenecks around evaluation which need attention
2016-08-28 22:26:35 +05:30
Iqbal Ansari
1d0a626d1f Move exports from types package to the top 2016-08-28 22:03:54 +05:30
Iqbal Ansari
d4fe5ef0a5 Use singleton values for nil, true and false 2016-08-28 21:46:37 +05:30
Iqbal Ansari
29cb42a450 Avoid creating unnecessary symbols for special froms in eval 2016-08-28 21:21:21 +05:30
Iqbal Ansari
3b97a1a78b Make sure dependencies are loaded only once 2016-08-28 20:43:15 +05:30
Iqbal Ansari
f6da27368c Coerce results of division to a non fractional value 2016-08-28 20:39:21 +05:30
Iqbal Ansari
20bd0392b9 Use find-env instead of get-env in is-macro-call
Apparently the earlier approach with all its error handling is slower
2016-08-28 20:09:20 +05:30
Iqbal Ansari
b6fce2eea0 Cleanup mal-value= 2016-08-28 19:57:09 +05:30
Iqbal Ansari
97c2c420d5 Store symbols as strings 2016-08-28 19:51:04 +05:30
Iqbal Ansari
b54ada313a Rename mal-type to mal-data 2016-08-28 17:58:06 +05:30
Iqbal Ansari
adaa0a0047 Use maphash to print hash-tables 2016-08-28 14:15:58 +05:30
Iqbal Ansari
f2539b37e5 Use compiled string and digit regular expressions 2016-08-28 11:19:45 +05:30
Iqbal Ansari
e929d5be8e Use compiled regex instead of raw ones 2016-08-28 10:45:58 +05:30
Iqbal Ansari
961c035bc3 Trying out defstruct instead of defclass for MAL types 2016-08-27 23:52:27 +05:30
Iqbal Ansari
098095fa3e Optimize tokenizer a bit
Avoid ignore-errors forms, apparently the ignore-errors form cost around
100 milliseconds in step 1 tests
2016-08-27 23:33:29 +05:30
Iqbal Ansari
844ac73813 Add travis config for clisp, also add stats target for clisp 2016-08-27 18:13:33 +05:30
Iqbal Ansari
c505538df9 Rename common_lisp to clisp 2016-08-27 18:13:33 +05:30
Iqbal Ansari
fd834e86a8 Make mal-errors catchable, self hosting is now complete
Remove implementation of print-object for MAL objects.
Also note the slowness of the implementation
2016-08-27 18:13:33 +05:30
Iqbal Ansari
5745b6ef3e Implement step A 2016-08-27 18:13:33 +05:30
Iqbal Ansari
381ff1a47a Implement all core functions required for step 9, completes step 9 2016-08-27 18:13:33 +05:30
Iqbal Ansari
efc3d24c32 Add nil?, true?, false? and symbol? 2016-08-27 18:13:33 +05:30
Iqbal Ansari
a9e59041f7 Add 'apply' and 'map' core functions 2016-08-27 18:13:33 +05:30
Iqbal Ansari
3a470921a0 Add throw core function 2016-08-27 18:13:33 +05:30
Iqbal Ansari
147cc3611b Add try* special form 2016-08-27 18:13:33 +05:30
Iqbal Ansari
e844f5c872 Introduce types mal-runtime-exception and mal-user-exception types
All the exceptions generated by runtime inherit from mal-user-exception
while user exceptions inherit from mal-user-exception
2016-08-27 18:13:33 +05:30
Iqbal Ansari
aa333009ae Improve error handling 2016-08-27 18:13:33 +05:30