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

Re: Scheme as a virtual machine?

34 views
Skip to first unread message

Ertugrul Söylemez

unread,
Oct 13, 2010, 8:01:36 PM10/13/10
to
namekuseijin <nameku...@gmail.com> wrote:

> Take haskell and its so friggin' huge and complex that its got its
> very own scary monolithic gcc. When you think of it, Scheme is the
> one true high-level language with many quality perfomant backends --
> CL has a few scary compilers for native code, but not one to java,
> .NET or javascript that I know of...

What exactly is "friggin' huge" and "complex" about Haskell, and what's
this stuff about a "very own monolithic gcc"? Haskell isn't a lot more
complex than Scheme. In fact, Python is much more complex. Reduced to
bare metal (i.e. leaving out syntactic sugar) Haskell is one of the
simplest languages. Since recent versions of GHC produced code is also
very small.

The only downside of Haskell is that the popular VMs like JVM and .NET
are not supported. But that's also because their type systems are very
incompatible. Haskell can express types, which they can't express. The
only thing I could imagine to bring the worlds together is another
foreign function interface, a JFFI and a VESFFI.

In my opinion Scheme is not the "one true high-level language". For me
personally Haskell gets much closer to this. For others it's probably
Common Lisp or something else.


Greets,
Ertugrul


--
nightmare = unsafePerformIO (getWrongWife >>= sex)
http://ertes.de/

namekuseijin

unread,
Oct 13, 2010, 10:22:17 PM10/13/10
to
On 13 out, 21:01, Ertugrul Söylemez <e...@ertes.de> wrote:
> What exactly is "friggin' huge" and "complex" about Haskell, and what's
> this stuff about a "very own monolithic gcc"?  Haskell isn't a lot more
> complex than Scheme.  In fact, Python is much more complex.  Reduced to
> bare metal (i.e. leaving out syntactic sugar) Haskell is one of the
> simplest languages.

yeah, like scheme, it's essentially evaluation of lambda expressions.
Unlike scheme, it's got a huge plethora of syntatic sugar as big and
complex as a full numeric tower. Such is the fear to avoid
parentheses at all costs that they allowed lots of perlisms into the
language ($ . `` >>= etc) plus python's significant whitespace. So,
in practice, even though at the core it's as simple as scheme's core,
at practice it's so mindnumbing complex that only one implementation
is worth of note. And one as complex and scary beast as gcc... that's
the cost of a very irregular syntax...

Ertugrul Söylemez

unread,
Oct 13, 2010, 11:26:50 PM10/13/10
to
namekuseijin <nameku...@gmail.com> wrote:

That's nonsense. There is only little syntactic sugar in Haskell. And
all of them make your life considerably easier. You get multiple
function clauses instead of an explicit 'case', which makes your
functions much more readable. You get 'do'-notation for monads, which
makes (many) monadic computations much easier to read. And you get
support for infix functions with a very clean syntax. That's about all
the syntactic features you use in general.

BTW, you mentioned symbols ('$', '.' and '>>='), which are not syntactic
sugar at all. They are just normal functions, for which it makes sense
to be infix. The fact that you sold them as syntactic sugar or
"perlisms" proves that you have no idea about the language, so stop
crying. Also Python-style significant whitespace is strictly optional.
It's nice though. After all most Haskell programmers prefer it.

Further Scheme lacks these:
* A powerful type system,
* lazy evaluation,
* non-strict semantics,
* easy, straightforward to use concurrency,
* easy, straightforward to use parallelism and
* much more.

I'm not saying Scheme is a bad language (I recommend it to beginners),
but it doesn't beat Haskell in any way, at least for me, and in contrast
to you I /can/ make a comparison, because I have used both productively.


> And one as complex and scary beast as gcc... that's the cost of a very
> irregular syntax...

What also proves that you have no idea is the fact that there is no
Haskell compiler called 'gcc'. That's the GNU C compiler. There is the
Glasgow Haskell Compiler, GHC, and it's by far not the only one. It's
just the one most people use, and there is such a compiler for all
languages. Many Schemers use Racket, for example.

You never used Haskell seriously, so stop complaining.

Dirk Thierbach

unread,
Oct 14, 2010, 2:25:10 AM10/14/10
to
Ertugrul Söylemez <e...@ertes.de> wrote:
> namekuseijin <nameku...@gmail.com> wrote:

>> Take haskell and its so friggin' huge and complex that its got its
>> very own scary monolithic gcc. When you think of it, Scheme is the
>> one true high-level language with many quality perfomant backends --

> What exactly is "friggin' huge" and "complex" about Haskell,

Ertugrul, Du musst die Trolle nicht fuettern. Ausdruecke wie "one
true" zeigen klar genug, dass es ein Fanatiker ist, und Diskussion mit
denen ist zwecklos. Viele von den Lisplern sind halt so. Das ist
genauso zwecklos wie einen religioesen Fundamentalisten davon
ueberzeugen zu wollen, dass es neben seiner auch noch andere
gueltige Religionen gibt.

- Dirk

Ertugrul Söylemez

unread,
Oct 14, 2010, 4:36:41 AM10/14/10
to
Dirk Thierbach <dthie...@usenet.arcornews.de> wrote:

Da hast du natürlich Recht, aber ich diskutiere schließlich auch gerne
mit den Religionsfanatikern. Das ist so schön einfach. =)

Egal, wrong language I guess.


Grüße

pjotr

unread,
Oct 14, 2010, 9:06:59 AM10/14/10
to
Haskell can be a beautiful language (for some applications), no doubt.
But so can Scheme or MLs, (possibly, for other applications). As I
understand it, there is no conclusion to static vs. dynamic typing and
strict vs. lazy debate. You have these options in all of functional
languages (there is Typed and Lazy Scheme as well as a way to program
Untyped Lazy ML or Untyped Strict Haskell).

But it does get irritating when you start looking at some particular
language through a book or a lecture, where someone advocates lazy
evaluation (or static typing for that matter) as a solution to all the
world's problems and then comes with a nasty and ugly looking stuff
like this:
http://haskell.org/haskellwiki/Foldr_Foldl_Foldl%27.

