On Tue, 18 Dec 2007 10:29:43 +0200, Miguel Mitrofanov <[EMAIL PROTECTED]> wrote:

What I should have been told about upfront:
- the syntax for an expression
- the syntax for a block

Don't see your point.

The point is the syntax is introduced as transformation of layout form to non layout form. As a user, I just want to be able to spot the basic components of a source file without thinking about transformation rules.

- the adhoc syntax rules (how to distinguish among a tuple and a
pharanthesized expression and how to find the start and end of a block for
example )

Oh, that's pretty easy, parenthesized expression is not divided by a comma.

Thanks! What is the end of a block ? What introduce new blocks ?
Is this legal (`plus`) x y ?
It's this a tuple ?  ([a,b,c,d ]) ?

etc.

- what guarantees are made by the LANGUAGE that an IO action (such as do
putStrLn "Hello world" ) is not performed twice

There are no such guarantees. If you write

a = putStrLn "Hello world"
main = do {a; a;}

then your putStrLn would be performed twice. IO actions are first-class values, that's a feature, not a bug.


What guarantees that by running the main, the string "Hello world" will be printed exactly twice ?

- the lambda expressions can be written (input) but cannot be printed
(output)

Yes, since two different lambda expressions can denote the same function.
I just want the sistem to be able to print one of these expressions !

Its this too much to ask ?
I find it very strange that I can write a lambda expresion, but the system cannot.


No, pattern matching bounds variables; if you write "case x of {aa -> ...} then aa becomes a LOCAL variable for the case statement, and shadows the global definition. The same applies to u and v in h, except that in this case local variables shadow upper-level local variables.

Ok.


________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Servers.
 part000.txt - is OK
http://www.eset.com
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to