Live data from Hacker News

Miranda released as free software

cs.kent.ac.uk

121–126 of 126 posts

Re: Miranda released as free software

#121
post #115
post #29

Earlier quoted context omitted.

While 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.

it'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.

I 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.

Re: Miranda released as free software

#122
post #109
post #100

Earlier quoted context omitted.

Oh, certainly! My claim isn't that libre software harms knowledge transfer at all. It's great! But free compilers won so quickly even when they weren't obviously better that many proprietary compilers died quick, unceremonious deaths, with no obvious successors, and leading their authors to go into different areas. This was a bad thing, in my opinion, because a lot of early compilers were written in incredibly clever…

I'm still really interested in concrete specifics of what has been lost. Right now it just sounds like magic, which leaves me skeptical. I'm a huge fan of programming languages as a field and hope to someday do research in it, and this is a bit of history I'm not well versed in.

Compare Symbolics Genera to a Free Software Common Lisp development environment today (SBCL and SLIME on GNU Emacs). The latter does a lot less and is more bloated. Commercial Common Lisp compilers like Allegro and LispWorks have features and optimizations that Free Software compilers lack (Allegro has really good debugging tools and garbage collection, LispWorks has excellent support for concurrent programming).

Intel Fortran compiler and their C++ compiler produce the fastest code. Lucid Energize and IBM VisualAge C++ did incremental compilation and had IDE features not available with Free Software C++ compilers and editors/debuggers.

https://www.youtube.com/watch?v=pQQTScuApWk http://www.edm2.com/index.php/VisualAge_C++_4.0_Review

Re: Miranda released as free software

#123
post #109

Earlier quoted context omitted.

I'm still really interested in concrete specifics of what has been lost. Right now it just sounds like magic, which leaves me skeptical. I'm a huge fan of programming languages as a field and hope to someday do research in it, and this is a bit of history I'm not well versed in.

Compare Symbolics Genera to a Free Software Common Lisp development environment today (SBCL and SLIME on GNU Emacs). The latter does a lot less and is more bloated. Commercial Common Lisp compilers like Allegro and LispWorks have features and optimizations that Free Software compilers lack (Allegro has really good debugging tools and garbage collection, LispWorks has excellent support for concurrent programming). Int…

Genera ran on actual Lisp machines, I feel that that is not a fair comparison.

It's not exactly hidden knowledge that the Intel compilers produce the best code, it's just that they have draconian licensing requirements. Furthermore, that knowledge cannot possibly be lost, because they're still actively developed to this day. I'm interested in the technological specifics of what these older platforms did that the newer ones cannot do, and why the knowledge of how to do them has been lost.

Re: Miranda released as free software

#124
post #74

When I started studying CS in Hamburg, Germany, in the early 90's, they taught us Miranda to have everyone on the same level. Which was not such a bad idea: I had three years of C & five of C++ under my belt already at the time but never touched a functional programming language. Very few co-students had worked with Lisp and they did have an advantage. But they still had to new learn a new language. Trivia 1: I was g…

Likewise, when I started my CS degree at UNSW in 1989 they taught us Miranda before moving on to Modula-2. Fresh out of high-school and our first programming course, the lecturer said something like "Ok all you smartarses who have mucked around in BASIC and think you can program, we're going to teach you Miranda!"

ANU in maybe 2003, we had a single tutorial in Miranda to demonstrate the functional paradigm. It wasn't enough to appreciate the value of functional programming, but I guess they still had licenses and wanted to use them for something.

Re: Miranda released as free software

#125

I've been playing with Miranda a little bit since seeing this yesterday, and man, I gotta say, the quality of the REPL environment and documentation is amazing. Everything is laid out plainly, and you can learn how to work with the language in a matter of minutes. Even the readme was one of the best I've ever encountered. It makes no undue assumptions and leaves no work up to the reader. It even notes that one may ne…

Hmmm...I'm wondering if there's something wrong with my build (Mac OS X) or if I'm just "using it wrong" because the REPL (not the language) seems pretty unusable to me.

The up and down arrows just show escape sequences instead of going to previous/next history.

Entering `foo = 123` gives the error `UNDEFINED NAME - foo`. Entering `exp foo = 123` gives the same error.

Entering the same expression on a line in a file works though (`/f test.m`).

Am I doing it wrong?

Re: Miranda released as free software

#126
post #50

Earlier quoted context omitted.

:: 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.

Answering 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.

That reminds me of n+k patterns, another weird wart.
Post reply on HN