Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

When did ML gain its module feature (which does enable the equivalent to data abstraction)? From a very casual search, the earliest references I can find to it are from the early 1980s, so well after CLU - but the very first versions of ML itself were being worked on around the same time.


That’s a good question, I don’t know the history well enough to comment on that.

Much more important than CLU itself — groundbreaking as it was — was Liskov’s formalization of substitutability as a rigorous principle one can use to reason about the quality or correctness of an arbitrary abstraction (or model thereof).


I'm pretty sure this was around 1983/1984 See the papers "Modules for standard ML" 84, by Dave Macqueen, MacQueen had previously written a paper Modules for Hope (81) which likely influenced it.

Unfortunately the SML-Family doesn't have links to these in it's history section afaict. But ML languages didn't get modules until the standardization effort that produced standard ML.


If I recall correctly, ML first appeared as part of the Edinburgh LCF theorem prover in 1979 and it did not have modules at that time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: