LINUX.ORG.RU

[Haskell] Template, как сгенерировать определение?

 


0

1

Доброго времени суток.

Нужно сгенерировать класс вида:

data Port_name = Port_name
class WithPort_name where
  name :: d -> PortInstance d Port_name
  name = \d -> PortInstance d Port_name
Причём name всякий раз необходимо заменить конкретное имя порта. Сейчас есть решение, где нужное AST собирается руками
DataD [] typeName [] [NormalC typeName []] []...
, но это какая-то порнография.

В случае если использовать нотацию [d| |], то он не хочет подставлять из окружения значения переменных, или я не знаю, как его об этом правильно попросить.

Ответ на: комментарий от ryukzak

>Не актуально.
Что не актуально? Решение которое там предложили или твой вопрос? Если твой вопрос — то помечай тему как решённую.

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

Решение. И ключи, что там указаны есть, и хаскел последней версии.

ryukzak
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.