?

Log in

No account? Create an account

Заповедник репрессивной психиатрии

Хаскель и separation of concerns
metaclass
fp, cмерть мерзкая от монад, хаскель, штанга, гроб, гроб, кладбище
http://juick.com/2165512

Можно ли на всем этом сделать так: https://gist.github.com/4292029
И чтобы goodProcessingFunction можно было нормально комбинировать из отдельных кусков, вплоть до того, что явно определить точки, где данные юзера становятся данными для девайса и наоборот.
Или например, обощить это, прикрутив еще и какой-нибудь tcp сервер.

Т.е. у нас есть несколько независимых IO каналов, каждый со своими форматами данных, на каждый канал прикрутить сменный парсер-сериализатор, чтобы в ядро бизнес-логики этот канал приходил уже в виде значений нормальных типов.
А потом еще захочется хранить в бизнес-логике состояние, подключаться к БД и все это, по-моему, нахрен умрет под грузом типов и слоев монад.

Необъяснимые решения необъяснимы
metaclass
Как известно, в Windows есть специальные известные пути (десктоп, стартовое меню, итд).
Для того чтобы их получить, есть winapi функции SHGetFolderPath и SHGetKnownFolderPath с соответствующим набором констант.
А в .NET есть статик метод Enviroment.GetFolderPath с выбором нужной папки с помощью enum Environment.SpecialFolder: https://gist.github.com/4294569
Значения этого enum совпадают с соответствующими константами-параметрами для SHGetFolderPath
Но (в .NET до 4.0) в enum вынесены не все значения, а вызвать с нужным - нельзя, см. запил c проверкой в коде выше. И, кроме этого, оно еще и права доступа к этой папке проверяет.

Стандартная необъяснимая ситуация в дотнете - "нужных функций нет, ненужные добавлены".
Придется опять нативные вызовы пилить вручную.

Вред от незнания лиспов
metaclass
Вот за что я не люблю недоделанные языки, типа MSBuild - это то, что в конечном итоге, либо авторы упрутся рогом в декларативщину, а императивные алгоритмы выглядят как дикий ад (перекос в сторону описаний данных от кода), либо наоборот - все рассчитано на писание кода, а данные описываются через задницу, или загружаются из другого языка.
И сплошные велосипеды и баги всегда, на почве того, что области видимости переменных сделаны в безумном чаду угара, вместо того чтобы, сделать нормальные (глобальные, локальные, с пространствами имен, итд).
Взяли бы долбаный лисп и его правила за основу, что ли - там интеграция декларативных и императивных возможностей сделана лучше всего.

Мизантропично
metaclass
Он Ловил Исключения И Не Выводил Их В Лог