@ has joined the channel
main = do { let x = 1 ; print x }
let x = 1; y = 2がvalidなんですね。使ったことないですけどmain = do { let { x = 1 } ; print x } かな?stack を使う場合のコマンドってどんな感じを想定してますか?(curl で stack をインストールしてからの流れです)
validSyntax = do
{ let x = 1
; print x
}
validSyntax = do
{ let x = 1; y = 2
; print $ x + y
}
invalidSyntax = do
{ let x = 1
; y = 2
; print $ x + y
}
validSyntax = do
{ let x = 1
y = 2
; print $ x + y
}
stack setup --resolver lts-13.10 をして、コンパイルは今までの ghc -o ./a.out -O2 ./Main.hs でできそうに思います。stack ghc で呼ばないといけないですね…PATH に stack setup して入れたGHCへのパスを追加する必要がありますね。$(stack path --programs)\ghc-<version>\bin\ を追加すればよいかと。stack exec ghc -- とするのが一番確実でよいかと。stack ghc と stack exec ghc って同じなんでしょうか? https://docs.haskellstack.org/en/stable/GUIDE/#ghcrunghc を見るとたぶん同じっぽい…?stack が噛まないぶん、 stack exec ghc のほうがいいんですかね…stack ghc に 限れば stack exec ghc と何も変わらない(はず)なので、どちらでもいいと思います。stack exec ghc を使っていただけです。`PATH` に `stack setup` して入れたGHCへのパスを追加する必要がありますね。
ちょっと調べてみましたが、 `$(stack path --programs)\ghc-<version>\bin\` を追加すればよいかと。
あるいは、 `stack exec ghc --` とするのが一番確実でよいかと。
--package vector のようにパッケージをインストールおよび指定する際は普通に stack install vector してから stack exec ghc --package vector とかで動くんですかね。(一応この手順で上手くいくかどうか確認してみます)--package オプションは要らないはずです。多分エラーになります。Manager は別にコネクションとか解放必須なリソースを保持しているわけではなかったような気がします。closeManager _ = return ()
{-# LANGUAGE TypeApplications #-} を強制的に挿入するわけじゃないですよね... :relieved: