Commit Graph

  • 2692b14a4e
    Merge pull request #58 from curiousleo/fix-double-map-import master Gabriel Scherer 2022-04-16 12:07:39 +02:00
  • 473f1bee9a Stop importing "map" twice curiousleo 2022-04-16 14:54:13 +08:00
  • 45045d0afa
    Merge pull request #54 from gasche/string-chars-tailrec Gabriel Scherer 2021-09-25 10:47:47 +02:00
  • d3164b5dcc
    Merge pull request #56 from roptat/arches Gabriel Scherer 2021-09-24 18:57:36 +02:00
  • 1bb9b9c645
    Merge pull request #53 from gasche/compiler-serialize-32 Gabriel Scherer 2021-09-24 18:56:59 +02:00
  • ccb041cc30 interpreter: convert the trace counter to Int64 for 32bit portability Gabriel Scherer 2021-03-20 09:00:16 +01:00
  • e573acef36 compile.scm: emit warning when value overflows 32bit systems Gabriel Scherer 2021-03-20 07:28:00 +01:00
  • c99c947c18 compile.scm serialization: emit 32bit-format header when possible Gabriel Scherer 2021-03-15 17:24:04 +01:00
  • 8eb89941db compile.scm serialization: support smaller sizes, in particular 32bit compat Gabriel Scherer 2021-03-14 22:33:53 +01:00
  • bd70f69880 compile.scm: make the string-chars lexer tail-recursive Gabriel Scherer 2021-03-20 07:27:52 +01:00
  • 5ca93414d5
    Merge pull request #55 from gasche/fix-interpreter-mli Gabriel Scherer 2021-09-23 15:50:00 +02:00
  • 67f16db183 Makefile: build for any architecture Julien Lepiller 2021-09-22 12:40:14 -04:00
  • b103dc5241 test that we support higher-order functors Gabriel Scherer 2021-09-08 18:19:09 +02:00
  • 3c96f028e0 fix the (apparently generated?) .mli files in interpreter/ Gabriel Scherer 2021-03-20 08:59:22 +01:00
  • 48f67bfa87 compile.scm: make the string-chars lexer tail-recursive Gabriel Scherer 2021-03-20 07:27:52 +01:00
  • 506280c6e0 Compilation instructions Nathanaël Courant 2021-02-24 08:53:34 +01:00
  • a56c0cd4f0 Fix Makefile Nathanaël Courant 2021-02-24 08:41:15 +01:00
  • 4a57e21b68 Add missing interp.byte dependencies Nathanaël Courant 2021-02-23 18:57:10 +01:00
  • 3f41dc0710 Add missing interp.byte dependencies Nathanaël Courant 2021-02-23 18:54:31 +01:00
  • bb7aac5fc8 Add missing build of .depend Nathanaël Courant 2021-02-23 18:51:18 +01:00
  • 4518830a46 Update top-level Makefile to reflect parallel compilation of interpopt.opt Nathanaël Courant 2021-02-23 14:56:03 +01:00
  • 5f95304e2a Add mli files for interpreter, parallel compilation for interpopt.opt Nathanaël Courant 2021-02-23 14:53:05 +01:00
  • 53750f1595 Remove locations from lex/ as well Nathanaël Courant 2021-02-22 10:13:26 +01:00
  • 913e169a4d Add fullboot target for testing DDC Nathanaël Courant 2021-02-22 10:08:12 +01:00
  • 320a4b34a5 Remove paths from files produced by ocamlc Nathanaël Courant 2021-02-22 10:02:03 +01:00
  • 11dfdff978 Fix last steps Julien Lepiller 2021-02-20 09:54:00 -05:00
  • cd06e55449 Fix parallel build with -j. Julien Lepiller 2021-02-19 10:50:45 -05:00
  • f8ed42b26d Parallel compilation Nathanaël Courant 2021-02-19 12:07:54 +01:00
  • 92037d7271 Parallel build Nathanaël Courant 2021-02-18 22:51:50 +01:00
  • 30ba83b6f4 Revert change of hex constants in lexer Nathanaël Courant 2021-02-18 09:41:49 +01:00
  • bb65661b32 Remove binary file added by mistake Nathanaël Courant 2021-02-18 08:01:04 +01:00
  • c68bec0f39 Optimize calls to primitives Nathanaël Courant 2021-02-18 08:00:46 +01:00
  • ae505edded Add missing file Nathanaël Courant 2021-02-17 15:35:11 +01:00
  • 359fbd49ce Fix build Nathanaël Courant 2021-02-17 15:31:43 +01:00
  • 2579ce96e3 Use interpopt.opt for bootstrap Nathanaël Courant 2021-02-17 15:21:13 +01:00
  • f375799b0d Make interp compatible with ocamlopt Nathanaël Courant 2021-02-17 15:15:10 +01:00
  • dc70540748 Add script for computing timings Nathanaël Courant 2021-02-17 14:50:04 +01:00
  • 5c53d505c1 Fix Makefile Nathanaël Courant 2021-02-17 08:40:41 +01:00
  • 7969c70193 Changes to make Makefile work Nathanaël Courant 2021-02-16 14:05:22 +01:00
  • bc417c81a3 Timings in Makefile Nathanaël Courant 2021-02-15 17:44:43 +01:00
  • 641e1d22b3 Break dependency loop in Makefile Nathanaël Courant 2021-02-15 17:40:34 +01:00
  • 4caff306bd Add makefile for make_opcodes Nathanaël Courant 2021-02-15 15:59:07 +01:00
  • 415c38818d Remove more now unneeded files Nathanaël Courant 2021-02-15 15:36:05 +01:00
  • 25e476781f Remove old files Nathanaël Courant 2021-02-15 15:24:38 +01:00
  • ca27784d19 Makefile for lexer bootstrap Nathanaël Courant 2021-02-15 15:20:41 +01:00
  • 30a585a943 Stop using genfile.sh Nathanaël Courant 2021-02-15 14:44:55 +01:00
  • 98e51391b3 Revert files to ocaml versions when possible Nathanaël Courant 2021-02-15 13:48:26 +01:00
  • 9e3e03d70f Add really inefficient interval patterns Nathanaël Courant 2021-02-15 11:14:52 +01:00
  • a18951cf07 Add int32, int64 and nativeint constants Nathanaël Courant 2021-02-15 10:56:33 +01:00
  • 64d0f85037 Now that hashtbl is supported, make create_hashtable compatible Nathanaël Courant 2021-02-15 09:44:42 +01:00
  • e4304fc1b5 miniml: Handle 0x, 0o, 0b literals Nathanaël Courant 2021-02-15 09:44:08 +01:00
  • b4b783f9e8 Make hand-made lexer work with miniml Nathanaël Courant 2021-02-12 15:46:08 +01:00
  • f4fc51c0b4 Make ocamllex work with miniml Nathanaël Courant 2021-02-12 15:41:29 +01:00
  • 0903b729ca Use ocaml source version compatible with camlboot Nathanaël Courant 2021-02-08 11:30:04 +01:00
  • a53db09873 Add dependencies for interpreter for miniml Nathanaël Courant 2021-02-08 10:41:57 +01:00
  • f3949cc18f Slight changes to make interpreter compatible with miniml Nathanaël Courant 2021-02-08 10:39:36 +01:00
  • 64b1b0c402 miniml: output symbol table, handle uminus better, more primitives Nathanaël Courant 2021-02-08 10:37:55 +01:00
  • 984357931c Change compiling scripts for native code Nathanaël Courant 2021-02-07 11:43:27 +01:00
  • b60b8bb356 Add a function executed at end of program (for flushing) Nathanaël Courant 2021-01-11 12:20:11 +01:00
  • 899bd1b913 Names for primitives Nathanaël Courant 2021-01-11 10:20:58 +01:00
  • c80b7ee60f Fix incorrect computation of free variables for 'LLetrecfun Nathanaël Courant 2021-01-08 12:35:23 +01:00
  • b6ddc1ff6d Make a few changes in interpreter for syntax compatibility with miniml Nathanaël Courant 2021-01-06 12:57:33 +01:00
  • 899e9dfcbf Ignore module types Nathanaël Courant 2021-01-06 12:42:03 +01:00
  • e1b82f9d49 Add M.(...) syntax in patterns Nathanaël Courant 2020-12-31 17:14:19 +01:00
  • 46b9b934a8 Add M.{ ... } syntax in both patterns and expressions Nathanaël Courant 2020-12-30 17:32:40 +01:00
  • 8bfbae5673 Fixes after review Nathanaël Courant 2021-01-06 12:25:17 +01:00
  • cc31acf2c8 Warning for escaping function with labels Nathanaël Courant 2020-12-31 17:35:17 +01:00
  • 755ac6a4d4 General function application Nathanaël Courant 2020-12-30 16:55:29 +01:00
  • 4450a27f0f Add for and while loops Nathanaël Courant 2020-12-30 16:16:06 +01:00
  • d7f4e971a4 Add 'a ref and related functions to lib.ml Nathanaël Courant 2020-12-30 16:14:58 +01:00
  • 7caf12247f string patterns Gabriel Scherer 2020-12-28 18:02:55 +01:00
  • 363135e795 refactor compile-switch Gabriel Scherer 2020-12-28 17:15:23 +01:00
  • 8665fbb5fa compile.scm: match .. with exception Gabriel Scherer 2020-12-28 15:35:38 +01:00
  • 0bf1f90c6a labels with patterns Gabriel Scherer 2020-12-28 15:28:12 +01:00
  • a7532dbe51 Interpreter README: mode is selected by an ENV var Brian Hempel 2020-12-22 10:55:26 -06:00
  • 391b8e5806
    Merge pull request #41 from brianhempel/typo-fix Gabriel Scherer 2020-12-22 18:53:05 +01:00
  • c65316e315 Fix typo in exn3: “wrap2” -> “wrap3” Brian Hempel 2020-12-22 10:49:18 -06:00
  • 996c0d94e6 minor bugfix Gabriel Scherer 2020-12-21 17:40:32 +01:00
  • 66d2988b37 use standard names in compiler tests Gabriel Scherer 2020-12-21 13:51:53 +01:00
  • 57459d078d test/lib.ml: bind more standard primitives and definitions Gabriel Scherer 2020-12-21 13:49:04 +01:00
  • ef40f51bb9 support for when-guards in pattern clauses Gabriel Scherer 2020-12-21 11:59:15 +01:00
  • 5e52504cf9 pattern-matching: do not generate a default case when groups are complete Gabriel Scherer 2020-12-21 06:50:55 +01:00
  • 4a9ddd7ec1 parse (and ignore) variance annotations Gabriel Scherer 2020-12-20 21:40:41 +01:00
  • af6a929a60 make PLUS a proper token Gabriel Scherer 2020-12-20 21:31:14 +01:00
  • 766606afd2
    Merge pull request #37 from gasche/list-patterns Gabriel Scherer 2020-12-21 06:57:50 +01:00
  • bf1daa2a59 support list patterns [p1; p2; ...; pn] Gabriel Scherer 2020-12-20 21:46:55 +01:00
  • 2431695569
    Merge pull request #35 from gasche/inline-records Gabriel Scherer 2020-12-21 06:54:55 +01:00
  • 68dff20576 inline records Gabriel Scherer 2020-12-20 18:32:29 +01:00
  • 392df2b287
    Merge pull request #34 from gasche/record-field-punning Gabriel Scherer 2020-12-21 06:52:00 +01:00
  • 5e8e1efc50 record field punning Gabriel Scherer 2020-12-20 16:59:55 +01:00
  • d8f7ac5d24 record patterns Gabriel Scherer 2020-12-19 21:50:38 +01:00
  • fd01798f0e [minor] refactor pattern helpers Gabriel Scherer 2020-12-19 21:39:44 +01:00
  • c3866c82ca [minor] remove stale comment Gabriel Scherer 2020-12-19 21:21:18 +01:00
  • c93dcaac1d implement support for or-patterns Gabriel Scherer 2020-12-18 11:53:41 +01:00
  • c1bdebc6c6 implement support for as-patterns Gabriel Scherer 2020-12-17 14:17:32 +01:00
  • 149271d65a fix a bug with irrefutable patterns in let Gabriel Scherer 2020-12-17 09:04:40 +01:00
  • 8b065f45ec change the pattern grammar (follow the expression grammar) to better handle nesting Gabriel Scherer 2020-12-17 08:28:10 +01:00
  • fb591b2f57 refactor adjust-[ep]constr-args Gabriel Scherer 2020-12-17 08:00:19 +01:00
  • 95934067f5 deduplication of pattern actions Gabriel Scherer 2020-12-16 23:15:56 +01:00
  • dea17c0c16 patterns.ml: use a large right-hand-side in a duplicated action Gabriel Scherer 2020-12-16 23:24:55 +01:00