Releases: joergen7/cuneiform
Releases · joergen7/cuneiform
3.0.5
3.0.4
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 ofcache
). - In the application history, the
stat
field is now a child of theresult
field (instead of thedelta
field).
3.0.3
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 theGET
methods for the resources/status.json
andcache.json
.
3.0.2
3.0.1
3.0.0
2.2.1-release
Dependencies fixed.
2.2.0-release
First Erlang release.
2.0.4-RELEASE
Last changes on the Java version bundled into a release.
2.0.3-RELEASE
Uberjar packaged.