gatlin/precursor-ts

rethink how argk relates to other values

Closed this issue · 1 comments

This deserves some thought. An argk contains an array of values so that functions can have arity >= 0. However, this results in a practical awkwardness in CESKM#continue because an ArgK can only ever deliver arguments to another continuation if it has one argument.

I think I'm reckoning with the decision to half-heartedly reveal the tensor product as a fundamental type constructor via argk but not further consider its place in the language.

For instance I have more or less acknowledged that (typesafe) notions of null across various languages correspond to the value interpretation of the cartesian unit (often called "top" in type theory lit). Similarly, the general notion of products probably has a basis in argk.

Addressed inadvertently by #23 and the PR referencing it.