hlist

    7熱度

    1回答

    隨着近期發佈的關於HaskellDB的文章,我一直有動力再次研究HList。因爲我們現在在GHC中有-XDataKinds,它實際上有一個異類列表的例子,所以我想調查HList如何使用DataKinds。到目前爲止,我有以下幾點: {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANG

    2熱度

    1回答

    考慮下面的代碼: {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE NoMonomorphismRestriction #-} import Data.HList.GhcSyntax((.!.),(.=.),(.*.)) import Data.HList.Record(emptyRecord) import Data.HList.TypeCas

    20熱度

    3回答

    是否可以在參數列表上執行foldLeft,其中提供給fold的初始值是完全curried函數,運算符是apply,列表是要傳遞給函數f的參數列表? 例如,假設f定義爲: scala> val f = (i: Int, j: Int, k: Int, l: Int) => i+j+k+l f: (Int, Int, Int, Int) => Int = <function4> 對此我們當然可以

    5熱度

    3回答

    由於我昨天發佈了關於Scala中元組的問題的一些有用答案,我一直在尋找Scala HLists。我想重新散列一個C++的例子來問這個問題: 在C++中,可以使用模板專門化實現編譯時遞歸。我經常對boost元組進行操作,這些元組像Scala/Haskell HList一樣,通過多次構造泛型'cons'來構造,每個相關類型一次,並以null_type結尾。因此,這: boost::tuple<int,

    0熱度

    1回答

    當通過單擊選擇Tk :: HList中的條目時,將在此條目周圍繪製虛線。我不想擁有這條路線。我如何配置它?我沒有看到任何記錄的方式來做到這一點。 下面是一些示例代碼,顯示了帶有預選條目的Tk :: HList。當你點擊該條目時,會出現一條虛線。 #!perl use strict; use warnings; use utf8; use Tk; use Tk::HList; my

    1熱度

    1回答

    我正在試驗基於HList的基於類型的異構列表。 我已經定義如下: import Data.HList data ATag data BTag type TagList = ATag :*: BTag :*: HNil bIndex :: Int bIndex = hNat2Integral (hFind (undefined :: BTag) (undefined :: TagLi

    0熱度

    1回答

    我試圖提醒用戶有些數據已更改並需要保存。數據顯示在Perl的Tk :: HList框中。我希望我能做到: if ($new_item) { $HList->add($stock_no,-background=>"red"); } 甚至: if ($new_item) { $HList->itemCreate($stock_no,0,-text=>$stock_no,-ba

    13熱度

    1回答

    我在Scala中使用無形,並且我想寫一個函數allPairs,它將採用兩個HLists並返回所有元素對的HList。例如: import shapeless._ val list1 = 1 :: "one" :: HNil val list2 = 2 :: "two" :: HNil // Has value (1, 2) :: (1, "two") :: ("one", 2) :: ("o

    4熱度

    1回答

    我是一個Haskell和一個Stackoverflow noob,這裏是我的 第一個&可能很基本的Haskell問題。 module M where import Data.HList data R r a r1 = undefined :: R a Int r2 = undefined :: R a Double rPair :: R r a -> R r b -> (R r

    3熱度

    2回答

    我發現了HList/KList,它們很酷。我有一個實際的用例,其中具有保存類型信息的異構類型和可變長度容器將非常有用(有關更多信息,請參閱下面的背景)。但是,我還沒有理解H/KList作爲方法參數的用法,我不得不完全鍵入註釋參數或鬆散類型信息。 如果完整類型當然不知道,H/KList是否可以用作參數? 如何在不丟失類型信息的情況下引用H/KList? 是否可以使用「類型列表」來指代異構的&可變長度