Skip to content

Releases: links-lang/links

0.7.3

05 Jun 14:43
Compare
Choose a tag to compare

0.7.3

This minor release contains various bug fixes and improves the dynamic
loading facility for database drivers that was introduced in the
previous release.

Lazy Loading of Present Database Drivers

The loading of present database drivers is now deferred until an
actual attempt to connect to a database is made.

0.7.2

23 Jan 10:39
Compare
Choose a tag to compare

0.7.2

Version 0.7.2 contains mainly behind-the-scenes improvements, however they may
have a large impact on performance.

Package Structure and JBuilder

Links now uses JBuilder as its build system. In particular, this means that
there are now multiple Links packages:

  • links contains the executable
  • links-core exposes the Links source as a library
  • (optional) links-postgresql is a dynamic loadable database driver for PostgreSQL.

Additionally, links-mysql and links-sqlite are dynamically-loadable database
drivers for MySQL and SQLite3 respectively, but while present in the source, are
not formally released or officially supported.

Exception Handling with Session Types

A recent draft paper
describes an exception handling mechanism which works in the presence of session
types. This is included in 0.7.2.
You can find out more on the wiki.

Performance Improvements

  • The JavaScript runtime library is now tail-call-optimised.

  • Links now uses linked lists on the client-side, as opposed to JS arrays. As
    a rough idea of the performance increase: "The running time for calling map
    on a 100,000 element list went from browser-angrily-kills-page-after-30-seconds
    to taking around 1 second."

Bugfixes

  • Issue 293: REPL responses now go to stdout and not stderr.
  • Issue 149: inner functions may now have type annotations.
  • Issue 280: polymorphic FFI annotations are now correctly universally quantified.

Dalry -- Bugfix

25 Sep 11:00
Compare
Choose a tag to compare

This release fixes some problems with displaying the examples page when installed from OPAM.

v0.7: Dalry

21 Sep 11:34
Compare
Choose a tag to compare

Version 0.7 -- Dalry

Version 0.7 of Links brings many new features (some of which have been in the works for over two years!)

Handlers for Algebraic Effects

Algebraic effects abstractly specify operations, which are given meaning by handlers. These provide a powerful mechanism for designing effectful code.

Read more in Hillerström & Lindley's Liberating Effects with Rows and Handlers and in examples/handlers.

Distributed Concurrency

Whereas before, communication using session types and actor-style processes was limited to processes on the same concurrency runtime, Dalry provides the infrastructure to use these concurrency primitives across concurrency runtimes. See more in examples/distribution.

Javascript FFI

Dalry brings support for natively calling JavaScript functions from Links client code. You can read more on the wiki page.

Standard Library

Links now has support for a standard library. We are hoping to gradually move things out of the more monolithic prelude, and support more data structures and algorithms out of the box. For now, we have included a minimal node-indexed binary tree library, which you can load with open BinaryTree.

Support for Programmatic XML Construction

Links now supports the ability to create XML from variants, and variants from XML. These are implemented in the xmlToVariant and variantToXml functions.

Minor Changes

  • Links now has native readline functionality by default. To turn this off, run with the -r flag.
  • Many bugfixes.

Gorgie - Update 1

31 Jan 11:14
Compare
Choose a tag to compare

First bugfix release of Gorgie

Gorgie

24 Dec 23:37
Compare
Choose a tag to compare

v0.6 -- Gorgie.

See CHANGES for details.