metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-03-08 10:37 pm
Entry tags:

Эпический ад

Написал таки кусок кодогенератора на F#. Сначала в лоб, просто конверсией моих типов в последовательность строк SQL запроса для создания таблиц, а потом мне резко разонравилось отсутствие разделения модели и представления и я прикрутил AST для SQL, заодно заменив выходной результат на string seq, то бишь IEnumerable<string>.
Завтра буду прикручивать AST для дельфей, если мне не откозлопитонируют мозг какой-нибудь срочно-капец-нужно-вчера хреновиной.

Теперь понимаю, чего [livejournal.com profile] zabivator устроил хаскель-срач - когда над головой не висит чистота и ленивость, но есть discriminated unions, вывод типов и это дело корректно интегрировано в привычную среду, можно особо не задумываясь писать всякий мрак.

Но при этом однозначно начинать надо с хаскеля, а для F# - еще и дотнет знать, потому что иначе этот безумный бред понять затруднительно. Хаскель лаконичен, там те же самые идеи не заслоняются синтаксисом.

[identity profile] gds.livejournal.com 2010-03-09 09:50 am (UTC)(link)
под mingw+msys без cygwin -- всё есть (с omake натрахался вприсядку, вспомню -- вздрогну), но без батареек пока, ибо и мне лично не надо было, и никому из знакомых не надо было. Так-то, конечно, могу добавить и батарейки.
Но засада в том, что я вон попробовал своё оверблд на нетбуке завести, и что-то не завелось сходу (отвалилось в линковке с tcl/tk, но, чувствую, проблема глобальнее), и руки не доходили разобраться (как и сейчас не особо доходят, впрочем).
А у одного знакомого вроде как завелось замечательно, да и на локально-доступных мне компах проблем не замечал. Так что стоит попробовать, вот внешние зависимости (если не страшно, то тривиальная инструкция по сборке там рядом).

Сборку окамла падвенду осуществляю msys'овским башем.

Насчёт эрланга -- агаа :) Но там не всё так идеально, и нужно просто посмотреть, устраивает ли. А так -- оно вполне живое.

[identity profile] zamotivator.livejournal.com 2010-03-09 10:03 am (UTC)(link)
Надо бы это хозяйство всё доупаковывать, чтобы получить инсталлятор аля cygwin под венду и набор пакетов аля GODI/dpkg/apt под динукс....

[identity profile] gds.livejournal.com 2010-03-09 10:16 am (UTC)(link)
я-то из-под полы раздавал это хозяйство в виде бинарных билдов, но, так как патчу компилятор, это является нарушением лицензии. А без патченья компилятора не знаю, как завести ocamlnet/mingw, например. И смысла в том оверблде будет почти ноль.
Если бы не лицензия, всё было бы сильно проще. Сейчас это хозяйство представляет собой максимально простой способ распространять окамл и библиотеки без нарушений.

А так-то -- да, согласен, внешние зависимости ставить руками это гемор. Ещё наткнулся на то, что хостеры почему-то поломали старые урлы внешних зависимостей (тарболов всяких), и урлы надо периодически обновлять.