以下のプログラムは x を重複して定義(宣言?)しようとしているので、 エラーしなければならないが、エラーしない。
defdup.hs:
x = 1 y = 2 x = 3 main = print (x, y)
全件確認中。
$ cat defdup.hs
x = 1
y = 2
x = 3
main = print (x, y)
unno@unno-FMVD70GN7G ~/work/bissues/115
$ runhaskell defdup.hs
defdup.hs:3:1: error:
Multiple declarations of ‘x’
Declared at: defdup.hs:1:1
defdup.hs:3:1
|
3 | x = 3
| ^
unno@unno-FMVD70GN7G ~/work/bissues/115
$ ~/prj/bunny/compiler/bin/bunny testrun defdup.hs
/home/unno/prj/bunny/compiler/bin/bunnyc -d ./jout/defdup --xno-implicit-prelude /home/unno/prj/bunny/compiler/bin/../lib/Prelude.hs
/home/unno/prj/bunny/compiler/bin/bunnyc -d ./jout/defdup --xlibrary-path /home/unno/prj/bunny/compiler/bin/../lib defdup.hs
(1,2)