@haskellru

Страница 1535 из 1551
A64m
19.10.2018
13:39:26
Я ни одного учебника по языкам не дочитал до конца, но тем не менее они давали отличный старт, а дальше уже можно плыть самому по твоей схеме, блоги и QA
речь не про то, что книги не нужны, речь про то, что по книге ничего не выучить без того, кто ответы проверяет

и если обычно это значает, что один человек ничего не выучит, то в случае программирования это не так

Aleksey
19.10.2018
13:42:14
Вон, SICP ценят во многом за то, то там задач много :)

Google
Index
19.10.2018
13:43:20
Это в конце уже речь пошла так, как ты сказал:)
Это буквально первое сообщение данного диалога

Программисту хорошо, у него есть компилятор, который всему научит. Математику нужен преподаватель, который будет домашнюю работу проверять, а тут запустил и увидел, получилось или нет.

A64m
19.10.2018
13:43:44
а хаскельные книги и правда не нужны

Index
19.10.2018
13:43:45
Я противопоставляю преподавателя и компилятор

А не книги и компилятор

Книги это дополнительный справочный материал в обоих случаях.

A64m
19.10.2018
13:44:26
это обычно косноязычное пересказывание гхц-мануала и текста base, плюс кукбук про устаревшие библиотеки

Ilya
19.10.2018
13:45:17
Aleksey
19.10.2018
13:45:57
это обычно косноязычное пересказывание гхц-мануала и текста base, плюс кукбук про устаревшие библиотеки
GHC мануал и текст base, это справочная информация. Её не нужно пересказывать, но учебник и не должен из оной только и состоять

Alexander
19.10.2018
13:46:16
Anton
19.10.2018
13:46:47
Программисту хорошо, у него есть компилятор, который всему научит. Математику нужен преподаватель, который будет домашнюю работу проверять, а тут запустил и увидел, получилось или нет.
теорем-пруверы могут во многом заменить преподавателя я согласен, что не так много математики формализовано на сегодня, но довести до уровня когда преподаватель будет не нужен они уже сейчас могут

A64m
19.10.2018
13:46:48
и когда я хаскель изучал, то учебник по нему (такая брошурка GITH) был именно про синтаксис в основном, мол вы, конечно знаете уже какой-то фя, вот в хаскеле для этого всего такой вот синтаксис

Google
Ilya
19.10.2018
13:49:32
2к18 год, уже существует интернет, более того, в интернете существует вольфрам
Вольфрам хороший, особенно на 1-2 курсах, дальше уже потруднее

Математики это всё же в сторону пруверов, а не вольфрама

A64m
19.10.2018
13:50:48
GHC мануал и текст base, это справочная информация. Её не нужно пересказывать, но учебник и не должен из оной только и состоять
я встречал только две книжки про хаскель где делались какие-то потуги дать знания о том, что ФЯ-то это не совсем как обычные языки - книжка Берда (которая три издания, первое про миранду еще) и хаскель скул оф экспрешн худака. не могу сказать что они успешны на этом направлении, но хоть попытка такая есть

обычно слон в комнате "хаскель примерно так же похож на мл, как пролог похож на фортран, хотя выглядит как будто бы похож" полностью игнорируется

Sergey
19.10.2018
13:52:44
https://www.cis.upenn.edu/~bcpierce/papers/LambdaTA-ITP.pdf

к теме беседы

Anton
19.10.2018
13:54:38
https://www.cis.upenn.edu/~bcpierce/papers/LambdaTA-ITP.pdf
? полностью поддерживаю

Aleksey
19.10.2018
13:58:21
LYaH не предполагает налицие навыка программирования на ИП-языках. Поэтому необычность и не преподносит - читатель может не знать про обычное

Писать книгу с кучей отсылок "а вот тут не как у Java, а вот тут не как у C", имхо, странно

Ilya
19.10.2018
13:59:22
Обычно просто говорят, "забудьте, что знали ранее"

A64m
19.10.2018
13:59:40
я бы поспорил, что предполагает, хотя может сам автор так не бумает

kana
19.10.2018
13:59:40
да нет, часто используют этот трюк чтобы показать код на плюсах скажем, а потом однострочник на хаскеле

Aleksey
19.10.2018
13:59:51
LYaH пытается быть первой книгой по программированию

kana
19.10.2018
13:59:56
теоркат для программистов это использут по началу

Google
kana
19.10.2018
14:00:41
да нет, вполне себе, людей сначала нужно завлечь, а такие вот вещи помогают

Ilya
19.10.2018
14:00:46
да нет, вполне себе, людей сначала нужно завлечь, а такие вот вещи помогают
Я думал, если человек открыл учебник по хаскель, то он уже завлечен

Aleksey
19.10.2018
14:01:34
да нет, вполне себе, людей сначала нужно завлечь, а такие вот вещи помогают
Я - как читатель - не знаю Си, скажем. Чем этот пример меня завлечёт? Может я столь же короткий однострочник на питоне напишу легко?

Aleksey
19.10.2018
14:02:13
Завлекать квиксортом приснопамятным - зашквар

kana
19.10.2018
14:02:18
книги пишут не для особенных людей, а для масс

