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/ |