caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Robert Fischer <robert@fischerventure.com>
To: Andreas Rossberg <rossberg@mpi-sws.mpg.de>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Re: Help me find this pdf
Date: Fri, 19 Oct 2007 16:51:52 -0500	[thread overview]
Message-ID: <471926F8.2010809@fischerventure.com> (raw)
In-Reply-To: <4234F84D-BEC4-4850-B051-D38E8EA38918@mpi-sws.mpg.de>


>> There's a philosophical difference here between Haskell and Ocaml.  
>> Haskell considers it harmful (they call it "impure") for the 
>> programmer to know when X is evaluated, and (by implication) 
>> therefore considers it acceptable for Heisenbugs and vague semantics 
>> to be standard aspects of the language.  Ocaml, on the other hand, 
>> requires much more explicitness, particularly around theoretically 
>> beautiful but potentially harmful things like lazy evaluation.
>
> Wow, that made my FUD sensors go wild. To counter some of the 
> misinformation:
>
> 1. Purity and evaluation regime are separate issues. You can very well 
> have a pure language that is eager.
The way I understand it, the omnipresent laziness of Haskell is at least 
partly justified because it is a way of encouraging being functionally 
pure.  Is that wrong?
> 6. Nevertheless, evaluation is fully deterministic, thus it certainly 
> cannot cause Heisenbugs, neither semantically nor performance-wise.
If I put in a debug statement, it will like change the timing when 
something gets forced, right?  This, in turn, can change all kinds of 
time/space performance characteristics, and potentially even the code 
that is executed (through interrupting deforestation).  So your 
debugging statements might well change the very characteristic of the 
program that you're defining as a bug.

~~ Robert.


  reply	other threads:[~2007-10-19 21:51 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-18  9:52 Tom
2007-10-18 10:33 ` [Caml-list] " skaller
2007-10-18 11:01   ` Andreas Rossberg
2007-10-18 12:25 ` Jon Harrop
2007-10-18 12:40   ` Arnaud Spiwack
2007-10-18 13:17     ` Jon Harrop
2007-10-18 15:15       ` Till Varoquaux
2007-10-18 12:46   ` Jacques Garrigue
2007-10-18 13:57     ` Jon Harrop
2007-10-18 14:22       ` Brian Hurt
2007-10-18 14:52         ` Robert Fischer
2007-10-18 15:04           ` Eric Cooper
2007-10-18 17:18         ` Jon Harrop
2007-10-19  1:16           ` skaller
2007-10-19  5:09           ` Bárður Árantsson
2007-10-19  5:23             ` [Caml-list] " Erik de Castro Lopo
2007-10-19  5:46               ` Bárður Árantsson
2007-10-19 12:25               ` [Caml-list] " Christophe Raffalli
2007-10-19 12:47                 ` Luc Maranget
2007-10-20 14:26                   ` Christophe Raffalli
2007-10-19 14:48                 ` Robert Fischer
2007-10-19 21:43                   ` Andreas Rossberg
2007-10-19 21:51                     ` Robert Fischer [this message]
2007-10-20 13:10                       ` Andreas Rossberg
2007-10-19 23:10                     ` Jon Harrop
2007-10-20  1:13                       ` skaller
2007-10-20  6:36                         ` Tom
2007-10-21 11:17                           ` skaller
2007-10-19  8:55             ` Zheng Li
2007-10-19 22:27             ` [Caml-list] " Jon Harrop
2007-10-19 13:00           ` [Caml-list] " Brian Hurt
2007-10-19 13:49             ` Loup Vaillant
2007-10-19 14:41               ` Zheng Li
2007-10-19 23:09             ` [Caml-list] " Jon Harrop
2007-10-18 20:07   ` Tom
2007-10-19  0:59     ` skaller
2007-10-18 20:48 ` Lauri Alanko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=471926F8.2010809@fischerventure.com \
    --to=robert@fischerventure.com \
    --cc=caml-list@inria.fr \
    --cc=rossberg@mpi-sws.mpg.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).