I really like where this is going! I've always been a great fan of adding more structural modeling to programming.
How do you see real applications being managed in this system? The tour doesn't touch on this. The included examples are quite abstract, perhaps even too much as they don't really engage me -- I can't imagine caring about how many times a "length" function is used globally. If anything, that example gave me an uncomfortable vibe of the Node.js "left-pad" drama... Sharing code in ridiculously small units just doesn't solve any productivity problems I've experienced.
The stuff about abstract types and function shapes is certainly intellectually interesting, but I'd encourage you think in terms of larger assemblies of code. (Maybe you already are -- I do understand that this is an early demo and you want to get the core right.)
In terms of applications, our initial work has been to export functions as microservices onto existing platforms (e.g., Lambda). We've also explored downloading code as either native artifacts (e.g., maven) or as command-line apps. We are also playing around with adding integrations for ReactJS to support web applications. Where we focus our deployment efforts is one of our current big questions, and one where we are most interested in community feedback.
In terms of the abstraction, you are quite right that the examples we've shown are very trivial, really just to convey the concepts. The more interesting work will probably be sharing much more complex functions, or sharing the built app/services themselves (which could be made transparent within the platform itself).
Definitely reach out if you have more thoughts or feedback!
How do you see real applications being managed in this system? The tour doesn't touch on this. The included examples are quite abstract, perhaps even too much as they don't really engage me -- I can't imagine caring about how many times a "length" function is used globally. If anything, that example gave me an uncomfortable vibe of the Node.js "left-pad" drama... Sharing code in ridiculously small units just doesn't solve any productivity problems I've experienced.
The stuff about abstract types and function shapes is certainly intellectually interesting, but I'd encourage you think in terms of larger assemblies of code. (Maybe you already are -- I do understand that this is an early demo and you want to get the core right.)