3 ms·
This is an exercise in "How much can I enforce through the type system" rather than "How usable can I make the API." It involves a great deal more type system
by kbutler 16y ago
This is an exercise in "How much can I enforce through the type system" rather than "How usable can I make the API."
It involves a great deal more type system calisthenics than I find "practical" in API design.
- thesz 16y agoLet me introduce HOOPL to you: http://research.microsoft.com/en-us/um/people/simonpj/papers/c--/dfopt.pdf http://research.microsoft.com/en-us/um/people/simonpj/papers... "Hoopl: A Modular, Reusable Library for Dataflow Analysis and Transformation" They use invariants like those in article for practical API that happens to be in the greatest need of high dependability.
- kbutler 16y agoLet me introduce Erlang to you: http://ll2.ai.mit.edu/talks/armstrong.pdf http://ll2.ai.mit.edu/talks/armstrong.pdf Slide 27 describes an Erlang system from the late 90's/early 2000's that contains 1.7M lines of Erlang, with "99.9999999% reliability" This suggests that complicated compiler type checking is not "the greatest need of high dependability".