kana
19.10.2018
14:03:18
Завлекать квиксортом приснопамятным - зашквар
по моему, LYH как раз это и делает)

Ilya
19.10.2018
14:04:26
Завлекать не зашквар, но это не нужно в учебнике

Завлекать можно в других местах

kana
19.10.2018
14:04:49
очень даже нужно, если это не учебник обязательной программы

Aleksey
19.10.2018
14:05:38
по моему, LYH как раз это и делает)
LYaH не завлекает квиксоротом. Оный используется в качестве примера рекурсивной функции. В середине книги уже. И уж никак не в виде "смотрите, на haskell квиксорт пишется в три строки"

kana
19.10.2018
14:05:53
книги для новичков потому и книги для новичков, что дают новичкам материал понятно и так, чтобы оне не потеряли интерес

Ilya
19.10.2018
14:07:36
Москвин завлекает, кажется, фолдрами и прочими go. Холомьёв завлекает типами и классами

Neujaskre
19.10.2018
14:24:15
LYaH пытается быть первой книгой по программированию
И хорошо в этой роли заходит, для меня вот зашла.

Хотя это и не лучшая книга по Хаскелю вообще.

A64m
19.10.2018
14:39:49
чет хаскелисты "квиксорта" застеснялись

Aleksey
19.10.2018
14:43:36
чет хаскелисты "квиксорта" застеснялись
Я не стесняюсь. Но не считаю, что противопоставление квиксорта в LYaH квиксорту на Си, это хорошее, годное дело.

Google
A64m
19.10.2018
14:44:11
надо противопоставлять трисорту, конечно, он на си будет сильно страшнее

Alexander
19.10.2018
15:03:01
@astynax а круче даже антипримеры, т.е. задачи где что-то использовать не надо

оно обычно для понимания лучше, как и приведение контр примеров в математике

Aleksey
19.10.2018
15:04:33
Это полезно, согласен

Alexander
19.10.2018
15:06:00
но хз кто такое сделать адекватно может

lens task generator

генерирует структуру, значение и описание того что получить

A64m
19.10.2018
15:09:29
надо примеры использования автоматизированно извлекать из либ на хекедже, а не из ответов в чатиках

листаю материал по которому я хаскель учил в свое время, да, там есть на что посмотреть как вам такое? fib@(1:tfib) = 1 : 1 : [ a+b | (a,b) <- zip fib tfib ]

Index
19.10.2018
15:18:58
fib@(_:tfix) надо было.

Лишний матчинг.

A64m
19.10.2018
15:19:14
да

Maxim
19.10.2018
15:34:20
Так, народ. А поясните ещё пожалуйста за споры free monad vs final tagless Это же вроде не эквивалентные вещи - на монадах можно делать эффекты, смотри пример с getLine / putLine. А как в FT что-то такое можно закодировать?

kana
19.10.2018
15:36:10
class Monad m => MonadF m where f :: m () instance MonadF IO where f = print "hello" data F r = F r interpret :: F a -> IO a interpret (F next) = print "hello" >> pure next runF :: Free F a -> IO a runF = foldFreeM interpret

Maxim
19.10.2018
15:39:37
Так, падажжи

А если у меня в языке есть две операции - прочитать строку и записать строку. Я написал на этом языке программу "прочитать строку, добавить к ней !, записать то что получилось" Как?

На фри понятно как

Index
19.10.2018
15:41:02
class Monad m => MonadF m where printhello :: m () getline :: m String

Maxim
19.10.2018
15:41:43
Ну тут монад явно появляется...

kana
19.10.2018
15:41:59
class Monad m => MonadRW m where read :: m String write :: String -> m () program :: MonadRW m => m () program = do x <- read write (x ++ "!")

Google
Maxim
19.10.2018
15:41:59
Хотя я кажется понял, что бред какой-то спросил

Alexander
19.10.2018
15:43:06
они эквивалентны

и можно переводить одну форму в другую

Maxim
19.10.2018
15:43:33
Короче, когда мы пишем функтор для фм, у нас нет нигде монады

А тут (в мтл выше в чате) монада явно

Это меня и смутило

kana
19.10.2018
15:44:47
instance Functor f => Monad (Free f)

Alexander
19.10.2018
15:44:53
так монада выводится из наличия функтора забесплктро (free)

в общем-то свободные структуры вроде же по этому так и называются

что по одной строится другая

даёшь функтор получаешь монаду

просишь моноид, получаешь список

kana
19.10.2018
15:46:36
хм, я воспринимаю свободные структуры как свободные от отношений, то есть алгебра без отношений, только порождающие + отношения из определения алгебры

Maxim
19.10.2018
15:46:48
ладно, надо дочитать статью Олега до конца

там кажется обещались эффекты

kana
19.10.2018
15:51:33
Нет-нет, тут я сомневаюсь, это предположение тоже интуитивное после ознакомления со свободными группамии

Iva
19.10.2018
18:07:02
Что в хачкеле выполняется раньше, подстановка имплиситов или же развёртка макросов?

Alexander
19.10.2018
18:10:51
что такое имплиситы в haskell?

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