Also read: http://users.aber.ac.uk/afc/stricthaskell.html.

Some quotes from http://haskell.org/haskellwiki/Stack_overflow:

"When should foldl be used? The pragmatic answer is: by and far, it
shouldn't be used... However, I can't think of a really convincing
example. In most cases, foldl' is what you want. "

and from http://haskell.org/haskellwiki/Performance/Strictness:

"then consider instead writing do … … return $! fn x; it is very rare
to actually need laziness in the argument of return here."

BTW, I don't know how many Haskell programmers actually use these
annotations... But I do think that foldl is the most widely-used fold.

To summarise: which notation do you prefer: "!" and "seq"/"$!"/"$!!"
everywhere, or (delay) and (force) wherever you do really need it?

namekuseijin

unread,
Oct 14, 2010, 1:11:34 PM10/14/10
to
On 14 out, 00:26, Ertugrul Söylemez <e...@ertes.de> wrote:
> BTW, you mentioned symbols ('$', '.' and '>>='), which are not syntactic
> sugar at all.  They are just normal functions, for which it makes sense
> to be infix.  The fact that you sold them as syntactic sugar or
> "perlisms" proves that you have no idea about the language, so stop
> crying.  Also Python-style significant whitespace is strictly optional.
> It's nice though.  After all most Haskell programmers prefer it.

it still makes haskell code scattered with perlisms, be it syntax or
function name... in practice, Haskell code is ridden with such
perlisms and significant whitespace, and infix function application
and more special cases. All of these contribute to a harder to parse
language and to less compilers for it.

> > And one as complex and scary beast as gcc... that's the cost of a very
> > irregular syntax...
>
> What also proves that you have no idea is the fact that there is no
> Haskell compiler called 'gcc'.  That's the GNU C compiler.

ORLY?

do you understand what a comparison is?

> Glasgow Haskell Compiler, GHC, and it's by far not the only one.  It's
> just the one most people use, and there is such a compiler for all
> languages.

yeah, there's also some Yale Haskell compiler in some graveyard, last
time I heard...

Ertugrul Söylemez

unread,
Oct 15, 2010, 11:41:28 PM10/15/10
to
namekuseijin <nameku...@gmail.com> wrote:

> On 14 out, 00:26, Ertugrul Söylemez <e...@ertes.de> wrote:
> > BTW, you mentioned symbols ('$', '.' and '>>='), which are not
> > syntactic sugar at all.  They are just normal functions, for which
> > it makes sense to be infix.  The fact that you sold them as
> > syntactic sugar or "perlisms" proves that you have no idea about the
> > language, so stop crying.  Also Python-style significant whitespace
> > is strictly optional. It's nice though.  After all most Haskell
> > programmers prefer it.
>
> it still makes haskell code scattered with perlisms, be it syntax or
> function name... in practice, Haskell code is ridden with such
> perlisms and significant whitespace, and infix function application
> and more special cases. All of these contribute to a harder to parse

> language [...]

So what? The quality of a language isn't measured by the difficulty to
parse it. Haskell has certainly more syntactic special cases than
Scheme, but I don't care, because they are /useful/.


> [...] and to less compilers for it.

That's an arbitrary and wrong statement. The reason why there aren't
many Haskell compilers is that Haskell needs a good run-time system and
a lot of algorithms, which you wouldn't need in languages like Scheme
(including typed Scheme), which have a comparably simple type system.
Also you have to deal with laziness, and ideally you would want to write
a smart optimizer. This is easier for other languages.

But what's the matter? GHC is BSD-licensed. Derive your project from
it, if you are, for some reason, not happy with it.


> > > And one as complex and scary beast as gcc... that's the cost of a
> > > very irregular syntax...
> >
> > What also proves that you have no idea is the fact that there is no
> > Haskell compiler called 'gcc'.  That's the GNU C compiler.
>
> ORLY?
>
> do you understand what a comparison is?

Sure, sure. I'd probably say that, too, in your situation. ;)


> > Glasgow Haskell Compiler, GHC, and it's by far not the only
> > one.  It's just the one most people use, and there is such a
> > compiler for all languages.
>
> yeah, there's also some Yale Haskell compiler in some graveyard, last
> time I heard...

http://haskell.org/haskellwiki/Implementations

Arved Sandstrom

unread,
Oct 16, 2010, 10:52:16 AM10/16/10
to
Ertugrul S�ylemez wrote:
> Dirk Thierbach <dthie...@usenet.arcornews.de> wrote:
>
>> Ertugrul S�ylemez <e...@ertes.de> wrote:
>>> namekuseijin <nameku...@gmail.com> wrote:
>>>> Take haskell and its so friggin' huge and complex that its got its
>>>> very own scary monolithic gcc. When you think of it, Scheme is the
>>>> one true high-level language with many quality perfomant backends
>>>> --
>>>
>>> What exactly is "friggin' huge" and "complex" about Haskell,
>>
>> Ertugrul, Du musst die Trolle nicht fuettern. Ausdruecke wie "one
>> true" zeigen klar genug, dass es ein Fanatiker ist, und Diskussion
>> mit denen ist zwecklos. Viele von den Lisplern sind halt so. Das ist
>> genauso zwecklos wie einen religioesen Fundamentalisten davon
>> ueberzeugen zu wollen, dass es neben seiner auch noch andere gueltige
>> Religionen gibt.
>
> Da hast du nat�rlich Recht, aber ich diskutiere schlie�lich auch gerne
> mit den Religionsfanatikern. Das ist so sch�n einfach. =)

>
> Egal, wrong language I guess.
>
> Gr��e
> Ertugrul

Well, hell, I understood it. :-) Good points...especially about the "one
true" phrase, rather telling.

AHS
--
Hanging one scoundrel, it appears, does not deter the next. Well, what
of it? The first one is at least disposed of. -- H.L. Mencken


Jon Harrop

unread,
Nov 21, 2010, 10:25:08 AM11/21/10
to
"Ertugrul Söylemez" <e...@ertes.de> wrote in message
news:20101014052...@tritium.streitmacht.eu...
> That's nonsense.

Actually namekuseijin is right. You really need to persevere and familiarize
yourself with some of the other languages out there. Haskell is many things
but simple is not one of them. If Haskell were half of the things you think
it is, it would have more credible success stories.

Cheers,
Jon.

Ertugrul Söylemez

unread,
Nov 21, 2010, 11:38:53 PM11/21/10
to
"Jon Harrop" <use...@ffconsultancy.com> wrote:

Jon, I don't care about your opinion, because it's biased. If you were
to advocate Haskell in any way, you would lose money. So you must fight
it where possible. This makes all your postings about Haskell (and many
other languages) meaningless and reading them a waste of time.

Haskell is a simple language with a comparably small specification.
It's not as simple as Common Lisp, but it's simple. Note that simple
doesn't mean easy. Haskell is certainly more difficult to learn than
other languages, which explains the low number of success stories. On
the other hand, I'm doing rapid web development in it.

After all there aren't many CL success stories either, but Paul Graham's
story [1] speaks for itself.

[1] http://www.paulgraham.com/avg.html

markha...@gmail.com

unread,
Nov 22, 2010, 8:12:27 AM11/22/10
to
On Nov 21, 10:38 pm, Ertugrul Söylemez <e...@ertes.de> wrote:
> "Jon Harrop" <use...@ffconsultancy.com> wrote:
> > "Ertugrul Söylemez" <e...@ertes.de> wrote in message
> >news:20101014052...@tritium.streitmacht.eu...
>
> > > That's nonsense.
>
> > Actually namekuseijin is right. You really need to persevere and
> > familiarize yourself with some of the other languages out
> > there. Haskell is many things but simple is not one of them. If
> > Haskell were half of the things you think it is, it would have more
> > credible success stories.
>
> Jon, I don't care about your opinion, because it's biased.

All opinions are biased.

Raffael Cavallaro

unread,
Nov 22, 2010, 9:45:23 AM11/22/10
to
On 2010-11-22 08:12:27 -0500, MarkHa...@gmail.com said:

> All opinions are biased.

All opinions show some bias. Not all opinions represent what is usually
called a "conflict of interest." Since JH makes his living selling
tools and training for certain languages, he has a severe conflict of
interest wrt asessing the value of various other languages. If these
other languages are just as good or better than those he makes his
living from, it would be very damaging to his livlihood for him to
admit this fact. As a result, he is a completely unreliable source on
the question.

This is why judges must recuse themselves from both civil and criminal
trials if they have some significant conflict of interest. The law
recognizes that we cannot expect a fair judgement from someone who
stands to profit significantly if the judgement goes one way or the
other. Similarly, we cannot expect a fair judgement on the relative
value of various language tools from a person whose livlihood depends
on the audience choosing only those certain language tools that he
sells services and training for.

warmest regards,

Ralph

--
Raffael Cavallaro

Howard Brazee

unread,
Nov 22, 2010, 10:57:41 AM11/22/10
to
On Mon, 22 Nov 2010 05:38:53 +0100, Ertugrul Söylemez <e...@ertes.de>
wrote:

>Haskell is a simple language with a comparably small specification.
>It's not as simple as Common Lisp, but it's simple. Note that simple
>doesn't mean easy. Haskell is certainly more difficult to learn than
>other languages, which explains the low number of success stories. On
>the other hand, I'm doing rapid web development in it.

I wonder how much that difficulty is innate, and how much is due to
learning other languages first.

I'm an old time CoBOL programmer, and know of quite a few people who
tried to learn OO-CoBOL without much luck. The way to learn it was
to forget it - learn OO with some other language, then come back to it
later. We had to divorce ourselves from the old paradigm first.

--
"In no part of the constitution is more wisdom to be found,
than in the clause which confides the question of war or peace
to the legislature, and not to the executive department."

- James Madison

toby

unread,
Nov 22, 2010, 11:14:40 AM11/22/10
to
On Nov 22, 10:57 am, Howard Brazee <how...@brazee.net> wrote:
> On Mon, 22 Nov 2010 05:38:53 +0100, Ertugrul S ylemez <e...@ertes.de>

> wrote:
>
> >Haskell is a simple language with a comparably small specification.
> >It's not as simple as Common Lisp, but it's simple.  Note that simple
> >doesn't mean easy.  Haskell is certainly more difficult to learn than
> >other languages, which explains the low number of success stories.  On
> >the other hand, I'm doing rapid web development in it.
>
> I wonder how much that difficulty is innate, and how much is due to
> learning other languages first.

This is a good (if familiar) observation. Teaching children (or young
people with little exposure to computers) how to program in various
paradigms could produce interesting primary evidence. Pity that this
isn't examined widely and systematically. We could learn something
about how to teach programming and design languages this way, don't
you agree?

The OLPC might do some interesting things in this area but it is still
one set of tools. More interesting might be to compare outcomes across
a range of different tools, paradigms, syntaxes, and teaching
strategies.

scattered

unread,
Nov 22, 2010, 11:25:34 AM11/22/10
to
On Nov 22, 9:45 am, Raffael Cavallaro
<raffaelcavall...@pas.despam.s.il.vous.plait.mac.com> wrote:

> On 2010-11-22 08:12:27 -0500, MarkHanif...@gmail.com said:
>
> > All opinions are biased.
>
> All opinions show some bias. Not all opinions represent what is usually
> called a "conflict of interest." Since JH makes his living selling
> tools and training for certain languages, he has a severe conflict of
> interest wrt asessing the value of various other languages. If these
> other languages are just as good or better than those he makes his
> living from, it would be very damaging to his livlihood for him to
> admit this fact. As a result, he is a completely unreliable source on
> the question.
>

And you don't think that Jon Harrop could write a book about Haskell
if he honestly came to think that it were a superior all-aroung
language? The fact that he *didn't* mindlessly reject F# in favor of
O'Caml when F# came out (despite the fact that at the time his company
was deeply (exclusively?) invested in O'Caml and arguably had a vested
interest in having F# fail to gain support) suggests that he is able
to fairly evaluate the merits of other languages. Doubtless he has
biases, but there is no reason to think that they are any greater than
the bias of any programmer who has invested substantial amounts of
time in becoming fluent in a particular language.

