2010-08-25

metaclass: (Default)
2010-08-25 09:53 am

ЖЖшечное

По вторникам и средам помещение арендует русофобский кружок имени Эсфири Мендееевны.
По понедельникам и четвергам - секция тяжелой атлетики имени Simon Peyton Jones
По пятницам и субботам - заседание кружка оккультной теории категорий с распятием девственниц на стрелках и bizarre monad combinators.
Воскресенье - reserved by IBM, но есть сигналы что сторож тайно пускает туда индусов поклонятся копипасте.
metaclass: (Default)
2010-08-25 11:35 am

Visual Studio

А скажите, кто 2010 студию видел - там (в конце концов, #$&#*#&$) сделали чтобы проекты в солюшене можно было расставить в порядке зависимостей, или хотя бы вручную, а не сортировалось по алфавиту всегда?
Как-то это бесит - ну какая нафиг сортировка по именам по алфавиту в графе?
metaclass: (Default)
2010-08-25 12:47 pm

Потаенный червизм F#

В F# есть набор вуду-функций, типизация которых у меня вызывает неадекватные ощущения. Конкретно, это функции форматированной печати, например sprintf:
sprintf "%s" : string->string //превращает строку в строку
sprintf "%s %d" : string->int->string //превращает строку и число в строку
Итд, соответственно формату.
Выглядит это весьма удобно и типобезопасно, т.е. неправильное сочетание строки формата и параметров не скомпилируется, но как реализована функция sprintf и аналогичные, я с ходу не соображу.
Там используется какое-то адское метапрограммирование на типах + дотнетовский Reflection, причем даже intellisense в студии показывает, что тип возвращаемый sprintf fmt меняется в зависимости в от того, что запишешь в fmt. И строковый литерал fmt явно где-то хитрой магией конвертируется не в строку, а в String.Format<'T>.