はじめに
圏論学習の一環として関数型言語に触れてみたいと思いHaskellを触ってみることにしました。
参考にさせていただいた記事
インストールからHello Worldまで
permission denied (アクセスが拒否されました。)
手順通りにインストーラを実行していくと、stack setupでエラー発生。
こちらを参考にさせていただき解決。
https://haskell.jp/blog/posts/2017/windows-gotchas.html
→ stack setupを再試行してみると、3回目で正常終了しました。今回はこの方法で解決できました。色々な原因があるようです。
Microsoft Windows [Version 10.0.19042.1415]
(c) Microsoft Corporation. All rights reserved.
> stack setup
~ 省略 ~
Extracting ghc-8.10.7.tar...
Extracted total of 10342 files from ghc-8.10.7.tar
C:\Users\xxxxxxxx\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.7-tmp-34996edfe4ee06a2\ghc-8.10.7: renameDirectory:renamePath:MoveFileEx "\\\\?\\C:\\Users\\xxxxxxxx\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.7-tmp-34996edfe4ee06a2\\ghc-8.10.7" Just "\\\\?\\C:\\Users\\xxxxxxxx\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.7": permission denied (アクセスが拒否されました。)
Hello World
手順通りサンプルプログラムを作成
module Main where
import Lib
main :: IO ()
main = print "Hello World"
実行すると以下のエラーが出てしまいました。
>stack runghc app/Main.hs
app\Main.hs:3:1: error:
Ambiguous module name ‘Lib’:
it was found in multiple packages: libiserv-8.10.7 testapp-0.1.0.0
|
3 | import Lib
| ^^^^^^^^^^
"import Lib"の行を削除して再試行すると無事実行できました。
> runghc app/Main.hs
"Hello World"
原因の調査
この辺りの記事を参考にさせていただき、理解を深めていきたいと思います。