> This is why judges must recuse themselves from both civil and criminal
> trials if they have some significant conflict of interest.

But an advocate isn't a judge. Nobody is handing down binding
decisions here - they are just advocating their positions. It would be
better to compare JH to a defense lawyer. You can't reject the
defense's arguments just because the lawyer has a vested interest in
the outcome of the trial.

> the law recognizes that we cannot expect a fair judgement from someone who

Howard Brazee

unread,
Nov 22, 2010, 11:47:37 AM11/22/10
to
On Mon, 22 Nov 2010 08:14:40 -0800 (PST), toby
<to...@telegraphics.com.au> wrote:

>This is a good (if familiar) observation. Teaching children (or young
>people with little exposure to computers) how to program in various
>paradigms could produce interesting primary evidence. Pity that this
>isn't examined widely and systematically. We could learn something
>about how to teach programming and design languages this way, don't
>you agree?

I do.

A study such as that would be more useful than how to teach languages
- it could be useful in teaching other stuff as well.

Tamas K Papp

unread,
Nov 22, 2010, 11:51:58 AM11/22/10
to
On Mon, 22 Nov 2010 08:25:34 -0800, scattered wrote:

> On Nov 22, 9:45 am, Raffael Cavallaro
> <raffaelcavall...@pas.despam.s.il.vous.plait.mac.com> wrote:
>> On 2010-11-22 08:12:27 -0500, MarkHanif...@gmail.com said:
>>
>> > All opinions are biased.
>>
>> All opinions show some bias. Not all opinions represent what is usually
>> called a "conflict of interest." Since JH makes his living selling
>> tools and training for certain languages, he has a severe conflict of
>> interest wrt asessing the value of various other languages. If these
>> other languages are just as good or better than those he makes his
>> living from, it would be very damaging to his livlihood for him to
>> admit this fact. As a result, he is a completely unreliable source on
>> the question.
>>
>>
> And you don't think that Jon Harrop could write a book about Haskell if
> he honestly came to think that it were a superior all-aroung language?

Until he writes one, it is useless to speculate about what he could or
could not do.

There are some pretty good books on Haskell, lots of excellent
resources online, and the online community is very supportive.
Writing a book which adds significant value to that would not be a
trivial undertaking.

Best,

Tamas

namekuseijin

unread,
Nov 22, 2010, 12:28:33 PM11/22/10
to
On 22 nov, 14:47, Howard Brazee <how...@brazee.net> wrote:
> On Mon, 22 Nov 2010 08:14:40 -0800 (PST), toby
>
> <t...@telegraphics.com.au> wrote:
> >This is a good (if familiar) observation. Teaching children (or young
> >people with little exposure to computers) how to program in various
> >paradigms could produce interesting primary evidence. Pity that this
> >isn't examined widely and systematically. We could learn something
> >about how to teach programming and design languages this way, don't
> >you agree?
>
> I do.
>
> A study such as that would be more useful than how to teach languages
> - it could be useful in teaching other stuff as well.

yes, pity most children are (used to be) taught Basic first.

Also, with a study like this, it's likely some children would be
taught some lame language and others would be taught some "industrial
strength" language and still others would be taught some esoteric
language. I'm not sure it'd prove as much as we are hoping for -- as
they are all Turing equivalent and the kids would be able to
eventually do the task asked for in any of them -- but I'm sure some
of those children would be mentally hurt for all their life. Poor
pioneers :p

JH, nice to have you back! :)

markha...@gmail.com

unread,
Nov 22, 2010, 12:32:08 PM11/22/10
to
On Nov 22, 8:45 am, Raffael Cavallaro
<raffaelcavall...@pas.despam.s.il.vous.plait.mac.com> wrote:

> On 2010-11-22 08:12:27 -0500, MarkHanif...@gmail.com said:
>
> > All opinions are biased.
>
> All opinions show some bias. Not all opinions represent what is usually
> called a "conflict of interest."
>

Maybe, but in the case of regulars on newsgroups like c.l.l, there are
"conflicts of interest" that either don't or don't indirectly have to
do with profiting off the popularity or perception of a particular
programming language.

Harrop is annoying is the same way that "MatzLisp" guy is annoying on
c.l.l.

toby

unread,
Nov 22, 2010, 12:42:14 PM11/22/10
to
On Nov 22, 12:28 pm, namekuseijin <namekusei...@gmail.com> wrote:
> On 22 nov, 14:47, Howard Brazee <how...@brazee.net> wrote:
>
> > On Mon, 22 Nov 2010 08:14:40 -0800 (PST), toby
>
> > <t...@telegraphics.com.au> wrote:
> > >This is a good (if familiar) observation. Teaching children (or young
> > >people with little exposure to computers) how to program in various
> > >paradigms could produce interesting primary evidence. Pity that this
> > >isn't examined widely and systematically. We could learn something
> > >about how to teach programming and design languages this way, don't
> > >you agree?
>
> > I do.
>
> > A study such as that would be more useful than how to teach languages
> > - it could be useful in teaching other stuff as well.
>
> yes, pity most children are (used to be) taught Basic first.
>
> Also, with a study like this, it's likely some children would be
> taught some lame language and others would be taught some "industrial
> strength" language and still others would be taught some esoteric
> language.

This is not worse than the status quo, which does exactly that, but
without paying attention to outcomes.

What I am proposing is doing it systematically, with observation. Then
we can learn something.

scattered

unread,
Nov 22, 2010, 1:02:36 PM11/22/10
to

Of course it would be nontrivial - but it seems strange to in effect
argue that if a person has written a book on language X then you can
dismiss their views of language Y since they have a vested interest in
X. Few people can write any decent book at all. The fact that JH has
written two (?) books about a functional programming language suggests
that he has a certain level of competence that should give at least
some credibility to his views, rather than being used as a grounds for
rejecting those views.

> Best,
>
> Tamas- Hide quoted text -
>
> - Show quoted text -

Raffael Cavallaro

