this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

[new release] links, links-postgresql, links-sqlite3 and links-mysql (0.9.6)

CHANGES:

This release extends the core features of Links and resolves various
minor bugs.

* Links now supports System F-style explicit type abstractions:
For instance, writing `/\ [a, e::Row] { foo }` abstracts the expression `foo`
over type variable `a` and row variable `e`. Here, `foo` must have a unique
type and must be pure (to satisfy the value restriction).
* Fixed a bug in "mixing" query normalisation, which prevented certain queries using
concatenation inside `for` statements from being correctly converted to SQL.
* Links now has basic support for temporal database operations. More information
can be found on the [Wiki](https://github.com/links-lang/links/wiki/Temporal-Databases).
There are new keywords: `valid`, `to`, `vt_insert`, `tt_insert`, and `TemporalTable`.
* A new commandline option `--compile` (shorthand `-c`) has been
added, which runs Links in a "compile only" mode. In this mode the
JavaScript compilation artefact can be saved to a file (the naming
of this file is controlled via the commandline option `-o`). Note
that the generated file may not be directly runnable without linking
the runtime system first. Currently, the runtime system must be
linked manually.
* Fixed a bug where calling either of `newAP`, `newClientAP`, and
`newServerAP` on the client-side would crash the client.
* It is now possible to dispatch an MVU message from outside of the
event loop. This is particularly useful, for example, when dealing
with a persistent, stateful thread which is receiving messages from
a server. New things include:
+ A new type alias `MvuHandle(msg)`.
+ A family of runners: `runHandle`, `runCmdHandle`,
`runSimpleHandle` which return an `MvuHandle(msg)` rather than the
unit value.
+ A new dispatcher `Mvu.dispatch : (msg, MvuHandle(msg)) ~> ()`,
which directly dispatches a message to the MVU loop.

* The built-in webserver now supports SSL connections. To enable
secure connections, you must first obtain an adequate certificate
and key, e.g. via Let's Encrypt or a self-signed certificate. The
latter can be useful for testing, e.g. the following command starts
an interactive process to create a self-signed certificate (that
uses 4096 bits RSA encryption and is valid for 365 days):
```shell
openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes
```
After obtaining a valid certificate, you must tell Links to run in SSL
mode and you must also tell it how to locate the `key` and `crt`
file. This can be done via a configuration file, e.g.

```

+142
+50
packages/links/links.0.9.6/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "Daniel Hillerström <daniel.hillerstrom@ed.ac.uk>" 3 + authors: "The Links Team <links-dev@inf.ed.ac.uk>" 4 + synopsis: "The Links Programming Language" 5 + description: "Links is a functional programming language designed to make web programming easier." 6 + homepage: "https://github.com/links-lang/links" 7 + dev-repo: "git+https://github.com/links-lang/links.git" 8 + bug-reports: "https://github.com/links-lang/links/issues" 9 + license: "GPL-3.0-only" 10 + 11 + 12 + build: [ 13 + [ "dune" "subst" ] {dev} 14 + [ "dune" "exec" "preinstall/preinstall.exe" "--" "-libdir" _:lib ] 15 + [ "dune" "build" "-p" name "-j" jobs ] 16 + ] 17 + 18 + depends: [ 19 + "ocaml" {>= "4.08.0"} 20 + "dune" {>= "2.7"} 21 + "ppx_deriving" 22 + "ppx_deriving_yojson" {>= "3.3"} 23 + "base64" 24 + "linenoise" 25 + "ANSITerminal" 26 + "lwt" {>= "5.0.0"} 27 + "cohttp" 28 + "cohttp-lwt" 29 + "cohttp-lwt-unix" 30 + "conduit-lwt-unix" 31 + "uri" 32 + "tls" 33 + "websocket" 34 + "websocket-lwt-unix" 35 + "safepass" 36 + "result" 37 + "ocamlfind" 38 + "menhir" {>= "20210419"} 39 + "ppx_sexp_conv" 40 + "calendar" {>= "2.0.4"} 41 + ] 42 + url { 43 + src: 44 + "https://github.com/links-lang/links/releases/download/0.9.6/links-0.9.6.tbz" 45 + checksum: [ 46 + "sha256=1d573072729709287b40068971d9a0a1ed0490d24af8d8c2667f5dd174dd19c1" 47 + "sha512=e83e785db688b05a42ff4f2c908fa9254f412609879a98db9420ae7cd7906b79a43bccd1ffaf0f6a0e214ec147d458e6870131eb9dd7c116fb30145eae8ecc21" 48 + ] 49 + } 50 + x-commit-hash: "3e3ce088154476a219689a2868216b04281d1793"