Avi Bryant
Avi Bryant
I don't entirely understand the notation/syntax here, but I really like the general idea of distinguishing between pure-data values and those mixed with functions and external references. Seems like a...
This is a bigger change than you're looking for, but: what if `a` in a generic type definition always refers to a data-only type, and you have to specify `\x...
I think you mean `sum = xs.fold_left(0, \sum, x -> sum + x)`. This is great. The only thing I worry about is that the initialization of eg `sum` here...
let me give a more concrete example. Is something like this legal? ``` sum = 3 z = sum*2 for x in xs: sum = sum + x fn(sum, z)...
Something I'd suggest thinking about early on in the REPL design: it is common when using REPLs (or notebooks, which are basically just fancy REPLs) to rebind/shadow top level bindings....
Something doesn't feel right about this with a total language - I feel like if you're introducing compile time evaluation you should be more ambitious and integrated about it. eg:...
I think my point is: you should be able to infer the cases in which you can empirically run a function, and run *all* of those immediately at compile time,...
(Re "everything is pure" - you can't guarantee that in the face of FFI...)
> You're not saying that people write crashy code and we just try to rule it out by running it at compile time, I guess? I'm not sure I can...
The separate compilation constraint is the one I hadn't been thinking about. Will mull on that for a bit.