Results 82 comments of James Cheney

Thanks. As I understand it, thanks to closure conversion the environment part of the call is supposed to always be empty (there is even a comment in jslib suggesting to...

It seems in the server-side IR, after closure conversion things are still represented as "closures", but the function bodies refer to the environment through the closure variable defined in the...

Having looked at some of the generated IR to see how the above two examples differ, I came up with a smaller example that seems to result in the same...

Hmm. So changing the working version to: ``` mutual { fun testPage(msg) { page Message: {stringToXml(msg)} GAGA Click me } fun snippet (time,f) server { href handled OK } fun...

Also: ``` mutual { fun bar() { 42 } fun baz() { "xyzzy" } fun foo(baz){ {baz()} } } foo(bar) ``` runs and returns `"xyzzy" : Int`, which suggests that...

Concrete instances of this: #39, #840

One complication I just noticed with proposals (1) and (3) is that in the presence of higher-order queries, it may not be immediately obvious where the `distinct` function should go...

Additional thoughts: In Links, an `Iteration` expression is of the form: ``` for(gen1,...,genk) where (pred) orderby (orderspec) exp ``` where there is a single for-clause which can have arbitrarily many...

Ah, interesting; I thought it was the other way around. Is this done at run-time (i.e. if there is an inner orderby in a function that constructs part of a...

I'm not sure it is correct to hoist `orderby` to the outermost enclosing `for`. At least for non-database list comprehensions, this changes the results: ``` links> for (x