@haskellru

Страница 332 из 1551
Index
21.07.2017
09:15:19
(что я хотел сказать)

kir
21.07.2017
09:15:30
Какую связь имеют монады и Compose, вообще? Compose - это операция над функторами

Index
21.07.2017
09:17:20
type f ~> g = forall a. f a -> g a return :: Monad m => Identity ~> m join :: Monad m => Compose m m ~> m

такую связь, монада задается двумя натуральными трансформациями

Google
Index
21.07.2017
09:18:37
одна из identity-функтора, другая из композиции

Они соответствуют mempty и mappend, которые задаются так: mempty :: Monoid m => () -> m mappend :: Monoid m => (m,m) -> m

либо pure и liftA2, которые задаются так: pure :: Applicative f => Identity ~> f liftA2 :: Applicative f => Day f f ~> f

и мы можем написать pure = return liftA2 = join . dayToCompose чтобы из монады получить аппликатив

kir
21.07.2017
09:38:31
А, ну это-то да. Я просто недоумевал, как из аплликатива монаду сделать

Index
21.07.2017
11:58:39
https://stackoverflow.com/a/45236774/1486400

Хорошее объяснение синглтонов

kana
21.07.2017
18:46:30
Я понял, кажется. Под эффектом понимается не что-то impure в контексте всей программы (как то, что происходит над main функцией), а любое неявное изменение контекста над нашим контекстом. Типа, как меняется состояние у некой функции f с State монадой (состояние меняется над этой функцией, а функция вызывается в контексте этого состояния).

То есть эффект - понятие относительное

Андрей
21.07.2017
18:55:31
Бинго

Abbath
21.07.2017
19:21:49
@kana_sama в функтор тоже можно засунуть функцию

Index
21.07.2017
20:23:24
То есть эффект - понятие относительное
Разница между эффектом и сайд-эффектом в том, что отражается в сигнатуре

State s дает стейт как эффект, глобальная переменная дает стейт как сайд-эффект

Google
Index
21.07.2017
20:26:51
А что считать эффектом — это уже более спорный вопрос. Обычно за эффект применяется всё, что функция делает кроме возврата результата, но что относить к результату спорно. Потому что, например, a -> State s b можно рассмотреть как функцию, которая принимает a и возвращает State s b (без эффектов), либо как функцию, которая принимает a и возвращает b (с эффектом State s)

И в Хаскеле есть сайд-эффекты (исключения и non-termination).

Vasiliy
21.07.2017
20:57:48
а разве non-termination - это эффект?

получается, функция без эффектов - это тотальная функция, так что ли?

Index
21.07.2017
21:11:22
Да

А в Coq/Agda, например, для частичных функций используется монада Partiality

Т.е. они явно этот эффект кодируют.

Andrew
22.07.2017
18:24:28
Подскажите пожалуйста. У меня не компилируется исходник: ghc -o simple Main.hs SimpleJSON.o Linking simple ... /usr/bin/ld: cannot find -lHSbase-4.9.1.0 /usr/bin/ld: cannot find -lHSinteger-gmp-1.0.0.1 /usr/bin/ld: cannot find -lHSghc-prim-0.5.0.0 /usr/bin/ld: cannot find -lHSrts collect2: error: ld returned 1 exit status `gcc' failed in phase `Linker'. (Exit code: 1) Система archlinux, ghc 8.0.2, установлен xmonad как основная оболчка.

Index
22.07.2017
18:31:41
GHC установлен как-то странно — не может прилинковаться к основным библиотекам и даже RTS.

Andrew
23.07.2017
08:49:37
Спасибо,

кажется я нашел https://wiki.archlinux.org/index.php/haskell#Problems_with_linking

Alexander
23.07.2017
12:02:45
что тут нового за 2 недели?

Dmitry
23.07.2017
12:05:08
GHC 8.2.1 вышел наконец-то (сегодня)

Alexander
23.07.2017
12:08:35
о круто

Vladislav
23.07.2017
12:52:53
Alexander
24.07.2017
10:47:48
lib:ghc можно пересобирать будет!

похоже пока только с cabal-install правда

Serghei
24.07.2017
11:27:48
а кто-то юзает эту штуку для хаскела? https://github.com/syl20bnr/spacemacs

Даня
24.07.2017
11:29:29
мне не понравилась эта штука

Serghei
24.07.2017
11:33:10
а можно четь подробней, почему?

Google
Serghei
24.07.2017
11:33:21
я еще не щупал, но мне интересно

? animufag ?
24.07.2017
11:34:33
кто использует пишите сразу про свою конфигурацию с реплом (ну не названия, а как там жизнь в целом)

Aleksey
24.07.2017
11:40:33
spacemacs вроде стандартные штуки использует - ghc-mod, intero или inferior процесс на выбор

Остальное - биндинги и нестройки отдельных емаксопакетов

Спейсмакс вообще ничего своего не привносит в сущности (в плане библиотек), только идеологию и модель слоёв

Serghei
24.07.2017
11:42:52
а как же фича " configuration layers" ?

я из-за расказов про нее (хвалебных конечно же) решил вот попробовать

Aleksey
24.07.2017
11:43:21
> и модель слоёв

Serghei
24.07.2017
11:43:34
а

сори

