Skip to content

Releases: LPCIC/elpi

v1.12.0

02 Nov 10:33
v1.12.0

Choose a tag to compare

CHANGES:

  • FFI:
    • RawOpaqueData.cin now returns a term and takes constants into account.
      Whenever a value is represented with a named constant, the API grants that:
      • the value is embedded using that constant
      • that constant is read back to the original value
  • API:
    • New Compile.extend to (quickly) add clauses to a program
    • New argument ?follows:program to Compile.unit to have the unit
      be compiled using the very same symbol table (no new symbols can be
      declared by the unit in this case)
  • Library:
    • rename map2_filter -> map2-filter
    • new map-filter
  • Build:
    • use md5 (OCaml's digest) instead of sha1 (external utility)

v1.11.4

21 Aug 11:37
v1.11.4

Choose a tag to compare

CHANGES:

  • do not rely on /bin/bash in Makefile (helps on nix and freebsd)

v1.11.3

20 Aug 16:46
v1.11.3

Choose a tag to compare

CHANGES:

  • ppxfindcache: use shasum instead of sha1sum
  • Parser: print file names in a VScode friendly way
  • Fix opam package dependency on camlp5 and ppxlib
  • Fix output of -print* options to the elpi command line utility
  • New builtin rex_split (like OCaml's Str.split)

v1.11.2

17 May 20:31
v1.11.2

Choose a tag to compare

CHANGES:

  • Nicer error message when compiling an applied spilling expression
  • Fix opam package
  • Trace: print locations in VScode friendly way

v1.11.1

14 May 11:27
v1.11.1

Choose a tag to compare

CHANGES:

  • Fix to the opam file, ppxlib is required to be >= 0.12.0 and
    ocaml-migrate-parsetree >= 1.6.0. Moreover we disable tests on Alpine linux
  • Print locations in such a way that VScode can understand then, and click jump
    to type errors

v1.11.0

05 May 13:17
v1.11.0

Choose a tag to compare

CHANGES:

  • Builtin:

    • var now accepts 3 arguments, as constant and name.
  • Trace:

    • output facilities: json and tty on both files and network sockets
    • trace messages to link goals to their subgoals
    • spy points categorized into user and dev
    • all trace points were revised and improved
    • port to ppxlib
  • Build system:

    • minimal build dependencies are now: camlp5 ocamlfind dune re
    • cache ppx output in .ml format in src/.ppcache that Elpi can be buildt
      without ppx_deriving.std and elpi.trace.ppx using a new tool in
      ppxfindcache/
    • vendor a copy of ppx_deriving_runtime (suffix _proxy) to be used when
      ppx_deriving is not installed
    • generate custom merlinppx.exe for src/ and and patch .merlin file so
      that one can have decent merlin support
    • make target test-noppx to compile on an alternative opam switch

v1.10.2

11 Feb 18:05
v1.10.2

Choose a tag to compare

CHANGES:

  • Builtin:

    • occurs now accepts arguments of different types
  • API:

    • expose beta reduction on raw terms

v1.10.1

08 Feb 14:06
v1.10.1

Choose a tag to compare

CHANGES:

  • make API.Builtin_checker module public so that third parties can reuse the
    source

v1.10.0

03 Feb 12:02
v1.10.0

Choose a tag to compare

CHANGES:

  • Compiler:

    • large refactoring to separate the table of global (statically initialized)
      symbols, the table of symbols of a program being compiled and the table
      of symbols used at runtime.
    • API for separate compilation.
  • API:

    • Setup.init now returns a handle to an elpi instance to be passed to
      many other APIs.
    • New APIs Compile.unit and Compile.assemble for separate compilation.
    • Constants.from_stringc and Constants.mk*S API removed in favor for
      Constants.declare_global_symbol (to be used in module initialization code).

v1.9.1

14 Jan 17:02
v1.9.1

Choose a tag to compare

CHANGES:

  • Tests:

    • Fix testing framework on runners pre 1.9.0.
  • Parser:

    • Line nubers after quotations were wrong, since \n inside
      quotations were not taken into account.
  • Typing:

    • Name alias abbreviations are not refolded in error messages.
      Eg. typeabbrev x int does not take over int, while
      typeabbrev x (list int) does over list int.
    • Fix type abbreviation refolding, was not working on some cases.
  • Stdlib:

    • Fix is function int_of_string to do what it says
    • New is function rhc : string -> int computes the inverse of chr