Илея использования Хаскеля, как лучший C (VHDL, Javascript, и тд), чем сам C (VHDL, Javascript, и тп) состоит в использовании системы типов Хаскеля, синтаксиса Хаскеля и частично семантики Хаскеля. Вообще, это получается такая строго типизированная макросистема, возможно, оптимизирующая
(
Read more... )
Comments 19
Reply
В общем и целом, дело движется в указанном выше направлении.
Reply
Reply
Хотя всё равно может быть полезно. Например, мы можем просто тупо генерировать код с разными параметрами (монада State), а потом выбирать наилучший (монада List).
Reply
Код, содержащий большой объем TH компилируется ОЧЕНЬ медленно и ест ОЧЕНЬ много памяти при компиляции. А firmware бывает очень взрослого объема.
Вообще, интересно бы написать на этом языке для начала базовые примитивы -- stack, ring_buffer, queue, list, tail call + tail recursion, lambda + lambda conversion и так далее. Это возможно? Вот например, замыкания + размыкание незамкнутых замыканий.
Reply
предположу, что от хаскеля останется самое ценное -- система типов; остальное -- ленивость и персистентные структуры данных доступны и в с/с++, так что особой ценности не представляют, скорее наоборот -- обуза
Reply
Reply
а что это такое?
Reply
где-нибудь есть полные примеры, которые можно попытаться "поломать" и поглядеть на ошибки, которые будут выдаваться, скажем, для bracket?
Reply
Попробуйте написать самостоятельно. В конце концов, это же не приложение.
Reply
Reply
Reply
CONST No = 8;
CONST Nt = 1024;
TYPE Elem = No .. Nt;
TYPE TTT = ARRAY [ 'i' .. 'n' ] OF SET OF Elem;
...
Reply
Да ещё и помощнее, с type erasure и проверками на этапе компиляции, а не во время выполнения.
Reply
Reply
Там даже можно сделать комбинаторы для описания грамматик, которые позволяют левую рекурсию, и при этом не зацикливаются.
Reply
Leave a comment