links
links copied to clipboard
Links: Linking Theory to Practice for the Web
Lately, I have been working on making the internal handling of names hygienic in the compiler. I have coupled this work with the introduction of compilation units (#603). At this...
The task is to implement shallow n-ary handlers (also called multi handlers), as found in [Frank](https://github.com/frank-lang/frank), and deep n-ary handlers with my generalised semantics, that let multi handlers simulate parameterised...
What's the semantics of alien ground values? For example, one can conceive of the following program: ```links alien javascript "val.js" foo : Event; var x server = foo; fun mainPage(_)...
Nowadays, when writing applications, I tend to have `debug=true` set primarily in order to get the unification errors displayed. Take the following error message for example: ``` examples/sessions/chatserver/chatServer.links:24: Type error:...
Make the parser more lenient, patch up the syntax tree in subsequent passes. See also #518, #441.
During work on #693 I modified the compiler such that compiling `fun (x) {1}` produced: ``` let it : forall a,b::Row. a -b-> Int = /\a,b::Row. { let fun g1...
As we work towards adding support for deduplication ("SELECT DISTINCT"), I'd like to propose an extension to the query sublanguage syntax / desugaring. In SQL one writes ``` SELECT DISTINCT...
Given `ids : [forall a, e::Row. (a) -e-> a]`, one may currently write `hd(ids)(2)`. However, under FreezeML this should strictly be a type error (one must write `hd(ids)@2`). We should...
As discussed in today's group meeting, recursive types are currently represented (in source and IR typechecking) as cyclic data structures using references. It is desirable to translate all such cyclic...