Skip to content

Releases: joergen7/cuneiform

3.0.5

27 May 08:19
Compare
Choose a tag to compare
replace git with https

3.0.4

19 Nov 10:43
Compare
Choose a tag to compare

This release brings performance improvements to the Cuneiform interpreter. This means that much larger programs can be evaluated. Also, more type annotations have been added to the language, making more explicit the in-going and out-going types of iteration expressions. Moreover, it adds Elixir foreign language support.

Compatibility

  • All Cuneiform components are now compatible with OTP-21.x

Language Syntax

  • In a for-iteration the list(s) iterated over must now have a type annotation.
  • In a fold-iteration both the accumulator and the list iterated over must now have a type annotation.

Foreign Language Support

  • Elixir foreign language support added.

Syntax and Type Checking

  • The type checker now checks the type of the first argument of a fixpointed function.
  • Binding the same name twice in a for-iteration now results in a parse error.

Interpreter

  • A bug has been fixed which caused the interpreter to apply an operation although one of its operands is a user-error.
  • A bug has been fixed which caused the interpreter to ignore a user-error if it was the cons-head of a list.
  • The interpreter now runs a machine similar to a CEK-machine. This has the effect that interpreter substitutes variables as late as possible and that it sends foreign function applications to the CRE in bulk. These changes improve performance.
  • Each time the interpreter receives a foreign function application result it now waits 250 ms for more results to come in. This way, it can substitute futures for results in bulk instead of one at a time. This change improves performance.

CRE

  • Killing the CRE now also kills the Cuneiform client instead of leaving it a zombie process.

Logs

  • The common runtime environment now serves the foreign function application history under /history.json (instead of /cache.json).
  • In the application history, the root field is now called history (instead of cache).
  • In the application history, the stat field is now a child of the result field (instead of the delta field).

3.0.3

17 Apr 19:32
Compare
Choose a tag to compare

This release introduces a web-server hosted by the CRE that provides status information and a history of all foreign function applications. Moreover, it adds Erlang and Java foreign language support.

Compatibility

  • We seize support for OTP-18.x. From now on, Cuneiform releases are compatible to OTP-19.0 upward.

Foreign Language Support

  • Erlang foreign language support added.
  • Java foreign language support added.

CRE

  • The CRE now serves status information and history information in a web-interface. It is reachable under port 4142 on the machine hosting the CRE. The web-server supports the GET methods for the resources /status.json and cache.json.

3.0.2

22 Mar 02:26
Compare
Choose a tag to compare
  • Fix a bug in the Cuneiform worker application that made it crash if output files were located in a subdirectory of the current working directory

3.0.1

20 Mar 13:35
Compare
Choose a tag to compare
  • Fix a bug in the Cuneiform client that will crash the language interpreter in certain list appending variants

3.0.0

27 Feb 21:49
Compare
Choose a tag to compare
  • Introduce new surface syntax
  • Introduce new language semantics
  • Introduce simple type system
  • Introduce CRE and distributed Erlang as execution environment
  • Fix bugs in the interpreter making it more stable when large chunks of source code is pasted in

2.2.1-release

17 Oct 06:44
Compare
Choose a tag to compare
Dependencies fixed.

2.2.0-release

13 Apr 10:21
Compare
Choose a tag to compare

First Erlang release.

2.0.4-RELEASE

11 Apr 18:01
Compare
Choose a tag to compare

Last changes on the Java version bundled into a release.

2.0.3-RELEASE

07 Jan 12:38
Compare
Choose a tag to compare

Uberjar packaged.