nobsun です。

> hugs のインタラクティブな利用に関する初歩的な質問
> 
> 質問! 変数代入はどうやるのでしょうか?

代入ではなくて、束縛ですよね。
(Haskell では代入はできないことになっているので。。。^o^)

> ファイルに書いておくと、読み込めちゃうのですが、
> 同じことをインタラクティブにやろうとすると、
> 怒られてしまいます。なぜ?

Hugs の仕様です。^^; そうなんです。不便ですよね。

Prelude> let { a = [1,2,3]; b = "abcd" } in zip a b
[(1,'a'),(2,'b'),(3,'c')]
(137 reductions, 322 cells)
Elapsed time (ms): 110 (user), 0 (system)

という手はあります。ただし、let 式を改行を入れずに
一行で入力する必要があります。

また、:e コマンドをつかって、エディタとインタープリタの間を
いったり、来りすることもできます。

Emacs であれば、haskell-mode あるいは、hugs-mode を使えば
かなり快適になると思います。

さらに、ghci なら

Prelude> let a = [1,2,3]
Prelude> let b = "abcd"
Prelude> zip a b
[(1,'a'),(2,'b'),(3,'c')]

てなことが可能です。

--
Nobuo Yamashita                 mailto:nobsun / sampou.org
  I love programming.           http://www.sampou.org/
  I love pencil puzzles.        http://www.puzzle.jp/

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/