Size: a a a

Elm Lang сообщество разработчиков

2019 August 21

G

GG in Elm Lang сообщество разработчиков
Max P
спасибо, и все же, хотелось бы добить эту ) с map нет ясности, почему от maybe избавились, или я не правильно вопрос изначально ставлю?
Скорее всего это функтор
источник

G

GG in Elm Lang сообщество разработчиков
С генератором списка на Википедии ещё найди)
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
GG
С генератором списка на Википедии ещё найди)
Да тоже самое
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Я предпочитаю фильтр
источник

MP

Max P in Elm Lang сообщество разработчиков
GG
Скорее всего это функтор
да он, что это проясняет?
// map :: Functor f => (a -> b) -> f a -> f b
источник

DG

David Graycen in Elm Lang сообщество разработчиков
Пример не очень удачный дал. За поиск кода спасибо :)
источник

G

GG in Elm Lang сообщество разработчиков
Ryner :: () -> IO ❄️
Серьезно?
Возможно, процедурный код читать легче, там есть массив, и ты в цыкле пушишь туда, а в хаскеле надо в голове строить рекурсивное дерево, чтоб понять проведение этого кода
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
GG
Возможно, процедурный код читать легче, там есть массив, и ты в цыкле пушишь туда, а в хаскеле надо в голове строить рекурсивное дерево, чтоб понять проведение этого кода
Не, читать императивный код сильно сложнее
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Он не имеет смысла с человеческой стороны и о нем думать тяжело
источник

DG

David Graycen in Elm Lang сообщество разработчиков
Но чтобы прояснить. Хаскель поощряет делать код слишком выразительным, что означает 1) не гибко 2) не всегда оптимально
источник

G

GG in Elm Lang сообщество разработчиков
Max P
да он, что это проясняет?
// map :: Functor f => (a -> b) -> f a -> f b
f это грубо говоря коробка
map первым принимает функцию (a -> b)
Вторым принимает коробку со значением внутри f a
Ну и как мы видим по сигнатуре типов map распокует f достанет a и передаст в функции (a->b) которая ввернет b и тогда map запакует этот b в f и вернет f b
источник

DG

David Graycen in Elm Lang сообщество разработчиков
Короче, мне кажется ясность важнее выразительности. Тем самым, хаскель не взлетел, потому что сложно читать код, следовательно его поддерживать
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Хаскель сильно более гибкий язык
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Там повсюду HKT и полиморфизм который не снился ребятам с дженериками
источник

G

GG in Elm Lang сообщество разработчиков
David Graycen
Короче, мне кажется ясность важнее выразительности. Тем самым, хаскель не взлетел, потому что сложно читать код, следовательно его поддерживать
Мне проще на хаскеле читать чем на жс
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
+
источник

G

GG in Elm Lang сообщество разработчиков
Хотя хаскель я узнал после жс
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Особенно читать код
источник

MP

Max P in Elm Lang сообщество разработчиков
GG
f это грубо говоря коробка
map первым принимает функцию (a -> b)
Вторым принимает коробку со значением внутри f a
Ну и как мы видим по сигнатуре типов map распокует f достанет a и передаст в функции (a->b) которая ввернет b и тогда map запакует этот b в f и вернет f b
я вроде все это понял, что тут написано, но все равно не понял, в какой момент у нас значение Maybe(что-нибудь), стало не Maybe.
спасибо в любом случае
источник

G

GG in Elm Lang сообщество разработчиков
В жс вообще нельзя читать код. Там надо постоянно писать console.log чтоб знать что у тебя в переменной
источник