Live data from Hacker News

Code iOS Apps in OCaml

psellos.com

21–29 of 29 posts

Re: Code iOS Apps in OCaml

#21
post #16
post #2

OCaml is a highly underappreciated language. The biggest problem is the haphazard syntax, but if you can get over that, it's really a joy to use for application programming. You get the strongly-typed, type-inferred, functional aspects of Haskell, but without the drawbacks of laziness (for example, you can safely do IO outside the IO monad, and space leaks are less common) and with a simpler type system. There are no…

is it possible to just change syntax and keep the rest of ocaml system. For the syntax we can borrow ideas from Ruby or Python.

Well the revised syntax (http://caml.inria.fr/pub/docs/manual-camlp4/manual007.html) is completely implemented as a camlp4 (p5?) extension, so if you have enough patience you can write another extension to replace the syntax with whatever you want, I suppose.

Re: Code iOS Apps in OCaml

#22
post #18
post #10

Earlier quoted context omitted.

There are a lot of problems with C++, but I've hardly heard syntax referred to as one of them.

You must not have talked to anyone that uses templates extensively.

While I agree that C++ templates when used for anything but simple type generalization, are a gross, gross part of C++. I'd hardly call that core to the C++ syntax.

However, I'd also argue that using templates to that extent is misuse. Eventually, it becomes a better idea to simplify your approach, or invest in a decent macro preprocessor.

I for instance feel that many of the template heavy boost libraries, while powerful, only decrease maintainability of a system in the long-run.

Re: Code iOS Apps in OCaml

#24
post #22
post #18

Earlier quoted context omitted.

You must not have talked to anyone that uses templates extensively.

While I agree that C++ templates when used for anything but simple type generalization, are a gross, gross part of C++. I'd hardly call that core to the C++ syntax. However, I'd also argue that using templates to that extent is misuse. Eventually, it becomes a better idea to simplify your approach, or invest in a decent macro preprocessor. I for instance feel that many of the template heavy boost libraries, while pow…

While I agree that C++ templates when used for anything but simple type generalization, are a gross, gross part of C++. I'd hardly call that core to the C++ syntax.

You're welcome to feel that way, but template abuse is simply a given with 99% of the C++ that crosses my screen these days. It's pervasive in Boost, it's pervasive in the STL (especially in C++11), it's pervasive in libraries like ATL and WTL. You can write C++ that avoids these parts of the language, but you are in the distinct minority in doing so. I think my complaint about C++ syntax is fair.

Re: Code iOS Apps in OCaml

#25
post #15

Earlier quoted context omitted.

OCaml's largest problems, IMO, are: 1. Global interpreter-lock, and the effect that has on the ability to write multi-threaded programs. 2. False negative proof, the same issue Haskell has. The fact that it's "had its chance" to catch on and hasn't done so marks it as a failure (or "not production ready") in the eyes of people who make decisions. Scala has better odds than Ocaml and Haskell for this reason alone. 3.…

I do not think Scala is an ML. The use of the word acceptable and indeed restricting it to an ML derivative loses the point of what Scala is supposed to be. Scala is supposed to be something different: a successful melding of OOP and functional. And it is the best at that I have seen. It succeeds on this better than the next biggest contender: F#, which is the most acceptable ML, IMO. F# is more typically functional,…

Brilliant

Re: Code iOS Apps in OCaml

#26
post #15

Earlier quoted context omitted.

OCaml's largest problems, IMO, are: 1. Global interpreter-lock, and the effect that has on the ability to write multi-threaded programs. 2. False negative proof, the same issue Haskell has. The fact that it's "had its chance" to catch on and hasn't done so marks it as a failure (or "not production ready") in the eyes of people who make decisions. Scala has better odds than Ocaml and Haskell for this reason alone. 3.…

I do not think Scala is an ML. The use of the word acceptable and indeed restricting it to an ML derivative loses the point of what Scala is supposed to be. Scala is supposed to be something different: a successful melding of OOP and functional. And it is the best at that I have seen. It succeeds on this better than the next biggest contender: F#, which is the most acceptable ML, IMO. F# is more typically functional,…

Brilliant synopsis. Thanks!

Re: Code iOS Apps in OCaml

#27
post #15

Earlier quoted context omitted.

OCaml's largest problems, IMO, are: 1. Global interpreter-lock, and the effect that has on the ability to write multi-threaded programs. 2. False negative proof, the same issue Haskell has. The fact that it's "had its chance" to catch on and hasn't done so marks it as a failure (or "not production ready") in the eyes of people who make decisions. Scala has better odds than Ocaml and Haskell for this reason alone. 3.…

I do not think Scala is an ML. The use of the word acceptable and indeed restricting it to an ML derivative loses the point of what Scala is supposed to be. Scala is supposed to be something different: a successful melding of OOP and functional. And it is the best at that I have seen. It succeeds on this better than the next biggest contender: F#, which is the most acceptable ML, IMO. F# is more typically functional,…

Brilliant synopsis. Thanks!

Re: Code iOS Apps in OCaml

#28
post #15

Earlier quoted context omitted.

OCaml's largest problems, IMO, are: 1. Global interpreter-lock, and the effect that has on the ability to write multi-threaded programs. 2. False negative proof, the same issue Haskell has. The fact that it's "had its chance" to catch on and hasn't done so marks it as a failure (or "not production ready") in the eyes of people who make decisions. Scala has better odds than Ocaml and Haskell for this reason alone. 3.…

I do not think Scala is an ML. The use of the word acceptable and indeed restricting it to an ML derivative loses the point of what Scala is supposed to be. Scala is supposed to be something different: a successful melding of OOP and functional. And it is the best at that I have seen. It succeeds on this better than the next biggest contender: F#, which is the most acceptable ML, IMO. F# is more typically functional,…

Brilliant synopsis. Thanks!

Re: Code iOS Apps in OCaml

#29
post #24
post #22

Earlier quoted context omitted.

While I agree that C++ templates when used for anything but simple type generalization, are a gross, gross part of C++. I'd hardly call that core to the C++ syntax. However, I'd also argue that using templates to that extent is misuse. Eventually, it becomes a better idea to simplify your approach, or invest in a decent macro preprocessor. I for instance feel that many of the template heavy boost libraries, while pow…

While I agree that C++ templates when used for anything but simple type generalization, are a gross, gross part of C++. I'd hardly call that core to the C++ syntax. You're welcome to feel that way, but template abuse is simply a given with 99% of the C++ that crosses my screen these days. It's pervasive in Boost, it's pervasive in the STL (especially in C++11), it's pervasive in libraries like ATL and WTL. You can wr…

I'd hardly call the STL, ATL, or WTL particularly heinous abuses of the template system.. And the syntax, is in general, pretty reasonable... Boost on the other hand...
Post reply on HN