Aleksey
24.07.2017
11:43:52
тамошние слои, это просто распиленный на куски конфиг :)

С use-package любые слои делаются "на раз"

Serghei
24.07.2017
11:45:42
просто я тут решил идрис помучать (чисто ради исследовательских чтук), ну и плюс я там ерланг могу ковырять и прочее. не говоря уже о том, что 80% я пишу вообще на с. хочется что-то одно для всего :)

Aleksey
24.07.2017
11:45:46
Основная фишка spacemacs, это непротиверечивый набор биндингов и переориентация evil на Space в качестве лидирующей клавиши - это сделано для тех, у кого проблемы с кистями рук

> что-то одно для всего это как раз про Emacs - про любой :)

Тёма
24.07.2017
11:46:43
Короч юзай чистый емакс и use-package. На эргономику и остальное пофиг.

Aleksey
24.07.2017
11:47:03
+1

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

Serghei
24.07.2017
11:47:30
есть проблема с тем что имаксс я видел только на картинке

Aleksey
24.07.2017
11:48:22
Тогда можно смотреть на сайтик Xah Li - у него свой подход к биндингам, более привычный новичкам - Ctrl-C/Ctrl-V и проч

Google
Serghei
24.07.2017
11:48:28
когда-то друг показал вим, лет наверное 14 назад и так с тех пор и не заморачивался. конечно в современном мире есть всякие idea но не всегда удобно

Vasiliy
24.07.2017
11:48:46
а чем vim не угодил?

поддержка idris у него такая же, как и у емакса

Aleksey
24.07.2017
11:49:08
пакетов к emacs сильно больше, чем к vim :)

Serghei
24.07.2017
11:49:29
ну, я в принципе любознательный чувак :) да и ктомуже спейсимакс мне нахваливал как раз вим фан

Aleksey
24.07.2017
11:49:59
emacs+evil = vim для не слишком упоротых вимеров

Yung
24.07.2017
11:51:22
ну к имаксу еще всякие крутые штуки есть, типа proofgeneral

для того же coq

Aleksey
24.07.2017
11:51:45
magit и org-mode - киллерфичи имакса

Yung
24.07.2017
11:52:05
магит супер каеф, очень крутой

Aldar
24.07.2017
11:52:32
спейсмакс крут тем что там все из коробки, с конфигурацией особо не надо заморачиваться

Aleksey
24.07.2017
11:53:19
в качестве quick start пойдет. Но всё равно в итоге большинство пишет свой .emacs :)

Vasiliy
24.07.2017
11:53:59
я просто список пакетов спейсмкса посмотрел и подтянул в свой конфиг то, что было интересно

Aleksey
24.07.2017
11:54:42
у спейсмакса не пакеты, это такие снэпшоты пакетов, сгруппированные по темам

Поэтому всё, что есть в spacemacs, вопсроизводится при желании в vanilla emacs

Тёма
24.07.2017
11:56:07
Шпаргалка короче, эти лейеры.

Aleksey
24.07.2017
11:56:38
Проблема всех этих Spacemacs, Emacs Live, Prelude Emacs проистекает из их же сильной стороны - они за ползователя решают, что пользователю нужно

Шпаргалка короче, эти лейеры.
Я себе так собрал первый .emacs из кусков конфига EmacsLive (https://overtone.github.io/emacs-live/)

Aldar
24.07.2017
11:57:40
это не проблема, а фишка

Aleksey
24.07.2017
11:57:52
и проблема и фишка

Google
Aleksey
24.07.2017
11:58:52
Часто прикрутить что-то, не совпадающее по идеологии с пакетами, вошедшими в сборку, настолько сложно, что проще или не делать ничего, или перестать сидель на сборке

Именно потому, что "у каждого - свой emacs", ни одна сборка так и не победила за все эти годы

К тому же сообщество вокруг любой сборки сильно меньше сообщества вокруг emacs в целом, а значит получить помощь в общем случае сложнее. Для чистого имакса найти HOWTO просто - это либо Emacs Wiki (обширнейшая), либо Info pages, либо README к конкретному пакету. Для сборок придется ждать, пока прикрутят пакет за тебя, либо прикручивать самому, что бывает непросто, особенно - если следовать гайдлайнам таких opinionated сборок, как Spacemacs

Даня
24.07.2017
12:05:59
лично мне удобнее либо чистый emacs, либо чистый vim.

а можно четь подробней, почему?

Leonid
24.07.2017
12:10:37
У емакса киллер фича это magit. Без него гит использовать невозможно

Дед Пегас
24.07.2017
12:10:58
Есть у вима gita

Ну и идущая ей на смену gina

Даня
24.07.2017
12:12:37
кстати, у кого есть опыт использования proofgeneral? мне как-то надоела coqide

Aleksey
24.07.2017
12:14:55
? animufag ?
24.07.2017
12:17:39
Даня
24.07.2017
12:17:55
какой?

? animufag ?
24.07.2017
12:25:29
Что-то там про зависимые типы. Кто-нибудь точно кинет ссылку

Daniel
24.07.2017
12:28:17
Invite link: https://t.me/joinchat/AAAAAD9SWO_tLd7rJ9S7Ig

Даня
24.07.2017
13:17:49
спасибо!

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