Я относительно новичок в Haskell, и я пытаюсь понять одно из определений HList. data instance HList '[] = HNil
newtype instance HList (x ': xs) = HCons1 (x, HList xs)
pattern HCons x xs = HCons1 (x,
Я пытаюсь использовать dfold определенного here dfold
:: KnownNat k
=> Proxy (p :: TyFun Nat * -> *)
-> (forall l. SNat l -> a -> (p @@ l) -> p @@ (l + 1))
-> (p @@ 0)
-> Ve
Я пытаюсь реализовать умножение на уровне типа в Rust. Дополнение уже работает, но у меня возникли проблемы с переменной типа «временный». Код: use std::marker::PhantomData;
//Trait for the type lev
Я использую Nat типа из модуля GHC.TypeLits, который, по общему признанию, должен быть определен в отдельной библиотеке. В любом случае GHC.TypeLits имеет класс KnownNat с функцией класса natVal, кото