Вопросы по теме 'type-level-computation'

Проблемы с реализацией подписки на массив в Haskell, связанной с EDSL
Контекст Я пытаюсь реализовать EDSL, который немного напоминает IBM OLP (язык моделирования для линейного программирования). Код Код Haskell EDSL {-# LANGUAGE GADTs #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE...
86 просмотров

Проблемы с определением аппликативного экземпляра
Предположим, что я хочу определить тип данных, индексированный двумя средами уровня типа. Что-то типа: data Woo s a = Woo a | Waa s a data Foo (s :: *) (env :: [(Symbol,*)]) (env' :: [(Symbol,*)]) (a :: *) = Foo { runFoo :: s -> Sing env...
116 просмотров

Опыт работы с отчетами с использованием индексированных монад в производстве?
В предыдущем вопросе я обнаружил существование стрел Клейсли возмутительной удачи Конора МакБрайда при поиске способов кодирования примеров Idris в Haskell . Мои усилия понять код Макбрайда и заставить его скомпилировать на Haskell привели к...
419 просмотров

Пример функции уровня типа, которая не является конструктором типа
Что уникального в концепции «конструктора типа» в Haskell по сравнению с другими функциями уровня типа? Насколько я знаю они: разрешить пользователю применять к ним аргументы во время компиляции привести к простому типу (например, не к...
198 просмотров
schedule 24.05.2024

Почему «нейтральный» не нормализуется до «[]» в моноиде списка?
Следующие определения типов Idris проверяются с помощью Idris 1.3.0: foo : (xs : List Nat) -> xs = ([] <+> xs) foo xs = Refl однако это не так: foo : (xs : List Nat) -> xs = (neutral <+> xs) foo xs = Refl дает...
59 просмотров
schedule 09.12.2022

Фрагмент Scala в TypeScript (как преобразовать элементы абстрактного типа)
У меня есть небольшой фрагмент списка уровней значений и типов в Scala. sealed trait RowSet { type Append[That <: RowSet] <: RowSet def with[That <: RowSet](that: That): Append[That] } object RowSet { case object Empty extends...
78 просмотров