22 Commits

Author SHA1 Message Date
Gabriel Scherer
c99c947c18 compile.scm serialization: emit 32bit-format header when possible 2021-09-24 18:23:39 +02:00
Gabriel Scherer
8eb89941db compile.scm serialization: support smaller sizes, in particular 32bit compat 2021-09-24 18:23:04 +02:00
Nathanaël Courant
c68bec0f39 Optimize calls to primitives 2021-02-18 08:00:46 +01:00
Nathanaël Courant
9e3e03d70f Add really inefficient interval patterns 2021-02-15 11:14:52 +01:00
Nathanaël Courant
64b1b0c402 miniml: output symbol table, handle uminus better, more primitives 2021-02-08 10:37:55 +01:00
Nathanaël Courant
b60b8bb356 Add a function executed at end of program (for flushing) 2021-01-11 12:20:11 +01:00
Nathanaël Courant
d7f4e971a4 Add 'a ref and related functions to lib.ml 2020-12-30 16:19:22 +01:00
Gabriel Scherer
7caf12247f string patterns
(I believe that the small size increase in all tests is due to the
unconditional registration of "caml_string_equal" as an additional
primitive.)
2020-12-29 20:30:22 +01:00
Gabriel Scherer
8665fbb5fa compile.scm: match .. with exception 2020-12-28 17:15:08 +01:00
Gabriel Scherer
66d2988b37 use standard names in compiler tests 2020-12-21 17:33:37 +01:00
Gabriel Scherer
57459d078d test/lib.ml: bind more standard primitives and definitions 2020-12-21 17:33:37 +01:00
Gabriel Scherer
ef40f51bb9 support for when-guards in pattern clauses 2020-12-21 17:03:31 +01:00
Gabriel Scherer
5e52504cf9 pattern-matching: do not generate a default case when groups are complete 2020-12-21 12:44:33 +01:00
Gabriel Scherer
d8f7ac5d24 record patterns 2020-12-20 22:21:02 +01:00
Gabriel Scherer
c93dcaac1d implement support for or-patterns 2020-12-19 10:01:21 +01:00
Gabriel Scherer
c1bdebc6c6 implement support for as-patterns 2020-12-19 10:01:21 +01:00
Gabriel Scherer
149271d65a fix a bug with irrefutable patterns in let 2020-12-19 10:01:21 +01:00
Gabriel Scherer
95934067f5 deduplication of pattern actions 2020-12-19 10:01:21 +01:00
Gabriel Scherer
dea17c0c16 patterns.ml: use a large right-hand-side in a duplicated action 2020-12-19 10:01:21 +01:00
Gabriel Scherer
9de7a40764 compilation of nested patterns by matrix decomposition 2020-12-19 10:01:21 +01:00
Gabriel Scherer
5dc6313d54 opcodes arity compression 2020-12-18 23:48:14 +01:00
Gabriel Scherer
48c4ad41e9 track the size of the produced bytecode files 2020-12-12 13:21:50 +01:00