Здравствуйте, Mamut, Вы писали:
M>>>Я стираю много текста ни о чем. Я прошу от тебя одного: покажи мне пожалуйста в коде. Законченном. Как это будет выглядеть.
J>>У меня нет твоей задачи, "законченной". Есть только вызов increase_amount. Это задача ни о чем, это и не задача даже.
M>Это задача из банка. Ты же тут притащил презенетацию из банка про типы. Ты думаешь у них что-то сильно другое?
Уверен. Они риск пишут, а не ордер-процессинг, там же написано.
Что конкретно у них в типах, я не знаю — я их кода не видел.
То, о чем я писал в своем примере — это имеет отношение скорее к зависимым типам, и может совершенно не иметь отношения к тому, что у них на Хаскеле.
J>>Ее можно решить как одним мега-свойством IncreaseAmountOK, так и кучей элементарных свойств или какой-то их комбинации.
M>Можно наконец-то увидеть это решение? Хоть мегасвойством хоть комбинацией? Я слышу много разговоров о том, как это можно решить и ноль решений
сорри, не раньше апреля (отпуск, работа). До тех пор могу только односложно отвечать по сути.
M>Да. Мне непонятно, как это решить, несмотря на тот кусок кода, что ты привел
ПОтому что твой кусок кода не отвечает на вопросы:
M>- что будет, когда условий больше двух
Я показал, как добавить к одному свойству второе. Третье, четвертое и т.д. добавляются аналогично. Не будешь же ты говорить, что не понимаешь, как добавить третье свойство?
M>- показать, как типы хорошо помогают при с ad-hoc программировании (твое утверждение, поэтому оно есть в здаче)
Я показал, как это происходит при добавлении второго свойства (оно было добавлено ad-hoc, изначально его не было). При добавлении третьего, четвертого и т.д. будет ровно то же самое (хотя если свойства добавляются пачкой, можно и в одну функцию упаковать, чтобы не было леса из PROP_IF, особенно если в других ветках ничего не будет).
Ты ведь понял, как я добавил второе свойство? Сможешь ведь по аналогии добавить третье, четвертое?
M>Пока что ты продолжаешь называть меня тупым
ссылку или извинись.