Inheritance is great 1- the simplest, purest for thereof is prototype inheritance; but if your language only offers classes, this happens at the metalevel only. 2- classes are fine; but if your language only offers typeclasses, this happens at the metalevel only, with no state.
-
-
-
Replying to @awelonblue
In many cases, it's exactly what the doctor ordered. You can incrementally refine your data types (tree, pure-functional, binary,3 balanced, avl), deployment specifications (one server per environment, using this relative dns name, with this open tcp port), nix expressions, etc.
2 replies 0 retweets 2 likes -
Replying to @Ngnghm
I see. Incremental refinement and extension of program behavior, configs, deps, etc. interests me. But I generally favor approaches based in constraint systems and multi-stage programming. Now I must contemplate utility of prototypes for the role.
1 reply 0 retweets 2 likes -
Replying to @awelonblue
See notably my Lisp Interface Library and accompanying paper. The inheritance of AVL < height-balanced < balanced < binary tree (plus many other steps) makes for great incremental definitions.
1 reply 0 retweets 1 like -
Replying to @Ngnghm @awelonblue
That said, it would work even better with multistage programming, so that all the dispatching is done at compile-time, yielding better code than incremental programming deniers would write by hand. With constraint-solving multistage programming, you can do OI / AOP right.
1 reply 1 retweet 2 likes -
Replying to @Ngnghm @awelonblue
Beginner question: How can you achieve incremental refinement with constraint-solving and multistage programming?
1 reply 0 retweets 0 likes -
Replying to @missingfaktor @awelonblue
You incrementally refine the constraint-specifying classes, then you let the solver run wild (or with suitable hints) on the complete specification after you compute the fix-points types for the classes you instantiate.
1 reply 0 retweets 0 likes
Equivalently, you use typeclasses to specify your problem in Coq, then use suitable magic tactics to find terms that inhabit the specified types.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!