[英]How does Fin "know" not to go past its type bound?
Fin究竟是如何工作的? k從哪里來? 為什么FZ不總是(n: Nat) + 1 的值? Fin如何“知道”不超過其類型界限? 這個郵件列表討論隱式,但我不知道這些值是如何以及從哪里來的。 給出這個基本示例: t1的值是多少? t1 的類型是Fin 3 ,但 FZ 實驗性地(出現)代表零 ...
[英]How does Fin "know" not to go past its type bound?
Fin究竟是如何工作的? k從哪里來? 為什么FZ不總是(n: Nat) + 1 的值? Fin如何“知道”不超過其類型界限? 這個郵件列表討論隱式,但我不知道這些值是如何以及從哪里來的。 給出這個基本示例: t1的值是多少? t1 的類型是Fin 3 ,但 FZ 實驗性地(出現)代表零 ...
[英]Why idris2 can't proof that div 1 2 < 1 = True?
當我寫: 我收到錯誤: 同時,當我寫: 一切都好。 為什么? 更新: 由於某種根本原因,我使用了 Data.Nat 和 natDiv,但根本沒有經過驗證。 錯誤: ...
[英]How do I read all of standard input in Idris2?
我試圖弄清楚如何做一些非常簡單的事情:將所有標准輸入讀入一個字符串(或者一個字符串列表也可以)。 Prelude有getLine: HasIO io => io String ,它可以給我一行,但它並沒有讓我知道我已經讀完了所有內容。 如果沒有更多的輸入,它只會給我一個空字符串,這意味着如 ...
[英]Can we express () in terms of a Record in Idris?
我們可以用 Idris 中的 Record 來表達 () 即 Unit 類型嗎? ...
[英]Idris totality check
我正在使用 Idris2 編譯以下簡單程序。 但是,編譯器會吐出一個錯誤: 輸入a的遞歸調用不是小於(FS a)嗎? 為什么整體檢查失敗? 謝謝! ...
[英]How to deal with "Error: Multiple solutions found"?
我正在嘗試構建一個集合數據類型。 但我不知道如何處理這個錯誤: ...
[英]How to use interfaces with parameterized tuple?
我有Coord function ,它將 n 維大小轉換為由給定大小限制的坐標類型: Coord [2,3] = (Fin 2, Fin 3) 。 我想在Coord s中使用show和其他功能,例如(==) : 早些時候我嘗試實現Show (Coord s) ,但看起來這是不可能的。 這是有關它 ...
[英]How to implement `Show` interface for parameterized tuple?
我有Coord function ,它將 n 維大小轉換為由給定大小限制的坐標類型: Coord [2,3] = (Fin 2, Fin 3) 。 如何為Coord s實現Show接口? 如果我理解正確,問題是在編譯時刪除了s ,無法知道Coord s實際類型是什么。 所以我最好的嘗試是這個可憎的 ...
[英]Can I avoid lower-case global variables being shadowed in types?
以下代碼在 Idris2 中可以正常編譯: 但如果C沒有大寫,它會失敗: 錯誤信息是 警告:我們即將隱式綁定以下小寫名稱。 您可能無意中隱藏了相關的全局定義:c 正在隱藏 Main.c 錯誤:在處理聲明的右側時。 統一時:2 = 2 和:c = 2:2 和 c 之間不匹配。 有沒有辦 ...
[英]What does the 0 or 1 before a parameter name mean in Idris?
我在 Idris 源代碼中到處都看到過它,但我還沒有找到它的含義的解釋。 我得到的最接近的是在語法參考中發現它被稱為RigCount 。 但它是什么? 碰巧上面的例子拋出了一個錯誤: While processing right hand side of test. x is not acces ...
[英]Why does Idris think my type parameter k is of type Type?
抱歉,我想不出一種不那么令人困惑的方式來表達這一點。 我正在嘗試構建一個可以安全訪問而不返回可能的地圖之類的東西,因為它的所有鍵都包含在其類型中,並且查詢未包含在其鍵列表中的鍵將引發類型錯誤. 錯誤信息是 為什么它認為?k是Type ? 相比之下,如果我用顯式String替換k一切正常, ...
[英]Idris2: Nested WITH clause
我的代碼 我的一段代碼,即: 不進行類型檢查,編譯時大喊: 我的問題 我的第一個問題是: 在 Idris(具體來說是 Idris2)的上下文中,對於with子句, parent意味着什么? (Edit1:感謝@joel,我現在明白了) 如果第一個問題不能幫助我理解這一點: 我的代碼有 ...
[英]Returning a dependent pair from a foreign function
我有以下 Chez 支持文件:(define list-copy-with-length (xs) (cons (length xs) (list-copy xs))) 我有這個 Idris 文件: 自然地,此代碼的類型檢查失敗,因為編譯器不知道let表達式中定義的n與listToVect的 ...
[英]Importing from the contrib library fails
我正在關注 Idris 2 中的 TDD 書, 在線文檔提供了以下建議: 對於第 10-2 章后練習 4 中的VList視圖,從contrib庫導入Data.List.Views.Extra 。 所以我把這個導入放在一個源文件中( example.idr ) 但是運行idris2 example.i ...