unread,
Nov 22, 2010, 5:12:21 PM11/22/10
to
On 2010-11-22 11:25:34 -0500, scattered said:

> And you don't think that [JH] could write a book about Haskell


> if he honestly came to think that it were a superior all-aroung
> language?

Until he actually does, he has a financial interest in trash-talking
Haskell. This makes anything he says about Haskell suspect.

> The fact that he *didn't* mindlessly reject [musical note lang] in favor of
> [Irish Ship Of The Desert] when [musical note lang] came out (despite

> the fact that at the time his company

> was deeply (exclusively?) invested in [Irish Ship Of The Desert] and
> arguably had a vested
> interest in having [musical note lang] fail to gain support) suggests

> that he is able
> to fairly evaluate the merits of other languages.

No, it suggests that he saw that supporting the Irish Ship Of The
Desert meant going up against Microsoft, so he jumped to the MS
supported variant of the Donut Dromedary.

You miss the fundamental point; having a financial interest in the
outcome of a debate makes anything that person says an advertisement
for his financial interests, not a fair assessment.

> Doubtless he has
> biases, but there is no reason to think that they are any greater than
> the bias of any programmer who has invested substantial amounts of
> time in becoming fluent in a particular language.

Just the opposite. A person who makes his living by being paid to
program in a language he has developed some expertise in (rather than
selling books on it and training for it) has no financial interest in
seeing others develop expertise in it - they would just represent
competition. By contrast, one who sells training and books for a
language profits directly when others take an interest in that
language. Their financial interests are in fact opposite.

JH profits when people take an interest in languages he sells training
for; a working lisp programmer sees additional *competition* when
someone else develops expertise in common lisp.

> But an advocate isn't a judge. Nobody is handing down binding
> decisions here - they are just advocating their positions.

Now you're arguing our point; JH is an *advocate* with a clear conflict
of interest which prevents him from presenting anything but the most
one sided, and therefore largely useless, assessment. His writing
should be seen as a paid advertisement, not as a fair treatment of
programming languages.

Mark T. B. Carroll

unread,
Nov 22, 2010, 7:30:41 PM11/22/10
to
Ertugrul Söylemez <e...@ertes.de> writes:

> I'm doing rapid web development in it.

Any tips here -- libraries and whatever? I had wondered about doing it
in Haskell exactly by creating an EDSL in which I describe the
application at a high level, and have it, perhaps through multiple
stages, bottom out through combinator libraries and the like into
something usable at a lower level. A stacked-EDSL's approach seems so
much nicer to me that, say, the mainstream Java way of gluing together
classes and Spring and Struts and JSP and Hibernate and whatever with
application logic widely distributed among various parts that all have
to match up; I find it a confusing nightmare of twisty mess. I was going
to take a look at Scala and Lift this week to see how they do it.

Mark

Ertugrul Söylemez

unread,
Nov 22, 2010, 10:10:48 PM11/22/10
to

Currently I'm using the Yesod web framework by Michael Snoyman. It's
great work and very easy to use. For database access I use the
'persistent' package, which is designed to work well with Yesod. For
fast monadic stuff I use my own library called 'contstuff', which you
can find on Hackage.

On the client side I use the Haxe language, mainly for JavaScript and
Flash. Sometimes, when Haskell is not an option, I also write my PHP
code in Haxe.

Keith H Duggar

unread,
Nov 23, 2010, 10:08:12 AM11/23/10
to
On Nov 22, 5:12 pm, Raffael Cavallaro

<raffaelcavall...@pas.despam.s.il.vous.plait.mac.com> wrote:
> On 2010-11-22 11:25:34 -0500, scattered said:
>
> > And you don't think that [JH] could write a book about Haskell
> > if he honestly came to think that it were a superior all-aroung
> > language?
>
> Until he actually does, he has a financial interest in trash-talking
> Haskell. This makes anything he says about Haskell suspect.
>
> >  The fact that he *didn't* mindlessly reject [musical note lang] in favor of
> > [Irish Ship Of The Desert] when [musical note lang] came out (despite
> > the fact that at the time his company
> > was deeply (exclusively?) invested in [Irish Ship Of The Desert] and
> > arguably had a vested
> > interest in having [musical note lang] fail to gain support) suggests
> > that he is able
> > to fairly evaluate the merits of other languages.
>
> No, it suggests that he saw that supporting the Irish Ship Of The
> Desert meant going up against Microsoft, so he jumped to the MS
> supported variant of the Donut Dromedary.
>
> You miss the fundamental point; having a financial interest in the
> outcome of a debate makes anything that person says an advertisement
> for his financial interests, not a fair assessment.

There is a well-known name for such illogical reasoning: ad hominem.
When a person poses an /argument/, nothing personal outside of the
/argument/ is relevant. Thus, your claim that "anything that person
says ..." is not only obvious hyperbole it is also illogical.

It is a common refuge of those who cannot support their position
with fact and logic. On more than one occasion Jon Harrop has all
but crushed Ertugrul in this very forum with /source code/; that
is as objective as it gets.

KHD

Raffael Cavallaro

unread,
Nov 23, 2010, 10:34:22 AM11/23/10
to
On 2010-11-23 10:08:12 -0500, Keith H Duggar said:

> There is a well-known name for such illogical reasoning: ad hominem.

You don't understand ad hominem:

"The ad hominem is a classic logical fallacy,[2] but it is not always
fallacious. For in some instances, questions of personal conduct,
character, motives, etc., are legitimate and relevant to the issue.[3]"

Source: <http://en.wikipedia.org/wiki/Ad_hominem>

Sometimes the person's conduct and motives *are relevant* to the point
under discussion. Financial conflict of interest is a perfect example
where it *is* legitimate and relevant to explore a person's motives and
conduct outside of the debate.

In this case, JH's conduct outside of the debate (i.e., the fact that
he earns his living by selling tools and training for a particular set
of languages) and his motives (i.e., he is therefore financially
motivated to present these languages in the best possible light and to
trash-talk other languages), render his arguments in the debate
inherently suspect.

Keith H Duggar

