@haskellru

Страница 389 из 1551
Даниил
05.09.2017
12:07:31
Aleksey
05.09.2017
12:07:42
Кложа - не Лисп

И редефайн def-ов там никто не отменял. Сами структуры, да, иммутабельные

Но мутабельные ссылки на них

Google
Denis
05.09.2017
12:08:54
а про фронтенд @astynax пробовали miso?

Aleksey
05.09.2017
12:10:00
Нет пока. В закладках, всё хочу добраться. Но ghcjs делает меня грустным из за скорости компиляции -настолько, что и смотреть на него не хочется особо :)

Max
05.09.2017
12:13:10
jit сделали?
Сделали и допиливают - http://erlang.org/doc/man/HiPE_app.html

Dmitry
05.09.2017
12:18:21
HiPE я помню, с ним что-то не ок было.

там кто-то хотел llvm прикрутить в качестве JIT

что в принципе имеет смысл, чем кончилось, уже не знаю

Aleksey
05.09.2017
12:20:48
Read-Waaaait-Eval-Waaaaaaaaaait-Print-Wait-Loop?

Удавалось, но лучше и не пробовал бы

Dmitry
05.09.2017
12:21:16
что-то это печальная история с GHCJS

мы было тоже в него начали

Taras ?
05.09.2017
12:28:24
не не не, спасибо эликсира накушался, нафиг он мне сдался

Google
Taras ?
05.09.2017
12:28:46
интересует в чем хаскель покруче эрланга, поприятней и так далее

Dmitry
05.09.2017
12:30:32
сильной статической типизацией и вообще системой типов, синтаксисом, компиляцией в нативный код и инфраструктурой на выбор - stack или nix (который, правда, не только про хаскел)

нормальными модулями, хотя и не настолько нормальными, как хотелось бы (backpack!)

тем, что библиотек хоть и мало, но всё равно в разы больше

что я пропустил?

? animufag ?
05.09.2017
12:38:52
там же вроде какие то прям конкретные проблемы есть в нём. ну строки из чисел, вечно какието прагмы компилятору прописываются в файле.

https://www.stackage.org/haddock/lts-9.3/eventstore-0.15.0.2/Database-EventStore-Internal-Test.html#v:mempty почему в сотнях библиотек есть свой моноид?

Aleksey
05.09.2017
12:44:27
Это реэкспорт, не?

? animufag ?
05.09.2017
12:44:42
а ок

тогда проблема с hoogle в stackage

kana
05.09.2017
12:45:22
Ну эрланг такой же функциональный, как js, имхо

? animufag ?
05.09.2017
12:46:43
не, иммутабельность – большой плюс

kana
05.09.2017
12:47:05
Эрланг мультипарадигменный же, причем в основном императивен (и может даже ближе к ООП, чем джава какая), но с иммутабельнюстью, паттерн-метчингом и еще большим количеством функциональных фишек

Aleksey
05.09.2017
12:48:02
тогда проблема с hoogle в stackage
haddock реэкспорты так показывает, мол "класс указал, вот я и рендерю доки по классу"

Где это эрланг императивный? В посылке сообщений? :)

Dmitry
05.09.2017
12:51:16
в ; .

пардон, там , .

Aleksey
05.09.2017
12:51:29
Эт да :)

Но из эффектов там либо IO, либо посылка сообщений. Мутабельных переменных хоть нет

? animufag ?
05.09.2017
12:52:49
короче хотел посмотреть кто использует функтор или моноид, но хугл выдаёт треш Functor f => f a и далее нерелевантные результаты

Google
Aleksey
05.09.2017
12:53:48
кто использует? Все используют!

? animufag ?
05.09.2017
12:57:36
если расширить мой вопрос: зачем нужен fmap если можно было как во всяких окамлах писать List.map, Optional.map fmap можно использовать для любого функтора, но кто, зачем использует? можно придумать пример для монады где есть полезная функция sequence (такого в мл уже не сделаешь), хотелось бы посмотреть ещё примеры таких функций для тайпклассов попроще

