@haskellru

Страница 797 из 1551
Vitaly
31.01.2018
17:27:00
Да нормальная, конечно. Сильно упрощает условия

Александр
31.01.2018
17:30:28
https://2ch.hk/pr/src/1063552/15057411462320.png
Согласен, кстати. Питон - поделие двоечника. Кривой со всех сторон.

Посмотрел в Hoogle краем глаза, не нашел, гм

Google
Александр
31.01.2018
17:33:29
MonadFix
Не совсем, на самом деле.

Denis
31.01.2018
17:33:42
Александр
31.01.2018
17:34:20
Да, сконструировать я могу вручную. Полагаю, даже с помощью MonadFix. Но будет ли это то же самое?

ParkeT
31.01.2018
17:34:46
А что значит "неструктурно"?

Александр
31.01.2018
17:35:24
опиши что надо
https://pursuit.purescript.org/packages/purescript-tailrec/3.3.0/docs/Control.Monad.Rec.Class#t:MonadRec Здесь явно выражен шаг и условие завершения. Монада для хвостовой рекурсии.

Vitaly
31.01.2018
17:37:17
А что значит "неструктурно"?
В структурном программировании есть теорема: любой алгоритм можно записать без безусловных переходов (goto, break, continue и т.п.). Вот они и требуют так писать.

Александр
31.01.2018
17:38:10
О боже, это ж...

Александр
31.01.2018
17:39:44
а зачем это ленивому языку?
Хвостовая рекурсия зачем? Или способ не городить дикие костыли, если хочется прервать вычисление?

ParkeT
31.01.2018
17:40:33
А пурскрипт и не ленивый

Denis
31.01.2018
17:41:57
Хвостовая рекурсия зачем? Или способ не городить дикие костыли, если хочется прервать вычисление?
ну наверное потому что хаскелл сам оптимизирует хвостовые рекурсии на уровне компилятора?

Google
Leonid
31.01.2018
17:41:58
в пурсе оно чтоб стэк не взрывался

Denis
31.01.2018
17:43:59
Александр
31.01.2018
17:44:27
ну наверное потому что хаскелл сам оптимизирует хвостовые рекурсии на уровне компилятора?
Так не всякая рекурсия хвостовая. А если напишешь вот в этой монаде, - будет

Александр
31.01.2018
17:45:48
Ну я могу ошибаться. Поправь, полезно

ParkeT
31.01.2018
17:46:18
Ну, дык, на трамплин ее, раз хвостовая, и нет оптимизации.

