Entry tags:
Эпический ад
Написал таки кусок кодогенератора на F#. Сначала в лоб, просто конверсией моих типов в последовательность строк SQL запроса для создания таблиц, а потом мне резко разонравилось отсутствие разделения модели и представления и я прикрутил AST для SQL, заодно заменив выходной результат на string seq, то бишь IEnumerable<string>.
Завтра буду прикручивать AST для дельфей, если мне не откозлопитонируют мозг какой-нибудь срочно-капец-нужно-вчера хреновиной.
Теперь понимаю, чего
zabivator устроил хаскель-срач - когда над головой не висит чистота и ленивость, но есть discriminated unions, вывод типов и это дело корректно интегрировано в привычную среду, можно особо не задумываясь писать всякий мрак.
Но при этом однозначно начинать надо с хаскеля, а для F# - еще и дотнет знать, потому что иначе этот безумный бред понять затруднительно. Хаскель лаконичен, там те же самые идеи не заслоняются синтаксисом.
Завтра буду прикручивать AST для дельфей, если мне не откозлопитонируют мозг какой-нибудь срочно-капец-нужно-вчера хреновиной.
Теперь понимаю, чего
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Но при этом однозначно начинать надо с хаскеля, а для F# - еще и дотнет знать, потому что иначе этот безумный бред понять затруднительно. Хаскель лаконичен, там те же самые идеи не заслоняются синтаксисом.
no subject
Менее ограниченный, чем в *ML. У него более мощная система типов, которая не всегда справляется с выводом (хотя справляется с более широким классом проблем, чем выводилка в том же OCaml), и поэтому [иногда!] требует подсказки.
А ML --- некий голый базис функциональных языков. Как ФЯ не придумывай, ML получается.
SML, да ;) А то в камле тоже много всего напихано, те же streams, ocamlp4, etc.
no subject
В окамл понапихали, да. Сделали перл.
no subject
Так что если привык к окамлу и не используешь более мощных конструкций, в своём коде типы в хаскеле можно не писать, а в чужих исходниках типы-подсказки удобны.
no subject
no subject
no subject
no subject
Те же streams к языку вообще не имеют никакого отношения, это просто внешняя либа. Тот же camlp4 в принципе это просто отдельный препроцессор, и с языком жёстко не связан (что можно наглядно наблюдать на примере camlp5).
Странно вообще, то жалуются что stdlib у камля бедный, то сильно богатый :)