@haskellru

Страница 114 из 1551
Evgenij
08.09.2016
13:31:07
На гиттере ищи

Anatolii
08.09.2016
13:31:16
ну я уже нашел

это который же на митапе выступал?

Evgenij
08.09.2016
13:31:46
Да он самый

Google
Paul
13.09.2016
19:09:17
Город просыпается

Anatolii
13.09.2016
19:14:33
Товарищи, а кто тут с сервантом знаком

если мне из

эндпоинта нужно вернуть пустое боди

они предлагают NoContent ставить

а почему не () ?

Alexander
13.09.2016
20:23:09
т.к. при разных contenttype () не пустое?

Anatolii
13.09.2016
20:31:43
понятно, просто в хэндлерах не охота писать return NoContent

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

боди ошибок из-за контент тайпа

shortPassword = err400 { errBody = "Password should be at least 6 chars" } вот такая ошибка на клиент приходит просто 400 c пустым боди

и еще у меня такой вопрос type UserLogin = "users" :> Capture "login" String type UserLists = UserLogin :> "lists" :> Get '[JSON] [List] я вот так попытался сделать, но наверное нельзя, или я что-то не так записал?

Alexander
13.09.2016
21:11:15
нельзя

Google
Anatolii
13.09.2016
21:12:02
я пока на эту магию с типами не смотрел еще, для меня это пока "магия" :(

а по поводу ошибки не подскажешь что может быть?

почему body не возвращается на UI

там конечно как-то странно оно

у них body это массив байт по сути

хотелось бы тоже как-то типизированно сделать

чтобы я дал свой типчик в ToJSON

*c ToJSON

Vladimir
14.09.2016
08:17:18
:>

melancholiac
14.09.2016
08:17:33
:3

Alexander
14.09.2016
08:48:50
отдаются байты. т.к. браузер отдает байты

ты делаешь свой типчик и инстансы с ToContentType FromContentType (не помню как имеено)

которые покажут как переводить тип в байтики и обратно

Anatolii
14.09.2016
08:56:19
ну да, я понимаю что можно сделать типы, просто TypeSafety теряется:)

ну и я строк упочему-то не смогу венуть

вернее не смог

а вот возвращаемый формат который я указываю в роуте как-то влияет на ошибку?

Alexander
14.09.2016
10:56:47
не понимаю почему теряется

в браузер могут уходить только байт

про последнее не знаю

Google
Anatolii
14.09.2016
10:57:16
я чуток попозже кину полный кусок кода

@qnikst вот хэндлер из которого я ошибку получить не могу createUser :: MonadIO m => User -> ExceptT TodoErr m NoContent createUser u = do liftIO $ print u hoistEither $ checkUser u return NoContent checkUser :: User -> Either TodoErr () checkUser u = checkPassword u >> checkLogin u checkLogin :: User -> Either TodoErr () checkLogin User {..} | length login < minLoginLen = Left shortLogin | otherwise = Right () checkPassword :: User -> Either TodoErr () checkPassword User {..} | length password < minPasswordLen = Left shortPassword | otherwise = Right () type TodoErr = ServantErr shortLogin :: TodoErr shortLogin = err400 { errBody = "login" } shortPassword :: TodoErr shortPassword = err400 { errBody = "password" }

точнее статус код получа.

а боди пустое

Alexander
14.09.2016
17:42:47
я попозже посмотрю, мне щас по работе овердофига сделать надо

Anatolii
14.09.2016
18:34:19
Спасибо, я уже сам тут поковырялся

моя вина была

DHC клиент которым я запросы делал боди не показывал

Там Lts 7.0 выкатили с ghc 8.0.1, уряяяя

SimpleX
15.09.2016
05:14:35
А с пакетами все ок? Там же какие то нововведения, ломающие совместимость

В смысле, в лтс все попало?

Anatolii
15.09.2016
05:16:01
Я вчера только новость прочесть, ну и я не пишу фултайм на хаскеле? пока ничего сказать не могу

Stas
17.09.2016
17:17:11
Привет! Посоветуйте литературу по хаскелю. Умею в плюсы03, джаву, котлин, скалу немного. Слушал в универе про разные выразительные системы типов на курсах функционального программирования и компиляторов, умею в лямбы, основы формальной логики. Работаю андроид разработчиком и грущу наследуя

хочу быстрее раздуплиться

Stas
17.09.2016
17:24:57
препод писал на агда и коке, а мы грустили, что не умеем так-же

Ekin
17.09.2016
17:26:31
sicp rip

Stas
17.09.2016
17:27:08
на сколько я помню, в ней процедурный язык, и достаточно низкий уровень.

Google
Stas
17.09.2016
17:27:37
или меня уже тралят?

Ekin
17.09.2016
17:28:24
по хаскелю много книг сейчас. почти все хороши

Anatolii
17.09.2016
17:30:52
Haskell book самая свежая

Я себе составил список: Learn haskell for a great good RWH Beginning Haskell Parallel an concurrent haskell от Simon Marlow

Можешь пойти курсы на степике

Они мне в начале помогли

Darwin
17.09.2016
22:22:32
Привет! Посоветуйте литературу по хаскелю. Умею в плюсы03, джаву, котлин, скалу немного. Слушал в универе про разные выразительные системы типов на курсах функционального программирования и компиляторов, умею в лямбы, основы формальной логики. Работаю андроид разработчиком и грущу наследуя
я сам учусь потихоньку, для себя составил план: идти по http://www.cis.upenn.edu/~cis194/spring13/lectures.html (с домашними заданиями и обязательным чтением дополнительного — http://learnyouahaskell.com/starting-out + http://book.realworldhaskell.org/read/ , сам по себе курс довольно хардкорный), сейчас там другой чел новый курс читает, но пока только 3 лекции выложено: http://www.cis.upenn.edu/~cis194/fall16/lectures.html Также рекомендую https://www.ohaskell.guide/ . Книга недописана, но то, что есть, доступно и хорошо.

Anatolii
18.09.2016
07:27:32
Завтра кстати курсы начинаются от Glasgow University https://www.futurelearn.com/courses/functional-programming-haskell/1/

Stas
18.09.2016
07:50:49
Спасибо за ответы

Aldar
18.09.2016
07:51:19
Там монады хоть есть?

В этом курсе от Glasgow University

Anatolii
18.09.2016
07:52:13
На курсах от степика точно есть

Aldar
18.09.2016
07:53:15
Не видел еще курса с монадными трансформерами)

Anatolii
18.09.2016
07:55:37
Таких я тоже не видел, но я думаю если с монадами тебя знакомят

То с мтл ты уже как-то справишься

Aldar
18.09.2016
07:58:30
да, наверное так думают, и курс не удлинять стараются

Anatolii
18.09.2016
08:38:57
Это скорее чтобы дать толчок к дальнейшему изучению

По-моему курсы по хаскелю можно бесконечно вести

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

написал себе вот такую функцию

Google
Anatolii
18.09.2016
16:17:24
[User -> Either MyErr ()] -> User -> Either MyErr ()

сам

есть много проверок состояния юзера

вот таких функций: User -> Either MyErr ()

хотелось как-то их просто в список собрать

и чтобы явно не передавать юзера в каждую

check :: [User -> Either TodoErr ()] -> User -> Either TodoErr () check [] _ = return () check (x:xs) u = x u >> check xs u

я вот такое написал

в стд либ нету чегото похожего?

hoogle не помог

Evgenij
18.09.2016
16:23:33
А map итп?

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