Aleksey
05.09.2017
12:58:29
fmap не про контейнеры, он про функтор :)

fmap (+ 1) (* 2) где тут контейнер?

? animufag ?
05.09.2017
12:59:37
ооох

Vasiliy
05.09.2017
12:59:51
ну вот же, (* 2)

? animufag ?
05.09.2017
12:59:52
теперь ок?

Aleksey
05.09.2017
13:00:15
И где контейнер? Что в контейнере?

Я к тому, что контейнер - плохая аналогия

И "контекст" - тоже плохая аналогия

? animufag ?
05.09.2017
13:01:04
я ОДИН раз написал контейнер

извини

оговорился

всё

Alex
05.09.2017
13:01:15
strengthL :: Functor f => a -> f b -> f (a, b) strengthL = fmap . (,)

Aleksey
05.09.2017
13:01:30
Да ладно, я троллю слегка :)

? animufag ?
05.09.2017
13:01:42
считай что затролил

Alexander
05.09.2017
13:01:47
это не аналогия ?

/me задумался а есть ли такой термин

Google
Aleksey
05.09.2017
13:02:31
"Аналогия" в смысле "так в некоторых монадных туториалах объясняют"

Псто все правы, но только в частности. Где-то реализующий функтор тип, это таки контейнер, а где-то - контекст, а где-то - эффект

? animufag ?
05.09.2017
13:04:01
strengthL :: Functor f => a -> f b -> f (a, b) strengthL = fmap . (,)
ну слабенько. лучше уж найти нормально список всего такого и оценить есть ли в этом польза

Alex
05.09.2017
13:04:36
как же слабенько, когда сильненько (слева)?!

Aleksey
05.09.2017
13:04:45
Польза от fmap то? Кругом она

Alexander
05.09.2017
13:05:19
@astynax я не знаю какой смысл ты вносишь в слово контекст

? animufag ?
05.09.2017
13:05:23
я бы назвал weaknessL

Alexander
05.09.2017
13:05:28
но для меня туда включются и эффекты и контейнеры

так что очевидно, какой-то другой

не знаю какой

Alexander
05.09.2017
13:06:00
ок

Aleksey
05.09.2017
13:06:29
Если включить и эффекты и контейнеры, то будет правильный "контекст"

Alex
05.09.2017
13:06:52
да просто категория

функтор он же промеж категорий

Alexander
05.09.2017
13:07:21
> The basic idea behind the semantics of programs de- scribed below is that a program denotes a morphism from A (the object of values of type A) to TB (the object of computations of type B).

но это люди разбегуться ?

а там и о функторах для связи computations с чистыми функциями потребуются

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

я кстати не знаю с чего разговор начался, может я оффтоплю

Google
? animufag ?
05.09.2017
13:10:54
ну ок, был бы он map

Alexander
05.09.2017
13:11:19
и?

Prelude Data.List> (/) <$> sum <*> genericLength $ [1,3,5] 3.0

вот пример для (-> a)

не прям такое, но для функций принимающих одно и тоже значение на вход такая штука часто пишется

так же как и map для Either и Maybe

? animufag ?
05.09.2017
13:13:39
вопрос в том зачем его обобщать. понятно что ты теперь можешь сделать более удобную функцию для любого функтора, типа mkSmth = fmap myFun

Alexander
05.09.2017
13:14:22
ну например загляни в Vynil или прочие линзы

vynil

плюс, тут я пример в чятике не приведу

Aleksey
05.09.2017
13:16:10
> зачем его обобщать потому что можно

А в Elm - нельзя

Alexander
05.09.2017
13:16:18
но иметь код вида data Blah (f :: * -> *) a = ...

вообще вот базовые линзы на этом построены

про обобщение

траверсалы уже на applicative

далее

? animufag ?
05.09.2017
13:18:05
А в Elm - нельзя
очень много где нельзя. но в основном всё неудобство сводится к тому что приходится писать List.map и тип напрягает эта эксплисивность редко ситуация что прям дважды нужно написать функцию чтобы она работала с 2мя разными функторами

ну правда так скорее от того что либы не пишу

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