unread,
Nov 23, 2010, 11:34:14 AM11/23/10
to
On Nov 23, 10:34 am, Raffael Cavallaro

<raffaelcavall...@pas.despam.s.il.vous.plait.mac.com> wrote:
> On 2010-11-23 10:08:12 -0500, Keith H Duggar said:
> > On Nov 22, 5:12 pm, Raffael Cavallaro <raffaelcavall...@pas.despam.s.il.vous.plait.mac.com> wrote:
> > > On 2010-11-22 11:25:34 -0500, scattered said:
> > >
> > > > And you don't think that [JH] could write a book about Haskell
> > > > if he honestly came to think that it were a superior all-aroung
> > > > language?
> > >
> > > Until he actually does, he has a financial interest in trash-talking
> > > Haskell. This makes anything he says about Haskell suspect.
> > >
> > > >  The fact that he *didn't* mindlessly reject [musical note lang] in favor of
> > > > [Irish Ship Of The Desert] when [musical note lang] came out (despite
> > > > the fact that at the time his company
> > > > was deeply (exclusively?) invested in [Irish Ship Of The Desert] and
> > > > arguably had a vested
> > > > interest in having [musical note lang] fail to gain support) suggests
> > > > that he is able
> > > > to fairly evaluate the merits of other languages.
> > >
> > > No, it suggests that he saw that supporting the Irish Ship Of The
> > > Desert meant going up against Microsoft, so he jumped to the MS
> > > supported variant of the Donut Dromedary.
> > >
> > > You miss the fundamental point; having a financial interest in the
> > > outcome of a debate makes anything that person says an advertisement
> > > for his financial interests, not a fair assessment.
> >
> > There is a well-known name for such illogical reasoning: ad hominem.
> > When a person poses an /argument/, nothing personal outside of the
> > /argument/ is relevant. Thus, your claim that "anything that person
> > says ..." is not only obvious hyperbole it is also illogical.
> >
> > It is a common refuge of those who cannot support their position
> > with fact and logic. On more than one occasion Jon Harrop has all
> > but crushed Ertugrul in this very forum with /source code/; that
> > is as objective as it gets.
>
> You don't understand ad hominem:
>
> "The ad hominem is a classic logical fallacy,[2] but it is not always
> fallacious. For in some instances, questions of personal conduct,
> character, motives, etc., are legitimate and relevant to the issue.[3]"
>
> Source: <http://en.wikipedia.org/wiki/Ad_hominem>
>
> Sometimes the person's conduct and motives *are relevant* to the point
> under discussion. Financial conflict of interest is a perfect example
> where it *is* legitimate and relevant to explore a person's motives and
> conduct outside of the debate.
>
> In this case, JH's conduct outside of the debate (i.e., the fact that
> he earns his living by selling tools and training for a particular set
> of languages) and his motives (i.e., he is therefore financially
> motivated to present these languages in the best possible light and to
> trash-talk other languages), render his arguments in the debate
> inherently suspect.

You don't understand the implications of your own words:

"having a financial interest in the outcome of a debate makes
anything that person says an advertisement for his financial
interests, not a fair assessment."

is substantially different from

"render his arguments in the debate inherently suspect."

Do you understand how? Hint, see my comment regarding "hyperbole"
and also consider the relationship between the qualifier "anything"
and universal quantification.

I think if you think a bit more carefully you will come to see how
your original statement was indeed fallacious ad hominem. (And that
specific example remains so regardless of which common approach to
informal logic you take ie whether you choose one that is more or
less sympathetic to ad hominem in general.)

KHD

Ertugrul Söylemez

unread,
Nov 23, 2010, 6:48:24 PM11/23/10
to
Keith H Duggar <dug...@alum.mit.edu> wrote:

> It is a common refuge of those who cannot support their position with
> fact and logic. On more than one occasion Jon Harrop has all but
> crushed Ertugrul in this very forum with /source code/; that is as
> objective as it gets.

Since Jon has financial reasons to invest time doing this and I don't,
this is nowhere near "crushing" or "objective". It's simply
meaningless. If someone pays me for writing proof code or coming up
with challenges, then I will, and I assure you, I would give him a hard
time, since I'm an experienced Haskell programmer, who uses it for many
different, practical purposes in the real world outside of academia.

And I stated explicitly many times that (without being paid) I don't
feel like wasting time proving my point to Jon, who would just come up
with new arbitrary arguments and challenges anyway, as he does all the
time. Jon doesn't and cannot acknowledge valid arguments, so it would
be an ongoing, pointless cycle.

