Size: a a a

2020 September 08

АГ

Александр Гранин... in ФП
И еще есть вот это:

https://github.com/thma/LtuPatternFactory
источник

АГ

Александр Гранин... in ФП
А вообще, гляньте в этот список, найдете много полезного по теме около:

https://github.com/graninas/software-design-in-haskell
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
mg901
это уже прошлый день. Посмотри в сторону static-land
Я либу не использую. Только сам подход: имутабельные замыкания без классов
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
mg901
но так как это мультипарадигменный язык, иногда смотрю в сторону OOP
Вот я делал на ТС билдер-паттерн без классов:

const Builder = <T extends {}>(model: T) => ({
   withComment: (comment: string) => Builder({ ...model, comment }),
   withSpecialComment: () => Builder(model).withComment('Special comment'),
   withTrackingNumber: (tracking: number) => Builder({ ...model, tracking }),
   build: () => model })

const a = Builder({});
// a.withComment('test').build().tracking // Property 'tracking' does not exist on type '{ comment: string; }'
console.log(a.withTrackingNumber(1234).withSpecialComment().build().tracking)
источник

ЗП

Зигохистоморфный Пре... in ФП
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Вот я делал на ТС билдер-паттерн без классов:

const Builder = <T extends {}>(model: T) => ({
   withComment: (comment: string) => Builder({ ...model, comment }),
   withSpecialComment: () => Builder(model).withComment('Special comment'),
   withTrackingNumber: (tracking: number) => Builder({ ...model, tracking }),
   build: () => model })

const a = Builder({});
// a.withComment('test').build().tracking // Property 'tracking' does not exist on type '{ comment: string; }'
console.log(a.withTrackingNumber(1234).withSpecialComment().build().tracking)
это еще доктор булеан показывал)
источник
2020 September 09

L

LevT in ФП
Читаю https://wiki.haskell.org/Typeclassopedia
Alternatively, under the context interpretation, the list functor represents a context of nondeterministic choice; that is, a list can be thought of as representing a single value which is nondeterministically chosen from among several possibilities (the elements of the list).

А почему эту роль исполняет список, а не скажем множество? Кажется, в списке лишнее - порядок элементов.
Смысл этого порядка в "контексте недетерминизма"?
Ответ "множество не категория", не монада и т.д. не канает. Ответ хочу - почему именно не канает?
источник

L

LevT in ФП
Ну да, во множестве нет повторов, но вопроса это не отменяет. Какой смысл порядка элементов списка в "контексте недетерминизма"?
источник

AG

Alex Gryzlov in ФП
так из-за того что во множестве нет дубликатов, оно и не будет функтором
источник

L

LevT in ФП
А порядок зачем "контексту недетерминизма".
Или это просто метафора, которая в этом самом месте "протекает"?
источник

L

LevT in ФП
Меня именно глубина этой метафоры интересует, то что я вижу уже дно, или ещё нет?
источник

AG

Alex Gryzlov in ФП
а, ну можно и Bag взять
источник

AG

Alex Gryzlov in ФП
просто список проще
источник

L

LevT in ФП
Операционно может и проще, но лишняя структура (enumerable)
источник

L

LevT in ФП
Кажется, соврал какая именно. Но не отменяет..
источник

JS

Jerzy Syrowiecki in ФП
Alex Gryzlov
так из-за того что во множестве нет дубликатов, оно и не будет функтором
а из чего это следует? в Хаскеле, например, Ord неоткуда протащить, а в математике?
источник

JS

Jerzy Syrowiecki in ФП
LevT
Читаю https://wiki.haskell.org/Typeclassopedia
Alternatively, under the context interpretation, the list functor represents a context of nondeterministic choice; that is, a list can be thought of as representing a single value which is nondeterministically chosen from among several possibilities (the elements of the list).

А почему эту роль исполняет список, а не скажем множество? Кажется, в списке лишнее - порядок элементов.
Смысл этого порядка в "контексте недетерминизма"?
Ответ "множество не категория", не монада и т.д. не канает. Ответ хочу - почему именно не канает?
как я понимаю, список надо интерпретировать именно как множество, игнорируя порядок, просто в Хаскеле множества требуют дополнительные ограничения, а список без ограничений
источник
2020 September 10

Oℕ

Oleg ℕizhnik in ФП
Jerzy Syrowiecki
а из чего это следует? в Хаскеле, например, Ord неоткуда протащить, а в математике?
а в математике powerset - это монада, конечно
источник

Oℕ

Oleg ℕizhnik in ФП
Есть ещё посередине MultiSet =  неупорядоченные множества = свободный коммутативный моноид
источник

Oℕ

Oleg ℕizhnik in ФП
Но они всё равно требуют какой-то идентификации на элементах в хаскеле
источник
2020 September 13

L

LevT in ФП
Окей, нет такой вещи как null
Но в ленивом хаскеле есть undefined - проблемы с которым чота-типа "изоморфны" проблемам с null (там где тот есть)

Это так на мой непросвещённый взгляд,
прошу разубедить
источник