I'm using Hugs interpreter and I want to execute the following code (by Haskell 2010 language report):
let x = 1
z = x+y
in z+1
Is it possible only creating a .hs
file and loading? Can I do it by command line directly?
I'm using Hugs interpreter and I want to execute the following code (by Haskell 2010 language report):
let x = 1
z = x+y
in z+1
Is it possible only creating a .hs
file and loading? Can I do it by command line directly?
Even if you cannot enter multi-line statements into hugs in this case it is possible to do it all in one line.
You can use two let ... in ...
like this:
let x = 1 in let z = x+y in z + 1
or you can use ;
for multiple definitions like this:
let x=1; z=x+y in z + 1
(Sorry - didn't realize your question was about hugs not ghci.)
You can use :{
in ghci to enter a multiline expression:
shell$ ghci
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help
Prelude> :{
Prelude| let z = 1
Prelude| w = 3
Prelude| in z + w
Prelude| :}
4
Prelude>
let
s? (:{
) –
Schutt Even if you cannot enter multi-line statements into hugs in this case it is possible to do it all in one line.
You can use two let ... in ...
like this:
let x = 1 in let z = x+y in z + 1
or you can use ;
for multiple definitions like this:
let x=1; z=x+y in z + 1
© 2022 - 2024 — McMap. All rights reserved.
z =...
line so that the z lines up under the x. Use spaces, tabs can cause problems in Haskell. – Irvinirvinelet x=1; z=x+y in z + 1
work? (I can only test in ghci and basically have no clue about hugs - sorry) – Giaimo