[Haskell-beginners] haskell variables - or not

Thomas Friedrich info at suud.de
Sat Jul 25 00:32:43 EDT 2009


Duke Normandin wrote:
> Hello....
>
> I'm 2 days into Haskell. NOT new to Perl, PHP, M(umps), TCL, newLISP. I'm
> using "YAHT.pdf" as an intro to Haskell. Here's a quote:
>
> [quote]
> ... if you have a value x, you must not think of x as a register, a
> memory location or anything else of that nature. x is simply a name, just as
> Hal  is my name. You cannot arbitrarily decide to store a different person in
> my name any more than you can arbitrarily decide to store a different value in
> x. This means that code that might look like the following C code is invalid
> (and has no counterpart) in Haskell:
>
> int x = 5;
> [/quote]
>
> So is fair to say that an expression in Haskell like:
>
> x = 5
>
> is more like a constant in imperative languages - say Perl? E.g.
>
>  use constant SECONDS_PER_DAY => 86400;
> --
> duke
>   

No.  Think of

x :: Int
x = 5

more in terms of an expression rather than a variable.  If you evaluate
the expression x, say you would like to print its evaluation on the
screen, then x is evaluated to the value 5.  As the name of an
expression needs to be unique in order to refer to it anywhere else in
the program, you cannot have something like

x :: Int
x = 53

somewhere else in your code.  Because then the expression x would be
ambiguous.

You will get the idea in a couple of days.  I am sure.

Best,
Thomas


> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>   



More information about the Beginners mailing list