---------- Forwarded message ----------
From: Alberto G. Corona <agocor...@gmail.com>
Date: 2008/12/19
Subject: Re: Fwd: [Haskell-cafe] Haskell as a religion
To: Dan Piponi <dpip...@gmail.com>


As far as I know,  const only protect from updates that the compiler can
detect at compilation time. Moreover, the C/C++ code does not make use of
true referential transparency properties, for example   const a=1; const b=a
  perform a copy of content of a to b . In haskell a=1; b=a  make b to point
to a directly.


2008/12/19 Dan Piponi <dpip...@gmail.com>

On Thu, Dec 18, 2008 at 4:15 PM, Henning Thielemann
> <schlepp...@henning-thielemann.de> wrote:
>
> > In C/C++ referential transparent functions code can be declared by
> > appending a 'const' to the prototype, right?
>
> For one thing, some fields in a const C++ object can be explicitly set
> mutable. mutable is sometimes used in C++ a similar way to
> unsafePerformIO in Haskell. You have something that uses mutability in
> its internals but that mutability shouldn't be observable to the
> caller. In both cases you have no means of actually ensuring that the
> mutability is actually unobservable.
> --
> Dan
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to