After all, he was the only one posing stupid challenges on me at all,
deliberately constructing problems to be easy to solve in his languages.
When I would challenge him, the picture would change, but I think, this
is stupid and infantile enough not to do it. In fact, I've even done it
once and proved my point that way (which, as always, he didn't
acknowledge, but I don't care anymore).

Raffael Cavallaro

unread,
Nov 24, 2010, 1:10:33 PM11/24/10
to
On 2010-11-23 11:34:14 -0500, Keith H Duggar said:

> You don't understand the implications of your own words:
>
> "having a financial interest in the outcome of a debate makes
> anything that person says an advertisement for his financial
> interests, not a fair assessment."
>
> is substantially different from
>
> "render his arguments in the debate inherently suspect."

They are substantially the same, your jesuitical nit-picking
notwithstanding; JH is an untrustworthy source on matters relating to
the languages he sells training for.

toby

unread,
Nov 24, 2010, 4:19:49 PM11/24/10
to
On Nov 24, 1:10 pm, Raffael Cavallaro

And furthermore, he has cooties.

--T

Benjamin L. Russell

unread,
Nov 25, 2010, 3:31:33 AM11/25/10
to
pjotr <peter.k...@gmail.com> writes:

> To summarise: which notation do you prefer: "!" and "seq"/"$!"/"$!!"
> everywhere, or (delay) and (force) wherever you do really need it?

That would depend on the context. A couple of years ago, I attended a
Shibuya.lisp conference in Shibuya, Tokyo, where Shiro Kawai, the
developer of the Gauche Scheme implementation of R5RS Scheme, mentioned
that succinctness is crucial to maintaining and expanding upon code in
the long run. He added that the details of his own code become
equivalent to those written by a stranger six months after the code has
been written, simply because he writes too much code to remember all the
details, and that he uses certain shortcuts, such as replacing the
keyword "lambda" by the Greek lambda symbol, and making use of SRFI's,
to reduce the length of the overall program so that when a client asks
him to expand upon his own code to add a feature six or more months
after he has written the code, he can decipher his own code more
efficiently. He added that although each change individually may not
reduce the length of the overall program significantly, all such
shortcuts put together can reduce the length significantly.

In this context, in the long run, I would actually prefer such shortcuts
the ones that you have given to the spelled-out equivalents. While more
cryptic at first, they serve to reduce the length of the code, which can
significantly reduce deciphering time if the code needs to be maintained
or expanded upon by the programmer more than six months after it has
been written.

-- Benjamin L. Russell
--
Benjamin L. Russell / DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile: +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^

Raffael Cavallaro

unread,
Nov 25, 2010, 10:56:09 AM11/25/10
to
On 2010-11-24 16:19:49 -0500, toby said:

> And furthermore, he has cooties.

Once again, not all ad hominem arguments are ad hominem fallacies.
Financial conflict of interest is a prime example of a perfectly valid
ad hominem argument.

People who parse patterns but not semantics are apt to fall into the
error of believing that "ad hominem" automatically means "logically
invalid." This is not the case.

Mario S. Mommer

unread,
Nov 25, 2010, 11:30:12 AM11/25/10
to

Raffael Cavallaro <raffaelc...@pas.despam.s.il.vous.plait.mac.com>
writes:

> On 2010-11-24 16:19:49 -0500, toby said:
>
>> And furthermore, he has cooties.
>
> Once again, not all ad hominem arguments are ad hominem
> fallacies. Financial conflict of interest is a prime example of a
> perfectly valid ad hominem argument.

It has limited validity. People are way more complicated than the
simplistic "follow your own selfish egoistic interests to the letter
without taking prisoners" model of human behavior that seems
(unfortunately) so prevalent nowadays.

> People who parse patterns but not semantics are apt to fall into the
> error of believing that "ad hominem" automatically means "logically
> invalid." This is not the case.

In the realm of pure logic, ad hominems are logically invalid,
period. However, if the question cannot be resolved by its own merits,
simple logic has little to say, and you may include additional
information in a sort-of Bayesian fashion.

Saying that a conflict of interest means that nothing this person says
makes any sense at all is in a way an admission that the subject of
discussion is not very amenable to rational argument.

toby

unread,
Nov 25, 2010, 12:15:07 PM11/25/10
to
On Nov 25, 3:31 am, DekuDekup...@Yahoo.com (Benjamin L. Russell)
wrote:

> pjotr <peter.kourza...@gmail.com> writes:
> > To summarise: which notation do you prefer: "!" and "seq"/"$!"/"$!!"
> > everywhere, or (delay) and (force) wherever you do really need it?
>
> That would depend on the context.  A couple of years ago, I attended a
> Shibuya.lisp conference in Shibuya, Tokyo, where Shiro Kawai, the
> developer of the Gauche Scheme implementation of R5RS Scheme, mentioned
> that succinctness is crucial to maintaining and expanding upon code in
> the long run.  He added that the details of his own code become
> equivalent to those written by a stranger six months after the code has
> been written, simply because he writes too much code to remember all the
> details, and that he uses certain shortcuts, such as replacing the
> keyword "lambda" by the Greek lambda symbol, and making use of SRFI's,
> to reduce the length of the overall program so that when a client asks
> him to expand upon his own code to add a feature six or more months
> after he has written the code, he can decipher his own code more
> efficiently.  He added that although each change individually may not
> reduce the length of the overall program significantly, all such
> shortcuts put together can reduce the length significantly.

I refer to this as "cognitive load" (because it sounds cool). I'm
constantly grimacing over ways that co-workers and others pad their
code with unnecessary symbols, operations, spacing and punctuation*
with plain disregard for the incremental load imposed upon the reader
by every symbol and divagation. "The guy who might have to read and
understand this later - could be YOU".

Edsger Dijkstra observed that a line of code is a liability, not an
asset. People will argue until the end of time about what syntax or
variable name is personally most readable, though.

> In this context, in the long run, I would actually prefer such shortcuts
> the ones that you have given to the spelled-out equivalents.  While more
> cryptic at first, they serve to reduce the length of the code, which can
> significantly reduce deciphering time if the code needs to be maintained
> or expanded upon by the programmer more than six months after it has
> been written.
>
> -- Benjamin L. Russell

--Toby

* - I never do this, of course.

> --
> Benjamin L. Russell  /   DekuDekuplex at Yahoo dot comhttp://dekudekuplex.wordpress.com/

namekuseijin

unread,
Nov 25, 2010, 1:39:24 PM11/25/10
to
On 25 nov, 14:30, m_mom...@yahoo.com (Mario S. Mommer) wrote:
> Raffael Cavallaro <raffaelcavall...@pas.despam.s.il.vous.plait.mac.com>

I have to say I'm always amazed how ad hominens can generate quite
strong responses to the point of making a lot of new faces (or mail
accounts) suddenly appear... ;)

Benjamin L. Russell

unread,
Nov 26, 2010, 7:01:37 AM11/26/10
to
namekuseijin <nameku...@gmail.com> writes:

> I have to say I'm always amazed how ad hominens can generate quite
> strong responses to the point of making a lot of new faces (or mail
> accounts) suddenly appear... ;)

Actually, I had just noticed that aspect as well. Is it just me, or
does anybody else also think it rather curious how some of the new
accounts all seem to share the same style of argument?

Granted, I don't have anything the issue of arguing a point itself.
However, it just seems rather unusual that many of the new faces all
seem to share the same style of reasoning....

When I was a student at my college, one of the students once told me a
secret about how a computer program ran by a professor for a course in
introduction to systems programming checked to ensure that the students
who were submitting homework assignments worked independently: the
program counted the number of occurrences of each type of structure
(for-loop, while-loop, if-then statement,etc.), and compared the counts
for the types of structures among assignments between different
students. The method was so effective that it was able to pinpoint one
program among approximately thirty that was handed in by a student who
had based his assignment on another program for the same assignment two
years earlier, also among approximately thirty.

A style of reasoning is like a fingerprint; it identifies the person
making the argument. Of course, two people could have a very similar
style of argument. However, the odds of this happening are less likely
in a single thread. The odds of this happening are even less likely for
three people in the thread. The odds of this happening are even less
likely for three *new* people in the same thread at the same time....

-- Benjamin L. Russell

Benjamin L. Russell

unread,
Nov 26, 2010, 7:14:15 AM11/26/10
to
DekuDe...@Yahoo.com (Benjamin L. Russell) writes:

> When I was a student at my college, one of the students once told me a
> secret about how a computer program ran by a professor for a course in
> introduction to systems programming checked to ensure that the students
> who were submitting homework assignments worked independently: the
> program counted the number of occurrences of each type of structure
> (for-loop, while-loop, if-then statement,etc.), and compared the counts
> for the types of structures among assignments between different
> students.

Minor typo corrections:

1) "computer program ran by" -> "computer program run by"

2) "if-then statement,etc." -> "if-then statement, etc." (missing
period)

Incidentally, regarding the programming assignment, the student who was
caught by the structural similarity checking program reportedly received
an e-mail message from the professor asking to explain the similarity.
He never replied to that message, and subsequently received a grade of 0
for that assignment.

Raffael Cavallaro

unread,
Nov 27, 2010, 11:51:33 AM11/27/10
to
On 2010-11-25 11:30:12 -0500, Mario S. Mommer said:

> In the realm of pure logic, ad hominems are logically invalid,
> period.

We don't live in the realm of pure logic (whatever that would mean -
pretty sure no human beings exist in the realm of pure logic, so there
is no homo hominis to make an ad hominem argument against in the land
of pure logic...)

Here in the real world, no amount of the rigid application of pure
logic is going to substitute for the very necessary social skill of
inferring the motives of a participant to a debate.

Again, not all ad hominem arguments are ad hominem fallacies. JH has
repeatedly trumpeted the virtues of languages whose adoption by others
brings him financial gain, and repeatedly made pejorative statements
about other languages in newsgroups for these other langauges, in a
clear attempt to drum up clients for his training consultancy.

Pure logic alone won't help you here; the ordinary human social skill
of inferring a person's motives does.

Jim Burton

unread,
Mar 25, 2011, 9:23:47 PM3/25/11
to
Raffael Cavallaro <raffaelc...@pas.despam.s.il.vous.plait.mac.com>
writes:

> On 2010-11-25 11:30:12 -0500, Mario S. Mommer said:
>
>> In the realm of pure logic, ad hominems are logically invalid,
>> period.
>
> We don't live in the realm of pure logic (whatever that would mean -
> pretty sure no human beings exist in the realm of pure logic, so there
> is no homo hominis to make an ad hominem argument against in the land
> of pure logic...)
>
> Here in the real world, no amount of the rigid application of pure
> logic is going to substitute for the very necessary social skill of
> inferring the motives of a participant to a debate.
>
> Again, not all ad hominem arguments are ad hominem fallacies.

I think the point is that an argument ad hominem is the weakest of the
possible arguments that you could use against JH and that when you
resort to one, you're on thin ice because it seems to others as if you
have a grudge against him and that yours is not a reasoned
reaction. Precisely because we don't live in the realm of pure logic,
you need to rise above it and make a more convincing argument.

> JH has
> repeatedly trumpeted the virtues of languages whose adoption by others
> brings him financial gain, and repeatedly made pejorative statements
> about other languages in newsgroups for these other langauges, in a
> clear attempt to drum up clients for his training consultancy.
>

I'd imagine that most people reading this thread make their living
using, teaching or promoting a particular programming language or bunch
of programming languages and so they have a financial interest one way
or another.

BTW, I probably qualify as one of these "new names", and JH has a long,
proven, history of using sock puppets. Caveat lector!

> Pure logic alone won't help you here; the ordinary human social skill
> of inferring a person's motives does.
>
> warmest regards,
>
> Ralph

--
J Burton
j...@sdf-eu.org

Jim Burton

unread,
Mar 25, 2011, 9:28:24 PM3/25/11
to
toby <to...@telegraphics.com.au> writes:

> On Nov 22, 10:57 am, Howard Brazee <how...@brazee.net> wrote:
>> On Mon, 22 Nov 2010 05:38:53 +0100, Ertugrul S ylemez <e...@ertes.de>
>> wrote:
>>
>> >Haskell is a simple language with a comparably small specification.
>> >It's not as simple as Common Lisp, but it's simple.  Note that simple
>> >doesn't mean easy.  Haskell is certainly more difficult to learn than
>> >other languages, which explains the low number of success stories.  On
>> >the other hand, I'm doing rapid web development in it.
>>
>> I wonder how much that difficulty is innate, and how much is due to
>> learning other languages first.


>
> This is a good (if familiar) observation. Teaching children (or young
> people with little exposure to computers) how to program in various
> paradigms could produce interesting primary evidence. Pity that this
> isn't examined widely and systematically. We could learn something
> about how to teach programming and design languages this way, don't
> you agree?
>

There's an interesting paper on this by Chakravarty:
http://www.cse.unsw.edu.au/~chak/papers/CK02a.html

> The OLPC might do some interesting things in this area but it is still
> one set of tools. More interesting might be to compare outcomes across
> a range of different tools, paradigms, syntaxes, and teaching
> strategies.
>
>> I'm an old time CoBOL programmer, and know of quite a few people who
>> tried to learn OO-CoBOL without much luck.   The way to learn it was
>> to forget it - learn OO with some other language, then come back to it
>> later.    We had to divorce ourselves from the old paradigm first.    


>>
>> --
>> "In no part of the constitution is more wisdom to be found,
>> than in the clause which confides the question of war or peace
>> to the legislature, and not to the executive department."
>>
>> - James Madison
>

--
J Burton
j...@sdf-eu.org

0 new messages