
Denis
27.08.2018
22:06:03
какой-нибудь withPrism

Alexander
27.08.2018
22:06:13
я запутлся и сдался

Denis
27.08.2018
22:07:23
either (Just . f) (const Nothing)
я просто не понимаю иногда) зачем линзы если они иногда овер

Google

Alexander
27.08.2018
22:11:35
either (Left f) (maybe (Left z) Right)

Denis
27.08.2018
22:11:37
а чего не просто?
Right 10 ^? _Left
Left 10 ^? _Left

Alexander
27.08.2018
22:11:50
ты не то написал что надо (вроде)

Terminator
28.08.2018
07:24:21
Mark Stupin будет жить. Поприветствуем!

Oleg
28.08.2018
11:16:36
Попробовал в haskell-ide-engine мультикомпиляторный режим.
Ругается
Mismatching GHC versions: Project is 8.2.2, HIE is 8.4.3 You may want to use hie-wrapper. Check the README for more information
"languageServerHaskell.useHieWrapper": true не помогает, vs code пишет, что не такой опции
Что делать?

Maxim
28.08.2018
11:17:05
а какой путь до сервера указан?
hie делает бинарник hie-wrapper, его надо указывать как сервер

Oleg
28.08.2018
11:17:22
Никакой, всё по-дефолту
Я так понял, когда их несколько какая-то приблуда должна цеплять нужный на основе проекта
типа "languageServerHaskell.useHieWrapper": true для этого и нужен

Maxim
28.08.2018
11:18:39
я не юзал hie с вскод, я не знаю, может он как-то и умеет сам

Oleg
28.08.2018
11:20:33

Google

Maxim
28.08.2018
11:20:52
?

Yuriy
28.08.2018
11:43:26

Misha
28.08.2018
14:06:21
кабал сейчас уже вроде все умеет (ну кроме бесполезной установки ghc)
пробую с кабалом 2.2, вроде все сравнительно гладко, но получается вот такая херня
Could not find module ‘Control.Concurrent.Async’
Perhaps you haven't installed the profiling libraries for package ‘async-2.1.1.1’?
в ответ на
cabal clean && cabal configure --enable-profiling && cabal bench --benchmark-options="+RTS -N -p -RTS"
причем зависимостей полно, но не нравится ему именно stm и async

Alexander
28.08.2018
14:07:06
так не установлены же профилировочные версии зависимостей?
cabal install —dependencies-only —enable-profiling, если без new

A64m
28.08.2018
14:08:16
не надо использовать без new

Alexander
28.08.2018
14:09:47
+

Misha
28.08.2018
14:09:57
окей, попробую

A64m
28.08.2018
14:13:25
а если уж нью использовать, то 2.4 собрать

Misha
28.08.2018
14:16:37
ну блин
а без new- что будет не так?

A64m
28.08.2018
14:18:31
все

Misha
28.08.2018
14:18:32
ну и кроме того, делать типа библиотеку и писать в readme что-то типа you need to install the latest cabal to build this - это немного это самое

A64m
28.08.2018
14:19:14
технически, все можно билдить кабалом-без-нью
но на практике вам не захочется этого делать
кабал с нью недоделанный и активно допиливается, так что лучше пользоваться наименее недоделанной версией

Yuriy
28.08.2018
14:21:06
наименее недоделанный кабал — это стэк

Alexander
28.08.2018
14:21:27
да ну, он все портит и не бибикает даже

Dmitry
28.08.2018
14:21:42

Google

Yuriy
28.08.2018
14:21:53

A64m
28.08.2018
14:21:56
но с тех пор стек уже не тот

Alexander
28.08.2018
14:22:25
о, у меня на nixos стек на 1.16 запинен
т.к. 1.17 просто не работает

Misha
28.08.2018
14:23:47
https://cabal.readthedocs.io/en/latest/ ?

A64m
28.08.2018
14:24:36
сейчас нью кабал > стек > кабал, но нью все еще недоделанный, правда это понятие растяжимое, для кого-то уже и доделанный вполне

Dmitry
28.08.2018
14:24:54
а где почитать про эти new- команды?
Можно официальную документацию почитать (но на самом деле команды те же, просто надо добавить префикс new-). Но если хочется начать работать с простыми проектами, то я писал блог пост про workflow с кабалом:
* https://kowainik.github.io/posts/2018-06-21-haskell-build-tools.html

A64m
28.08.2018
14:25:15
они не те же
некоторые не нужны, некоторые как инстол делают не то что в старом
да вообще весь уи другой

Dmitry
28.08.2018
14:26:20
они не те же
Я имел в виду названия те же. Согласен, что можно было поточней написать. Есть команды, которые без new (например, upload)

A64m
28.08.2018
14:26:23
похож разве что на допесочечный кабал, да и то не сильно из-за другой роли configure и т.д.

Misha
28.08.2018
14:26:54

A64m
28.08.2018
14:30:47
до 17 стек можно было для начинающих смело рекомендовать, хотя нью кабал уже был получше. но последнее время там какое-то адище с хпаком, постоянно ошибки, отставание от гхц (даже 8.2 еще поддерживается не полностью), проблемы на виндовс и т.д.

Terminator
28.08.2018
14:31:43
@victorynox будет жить. Поприветствуем!

Kirill
28.08.2018
14:37:06

Victor
28.08.2018
14:37:47
Ребзя, (не судите строго, я новичок) такой вопрос, это я туплю, или на данный момент нет нормального визуально отладчика для Haskell ?
(Там с брейкпоинтами и пошаговым выполнением)
З.Ы. Про ghci знаю, но консоль не совсем то...

@_@
28.08.2018
14:38:37

Google

Misha
28.08.2018
14:39:46

Yuriy
28.08.2018
14:39:52

Andrei
28.08.2018
14:40:02
навскидку из свежего есть https://github.com/ndmitchell/debug

Oleg
28.08.2018
14:40:07
https://github.com/phoityne/haskell-debug-adapter
Но я тоже не знаю, зачем.

Yuriy
28.08.2018
14:40:44

Admin
ERROR: S client not available

Алексей Ayaye :)
28.08.2018
14:41:33

Pineapple
28.08.2018
14:42:21
Отлаживай привычно принтом

Oleg
28.08.2018
14:42:38
import Debug.Trace

Pineapple
28.08.2018
14:43:20
Ту да

Victor
28.08.2018
14:44:44

A64m
28.08.2018
14:44:51
гхци отладчиком вполне можно пользоваться (если есть возможность загрузить в гхци, конечно)

Yuriy
28.08.2018
14:46:08

Алексей Ayaye :)
28.08.2018
14:46:56

Alexander
28.08.2018
14:48:28
главное что не работает

Yuriy
28.08.2018
14:49:22
я вот в двумерные стэктрэйсы хаскельного профилировщика до сих пор полностью не въехал. хотя почти всегда удаётся найти причину по ним

Victor
28.08.2018
14:51:49
Понял, будем разбирать тогда новые трюки) спасибо

Yuriy
28.08.2018
14:52:42
отладить быстро-грязно — Debug.Trace

Google

Alexander
28.08.2018
14:53:07
а если с си взаимодействие то и gdb

Yuriy
28.08.2018
14:53:57
но чаще мне исправить ошибку помогает разбиение сложной функции на более мелкие и написание property тестов для них всех

Yuuri
28.08.2018
15:01:32
В древнем Leksah была вроде бы неплохая интеграция с ghci-шным отладчиком, мне как-то даже помогала.

Victor
28.08.2018
15:02:58

Alexander
28.08.2018
15:05:09
с Haskell?

Oleg
28.08.2018
15:05:22
Догадываюсь, что при отладке рантайм-ошибок пошаговая отладка будет менять порядок эвалюэйшона и может привести к гейзенбагам

Alexander
28.08.2018
15:05:42
я знаю мало человек которые могут нормально с gdb отловить проблемы

Yuriy
28.08.2018
15:05:54

Alexander
28.08.2018
15:05:56
которые не на границе с си
угу
отладчик в ghci тот ещё

Oleg
28.08.2018
15:06:25

Alexander
28.08.2018
15:06:37
там пишется _

Oleg
28.08.2018
15:06:50
А зафорсить нельзя?

Alexander
28.08.2018
15:06:59
и есть :sprint который писать будет с санками
можно

Yuriy
28.08.2018
15:07:42