caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] The Caml morale crasher #1
@ 2005-09-01 16:32 Damien Guichard
  2005-09-03  6:06 ` Erik de Castro Lopo
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Damien Guichard @ 2005-09-01 16:32 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

Hi all,

Do you remember the Smalltalk "morale crasher #1" ?

http://www.bytesmiths.com/Publications/9701ArchitectsVersusCoders.html

A similar story happened to me.

When annoucing an OCaml project on a public forum i have been advised to renunce lambdas because it would impede translation to "a less obscure, more popular language".

- damien

my lego web page: http://perso.wanadoo.fr/alphablock/


[-- Attachment #2: Type: text/html, Size: 1373 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
  2005-09-01 16:32 [Caml-list] The Caml morale crasher #1 Damien Guichard
@ 2005-09-03  6:06 ` Erik de Castro Lopo
  2005-09-07 11:58 ` Matt Gushee
  2005-09-08 12:46 ` [Caml-list] " Florian Weimer
  2 siblings, 0 replies; 11+ messages in thread
From: Erik de Castro Lopo @ 2005-09-03  6:06 UTC (permalink / raw)
  To: caml-list

Damien Guichard wrote:

> Hi all,
> 
> Do you remember the Smalltalk "morale crasher #1" ?
> 
> http://www.bytesmiths.com/Publications/9701ArchitectsVersusCoders.html
> 
> A similar story happened to me.
> 
> When annoucing an OCaml project on a public forum i have been
> advised to renunce lambdas because it would impede translation
> to "a less obscure, more popular language".

Since you are writing the code, you get to choose the language
and the features you wish to use. You also get to tell anyone
who disagrees to go jump :-).

Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam@mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
"I ran it on my DeathStation 9000 and demons flew out of my nose." --Kaz


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
  2005-09-01 16:32 [Caml-list] The Caml morale crasher #1 Damien Guichard
  2005-09-03  6:06 ` Erik de Castro Lopo
@ 2005-09-07 11:58 ` Matt Gushee
  2005-09-07 18:06   ` Damien Guichard
                     ` (2 more replies)
  2005-09-08 12:46 ` [Caml-list] " Florian Weimer
  2 siblings, 3 replies; 11+ messages in thread
From: Matt Gushee @ 2005-09-07 11:58 UTC (permalink / raw)
  To: caml-list

Damien Guichard wrote:

> http://www.bytesmiths.com/Publications/9701ArchitectsVersusCoders.html

Unfortunately, I couldn't connect with this site, but I will venture a 
comment anyway. Since I know nothing about your project, I can only 
respond in the most general terms.

> When annoucing an OCaml project on a public forum i have been advised to 
> renunce lambdas because it would impede translation to "a less obscure, 
> more popular language".

And I imagine the same people who said that would also advise you not to 
use higher-order functions and variant types. Just sacrifice some of 
OCaml's most powerful features for the sake of compatibility ... or 
perhaps we should say (social) conformity. It might be a useful tactic 
in some specific cases, but as a general principle, if you're going to 
do that, why bother with OCaml at all?

Let's assume you had good reasons for choosing OCaml (people who use 
non-mainstream languages usually do). The question then is whether there 
is any practical need for the members of that forum to accept your 
methods. If so, then try again to make your case ... I'm sure there are 
people here who can suggest some "talking points." Otherwise, well, 
innovation has always met with resistance, and probably always will. 
Have confidence in your choices and forge ahead. Or give up. It's your 
choice.

Best of luck with your project.

--
Matt Gushee
Englewood, CO, USA


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
  2005-09-07 11:58 ` Matt Gushee
  2005-09-07 18:06   ` Damien Guichard
@ 2005-09-07 18:06   ` Damien Guichard
  2005-09-09 22:17   ` Stefan Monnier
  2 siblings, 0 replies; 11+ messages in thread
From: Damien Guichard @ 2005-09-07 18:06 UTC (permalink / raw)
  To: Matt Gushee, caml-list


Hi,

Thanks for encouragements.

Indeed OCaml is all about lambdas, any OCaml function is a named-lambda.
OCaml without lambda-calculus is just impossible.
Another adjective for OCaml was "esoteric" and another about Milner type
system was "over the top feature".

I think the only possible answer is to deliver, the functionality overcomes
the resistance.
The first language that delivers has great chances to become the standard.
People that fear OCaml can deliver faster just prove OCaml is better.

- damien



----- Original Message -----
From: "Matt Gushee" <mgushee@havenrock.com>
To: <caml-list@inria.fr>
Sent: Wednesday, September 07, 2005 1:58 PM
Subject: Re: [Caml-list] The Caml morale crasher #1


> Damien Guichard wrote:
>
> > http://www.bytesmiths.com/Publications/9701ArchitectsVersusCoders.html
>
> Unfortunately, I couldn't connect with this site, but I will venture a
> comment anyway. Since I know nothing about your project, I can only
> respond in the most general terms.
>
> > When annoucing an OCaml project on a public forum i have been advised to
> > renunce lambdas because it would impede translation to "a less obscure,
> > more popular language".
>
> And I imagine the same people who said that would also advise you not to
> use higher-order functions and variant types. Just sacrifice some of
> OCaml's most powerful features for the sake of compatibility ... or
> perhaps we should say (social) conformity. It might be a useful tactic
> in some specific cases, but as a general principle, if you're going to
> do that, why bother with OCaml at all?
>
> Let's assume you had good reasons for choosing OCaml (people who use
> non-mainstream languages usually do). The question then is whether there
> is any practical need for the members of that forum to accept your
> methods. If so, then try again to make your case ... I'm sure there are
> people here who can suggest some "talking points." Otherwise, well,
> innovation has always met with resistance, and probably always will.
> Have confidence in your choices and forge ahead. Or give up. It's your
> choice.
>
> Best of luck with your project.
>
> --
> Matt Gushee
> Englewood, CO, USA
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
  2005-09-07 11:58 ` Matt Gushee
@ 2005-09-07 18:06   ` Damien Guichard
  2005-09-07 18:06   ` Damien Guichard
  2005-09-09 22:17   ` Stefan Monnier
  2 siblings, 0 replies; 11+ messages in thread
From: Damien Guichard @ 2005-09-07 18:06 UTC (permalink / raw)
  To: Matt Gushee, caml-list


Hi,

Thanks for encouragements.

Indeed OCaml is all about lambdas, any OCaml function is a named-lambda.
OCaml without lambda-calculus is just impossible.
Another adjective for OCaml was "esoteric" and another about Milner type
system was "over the top feature".

I think the only possible answer is to deliver, the functionality overcomes
the resistance.
The first language that delivers has great chances to become the standard.
People that fear OCaml can deliver faster just prove OCaml is better.

- damien



----- Original Message -----
From: "Matt Gushee" <mgushee@havenrock.com>
To: <caml-list@inria.fr>
Sent: Wednesday, September 07, 2005 1:58 PM
Subject: Re: [Caml-list] The Caml morale crasher #1


> Damien Guichard wrote:
>
> > http://www.bytesmiths.com/Publications/9701ArchitectsVersusCoders.html
>
> Unfortunately, I couldn't connect with this site, but I will venture a
> comment anyway. Since I know nothing about your project, I can only
> respond in the most general terms.
>
> > When annoucing an OCaml project on a public forum i have been advised to
> > renunce lambdas because it would impede translation to "a less obscure,
> > more popular language".
>
> And I imagine the same people who said that would also advise you not to
> use higher-order functions and variant types. Just sacrifice some of
> OCaml's most powerful features for the sake of compatibility ... or
> perhaps we should say (social) conformity. It might be a useful tactic
> in some specific cases, but as a general principle, if you're going to
> do that, why bother with OCaml at all?
>
> Let's assume you had good reasons for choosing OCaml (people who use
> non-mainstream languages usually do). The question then is whether there
> is any practical need for the members of that forum to accept your
> methods. If so, then try again to make your case ... I'm sure there are
> people here who can suggest some "talking points." Otherwise, well,
> innovation has always met with resistance, and probably always will.
> Have confidence in your choices and forge ahead. Or give up. It's your
> choice.
>
> Best of luck with your project.
>
> --
> Matt Gushee
> Englewood, CO, USA
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
  2005-09-01 16:32 [Caml-list] The Caml morale crasher #1 Damien Guichard
  2005-09-03  6:06 ` Erik de Castro Lopo
  2005-09-07 11:58 ` Matt Gushee
@ 2005-09-08 12:46 ` Florian Weimer
  2 siblings, 0 replies; 11+ messages in thread
From: Florian Weimer @ 2005-09-08 12:46 UTC (permalink / raw)
  To: Damien Guichard; +Cc: caml-list

* Damien Guichard:

> When annoucing an OCaml project on a public forum i have been
> advised to renunce lambdas because it would impede translation to "a
> less obscure, more popular language".

Most languages offer strictly downward closures.  Even GCC's C
implementation has them. 8-)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: The Caml morale crasher #1
  2005-09-07 11:58 ` Matt Gushee
  2005-09-07 18:06   ` Damien Guichard
  2005-09-07 18:06   ` Damien Guichard
@ 2005-09-09 22:17   ` Stefan Monnier
  2 siblings, 0 replies; 11+ messages in thread
From: Stefan Monnier @ 2005-09-09 22:17 UTC (permalink / raw)
  To: caml-list

>> renunce lambdas because it would impede translation to "a less obscure,
>> more popular language".

If you worry about translating your code into some other language in the
future, then lambda is the least of your worries,


        Stefan


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
  2005-09-08 16:44 ` David Brown
@ 2005-09-08 17:14   ` Florian Weimer
  0 siblings, 0 replies; 11+ messages in thread
