@haskellru

Страница 1526 из 1551
A64m
17.10.2018
09:09:07
было бы естественнее если бы обычный хаскельный лейаут был

Alexander
17.10.2018
09:09:40
Google
Alexander
17.10.2018
09:10:36
тут кстати смешались списки и структуры

я даже не знаю что обсуждаем

A64m
17.10.2018
09:10:43
через запятую только в схеме типа т.е. foo, bar :: Int; baz :: String

это какой, с where?
да, синтаксис у рекордов должен быть как у классов/гадт

kana
17.10.2018
09:11:18
A64m
17.10.2018
09:11:34
да

kana
17.10.2018
09:12:35
ну да, в принципе норм, но хз как это с GADT будет

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

A64m
17.10.2018
09:13:33
(но я и против нынешнего иснтаксиса ничего особо не имею)

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

лол, в джейнстритовском блоге нельзя получить ссылку на заголовок на странице но не беда, в принципе, там первым номером то что надо https://blog.janestreet.com/ocaml-4-03-everything-else/

твиговец опять в ghc-devs написал, что готовы успеть до заморозки дифф с линейными типами подготовить (перед заморозкой 8.6 тоже такое писали)

но спж что-то сомневается что успеют вмерджить

Google
A
17.10.2018
09:26:19
"the multicore GC" так и не впилили

Yuriy
17.10.2018
09:52:19
лень читать всю простыню, но в естественном языке запятая означает разделение и паузу, а в программировании — объединение в узел AST. когда она ведущая, легче считывается AST

а по AST — логическая структура программы

Index
17.10.2018
10:20:52
Взяли бы тогда другой символ

Так надоели эти стили, хоть иди структурный редактор пиши

Alexander
17.10.2018
10:23:33
или хороший stylish, который туда и обратно все переводит

и.к. редактировать пока проще плоский текст

Александр
17.10.2018
10:24:33
На лиспе писать надо, и все

Alexander
17.10.2018
10:28:11
или на тикле

A64m
17.10.2018
10:28:43
вот редкий пример синтаксиса, который действительно чувствителен к стилю форматирования, т.е. когда есть какая-то заметная разница в читаемости - это как раз лисп

Leonid
17.10.2018
10:29:32
а Эван написал для эльма единственный верный форматер?

Index
17.10.2018
10:30:43
Да

Alexander
17.10.2018
10:43:27
у крисдона был шанс сделать это тут

A64m
17.10.2018
10:53:33
шансов не было

Dmitry
17.10.2018
10:58:24
Alexander
17.10.2018
11:45:45
вообще рекорды выше не практично

практично писать: type Record = Any

а академично: newtype Record (t::SomeCrazyStuffHere) = R Any

Pineapple
17.10.2018
12:00:58
Google
Alexander
17.10.2018
12:01:21
три диссертации есть?

Terminator
17.10.2018
13:11:57
@dimiiim будет жить. Поприветствуем!

dimiii
17.10.2018
13:15:20
Привет, только отлучился и уже терминируют. Вопрос - есть какой-нибудь смысл в Continuation Comonad?

Denis
17.10.2018
13:18:41
кто-то пробовал сделать Mealy в Черче?

Aleksey
17.10.2018
13:21:16
На лиспе писать надо, и все
Не на лиспе, а на s-expressions, уж

А ещё лучше - на cirru

set a (add (number 1) (numer 2)) set a $ add (number 1) $ number 2 set a $ add number 1 number 2 set a add number 1 number 2 эквивалентны. Отлично же!

A
17.10.2018
13:23:12
и зачем это вот?

просто как альтернатива?

Aleksey
17.10.2018
13:23:30
Лучшее из двух миров

Если ещё и редектор иметь, который позволяет фолдить-разфолдивать такое, то вообще отлично

Alexander
17.10.2018
13:24:11
или все эти корутины

или ранний выход

или парсер как в аттопарсеке

dimiii
17.10.2018
13:25:11
Может мне в @haskell_learn с этим вопросом?

Совершенно не понимаю ответы

A64m
17.10.2018
13:25:30
оттуда перенаправят сюда

kana
17.10.2018
13:25:38
ну раз уже задал, то можно тут

Google
Yuriy
17.10.2018
13:25:51
А ещё лучше - на cirru
(кажется, я задаю вопрос, за который хаскелиты ненавидят всех остальных, но) а кто-то на этом cirru что-то приближенное к реальности написал?