Александр
31.01.2018
17:46:48
Я, к сожалению, не знаком с этой концепцией :(

Denis
31.01.2018
17:47:15
Я, к сожалению, не знаком с этой концепцией :(
https://github.com/purescript/purescript-free/blob/master/src/Control/Monad/Trampoline.purs

Александр
31.01.2018
17:47:59
Я видел, что оно там лежит. Я просто не знаю, что оно делает

Denis
31.01.2018
17:48:47
Я видел, что оно там лежит. Я просто не знаю, что оно делает
ну тут почитай секцию "Coroutine Pipelines" https://themonadreader.files.wordpress.com/2011/10/issue19.pdf

Александр
31.01.2018
17:48:55
Спасибо.

ParkeT
31.01.2018
17:48:55
Не взрывает стек, за счет оборачивания в цикл

Антон
31.01.2018
17:49:14
— | A _trampoline_ monad, which can be used at the bottom of — | a monad transformer stack to avoid stack overflows in large — | monadic computations.

Александр
31.01.2018
17:49:46
Приятно, что можно не лазить самому по ссылкам и в гугль :)

Alexander
31.01.2018
17:50:06
the essence of the Haskell community

Александр
31.01.2018
17:50:33
Если бы! Вообще-то, мне знакомые жалуются, что хаскельное сообщество токсично.

Антон
31.01.2018
17:50:37
Если бы! Вообще-то, мне знакомые жалуются, что хаскельное сообщество токсично.
И есть за что: полно тех, кто считает, что все программисты на Haskell должны знать теоркат

А те, кто не знают — недостойны того, чтобы до них снисходить

Google
Александр
31.01.2018
17:51:51
Упс. Увы, да, но выше @qnikst уже спросил, где эти самые люди.

Alexander
31.01.2018
17:53:20
очень часто приходят сразу с непонятными шаблонами наездами и т.п., зачастую неясно где непонимание, а где троллинг

а тролли не tolerated

Denis
31.01.2018
17:53:35
а тем временем Фриман запилил расширяемые эффекты через Day Convolution (comonads) https://github.com/paf31/purescript-smash

Leonid
31.01.2018
17:55:50
гофера спросят "а чё такое говно язык?" а они сразу - токсично

Александр
31.01.2018
17:58:03
Консерны у человека были еще о том, что, мол, хаскеллисты на зигохистоморфных препромоморфизмах зациклены, и что многие беседы - это что-то заумное ради самой зауми. Чувак, кстати, попробовал Хаскель немного.

Leonid
31.01.2018
17:58:51
это он просто отмазывался так

Leonid
31.01.2018
17:59:11
обычно люди с хаскелем завязывают не раздуплив базовый синтаксис

мол нет {} и функции вызывают без ()

а уже паттерн матчинг это вообще стрёмно

Denis
31.01.2018
17:59:44
Leonid
31.01.2018
18:00:03
вот это токсично было

Aragaer
31.01.2018
18:01:26
в птоне нет {}, а в перле без ()

что не мешает

Евгений
31.01.2018
18:01:41
И паттерн-матчинг много где

Leonid
31.01.2018
18:02:16
про питон нытьё про оступы на всех каналах связи

Антон
31.01.2018
18:02:19
И паттерн-матчинг много где
Где в мейнстриме паттер-матчинг?

Кроме Rust

Google
Psy
31.01.2018
18:02:41
Leonid
31.01.2018
18:02:50
Rust мейнстрим /0

Антон
31.01.2018
18:03:05
Эрл
Он там вроде угрёбищный

Александр
31.01.2018
18:03:09
Где в мейнстриме паттер-матчинг?
В Питоне есть. Зачаточный

Leonid
31.01.2018
18:03:16
раст тоже никто не осиливает

Антон
31.01.2018
18:03:20
Rust мейнстрим /0
Уж и пошутить нельзя

Jey
31.01.2018
18:03:28
Замечательный, в целом, паттернматчинг

Leonid
31.01.2018
18:03:45
Уж и пошутить нельзя
нельзя. мы мрачные токсичные хаскелисты

Александр
31.01.2018
18:03:49
В плюсы, вроде, хотят добавить.

Admin
ERROR: S client not available

Антон
31.01.2018
18:03:54
В Питоне есть. Зачаточный
Destructuring (ограниченный кортежами) != pattern matching

Jey
31.01.2018
18:04:25
нельзя. мы мрачные токсичные хаскелисты
А как же милые яойные хаскелль-трапики?

Leonid
31.01.2018
18:04:28
и вообще, какая разница о какой зауми говорят какие-то хаскелисты?

Psy
31.01.2018
18:04:29
Ды чего вы, ведь прям на конфе последней Волков на докладе примерно так и сказал, что без теорката ты не человек

Антон
31.01.2018
18:04:30
Замечательный, в целом, паттернматчинг
Больно многословный. Во всяком случае, с типами суммами возьни много

Александр
31.01.2018
18:05:00
Destructuring (ограниченный кортежами) != pattern matching
Это общепринятое знание? А то если буквоедством заниматься, то одно в другое входит

Leonid
31.01.2018
18:05:38
1. Группа людей объеденненная по признаку "хаскелист" не является сообществом 2. Какая разница о чём они там говорят и пишут 3. Я смог в хаскель, значит каждый может.

Антон
31.01.2018
18:05:44
Это общепринятое знание? А то если буквоедством заниматься, то одно в другое входит
Вполне. Деструктуризация кортежей — всё, что есть в питоне от паттерн-матчинга

Google
Psy
31.01.2018
18:07:02
Если не ошибаюсь, всякое такое можно было от некоего Сохацкого услышать.
Ну это вообще отдельный персонаж относительно всего

Александр
31.01.2018
18:07:29
Как бы то ни было, со стороны эти персонажи более видны

Гм, могу ошибаться, но и словарей вроде тоже... или нет?

A64m
31.01.2018
18:11:07
обидно, конечно, что у такого удивительно разумного по нынешним временам язаыка как пурскрипт такая карикатурно убогая имплементация с костылением базовых фп вещей

Alexey
31.01.2018
18:11:24
если деструктуризация - это pattern matching, то тогда pattern matching есть и в ES6, что было бы уже перебором

A64m
31.01.2018
18:12:48
деструктуризация - это ПМ

A64m
31.01.2018
18:13:13
иначе получается, что ПМ не отец Конора МакБрайда изобрел

A64m
31.01.2018
18:14:00
А что там не так?
ничего не оптимизируется

Александр
31.01.2018
18:14:42
А что там не так?
Ну, в либах там сплошные unsafeCoerce и reinterpret_cast а-ля PS-JS-PS

A64m
31.01.2018
18:15:14
ну это-то понятно

Александр
31.01.2018
18:15:42
Ленивости нету

A64m
31.01.2018
18:16:57
это плохо, но тут у автора никакого выбора, язык без своего рантайма ленивым не сделать

Александр
31.01.2018
18:17:48
Саймона нашего Пейтона Джонса нету

Антон
31.01.2018
18:18:41
Саймона Петона-Джонса на вас нет!

A64m
31.01.2018
18:18:55
ну хоть как-то ФП оптимизировать не только в ghc пытались

Alexey
31.01.2018
18:22:45
Их можно симулировать в JS так же, как симулируются туплы

Страница 797 из 1551