dastapov: (Default)
Давеча пришлось мне заниматься софтверной паталогоанатомией. То есть, делать вскрытие чужой программе (с исходниками на OCaml), чтобы понять, почему она сдохла. Программа представляла собой узкоспециализированный diff, читающий и сравнивающий массивы сложных структур данных. Читать данные программа могла кучей способов - по сети, из файла, из базы, ...

И вот ВНЕЗАПНО нашелся такой набор данных (из примерно несколько сотен тысяч элементов), который при сравнении с самим собой из двух разных источников давал неожиданый результат: "вот эти два элемента отличаются. Вот вам первый: ..., а вот второй: ....". При этом распечатанные структуры данных выглядели совершенно идентично.

Read more... )
dastapov: (Default)
Наконец, теперь можно написать про ocamlbuild.

Казалось бы, ocamlbuild весь из себя красив и пушист, и в простом
случае можно сказать "ocamlbuild main.native" и в две секунды получить
работающий бинарник - чего еще желать простому разработчику?.Read more... )
dastapov: (Default)
Последняя серия про ocamldep, и потом я перейду к ocamlbuild.Read more... )
dastapov: (Default)
Как я уже говорил,
ocamldep делает слишком много допущений и пытается быть хитрее, чем на
самом деле нужно. А получается только хуже ... )
dastapov: (Default)
Это вторая часть рассказа про компиляцию окамл, в которой, как в сказке - чем дальше, чем страшнее.

Итак, мы с вами выяснили, что без топологической сортировки по зависимостям проект на ocaml не собрать. А чтобы эту сортировку выполнить, надо сначала вычислить, что от чего зависит.Read more... )
dastapov: (Default)
Сегодня я хочу прервать долгую тишину в эфире и написать объективное и непредвзятое сравнение отсталого и отстойного компилятора ocaml с современными и прогрессивными компиляторами для всех остальных языков.Дальше интересно для любителей ФП и прочих извращенцев )
dastapov: (Default)
На своей нынешней работе я много пишу на OCaml. Не только на нем, но если это не SQL, и не простенькие скрипты, то это почти наверняка будет OCaml. И по результатам трех месяцев я решил сесть и записать свои негативные впечатления от, скажем так, перехода с Haskell. Про позитив писать особого смысла нет - ну, почитаете вы его, покиваете головой и все. А так, глядишь, кто чего посоветует :)

В этот раз, думаю, у меня получится лучше, чем в прошлый. let bitching = begin ... )

Profile

dastapov: (Default)
Dmitry Astapov

July 2017

M T W T F S S
     12
3456789
1011 1213141516
17181920212223
24252627282930
31      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags