5 ms·
Miranda is still taught as a language for University College London's Functional Programming course: https://www.ucl.ac.uk/module-catalogue/modules/functional-p
by hyper_reality 7y ago
Miranda is still taught as a language for University College London's Functional Programming course: https://www.ucl.ac.uk/module-catalogue/modules/functional-programming/COMP0020 https://www.ucl.ac.uk/module-catalogue/modules/functional-pr...
Students grumble at having to learn such an esoteric language; the justification of the professor is that it's simpler and more focussed than Haskell and so better for teaching functional concepts. This may be true but perhaps he's just been teaching the same material for decades and doesn't want to update it.
- kick 7y agoHe's right! Haskell is still stuck with most of the wrong decisions they made in '88, and it was intended as a (clunkier) Miranda clone, anyway.
- saagarjha 7y ago> Haskell is still stuck with most of the wrong decisions they made in '88 Which ones?
- brmgb 7y agoWhile I don't agree with the general snarkiness towards Haskell of the commenter you are replying to, being lazy by default could be seen as Haskell original mistake. It was interesting from a research point of view though.
- greydius 7y agoMiranda is also lazy, so that can't be it.
- ferzul 7y agoit's hard to call the sine qua non of a language a bad design decision. if it were, the language would be dead. haskell survives because it's a lazy purely functional language with some industry support. bad design decisions have to be something apart from that.
- brmgb 7y agoI can't disagree more. What set Haskell apart is how it successfully limited side effect to the IO type and the introduction of type classes. Laziness by default is definitely a bad design choice as far as I'm concerned. The drawbacks are not worth it.
- Mathnerd314 7y ago:: for type signatures, for one; I think that came straight from Miranda. Honestly though there weren't too many outright "mistakes", but some parts of Haskell have evolved significantly, for example the introduction of the IO monad and all the associated type classes, compared to the original based on infinite lazy lists.
- kick 7y agoAnswering here so everyone in this thread can see: The most obvious one (and, admittedly, the one that immediately comes to mind at almost 3AM) is their exclusion of non-linear patterns. It didn't reduce complexity, yet made the language worse for the purpose the professor stated in an obvious way.
- Mathnerd314 7y agoThat reminds me of n+k patterns, another weird wart.
- Doctor_Fegg 7y agoAnd ML (the language) is still a core part of Cambridge University compsci.
- drcharris 7y agoI learnt Miranda in my first year of CS at University College London...in 1991. So I think you might be right!