@haskellru

Страница 468 из 1551
A64m
16.10.2017
09:44:53
получаются такие вот вилы Мортона, при дефолтных настройках выиграть меняя один A невозможно.

@qnikst не уверен что поровну. В какие чанки капабилити набрала для аллокации, те один поток ГЦ трейсит, вроде так.

Alexander
16.10.2017
09:47:37
о, ваще ужасно

это ж почти гарантировано, что одна capability наберёт больше других

Google
A64m
16.10.2017
09:53:39
но я не уверен на этот счет

показатели Parallel GC work balance привда без qb0 обычно ниже плинтуса, как они этого добиваются я помню плохо

Denis
16.10.2017
10:45:09
мне reify говорит TySynD, значит, можно
хорошее замечание, я в документации не нашел, а реифаем забыл попробовать

спасибо

A64m
16.10.2017
15:50:00
отлично, обсуждение первого языка для изучения фп поползло на реддит.

мой личный анекдотический опыт с пурскриптом: когда я переписывал небольшой хеллоуворлд на хаскеле на другие ФЯ (для бенчмарков и определения мест где требуется расставление костылей) я быстро и без особых проблем переписал его на ocaml, f#, alice, idris и даже scala, который и фя-то не назовешь. Но пурскриптовая версия так и не заработала - вышибает стек и привет.

Pig
16.10.2017
15:59:18
F# какой-то уж очень ограниченный

Тёма
16.10.2017
15:59:38
Чего не скажешь о F*

Диёр
16.10.2017
16:00:39
А F* сырой

Pig
16.10.2017
16:01:07
Пишешь: let const x _ = x let const' _ x = x let curry f x y = f (x, y) let uncurry f (x, y) = f x y А вот так уже нельзя: let fst = uncurry const

И сразу как-то скучно становится.

Google
A64m
16.10.2017
16:01:42
система типов у F# самая убогая из перечисленных, но хоть есть какие-то элементарные ФП удобства вроде нормальнго сранения, не слишком страшного ПМ и сносного вывода типов, чег в скале, например нету

A64m
16.10.2017
16:02:12
@xgrommx я их и использовал

Denis
16.10.2017
16:03:05
@xgrommx я их и использовал
ну и мб как-то это https://github.com/purescript/purescript-tailrec

A64m
16.10.2017
16:04:53
вероятно, но с этим имплементация будет самая костыльная, из работающего по костыльности чемпион смл из-за худших возможностей по завязыванию узлов

Так что для обучения начинающего я бы не рекомендовал

вообще строгий язык с хаскельным синтаксисом (т.е всякие where и let rec по умолчанию) уже минное поле

а тут еще и имплементаация совсем сырая, даже наколеночный haste так весело стек не вышибает на каждом шагу

Alexander
16.10.2017
16:15:36
почему dhall считают хорошей вещью?

Leonid
16.10.2017
16:16:25
Потому что Гонзалес

Index
16.10.2017
16:16:36
Потому что Гонзалез

Alexander
16.10.2017
16:18:55
страннота

A64m
16.10.2017
16:19:52
он страшно выглядит и требует много аннотаций типов и вообще какого-то странного бойлерплейта

но сама концепция-то нормальная

Alexander
16.10.2017
16:21:04
там ни ad-hoc ни row-polymorphism нету

это полная печалька

и мало средств для абтракции

блин нельзя написать let mkType = \a -> .. uses a in let b = [...] : mkType a in b

Denis
16.10.2017
16:56:03
Dhall всем нравится, гм, платонически

Yuriy
16.10.2017
16:57:08
почему dhall считают хорошей вещью?
единственный язык для вычислимого конфига. да ещё и тотальный

Google
Alexander
16.10.2017
16:57:49
но почему нужен он, а не аналог, который писать пару вечером и он будет делать что надо?

A64m
16.10.2017
16:58:20
ну не пару вечеров, конечно

Yuriy
16.10.2017
16:58:44
ну напиши за пару вечеров аналог

A64m
16.10.2017
16:58:47
но лучше бы действительно кто-то сделал аналог

Alexander
16.10.2017
16:59:11
вот пока вопрос, не лучше ли в dhall контрибьютить

а там правда отличные error messages

A64m
16.10.2017
17:00:19
не думаю, что так в нем можно будет что-то значительное изменить

Alexander
16.10.2017
17:00:19
у меня без прокрутки терминала их не прочитать правда, там какое-то сочинение было

