singleton-type

    1熱度

    1回答

    我在ghc 8中使用依賴類型,並且遇到了爲我的類型創建Show實例的問題。 #!/usr/bin/env stack -- stack exec --resolver=lts-7.14 --package singletons -- ghci {-# LANGUAGE GADTs, ScopedTypeVariables, TypeInType, TemplateHaskell, Lambda

    4熱度

    2回答

    我是Haskell的新手,所以我可能錯過了一些明顯的東西,但是這裏似乎存在什麼問題? 單例庫爲import Data.Singletons.TypeRepStar中的種類*提供Sing實例。 的Sing數據系列定義如下.. data family Sing (a :: k) 和*實例定義爲.. data instance Sing (a :: *) where STypeRep ::

    2熱度

    2回答

    在Scala中,圍繞萬里薩賓的無形圖書館的討論,我已經看到了這樣的代碼: def sing[T <: String](t: T): Option[t.type] = Some(t) 哪裏是這樣的: val name = sing("name") 的類型爲Option[Constant(name).type]。我以爲「爲什麼包裝在Option」?但是,如果我試試這個: def sing2[T

    3熱度

    1回答

    我玩弄單身的專業化: {-# LANGUAGE DataKinds #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-} module Data.Test where data SingBool (b :: Bool) where STrue :: SingBool 'True SFalse ::

    13熱度

    2回答

    假設我想要在某些字符串和整數標識符之間進行映射,並且我希望我的類型能夠使運行時失敗,因爲有人試圖查找超出範圍的id。這裏有一個簡單的API: trait Vocab { def getId(value: String): Option[Int] def getValue(id: Int): Option[String] } 這是煩人,不過,如果用戶通常會從getId獲得它

    2熱度

    1回答

    我正嘗試使用GADT和singletons庫構建正則表達式解析程序。我發現了一個奇怪的錯誤消息: Couldn't match type ‘Integer’ with ‘Nat’ Expected type: DemoteRep 'KProxy Actual type: Nat In the first argument of ‘toSing’, namely ‘b_

    4熱度

    1回答

    與LTS-9.2(及單身-2.1)使用堆棧,我有這樣的: $(singletons [d| data EventScans = PassThrough | SuiteProgress -- cn :: EventScans -> [Char] cn PassThrough = "all-events" cn SuitePro

    0熱度

    1回答

    考慮這樣的情況: class T[A0, B0](val a: A0, val b: B0) class A class B(val a: A) { b => implicit def t: T[a.type, b.type] = new T(a, b) } val b = new B(new A) val t1 = implicitly[T[b.a.type, b.

    5熱度

    1回答

    什麼是單身類型?什麼是應用程序,影響? 例子是歡迎和非凡的條款更受歡迎!

    0熱度

    2回答

    我知道,Haskell有paramaterized數據類型類型: data Maybe a = Nothing | Just a 但是,有沒有辦法來限制排序是a可以表示類型?特別是,我想創建一個類型 data Tag a = Tag a 這樣a可以採取要麼TagPrimitive或類型TagComplex(但是,我不希望它是可能的,a是類型類型,例如,Integer或String或在我的程