Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Lisper had to learn OCaml to get a job

66 views
Skip to first unread message

Jon Harrop

unread,
Jun 28, 2007, 10:49:24 AM6/28/07
to

Here is an interesting case of Lisper blub:

http://www.podval.org/~sds/ocaml-sucks.html
"OCaml Language Sucks" by Sam Steingold

There is also a hint of Greenspun:

"Pattern matching is a very powerful tool, should be easily implemented as
a Lisp macro."

Always good to see. :-)

--
Dr Jon D Harrop, Flying Frog Consultancy
The OCaml Journal
http://www.ffconsultancy.com/products/ocaml_journal/?usenet

Rainer Joswig

unread,
Jun 28, 2007, 11:01:57 AM6/28/07
to
In article <4683cbcd$0$8735$ed26...@ptn-nntp-reader02.plus.net>,
Jon Harrop <j...@ffconsultancy.com> wrote:


Ignore Jon Harrop. He is a known spammer and troll.


___________________________
/| /| | |
||__|| | Please don't |
/ O O\__ feed |
/ \ the trolls |
/ \ \ |
/ _ \ \ ----------------------
/ |\____\ \ ||
/ | | | |\____/ ||
/ \|_|_|/ | __||
/ / \ |____| ||
/ | | /| | --|
| | |// |____ --|
* _ | |_|_|_| | \-/
*-- _--\ _ \ // |
/ _ \\ _ // | /
* / \_ /- | - | |
* ___ c_c_c_C/ \C_c_c_c____________

--
http://lispm.dyndns.org

Kaz Kylheku

unread,
Jun 28, 2007, 1:49:22 PM6/28/07
to
On Jun 28, 7:49 am, Jon Harrop <j...@ffconsultancy.com> wrote:
> Here is an interesting case of Lisper blub:

There is no claim anywhere on the page that Sam Steingold had to learn
OCaml in order to get a job. Sam doesn't reveal at all how he uses
OCaml at work, or why, or even whether it was imposed as a
requirement.

Don Geddis

unread,
Jun 28, 2007, 2:32:10 PM6/28/07
to
Jon Harrop <j...@ffconsultancy.com> wrote on Thu, 28 Jun 2007:
> http://www.podval.org/~sds/ocaml-sucks.html
> "OCaml Language Sucks" by Sam Steingold

Much thanks. I had a vague distaste for OCaml before, but I didn't know
much about it. I appreciate the link with the many reasons why OCaml's
language design is poor.

-- Don
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ d...@geddis.org
Often, when I am reading a good book, I stop and thank my teacher. That is, I
used to, until she got an unlisted number.
-- Imitation Deep Thoughts

Karol Skocik

unread,
Jun 28, 2007, 4:00:10 PM6/28/07
to

How can you say that ocaml language design sucks? Doesn't ocaml have
the *holy pattern matching* built in (tm) while CL only has several
external matchers around? ;)

Dan Bensen

unread,
Jun 28, 2007, 4:06:53 PM6/28/07
to
Don Geddis wrote:
>> http://www.podval.org/~sds/ocaml-sucks.html
>> "OCaml Language Sucks" by Sam Steingold
> I had a vague distaste for OCaml before, but I didn't know
> much about it. I appreciate the link with the many reasons
> why OCaml's language design is poor.

There's a good discussion on Reddit:
http://programming.reddit.com/info/20dh6/comments

OCaml may not be the language for you, but it's a really
good language for big Enterprise projects. It's too bad
the language is so closely associated with such a troll.

--
Dan
www.prairienet.org/~dsb/

Alex Mizrahi

unread,
Jun 29, 2007, 5:36:02 AM6/29/07
to
(message (Hello 'Dan)
(you :wrote :on '(Thu, 28 Jun 2007 15:06:53 -0500))
(

??>> I had a vague distaste for OCaml before, but I didn't know
??>> much about it. I appreciate the link with the many reasons
??>> why OCaml's language design is poor.

DB> There's a good discussion on Reddit:
DB> http://programming.reddit.com/info/20dh6/comments

DB> OCaml may not be the language for you, but it's a really
DB> good language for big Enterprise projects. It's too bad
DB> the language is so closely associated with such a troll.

Sam was not convincing?

really nice code for Enterprise:

(Int64.to_float (Int64.sub (Int64.mul q (Int64.of_int n)) (Int64.mul s s)))
/. (float n)

type system so advanced, that it cannot do automatic arithmetic
promotions -- but it's so conceptually pure! really, who needs readable
arithmetic at Enterprise? ah, certainly such notation makes Enterprise
projects much bigger, if that was your point.

this programming language is so powerful, so "meta" level, that programmers
need manually keep track of where they need to write +. and where +, or
where that ugly Int64.add, and then they also need to manually do all type
conversions..

well, maybe some people like this language, as it fits their thinking.. some
people even like Perl, and use it for Enterprise programming.. as for me,
Caml looks like some statically-typed Perl :).
sorry, but in my opinion Caml is very idiosyncratic for lispers. even SML,
being essentially same, is less annoying -- at least it handles arithmetics
automatically :)

)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
"scorn")


Jon Harrop

unread,
Jun 29, 2007, 8:57:25 AM6/29/07
to
Alex Mizrahi wrote:
> sorry, but in my opinion Caml is very idiosyncratic for lispers

Blub.

André Thieme

unread,
Jun 29, 2007, 8:32:37 PM6/29/07
to
Karol Skocik schrieb:

> How can you say that ocaml language design sucks? Doesn't ocaml have
> the *holy pattern matching* built in (tm) while CL only has several
> external matchers around? ;)

OCamls PM is not holy - it is not extensible.
I think it doesn't work for multidimensional arrays and not for
objects. In Lisp you can simply take one of the existing PMs, extend it
or change its syntax as much as you like, just by writing a few macros
on top of that existing PM.

André Thieme

unread,
Jun 29, 2007, 8:35:13 PM6/29/07
to
Karol Skocik schrieb:

> How can you say that ocaml language design sucks? Doesn't ocaml have
> the *holy pattern matching* built in (tm) while CL only has several
> external matchers around? ;)

OCamls PM is not holy - it is not extensible.

Jon Harrop

unread,
Jun 30, 2007, 2:56:18 AM6/30/07
to
André Thieme wrote:
> OCamls PM is not holy

It is a good foundation, like the pattern matchers in Standard ML and
Haskell. This is essential if you want good performance.

> - it is not extensible.

You can extend it using macros.

> I think it doesn't work for multidimensional arrays

It works on arrays and multidimensional arrays are just arrays of arrays in
OCaml:

# function [|[|1; 2|]; [|3; 4|]|] -> 0 | _ -> 1;;
- : int array array -> int = <fun>

> and not for objects.

Correct. However, objects are a form of encapsulation, so it does not really
make sense to pattern match over the object itself but, rather, over a
property (which can be done).

# let f o = match o#length with 0. -> 0 | _ -> 1;;
val f : < length : float; .. > -> int = <fun>

> In Lisp you can simply take one of the existing PMs, extend it
> or change its syntax as much as you like, just by writing a few macros
> on top of that existing PM.

Everyone would be better off if someone built this foundation, IMHO.

Message has been deleted

sds

unread,
Jul 16, 2007, 11:44:46 AM7/16/07
to
>> Lisper had to learn OCaml to get a job

It would be more accurate to say "a lisper wanted to know whether the
fuss about ML and static typing was justified, so he found a job that
paid him to learn OCaml" :-)

Message has been deleted
0 new messages