![](/img/trans.png)
[英]Unable to coerce during `DerivingVia` when using optics types like `Prism'`
我無法使用DerivingVia在任何使用optics-core類型(如Prism' )的類型上自動派生實例; 我從編譯器得到的錯誤是: 有問題的類型是:newtype MyPrism a = MyPrism (Prism' String a) 如果我用它的底層表示替換Prism'類型,編譯就 ...
[英]Unable to coerce during `DerivingVia` when using optics types like `Prism'`
我無法使用DerivingVia在任何使用optics-core類型(如Prism' )的類型上自動派生實例; 我從編譯器得到的錯誤是: 有問題的類型是:newtype MyPrism a = MyPrism (Prism' String a) 如果我用它的底層表示替換Prism'類型,編譯就 ...
[英]Reify arbitrary data-kind to a (compile-time known) value
我希望能夠寫出類似的東西:reify (Proxy @True)) == True; reify (Proxy @(Just 5)) == Just 5; 一攬子實施是否可能? 我得到了盡可能class Reify (a :: k) where reify :: Proxy a -> k ...
[英]True isomorphisms in Haskell
以下斷言是否正確: 唯一真正的同構,用戶可以通過編程方式訪問,由 Haskell 類型系統驗證,並且 Haskell 編譯器是/可以意識到的,是在: Haskell 數據類型的一組值其構造函數所需的類型的值集即使是泛型編程也不能產生“真正的”同構,其組合會在運行時產生一個身份(因此staged-s ...
[英]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,我想了解它是如何工作的。) ...
[英]Deriving a class instance for a type based on another class it's an instance of
我有一種情況,我有一些類似的新類型,它們都需要是Random 、 newtypes和許多其他東西的Arbitrary 。 它們都需要函數randomR 、 random 、 arbitrary等的相同自定義實現。所以我將所有這些實現放在一個 class 中。 這是一個簡化的示例,它只處理Random ...
[英]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 #-} ...
[英]Is it possible to establish Coercible instances between custom types and standard library ones?
舉個簡單的例子,假設我想要一個類型來表示井字游戲標記:data Mark = Nought | Cross 與Bool相同Prelude> :info Bool data Bool = False | True -- Defined in ‘GHC.Types’ 但是它們之間沒有C ...
[英]Deriving Via: Cannot derive well-kinded instance
當我嘗試派生實例時遇到此錯誤。 我正在嘗試這樣做:newtype ControlFlowCMD fs a = ControlFlowCMD (ControlCMD fs a) deriving HFunctor via (ControlCMD fs a) 您可以在第 278 行看到我基於類型並 ...
[英]How to convert a custom type to an Integer in Haskell?
我正在嘗試在 haskell 中使用我自己的數據類型作為素數,但我目前遇到了一些問題。newtype Prime = Prime Integer deriving (Eq, Ord, Typeable, Show) 一旦我對素數進行任何數字運算(例如下面的“phi”function),我想將結果 ...
[英]defining new monad instance
幾天前,我試圖通過創建一個新的 monad 實例來證明 monad 定律,但我發現自己陷入了定義新的 monad 實例的困境。 我在 list monad 定義之后嘗試了一些東西,但是因為 concat 需要 [[a]] 但在這里它得到 [Test b] ,所以可能有其他可用的函數,或者有沒有辦法讓 ...
[英]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手寫一個完整的實例? 我不想將函數字段包 ...
[英]What is this `deriving newtype` syntax?
從我讀到的一篇博文 什么是deriving newtype語法? 它是哪個擴展名,它有什么作用? 請在 anwser 中提供指向其文檔的鏈接。 ...
[英]Haskell Monoid Instance Question for a newtype
我正在嘗試定義一個實例: 目標是如果列表中的所有函數都為真,則 function foldMap Join 應該返回 True,如果所有函數都不為真,則返回 false。 我了解 foldMap,以及 Monoid 的 Sum 和 Product 的實例,但是對於編寫 Monoid 的新類型實例來 ...
[英]Wrap a type in newtype
在以下代碼中,我收到警告Orphan instance: instance (MonadIO m, Monad m) => GenerateUUID minstance (MonadIO m, Monad m) => GenerateUUID m where generateUUID ...
[英]Encoding a choice of monad transformers
有時可能需要動態攔截或更改一元效應的行為。 為了使事情具體化,讓我們假設允許聲明成本中心的效果: 一種可能的實現為成本中心的每個開始/完成事件生成日志行: 另一種可能性是收集數據結構中的所有時間以供以后處理: 假設我們的應用程序是一個 Web 服務,它不關心收集時間,除非正在處理的請 ...
[英]Avoiding repeated instance declarations in Haskell
我的問題似乎與這個問題密切相關。 我的代碼解析一個 yaml 文件,重新排列對象並寫入一個新的 yaml 文件。 它工作得很好,但其中有一個特別丑陋的部分。 我必須將我的數據結構聲明為FromJson和ToJson實例,如下所示: 問題是我必須在 8 個左右的其他情況下重復此操作: 我不 ...