From: Florian Weimer @ 2005-09-08 17:14 UTC (permalink / raw)
  To: David Brown; +Cc: padator, caml-list, Damien Guichard

* David Brown:

> GCC implements this by generating trampolines on the stack and
> passing the address of the newly generated code as the function
> pointer.  It fails to work on platforms that have security features
> that prevent stack execution.

GCC should generate code for the appropriate mprotect calls on these
architectures, so it should work on them, too.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
  2005-09-08 12:55 yoann padioleau
  2005-09-08 16:35 ` skaller
@ 2005-09-08 16:44 ` David Brown
  2005-09-08 17:14   ` Florian Weimer
  1 sibling, 1 reply; 11+ messages in thread
From: David Brown @ 2005-09-08 16:44 UTC (permalink / raw)
  To: padator; +Cc: caml-list, Damien Guichard, Florian Weimer

On Thu, 2005-09-08 at 14:55 +0200, yoann padioleau wrote:
> > * Damien Guichard:
> > 
> > > When annoucing an OCaml project on a public forum i have been
> > > advised to renunce lambdas because it would impede translation to "a
> > > less obscure, more popular language".
> > 
> > Most languages offer strictly downward closures.  Even GCC's C
> > implementation has them. 8-)
> 
> Again I think I will disagree on the choice of your words :)
> GCC has nested functions. I think that we can't call that a closure; a closure is something
> that close his environment and store it somewhere. There is no such thing in GCC I think.

GCC definitely implements downward closures.  You can take the address
of nested functions, and as long as the stack frame is still valid, they
have access to values defined in the enclosing function.  GCC implements
this by generating trampolines on the stack and passing the address of
the newly generated code as the function pointer.  It fails to work on
platforms that have security features that prevent stack execution.

Dave


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
  2005-09-08 12:55 yoann padioleau
@ 2005-09-08 16:35 ` skaller
  2005-09-08 16:44 ` David Brown
  1 sibling, 0 replies; 11+ messages in thread
From: skaller @ 2005-09-08 16:35 UTC (permalink / raw)
  To: padator; +Cc: Florian Weimer, Damien Guichard, caml-list

[-- Attachment #1: Type: text/plain, Size: 1369 bytes --]

On Thu, 2005-09-08 at 14:55 +0200, yoann padioleau wrote:
> > * Damien Guichard:
> > 
> > > When annoucing an OCaml project on a public forum i have been
> > > advised to renunce lambdas because it would impede translation to "a
> > > less obscure, more popular language".
> > 
> > Most languages offer strictly downward closures.  Even GCC's C
> > implementation has them. 8-)
> 
> Again I think I will disagree on the choice of your words :)
> GCC has nested functions. I think that we can't call that a closure; a closure is something
> that close his environment and store it somewhere. There is no such thing in GCC I think.

My understanding is:

Gcc has first class closures like this stack picture:

closure:
	CALL FUNC
	stack frame here

FUNC:
	POP FP // FP points at the stack frame

Closure's are created by pushing the function
address plus a "CALL" opcode on to the stack,
the SP is then a pointer to the closure.

Execute permission is required for the stack.
Memory management of the thunks, also called
trampolines, is completely automatic.

The closures are valid if, and only if, they're
on the call stack, Damiens 'downward closures':
this means you can pass them as arguments but
not return them, like pointers to any other
local variable in C.

-- 
John Skaller <skaller at users dot sourceforge dot net>


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] The Caml morale crasher #1
@ 2005-09-08 12:55 yoann padioleau
  2005-09-08 16:35 ` skaller
  2005-09-08 16:44 ` David Brown
  0 siblings, 2 replies; 11+ messages in thread
From: yoann padioleau @ 2005-09-08 12:55 UTC (permalink / raw)
  To: Florian Weimer, Damien Guichard; +Cc: caml-list

> * Damien Guichard:
> 
> > When annoucing an OCaml project on a public forum i have been
> > advised to renunce lambdas because it would impede translation to "a
> > less obscure, more popular language".
> 
> Most languages offer strictly downward closures.  Even GCC's C
> implementation has them. 8-)

Again I think I will disagree on the choice of your words :)
GCC has nested functions. I think that we can't call that a closure; a closure is something
that close his environment and store it somewhere. There is no such thing in GCC I think.

> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
> 
> 


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-09-09 22:21 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-01 16:32 [Caml-list] The Caml morale crasher #1 Damien Guichard
2005-09-03  6:06 ` Erik de Castro Lopo
2005-09-07 11:58 ` Matt Gushee
2005-09-07 18:06   ` Damien Guichard
2005-09-07 18:06   ` Damien Guichard
2005-09-09 22:17   ` Stefan Monnier
2005-09-08 12:46 ` [Caml-list] " Florian Weimer
2005-09-08 12:55 yoann padioleau
2005-09-08 16:35 ` skaller
2005-09-08 16:44 ` David Brown
2005-09-08 17:14   ` Florian Weimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).