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