我正在爲檢查實體經濟單位模型,使用類型,例如一個小型圖書館檢查的類型約束而不是val apples = 2.0我們寫val apples = GoodsAmount[KG, Apples](2.0)。爲了創建一攬子商品,我試圖使用無形庫中的HList。這工作正常,但在某些情況下,我不能像我更喜歡的通用代碼。見例如下面的問題。 我先從一個簡單的代碼來解釋我想提升到無形的東西。我們創建兩個類,代表Km
我工作的HList實施異構數據結構,我堅持努力實現map功能吧。我已經嘗試了很多不同的方法,但是每次都遇到與該函數相關的編譯器錯誤。 以下是我要如何使用通用功能Just,將其應用到輸入數據結構中的所有元素的例子。 {-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
-- | An input he
如何通過一些HList作爲參數?因此,我可以做一個這樣的方式: def HFunc[F, S, T](hlist: F :: S :: T :: HNil) {
// here is some code
}
HFunc(HList(1, true, "String")) // it works perfect
但是,如果我有一個長長的清單,我不知道一無所知,我怎麼能做出一些關於
假設我們有HList的定義如下: data HL spec where
HLNil :: HL()
HLCons :: h -> HL t -> HL (h, t)
是否有可能以某種方式強制執行其項目共享的約束? 作爲一個例子,下面是我試圖限制的項目有Show情況下,這將失敗,並Couldn't match type `Char' with `Int': class HLS