Результаты поиска по запросу "template-haskell"

1 ответ

Это было полезно для меня, спасибо :)

ли какой-нибудь правильный способ сделать функции TH безопасными, если они используют побочные эффекты? Скажем, я хочу иметь функцию, которая вызывает git во время компиляции и генерирует строку версии: {-# LANGUAGE TemplateHaskell #-} module Qq ...

3 ответа

Наш дизайн реализуется в Glasgow Haskell Compiler, ghc.

ел изучить Template Haskell, но все учебники, которые я нахожу, предполагают, что вы изучили lisp и знаете, что такое макросы lisp, или что вы знаете некоторый жаргон теории cs - такие вещи, как сращивания, квази-цитаты и т. Д. - или некоторые ...

1 ответ

Haskell, Gen экземпляр B, когда класс A предоставляет достаточно информации для класса B

При написании класса для типа Коллекция / Контейнер (кстати, укажите мне на существующие типы, если я заново изобретаю колесо), чтобы обеспечить общий интерф...

ТОП публикаций

4 ответа

Функция для вывода имени функции

1 ответ

Можно ли получить тип любого выражения, используя Template Haskell?

Дано выражениеfooЯ мог бы объявить функцию верхнего уровня bar = fooи получить типfoo какType поматериализации [http://hackage.haskell.org/package/template-haskell-2.8.0.0/docs/Language-Haskell-TH.html#g:4] bar: case reify 'bar of VarI _ t _ _ ...

1 ответ

Haskell: шаблон Haskell и область применения

Этот код скомпилирован нормально:

1 ответ

Получить имена полей записи Haskell в виде списка строк?

Скажем, у меня есть следующее: data Rec = Rec { alpha :: Int, beta :: Double, phi :: Float } sample = Rec 1 2.3 4.5Я понимаю шаблон Haskell & thereify Функция может получить мне имена полей записи. Это: print $(f sample) --> ["alpha", "beta", ...

5 ответов

Как написать монаду, которая печатает «шаг i из N» при выполнении каждого оператора в монаде?

Я даже не уверен, что это возможно в любой монаде; это нарушает законы монады? Но кажется, что-то, что должно быть возможно в той или иной конструкции. Конкретно есть ли способ иметь что-то, что я могу написать что-то вроде do someOp () ...

5 ответов

Как написать монаду, которая печатает «шаг i из N» при выполнении каждого оператора в монаде?

1 ответ

Haskell: шаблон Haskell и область применения

Этот код скомпилирован нормально: data None = None { _f :: Int } type Simpl = Env type Env = IntТем не менее, я получил ошибку с этим кодом: {-# LANGUAGE TemplateHaskell #-} import Control.Lens data None = None { _f :: Int } type Simpl = Env ...