довольно успешно использовал на одном проект решение, построенное с использованием Dexie.js — на клиенте использовал аддоны, идущие в поставке с Dexie, бекенд реализовал взяв за основу заготовку, также предоставляемую в примерах Dexie.js
статью в оригинале не читал, только этот перевод, за него и спасибо.
в меру возможностей пытался исправить очепятки:
по сути являются одним решением и тем же решением.
->
по сути являются одним и тем же решением.
Мы можем записать простую композицию начальный функций
->
Мы можем записать простую композицию начальных функций
2ая диаграмма немного разъехалась
ввести функцию, назовём её bind. Со следующими типами
->
ввести функцию, назовём её bind, со следующими типами
композицию отладочных функций,f' и g'.
->
композицию отладочных функций, f' и g'.
Даже если несмотря на то, что вывод g' несовместим с входом f' у нас появился
->
Даже несмотря на то, что вывод g' несовместим с входом f', у нас появился
так же sqrt должна выбрасывает исключение для
->
так же sqrt должна выбрасывать исключение для
числа, кроме нуля, должно имеется 2 квадратных корня.
->
числа, кроме нуля, должно иметься 2 квадратных корня.
и объединить все результаты один длинный список.
->
и объединить все результаты в один длинный список.
возвращать список состоящий из одного элемента
->
возвращать список, состоящий из одного элемента
Случайные в Haskell выглядят
->
Случайные числа(?) в Haskell выглядят
Замечу, что это проблема похожа на
->
Замечу, что эта проблема похожа на
Итак функция, которая является
->
Итак, функция, которая является
как сделать композицию 2ух
->
как сделать композицию 2-х
возвращаемое в f вторым элементом пары
->
возвращаемое f вторым элементом пары
что и предполагается оно переводит
->
что и предполагается — оно переводит
Покажите, что f * unit = unit * f = f and lift f * lift g = lift (f.g)
->
Покажите, что f ° unit = unit ° f = f и lift f ° lift g = lift (f.g)
где (°) и lift, где определены в терминах unit и bind.
->
где (°) и lift, определены в терминах unit и bind.
Итак я должен связать это с определением монад Haskell.
->
Итак, я должен связать это с определением монад Haskell.
И первую вещь, которую я отразил это определение bind и обозначил словом 'bind', который записывается как как оператор >>=.
->
Первую вещь, которую я отразили и обозначил словом 'bind' — это определение функции bind, которая записывается как как оператор >>=.
И я связка f x переписывается как x >>=f.
->
Тогда связка f x переписывается как x >>= f.
Во-вторых unit называется return.
->
Во-вторых, unit называется return.
целый абзац:
Итак, я должен связать это с определением монад Haskell. Первую вещь, которую я отразили и обозначил словом 'bind' — это определение функции bind, которая записывается как как оператор >>=. Тогда связка f x переписывается как x >>= f. Во-вторых, unit называется return. В третьих, для переопределения функций >>= и return мы должны использовать type classes. В Haskell'е Debuggable — это монада Writer, Multivalued — монада List, Randomized — монада State.
Если проверите определения следующих вещей:
а так — Спасибо
2) ага, напоминалки маст хев
ну и просто моя мечта видеть по-больше опенсорсных аппликух
в меру возможностей пытался исправить очепятки:
по сути являются одним решением и тем же решением.
->
по сути являются одним и тем же решением.
Мы можем записать простую композицию начальный функций
->
Мы можем записать простую композицию начальных функций
2ая диаграмма немного разъехалась
ввести функцию, назовём её bind. Со следующими типами
->
ввести функцию, назовём её bind, со следующими типами
композицию отладочных функций,f' и g'.
->
композицию отладочных функций, f' и g'.
Даже если несмотря на то, что вывод g' несовместим с входом f' у нас появился
->
Даже несмотря на то, что вывод g' несовместим с входом f', у нас появился
так же sqrt должна выбрасывает исключение для
->
так же sqrt должна выбрасывать исключение для
числа, кроме нуля, должно имеется 2 квадратных корня.
->
числа, кроме нуля, должно иметься 2 квадратных корня.
и объединить все результаты один длинный список.
->
и объединить все результаты в один длинный список.
возвращать список состоящий из одного элемента
->
возвращать список, состоящий из одного элемента
Случайные в Haskell выглядят
->
Случайные числа(?) в Haskell выглядят
Замечу, что это проблема похожа на
->
Замечу, что эта проблема похожа на
Итак функция, которая является
->
Итак, функция, которая является
как сделать композицию 2ух
->
как сделать композицию 2-х
возвращаемое в f вторым элементом пары
->
возвращаемое f вторым элементом пары
что и предполагается оно переводит
->
что и предполагается — оно переводит
Покажите, что f * unit = unit * f = f and lift f * lift g = lift (f.g)
->
Покажите, что f ° unit = unit ° f = f и lift f ° lift g = lift (f.g)
где (°) и lift, где определены в терминах unit и bind.
->
где (°) и lift, определены в терминах unit и bind.
Итак я должен связать это с определением монад Haskell.
->
Итак, я должен связать это с определением монад Haskell.
И первую вещь, которую я отразил это определение bind и обозначил словом 'bind', который записывается как как оператор >>=.
->
Первую вещь, которую я отразили и обозначил словом 'bind' — это определение функции bind, которая записывается как как оператор >>=.
И я связка f x переписывается как x >>=f.
->
Тогда связка f x переписывается как x >>= f.
Во-вторых unit называется return.
->
Во-вторых, unit называется return.
целый абзац:
Итак, я должен связать это с определением монад Haskell. Первую вещь, которую я отразили и обозначил словом 'bind' — это определение функции bind, которая записывается как как оператор >>=. Тогда связка f x переписывается как x >>= f. Во-вторых, unit называется return. В третьих, для переопределения функций >>= и return мы должны использовать type classes. В Haskell'е Debuggable — это монада Writer, Multivalued — монада List, Randomized — монада State.
Если проверите определения следующих вещей:
больше не осилил
www.hadoop.iponweb.net/