Commit graph

162 commits

Author SHA1 Message Date
ESL
4606c30af1 list3? and minor compiler fixes 2024-06-19 17:11:03 -04:00
ESL
342e18f3ba Merge branch 'main' of https://github.com/false-schemers/skint 2024-06-18 14:31:42 -04:00
ESL
857242e8e0 added <id> in sexp-match? 2024-06-18 14:31:37 -04:00
dermagen
7c936c4f2d (asm <igs>) core form added 2024-06-16 15:07:24 -04:00
ESL
87507dcd6b fix for previous commit
now ((body if) #t 1 2) works!
2024-06-16 02:42:03 -04:00
ESL
8cb032ab48 body/{let,letrec}-syntax can return macros!
body-based scope constructs with internal syntax-only definitions and single expression can allow this expression to be macro name or macro definition (if used in head position)
2024-06-16 02:18:43 -04:00
dermagen
6cac06cdbb minor lib name hacks fixes 2024-06-15 16:00:03 -04:00
ESL
61c27b403e listname->symbol, ltos fix 2024-06-15 14:29:16 -04:00
dermagen
26b907c8af rename hack to circumvent hygiene! 2024-06-14 16:15:15 -04:00
dermagen
21e470522d top-level idless define fix (eval) 2024-06-14 15:12:42 -04:00
dermagen
8964bbdab5 new core form: const 2024-06-14 01:08:36 -04:00
dermagen
df2628a4a2 handcoded expanders for includes and cond-expand 2024-06-13 15:49:33 -04:00
ESL
dd7bf66bd5 more minor env hacks 2024-06-08 02:34:46 -04:00
ESL
7f81de6dfa more lib/env hacks 2024-06-08 01:40:53 -04:00
ESL
64be6ba43d port-fold-case hacks; library names & paths 2024-06-04 18:37:55 -04:00
ESL
9475e47871 error processing regularized, minor improvements 2024-06-04 15:55:37 -04:00
ESL
7b4b3bc2b1 (skint repl) library is built at init time 2024-05-31 23:28:29 -04:00
ESL
639a2d54bd t.scm info for building standard lib envs 2024-05-29 17:01:28 -04:00
ESL
abb022005b first working REPL in t.scm 2024-05-29 01:52:08 -04:00
ESL
547c29df64 visit-top-form visit/v added; minor fixes 2024-05-29 00:47:49 -04:00
ESL
00bc579327 new env protocol; visit/x passes R7RS tests 2024-05-28 17:40:54 -04:00
dermagen
715d633ad0 more comments in t.scm 2024-05-26 19:01:04 -04:00
ESL
6631ac582e t.scm: eval-top-form works with root env 2023-04-21 23:11:45 -04:00
ESL
ebd93be256 t.{scm,c}: compiler added 2023-04-20 22:39:05 -04:00
ESL
64405f85f6 intl-compatible env-lookup 2023-04-20 21:37:27 -04:00
ESL
64f34e7d60 hashtable-based xform root environment 2023-04-20 12:28:26 -04:00
ESL
e95b05135b immediate-hash, '#&box constants serialized 2023-04-20 11:03:14 -04:00
ESL
7cc993e16b bindings replaced with locations! 2023-04-15 21:03:39 -04:00
ESL
3476c64553 procedure ids store their syms with dens 2023-04-15 18:08:08 -04:00
ESL
c10c65e90c no symbolic denotations; minor cleanup 2023-04-15 17:41:28 -04:00
ESL
5d4078b173 t.scm uses macros from s.scm at xform time 2023-04-14 22:56:08 -04:00
ESL
7a95c9b784 minor k.sf/t.scm refactoring 2023-04-14 14:49:32 -04:00
ESL
fbd24ee7e7 ... form built-in 2023-04-14 11:34:47 -04:00
ESL
2c9383768e syntax-rules form built-in 2023-04-13 18:31:20 -04:00
ESL
72f51c06c5 initial-transformers op, fancy define built-in, minor fixes 2023-04-13 17:59:31 -04:00
ESL
447d2b6621 body transform fix (caused slow let* expansion) 2023-04-03 20:41:15 -04:00
ESL
b8136d1ce1 work-in-progress I 2023-04-02 18:11:08 -04:00
ESL
5855d7de78 Update n.sf 2023-04-02 17:01:34 -04:00
ESL
8ad92fa9a7 initial switch to libl 2023-04-02 16:16:43 -04:00
ESL
a3f0f2091d current ports refactoring -- finished 2023-03-30 23:01:59 -04:00
ESL
6b463a9480 current ports refactoring -- still working 2023-03-30 19:41:22 -04:00
ESL
ac11df30ac current ports refactoring -- work in progress 2023-03-30 18:13:07 -04:00
ESL
aac5aa4993 file open refactoring -- done 2023-03-30 17:02:22 -04:00
ESL
c35bba32ec file open refactoring -- work in progress 2023-03-30 16:24:03 -04:00
ESL
74c3b9ffef parameters, errors, exceptions, guard 2023-03-30 16:09:25 -04:00
ESL
623455a8e3 post-d-w cleanup 2023-03-30 13:17:25 -04:00
ESL
a9aa80ea67 dynamic-wind is fully operational 2023-03-30 13:08:16 -04:00
ESL
29d212eeff dynamic-wind: work in progress 2023-03-29 23:18:39 -04:00
ESL
68988b62f3 -b option to support ecraven benchmarks in .sf form 2023-03-28 23:40:41 -04:00
ESL
4d1d2d490d (values) now returns unit, not void 2023-03-28 19:51:37 -04:00
ESL
8002d8c7d0 void/tuples in values, call-with-values
(values) in improper context returns void, call-with-values breaks apart void and tuples
2023-03-28 19:32:54 -04:00
ESL
149827f452 define-record-type, records added 2023-03-28 18:14:45 -04:00
ESL
d08bddc4c9 cmp instrs re-coded; 't' integrable type 2023-03-28 15:39:00 -04:00
ESL
b57b54f12a command-line; minor fixes 2023-03-28 00:32:05 -04:00
ESL
7e783ec786 delay/force & some more missing ops added 2023-03-28 00:09:25 -04:00
ESL
4db7a32b1c binary/bytevector i/o 2023-03-27 18:58:37 -04:00
ESL
c1c23eee02 env/file/clock/time ops added 2023-03-26 17:10:51 -04:00
ESL
72c49980a8 internal (read) in n.{sf,c} is now R7RS-compatible 2023-03-26 16:29:57 -04:00
ESL
8dc87ec18f (read) added! 2023-03-26 14:52:30 -04:00
ESL
7546908e29 more bytevector ops/procedures 2023-03-26 14:21:19 -04:00
ESL
46b9640ba6 initial support for bytevectors 2023-03-26 13:20:33 -04:00
ESL
833a6261b9 small fixes, void_obj, better error reporting 2023-03-26 12:02:36 -04:00
ESL
709304b17d -l option; minor refactoring 2023-03-26 00:38:50 -04:00
ESL
033991b0d7 refactored object alloc from ins to fix gc bug 2023-03-26 00:16:52 -04:00
ESL
fc307375d9 few extra instructions 2023-03-25 22:22:28 -04:00
ESL
295c62ca39 generic math instructions re-coded to N 2023-03-25 12:03:28 -04:00
ESL
01561c7243 library improvements 1 2023-03-25 00:35:23 -04:00
ESL
c5fb756ea6 bug fixes 2023-03-24 16:34:11 -04:00
ESL
71eeb37a35 support for var-less define; define-values & friends 2023-03-24 14:16:10 -04:00
ESL
351cc5ed9b 3-string compiled mode; 'P' entries added 2023-03-22 23:14:11 -04:00
ESL
ff388441e7 3-string compiled code entries; 'A'-type added 2023-03-22 18:13:12 -04:00
ESL
463d3622dd transformers for basic forms moved from k to s 2023-03-22 14:20:17 -04:00
ESL
f458d436b9 syntax-lambda; repl catches errors 2023-03-22 13:21:48 -04:00
ESL
b64a58ed34 minor refactoring of the transformer 2023-03-21 18:02:01 -04:00
ESL
f8c55fd3c9 new integrable model switch is complete! 2023-03-21 15:29:28 -04:00
ESL
0cf6470e1b new integrable model, part VI (before switch) 2023-03-21 13:43:26 -04:00
ESL
c90e1abcf2 list, vector and others; '#' ig type 2023-03-20 22:32:33 -04:00
ESL
57df6ae121 ... even more builtins as new integrables 2023-03-20 20:00:18 -04:00
ESL
b12db72d87 ... more builtins as new integrables 2023-03-20 18:47:10 -04:00
ESL
ad3b6f9844 ... write and others; 'u' and 'b' ig types 2023-03-20 16:43:06 -04:00
ESL
0a94172bbd ... generic math ops are new integrables now 2023-03-20 14:42:40 -04:00
ESL
91b07297cf ... fxmin & others; 'x' ig type 2023-03-20 13:49:00 -04:00
ESL
3730b714d4 ... fl<? and others; 'c' ig type 2023-03-20 00:23:42 -04:00
ESL
d820f510b3 new integrable model, part V (fl+, fl-, 'p','m')) 2023-03-19 23:31:28 -04:00
ESL
328046cf4a new integrable model, part IV (list ops &c.) 2023-03-19 14:52:49 -04:00
ESL
94dc0fb0c1 new integrable model, part III (fx/fl ops) 2023-03-18 20:09:46 -04:00
ESL
814c0648ec new integrable model, part II 2023-03-18 19:13:38 -04:00
ESL
cd1b192446 safer use of ... in syntax-rules 2023-03-18 16:07:10 -04:00
ESL
c72ac73743 support for (set& var) primitive (returns box) 2023-03-12 16:54:44 -04:00
ESL
a6bc0339c0 global var locs are boxes now; sp overflow checks 2023-03-12 14:20:35 -04:00
ESL
14e40e870b box ops added; old delay macro removed 2023-03-11 18:43:51 -05:00
ESL
be7f66fe9d old continuation code removed 2023-03-11 13:41:44 -05:00
ESL
6f009ba30a fix in letcc compiler; call/cc redefined via letcc 2023-03-11 12:28:51 -05:00
ESL
25fa48c928 letcc/withcc: k is now a procedure, allow bodies 2023-03-11 01:50:00 -05:00
ESL
eddf65f62c letcc/withcc support 2023-03-10 17:30:41 -05:00
ESL
e1f3f69346 faster library appends; -v in repl (verbosity) 2023-03-08 13:03:39 -05:00
ESL
c32c9cfe49 s.scm library improvements 2023-03-07 17:48:27 -05:00
ESL
b564316cf8 lambda*/case-lambda cleanup 2023-03-07 13:42:29 -05:00
ESL
109aaef590 lambda*/case-lambda: initial implementation 2023-03-07 13:11:46 -05:00
ESL
25196416c7 a few extra i/o instructions & procedures 2023-03-06 23:52:38 -05:00