J
16.10.2017
17:12:39
Пыщ

IC
16.10.2017
17:46:36
https://pbs.twimg.com/media/DMLHtKdX0AAwNGN.jpg:large твоё лицо, когда в твоём языке о ф и г е н н ы е типы

Daniel
16.10.2017
19:23:01
нубский вопрос: Пытаюсь с тестами в хаскелле разобраться (hspec). Я правильно понимаю, что в тестах видны только exposed-modules и поэтому надо стараться все выносить из executable в library в exposed-modules? Мне с непривычки это кажется странным (как тестировать тогда other-modules). Может я доки плохо просмотрел, а может так и принято.

IC
16.10.2017
20:02:14
в executable вообще лучше по минимуму держать. как раз в связи с тестированием, да

Alexander
16.10.2017
20:09:25
internal library вводить

и в ней держать other-modules

библиотека внутренняя пишется просто как

library internal в кабал файле

ну вообще любая именованная библиотека явлй яется внутренней и не экспортируется, но ее можно испортировать в тестах

с другой стороны other-modules в общем случае это далеко не лучшая затея

и неясно зачем так делать

ну кроме того, чтобы портить другим жизнь

Google
Alexander
16.10.2017
20:35:35
кто, когда отказался?

я вот сейчас у себя собрал так проект

причем тесты в отдельном hs-source-dir им модуля не видно

в документации новой тоже это есть

Yuriy
16.10.2017
20:37:46
просто пару лет назад ходили разговоры, а я год назад нашёл тикет, в котором решили не делать

Alexander
16.10.2017
20:39:09
ни разу не видел

> Cabal 2.0 and later support “internal libraries”, which are extra named libraries (as opposed to the usual unnamed library section)

https://www.haskell.org/cabal/users-guide/developing-packages.html#developing-packages

мне интересно common-fields ли запилили

illiatshurotshka❄️
16.10.2017
20:53:47
я правильно понимаю что комоноид и моноид это одно и тоже?

Bohdan
16.10.2017
20:55:07
я правильно понимаю что комоноид и моноид это одно и тоже?
Неправильно понимаешь, в комоноиде на две буквы больше

Ilya
16.10.2017
21:37:39
я правильно понимаю что комоноид и моноид это одно и тоже?
class Comonoid a where comempty :: a comappend :: a -> a -> a comconcat :: a -> [a] Это комоноид или нет?

Я просто развернул все стрелки, а так я не в теме

illiatshurotshka❄️
16.10.2017
21:38:24
все сложно

kana
16.10.2017
21:38:29
ну, у моноида есть (a, a) -> a, у комоноида a -> (a, a) и memtpy :: () -> a в a -> () comconcat в бесконечный массив развернет

Андрей
16.10.2017
21:39:09
а вообще забавно как он лист развернет из мконката )

Google
illiatshurotshka❄️
16.10.2017
21:40:47
и синглтон сет

из одного обьекта

если мы просто стрелки повернули >_>

Pig
16.10.2017
21:42:52
А зачем моноиду concat?

illiatshurotshka❄️
16.10.2017
21:43:09
конвиниенс

Ilya
16.10.2017
21:44:41
Когда мы отделяем от строки по одной буковке - это комоноид? Или раскладываем натуральное число в сумму единиц?

Пытаюсь придумать какие-то примеры чисто по сигнатуре...

Андрей
16.10.2017
21:45:11
а в сумму двоек не катит?

Ilya
16.10.2017
21:45:56
а в сумму двоек не катит?
Ща узнаем у @kana_sama

Андрей
16.10.2017
21:46:02
или в бесконечную сумму нулей, как ту выше предлагали )))

kana
16.10.2017
21:46:04
да я хз вообще, я не шарю)

Андрей
16.10.2017
21:46:34
а что - бесконечный список мемптев как сомконкат! ) как идея?

Ilya
16.10.2017
21:46:35
или в бесконечную сумму нулей, как ту выше предлагали )))
Нулик можно выдавать, если дальше не раскладывается ужо

В comappend

comconcat 7 = [1, 1, 1, 1, 1, 1, 1, 0, 0, 0...] comconcat "hask" = ["h", "a", "s", "k", "", "", "", ...]

Какой-то бред

illiatshurotshka❄️
16.10.2017
21:50:04
лоол

откуда код?

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