@ 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: