Live data from Hacker News

The Future of Standard ML (2013) [pdf]

cs.cmu.edu

21–30 of 82 posts

Re: The Future of Standard ML (2013) [pdf]

#21
I was taught functional programming through SML in university two years ago. I have never had my brain twisted with so many interesting and clever concepts - it was one of the most valuable semesters I had, and my favourite class.

Go learn functional programming if you haven't, it will force you to look at problem with a new set of eyes!

Re: The Future of Standard ML (2013) [pdf]

#22
post #15

Earlier quoted context omitted.

No. I mean, I know Tiobe isn't great, but the only ML-derivative I see on the top 50 is F#. ML and OCaml crack the top 100.

F# is an OCaml derivative. I'd reckon that OP's feelings about F# would be rather similar to their feelings about OCaml.

The only objection to OCaml is "the crufty syntax," which I think F# has taken steps to improve upon.

Re: The Future of Standard ML (2013) [pdf]

#23
post #22

Earlier quoted context omitted.

F# is an OCaml derivative. I'd reckon that OP's feelings about F# would be rather similar to their feelings about OCaml.

The only objection to OCaml is "the crufty syntax," which I think F# has taken steps to improve upon.

But F# didn't bring along the beautiful module system from the MLs, nor does it have type classes. Polymorphism there is basically just the OO + generics variety found in C#. That can rub some people (like me) the wrong way.

Re: The Future of Standard ML (2013) [pdf]

#24

Cutting to the chase: use Haskell or Scala or F# if you need to do some scripting or build a web application that requires lots of different tasks (being a web server, rendering templates, connecting to a database, etc.). Haskell and Scala have great libraries and polymorphism that allows you to express things succinctly. Dunno much about F# except .NET. Use OCaml if you want easily native binaries, predictable perfo…

Learning SML isn't going to help as much with Haskell as you might think. The others, yes.

Re: The Future of Standard ML (2013) [pdf]

#26
post #22

Earlier quoted context omitted.

F# is an OCaml derivative. I'd reckon that OP's feelings about F# would be rather similar to their feelings about OCaml.

The only objection to OCaml is "the crufty syntax," which I think F# has taken steps to improve upon.

They explicitly said "an ML derivative that's not OCaml". It's not a big leap from that statement to "neither OCaml nor a Caml derivative" given the similarities between the languages. I'm really not at all surprised that if they want to discount OCaml as a successor ML, they'd want to discount F# as well, given the close relationship between the two. Like @hroman, I too was rather puzzled by your initial statement.

Re: The Future of Standard ML (2013) [pdf]

#27

I was taught functional programming through SML in university two years ago. I have never had my brain twisted with so many interesting and clever concepts - it was one of the most valuable semesters I had, and my favourite class. Go learn functional programming if you haven't, it will force you to look at problem with a new set of eyes!

okay

Re: The Future of Standard ML (2013) [pdf]

#28
post #19
post #16

Earlier quoted context omitted.

> operators (not named functions) are to programming > languages as icon-only buttons are to web pages; > they are completely unusable. I see ( ) ; . you are using already. Latin letters are gibberish to people who don't use it.

I wrote some Scala just today: val list = a +: l :+ b And I knew I had to put in a comment because that stuff always makes my eyes cross over when I come back to it.

I don't know Scala and I have no idea of what +: :+ means, which at first is not a good sign (think about onboarding.) Then I remembered that many mainstream languages have the

    a ? b : c
construct which maybe was equally puzzling when it was introduced by CPL in 1963.

Re: The Future of Standard ML (2013) [pdf]

#29
I revere ML and loved using it back in the day, but I code now in Haskell and am even happier. I like never having to figure out what parts of a program or library are referentially transparent. Why would I ever want to use an impure language again?

Re: The Future of Standard ML (2013) [pdf]

#30

Cutting to the chase: use Haskell or Scala or F# if you need to do some scripting or build a web application that requires lots of different tasks (being a web server, rendering templates, connecting to a database, etc.). Haskell and Scala have great libraries and polymorphism that allows you to express things succinctly. Dunno much about F# except .NET. Use OCaml if you want easily native binaries, predictable perfo…

Learning SML isn't going to help as much with Haskell as you might think. The others, yes.

I have ~4 years experience writing OCaml, and ~1 year experience writing Standard ML. I also once did contracting for a Play app in Scala for 3 months. A month ago, I started looking into Haskell for the first time for another side project and was immediately able to pick it up due to how similar it is to OCaml and Standard ML. In particular, the type syntax and function declarations are similar; understanding monads in SML/OCaml helps understand... everything in Haskell; and understanding of modules/functors/signatures transfers indirectly to type classes as well. (Here is a paper going into even more detail [0].) It felt like Haskell has some of the syntactic sugar I always wished Standard ML had as I learned its limitations.

[0] http://www.cse.unsw.edu.au/~chak/papers/modules-classes.pdf

Post reply on HN