6

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?

Micha Wiedenmann
  • 19,979
  • 21
  • 92
  • 137
eightShirt
  • 1,457
  • 2
  • 15
  • 29

2 Answers2

4

(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>
ErikR
  • 51,541
  • 9
  • 73
  • 124
4

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
Random Dev
  • 51,810
  • 9
  • 92
  • 119