kana
17.10.2018
13:25:55
но я тоже не понимаю некоторые ответы

Alexander
17.10.2018
13:26:05
смотри есть структура data Foo a, можно сделать из нее ContT Foo, которая позволит построить Foo

Aleksey
17.10.2018
13:26:13
Есть набор парсеров для разных языков. Есть альтернативный ридер для кложуры

Alexander
17.10.2018
13:26:38
например если Foo это элементы Pi-calculi, то ContT Foo будет программой построенной в ней

Yuriy
17.10.2018
13:26:38
Совершенно не понимаю ответы
а continuation и comonad в отдельности понимаешь?

dimiii
17.10.2018
13:27:02
а continuation и comonad в отдельности понимаешь?
Да, не могу вложить смысл в их комбинацию

Yuriy
17.10.2018
13:28:10
Это же просто синтаксис. Там нет языка
синтаксически это язык, и на нём можно писать. мне интересно, действительно ли это менее больно, чем на S-exp?

Aleksey
17.10.2018
13:28:40
Мне и s-exps не больно. Если в редакторе структурное радактирование нормально сделано.

Но лучше скобки не ставить, если можно

Поэтому мне и нравится Cirru.

При этом мне нравится в кложуре возможность объявлять мапы как {:k 1 :v 2} ни запятых лишних ни войн из-за оных!

Идеального синтаксиса нет, из реальных хаскельный - лидирующими запятыми(!) - самый приятный для меня.

Index
17.10.2018
13:44:01
Лидирующие запятые выглядят странно, конкретно этот символ не задуман для такого использования (в естественных языках)

В целом лидирующая пунктуация еще окей, но именно запятые выглядят странно.

Если бы еще это решало какую-то проблему, то ладно, но ведь не решает.

Alexander
17.10.2018
13:48:18
мне удобнее видеть так

даёт уровень выравнивания и легче парсится

Google
A64m
17.10.2018
13:49:16
я предпочитаю так не писать, но особой проблемы не вижу, если так написано

Alexander
17.10.2018
13:49:20
т.е. или запятых не должно быть вообще или впереди

Yuriy
17.10.2018
13:55:28
Aleksey
17.10.2018
13:56:21
можно. Но привыкаешь

Если не писать в строчку, то обычно всё ок

A64m
17.10.2018
14:28:42
это не очень здорово. в новых строках - нет разделителя, в одну строку - есть разделители - это норм, а так не очень

Maxim
17.10.2018
19:25:26
народ, есть вопросик. вот есть у меня GADT: data S (v :: [Symbol]) where S :: Some vs -> Foo ws -> S (Union vs ws) где Union — это тайп фемели, делающее ++ для тайп левел списков представим, что Some и Foo это лейблы, которые делают синглтон список со своим символом. я пишу s = #some `S` #foo и ghc мне ругается, что не может вывести тип. если напишу явно s :: S '["some", "foo"] — тоже ругается эта задача вообще как-то решается? (задача — тащить тайп-левел список строк и объединять их при некоторых операциях. в идеале конечно не список, а множество)

Мерлин
17.10.2018
19:57:52
Добрый день Объясните пожалуйста, в чём отличие newtype от data? B зачем оно нужно?

IC
17.10.2018
19:59:02
Добрый день Объясните пожалуйста, в чём отличие newtype от data? B зачем оно нужно?
Newtype вместо type, чтобы разграничить для тайпчекера. Data для совсем кастома.

Андрей
17.10.2018
19:59:32
наконец-то нормальные вопросы, а то все про контравариантные кофункторы

Leonid
17.10.2018
20:00:15
наконец-то нормальные вопросы, а то все про контравариантные кофункторы
В хаскеле же функторы и кофункторы одно и тоже, не?

Андрей
17.10.2018
20:01:26
Затрудняюсь ответить )

Alister
17.10.2018
20:05:49
Клаупаций

Alexander
17.10.2018
20:07:28
Добрый день Объясните пожалуйста, в чём отличие newtype от data? B зачем оно нужно?
newtype это новый тип, для которого могут быть новые инстансы с тем же runtime преставлением что и вложенный

Alexander
17.10.2018
20:07:39
data это создание новой структуры данных

лучше оригинал дайте, там глаза сломаешь от перевода

Yuriy
17.10.2018
20:09:11
https://speakerdeck.com/konn/the-great-power-of-newtypes

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