OberonCore
https://forum.oberoncore.ru/

Template Haskell
https://forum.oberoncore.ru/viewtopic.php?f=72&t=1721
Страница 1 из 1

Автор:  Alexey Veselovsky [ Среда, 15 Июль, 2009 15:57 ]
Заголовок сообщения:  Template Haskell

А что это за зверь? Насколько оно совместимо с хаскелем и тем же ghc? Что оно умеет?

Автор:  Geniepro [ Среда, 15 Июль, 2009 16:21 ]
Заголовок сообщения:  Re: Template Haskell

К сожалению, лично у меня нет опыта работы с этим расширением Хаскелла.
В GHC оно интегрировано, включается специальной опцией компилятора. Собственно, кроме GHC оно нигде и не реализовано больше.

Автор:  kreol [ Среда, 15 Июль, 2009 19:06 ]
Заголовок сообщения:  Re: Template Haskell

http://www.haskell.org/haskellwiki/Template_Haskell
Умеет он типобезопасное метапрограммирование. Насколько я с ним разобрался, схема такая же, как у Лиспа: идёт разделение на время работы (run-time) и время компиляции (compile-time), и во время компиляции можно делать многое из того, что и во время работы.
Несколько примеров:
http://www.haskell.org/ghc/docs/latest/ ... skell.html
Вообще игрушка очень даже интересная, но пока ещё не полностью реализованная.

Автор:  Geniepro [ Четверг, 16 Июль, 2009 07:11 ]
Заголовок сообщения:  Re: Template Haskell

Ещё можно упомянуть Generic Haskell
http://www.cs.uu.nl/wiki/bin/view/Gener ... amming/SYB
http://research.microsoft.com/en-us/um/ ... pers/hmap/

Автор:  Alexey Veselovsky [ Четверг, 16 Июль, 2009 11:22 ]
Заголовок сообщения:  Re: Template Haskell

А есть ли в хаскеле reflection? Т.е. метаинформация в рантайме. Которая дюже полезна например для написания всяких разных плагинов. Ну и вообще... Для построения расширябельных систем и независимой компиляции.

Автор:  Geniepro [ Четверг, 16 Июль, 2009 12:07 ]
Заголовок сообщения:  Re: Template Haskell

Alexey Veselovsky писал(а):
А есть ли в хаскеле reflection? Т.е. метаинформация в рантайме. Которая дюже полезна например для написания всяких разных плагинов. Ну и вообще... Для построения расширябельных систем и независимой компиляции.

Вообще это противоречит духу строгой статической типипзации, но раз надо, то есть:
Модули Data.Dynamic, Data.Typeable. Посмотрите ту статью: "Scrap Your Boilerplate"
Насчёт плагинов есть hs-plugins

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/