cost 483 ms
使用“Prism”等光學類型時無法在“DerivingVia”期間進行強制轉換

[英]Unable to coerce during `DerivingVia` when using optics types like `Prism'`

我無法使用DerivingVia在任何使用optics-core類型(如Prism' )的類型上自動派生實例; 我從編譯器得到的錯誤是: 有問題的類型是:newtype MyPrism a = MyPrism (Prism' String a) 如果我用它的底層表示替換Prism'類型,編譯就 ...

Haskell 中的真同構

[英]True isomorphisms in Haskell

以下斷言是否正確: 唯一真正的同構,用戶可以通過編程方式訪問,由 Haskell 類型系統驗證,並且 Haskell 編譯器是/可以意識到的,是在: Haskell 數據類型的一組值其構造函數所需的類型的值集即使是泛型編程也不能產生“真正的”同構,其組合會在運行時產生一個身份(因此staged-s ...

通過 ReaderT 派生

[英]Deriving via ReaderT

我正在使用 ReaderT 為這種類型編寫 Monad 實例並通過 我試過這樣做 但出現錯誤: 我究竟做錯了什么? ...

在 OCaml 中派生實現

[英]deriving implementation in OCaml

最好的代碼是不存在的代碼,在這方面,Haskell 對派生實現有很好的支持( deriving via變得更好)。{-# LANGUAGE DeriveTraversable #-} {-# LANGUAGE KindSignatures, PolyKinds#-} import Data.Kin ...

將“派生方式”與類型族一起使用

[英]Using "deriving via" with a type family

我有一個帶有默認實現的類型類,如果用戶想要使用他們的自定義 monad,我想提供一種派生類型類的簡單方法。 這是別人提供給我的解決方案:{-# LANGUAGE DerivingVia #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGU ...

如何為雙半組制作容器?

[英]How do I make a container for a double a Semigroup?

我正在學習 Haskell。 想象一下我有以下內容: 我希望為Coordinate實現一個半群實例。 打字員對我很不滿: (我知道這只是一個 double 的空容器,我可能已經在使用 double 本身,但我正在學習 Haskell,我想了解它是如何工作的。) ...

基於另一個 class 的類型派生一個 class 實例,它是一個實例

[英]Deriving a class instance for a type based on another class it's an instance of

我有一種情況,我有一些類似的新類型,它們都需要是Random 、 newtypes和許多其他東西的Arbitrary 。 它們都需要函數randomR 、 random 、 arbitrary等的相同自定義實現。所以我將所有這些實現放在一個 class 中。 這是一個簡化的示例,它只處理Random ...

是否有創建 [Maybe a] 模擬的語法,但類型 (* -> *)

[英]Is there syntax for creating [Maybe a] analog, but of kind (* -> *)

我試圖創建一個適用於[Maybe a]的 fmap。 但是, Maybe a 有 kind * ,而 fmap 需要 kind * -> * 。 這導致了以下不幸的解決方案: 什么是不幸的是具有創造newtype可言。 我希望可以創建一個適用於[Maybe a]的實例,適用於任何a 。 即 ...

如何強制約束?

[英]How can I coerce constraints?

是否有任何機制來強制unsafeCoerce中的約束(除了我希望有效的 unsafeCoerce)?{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE DerivingVia #-} ...

派生方式:無法派生良好的實例

[英]Deriving Via: Cannot derive well-kinded instance

當我嘗試派生實例時遇到此錯誤。 我正在嘗試這樣做:newtype ControlFlowCMD fs a = ControlFlowCMD (ControlCMD fs a) deriving HFunctor via (ControlCMD fs a) 您可以在第 278 行看到我基於類型並 ...

如何將自定義類型轉換為 Haskell 中的 Integer?

[英]How to convert a custom type to an Integer in Haskell?

我正在嘗試在 haskell 中使用我自己的數據類型作為素數,但我目前遇到了一些問題。newtype Prime = Prime Integer deriving (Eq, Ord, Typeable, Show) 一旦我對素數進行任何數字運算(例如下面的“phi”function),我想將結果 ...

定義新的 monad 實例

[英]defining new monad instance

幾天前,我試圖通過創建一個新的 monad 實例來證明 monad 定律,但我發現自己陷入了定義新的 monad 實例的困境。 我在 list monad 定義之后嘗試了一些東西,但是因為 concat 需要 [[a]] 但在這里它得到 [Test b] ,所以可能有其他可用的函數,或者有沒有辦法讓 ...

為包含不能有 Eq 或 Show 的字段的 ADT 派生 Eq 和 Show

[英]Deriving Eq and Show for an ADT that contains fields that can't have Eq or Show

我希望能夠為包含多個字段的 ADT 導出Eq和Show 。 其中之一是功能字段。 在執行Show ,我希望它顯示一些虛假內容,例如"<function>" ; 在執行Eq ,我希望它忽略該字段。 我怎樣才能最好地做到這一點,而無需為Show和Eq手寫一個完整的實例? 我不想將函數字段包 ...

Haskell Monoid Instance Question for a newtype

[英]Haskell Monoid Instance Question for a newtype

我正在嘗試定義一個實例: 目標是如果列表中的所有函數都為真,則 function foldMap Join 應該返回 True,如果所有函數都不為真,則返回 false。 我了解 foldMap,以及 Monoid 的 Sum 和 Product 的實例,但是對於編寫 Monoid 的新類型實例來 ...

編碼選擇的 monad 轉換器

[英]Encoding a choice of monad transformers

有時可能需要動態攔截或更改一元效應的行為。 為了使事情具體化,讓我們假設允許聲明成本中心的效果: 一種可能的實現為成本中心的每個開始/完成事件生成日志行: 另一種可能性是收集數據結構中的所有時間以供以后處理: 假設我們的應用程序是一個 Web 服務,它不關心收集時間,除非正在處理的請 ...

避免在 Haskell 中重復實例聲明

[英]Avoiding repeated instance declarations in Haskell

我的問題似乎與這個問題密切相關。 我的代碼解析一個 yaml 文件,重新排列對象並寫入一個新的 yaml 文件。 它工作得很好,但其中有一個特別丑陋的部分。 我必須將我的數據結構聲明為FromJson和ToJson實例,如下所示: 問題是我必須在 8 個左右的其他情況下重復此操作: 我不 ...


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