Daniel Hillerström
Daniel Hillerström
The following program does not produce any output ``` fun run() { handle({ println(intToString(do Foo(40,2))) }) { case resume> -> resume(x+y) } } fun mainPage(_) { page Click me! }...
The effect handlers extension adds two types of handlers: *deep* and *shallow*. They have their own syntactic form `handle(...) { ... }` and `shallowhandle(...) { ... }`. There is no...
Currently, operation polymorphism is unsupported, nevertheless one can define an exception handler with the following type signature: ``` sig catch : (() {Fail:forall a.a |e}~> b) {Fail{_} |e}~> Maybe(b) fun...
In the absence of a kind annotation Links assumes that a given type variable has kind `Type`. Consequently, one must explicitly declare the kinds of type variables with kinds other...
This is a meta-issue to track the progress of upstreaming the new module system. My intention is that the current and new system should live side-by-side for a while to...
Illeity
I have been working towards an implementation for #571. While trying to understand what the behaviour of the current chaser/loader is, and in particular how it deals with some edge...
As discussed during the previous Links meeting, the current module system is causing some issues, and rather than treating it symptomatically, we ought to design and implement a proper module...
It has long been a goal to be able to run the JavaScript code generated by the Links compiler in Node or other non-web JavaScript environment. To do so currently...
``` links> sig ++ : (Int, Int) -> Int op x ++ y { x + y }; links> (++); fun : (Int, Int) -> Int links> [] ++ [];...
For row variables we have kind `Row`. A row variable ranges over a cofinite set, however, we do not keep track of its finite complement, which means when a row...