[英]Preventing development agda from breaking basic standard library usage?
我正在使用 agda 的開發版本,它現在與基本標准庫版本 1.3 不兼容。
wmacmil@w:~/.agda$ agda --version
Agda version 2.6.2-41b6b25
一個基本的 failure.agda 文件,
module failure where
open import Data.String
失敗:
Checking failure (/home/wmacmil/agdaFall2019/constructiveTypeTheoriesNLSem/TT_course/agda_files/failure.agda).
Checking Data.String (/home/wmacmil/agdaStdLib/agda-stdlib-1.3/src/Data/String.agda).
Checking Data.String.Base (/home/wmacmil/agdaStdLib/agda-stdlib-1.3/src/Data/String/Base.agda).
Checking Data.List.Extrema (/home/wmacmil/agdaStdLib/agda-stdlib-1.3/src/Data/List/Extrema.agda).
Checking Data.List.Membership.Propositional.Properties (/home/wmacmil/agdaStdLib/agda-stdlib-1.3/src/Data/List/Membership/Propositional/Properties.agda).
Checking Data.List.Membership.Setoid.Properties (/home/wmacmil/agdaStdLib/agda-stdlib-1.3/src/Data/List/Membership/Setoid/Properties.agda).
Killed
如何一次運行兩個版本? 以及如何運行 stdlib 的實驗版本來避免這種情況? 有人會建議其他任何技巧嗎?
另外,聲譽大於 1500 的人會將 agda-stdlib 標記為標簽嗎?
如標准庫的描述中所述,如果您使用的是 Agda 的master
分支,則需要使用該庫的experimental
分支。 您可以通過在https://github.com/agda/agda-stdlib
克隆 github 存儲庫並執行git checkout experimental
Experimental 來獲取它。
要在切換 Agda 版本時自動切換庫版本,您可以擁有多個libraries
文件,如用戶手冊中所述:
要被 Agda 找到,必須在庫文件中列出庫文件(及其完整路徑)
AGDA_DIR/libraries-VERSION,或者如果不存在 AGDA_DIR/libraries
其中 VERSION 是 Agda 版本(例如 2.5.1)。 AGDA_DIR 在類 Unix 系統上默認為 ~/.agda,在 Windows 上默認為 C:\\Users\\USERNAME\\AppData\\Roaming\\agda 或類似的,並且可以通過設置 AGDA_DIR 環境變量來覆蓋。
或者,您可以擁有一個libraries
文件,並在切換 Agda 版本時檢查libraries
的正確版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.