Size: a a a

2021 March 18

DS

Dmitrii SP in Haskell
Всем привет. Начну с того, почему я сюда пишу. Я пишу сюда, так как использую GNU/Linux в качестве ОС и Xmonad в качестве оконного менеджера (Window Manager). Xmonad написан на Haskell и имеет файлы конфигурации на Haskell. В процессе настройки возник следующий вопрос: У меня Xmobar(Панель xmonad) не отображает названия рабочих столов(workspaces). Что нужно добавить в конфиг xmobarrc, что бы отображало? UPD: Как я понял можно добавить что-то в сам конфиг xmonad. Вопрос, только что?
источник

BK

Boris K in Haskell
Anton Sorokin
Если после успешного stack build и потом перезапуска vscode все ещё не видит модуль - это видимо общая кривизна Haskell language server под виндой, можешь им issue завести
Использую stack, ghc под Windows 7, не вижу проблем с модулями. С некоторыми библиотеками - да. Но import работает. Или я что-то не так понял?
источник

R

Roman in Haskell
Jerzy Syrowiecki
меня вот это разделение смущает
Что это за синтаксис такой: OVERLAPPABLE_? CPP?
источник

I

Ivan in Haskell
добрый вечер господа
источник

I

Ivan in Haskell
итак в поздний час, вопрос новичка, который усердно изучает хаскель :)
есть функция crowdfunding, с сигнатурой:
crowdfunding :: AsContractError e => Campaign -> Contract CrowdfundingSchema e ()
что возвращает эта функция?
как это вообще можно описать?  по типу:
functionName:: TypeClass => functionParam -> ????
источник

I

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

I

Ivan in Haskell
Contract возвращает либо ничего (), либо ошибку e
источник

O

Ortofax in Haskell
функция возвращает Contract CrowdfundingSchema e ()
источник

I

Ivan in Haskell
Ortofax
функция возвращает Contract CrowdfundingSchema e ()
спасибо, очевидно в итоге, не знаю почему себе голову ломал целый день
источник

O

Ortofax in Haskell
зато если функция имеет тип a -> b -> c, то вопрос "что она возвращает" уже будет иметь не столь однозначный ответ, т.к. это вроде бы функция из a и b в c (что после последней стрелки - то и возвращает), но и из a в b -> c тоже (потому что, строго говоря, её тип a -> (b -> c))
источник

I

Ivan in Haskell
Ortofax
зато если функция имеет тип a -> b -> c, то вопрос "что она возвращает" уже будет иметь не столь однозначный ответ, т.к. это вроде бы функция из a и b в c (что после последней стрелки - то и возвращает), но и из a в b -> c тоже (потому что, строго говоря, её тип a -> (b -> c))
потому как(?):
а -> b -> с  = λab.c = λa.λb.c = (λa.(λb.c))
(λa.(λb.c))(x) = (λb.c)
источник

O

Ortofax in Haskell
не, a -> b -> c тип, а λa.λb.c это терм же, не надо там = ставить
источник

O

Ortofax in Haskell
я про то, что можно рассматривать как функцию двух аргументов (т.е. (a, b) -> c, изоморфизом с которой являются curry+uncurry), а можно как функцию одного
источник

I

Ivan in Haskell
Ortofax
я про то, что можно рассматривать как функцию двух аргументов (т.е. (a, b) -> c, изоморфизом с которой являются curry+uncurry), а можно как функцию одного
понял
источник

O

Ortofax in Haskell
Ortofax
не, a -> b -> c тип, а λa.λb.c это терм же, не надо там = ставить
хотя на уровне типов тоже можно лямбд насовать, если эти a, b, c - переменные, то тип на самом деле  λa.λb.λc.a -> b -> c
источник

I

Ivan in Haskell
Ortofax
хотя на уровне типов тоже можно лямбд насовать, если эти a, b, c - переменные, то тип на самом деле  λa.λb.λc.a -> b -> c
🤯 есть совет что лучше почитать, чтобы понять почему так?
источник

I

Ivan in Haskell
видимо я тип от терма отличить не могу
источник

I

Ivan in Haskell
хотя начинаю понимать...
источник

O

Ortofax in Haskell
да это я лишнего написал просто. не надо пока беспокоиться о лямбдах в типах (в хаскеле это выглядит немного иначе, например id :: forall a . a -> a; id v = v, что эквивалентно id :: a -> a; id v = v или просто id v = v)
источник

I

Ivan in Haskell
благодарю
источник