cost 195 ms
什么類型的邏輯迫使我對 GADT function 替代品具有相同的返回類型?

[英]What typing logic compels me to have the same return-types for GADT function alternatives?

在這個問題中,向我解釋了如何正確地對 GADT 類型進行模式匹配,以使用通用量化類型變量和局部抽象類型獲得替代返回類型。 盡管在我的原始示例中存在誤解,但解釋並未表達:(1)鑒於類型系統似乎要求在使用通用量化類型變量時,替代分支具有相同的返回類型和(2 ) 展示了一種混合通用量化變量和局部抽象類型 ...

當 GADT 構造函數包含多個類型變量時,本地抽象類型出現 Scope 錯誤

[英]Scope error with locally abstract type when GADT constructor contains multiple type variables

鑒於此 GADT 為什么這會失敗並出現“類型構造函數將逃脫其范圍”錯誤 而這只是將模式匹配提取到一個單獨的 function 中,有效嗎? 第一個示例也適用於更簡單的 GADT,例如 這表明 GADT 構造函數與多個類型變量、局部抽象類型和閉包之間存在一些奇怪的交互。 這已經在從 4.06 到 4. ...

無法在遞歸函數中推斷出此打包模塊的簽名

[英]The signature for this packaged module couldn't be inferred in recursive function

我仍在嘗試找出使用Mirage時如何拆分代碼的方法,這是無數一流的模塊。 我已將所有我需要的東西放在一個丑陋的大型Context模塊中,以避免必須將十個模塊傳遞給我的所有功能,其中一個已經足夠痛苦。 我有一個功能可以通過tcp接收命令: 經過數小時的試驗和錯誤,我發現我需要添加( ...

可選參數的本地抽象類型和默認值

[英]Locally abstract types and default values for optional arguments

我正在為具有兩種可能的內部格式的矩陣類型編寫接口。 這是一個簡化版本: 這不起作用,因為默認值CSC不是s fmt類型。 似乎這個想法沒有工作的機會,因為不可能在簽名中指定類型變量的默認值,即簽名 當沒有明確指定fmt時,會以某種方式指定's = csc 。 有沒有 ...

使用具有高階函數的GADT

[英]Using GADTs with higher order functions

我正在嘗試為“異構樹”建模。 一棵樹,其中的節點具有不同的“種類”,每個“種類”都受它們可能包含的子代“種類”的限制: 然后可以這樣定義一棵樹: 通常,這將對每個“種類”的節點使用單獨的變體來完成,但是我試圖將其定義為GADT,以便能夠使用在每種類型的節點上進行模式匹配的高階函 ...

參數局部抽象類型

[英]Parametric locally abstract type

我試圖弄清楚如何根據具有參數類型的模塊編寫函數,但是在任何地方都找不到類似的東西。 我試圖盡可能減少問題,最后得到了這個虛擬的例子。 產生錯誤Error: Syntax error: module-expr expected 。 如果我放棄'a ,我將'a以下錯誤。 正確 ...

外部參數化 GADT

[英]parametric GADT from the outside

GADT 允許某種形式的動態類型: 我希望能夠執行相同類型的調度,但使用參數化類型,並且可以從外部訪問 gadt 的參數。 如果參數被普遍量化或固定,這很容易: 但是,如果對參數有其他形式的約束,這將不起作用: 我收到錯誤:類型構造函數 a#0 將轉義其作用域。 我猜這是由於從外到內的 ...

是否可以在OCaml中參數化類型上的模塊或從模塊中逸出類型的方法?

[英]Is there a way to parametrize a module on a type or escape a type from a module in OCaml?

是否可以在OCaml中參數化類型上的模塊或從模塊中逸出類型的方法? 基本上,我想編寫一些在浮點類型上參數化的例程,並且仍然可以訪問(+。),(-。)等運算符。當然,我們可以編寫像 對於普通的浮動有一個非常基本的實現 然后,我嘗試在具有代碼的模塊中本地使用此模塊 該函數具 ...

OCaml的`類型a。 at`語法

[英]OCaml's `type a. a t` syntax

我剛剛在OCaml關於GADT的文檔中遇到以下代碼片段: 一旦在utop評估,它具有以下簽名: 我也注意到,當替換type a. a term -> a type a. a term -> a 'a term -> 'a或只是刪除簽名,該函數不再編譯。 ...

具有參數類型的第一類模塊(類型構造函數Ff將逃避其范圍)

[英]First class Modules with parametric types (The type constructor F.f would escape its scope)

我目前正在玩模塊,看看它們可以以類似的方式用於Haskell類型類。 目前我正在嘗試使用仿函數類型: 但是在這種情況下, outmap將無法正確輸入,編譯器會產生錯誤The type constructor Ff would escape its scope 。 我知道為什么在這種情 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM