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