Size: a a a

2020 November 29

к

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

то есть я много лет страдал всякой фигней, изучал всякие профункторы, линзы, но пока не написал простой вебсервер, не понимал как вообще на хаскеле пишется хоть что-то кроме этих самых линз
источник

к

кана in Haskell
так что имхо лучше всего бегло узнать синтаксис, разобраться с ADT, тайпклассами, ленивостью (!), посмотреть на transformers, mtl, потом посмотреть на самую простую либу для бота и сразу писать его
источник

A

Arjaz in Haskell
А ещё лучше — сразу в проекте изучать либы вроде линз, прекрасно работает
источник

OO

Oleg Orlov in Haskell
@mishapoiuytrewq "сколько необходимо изучать для бота на Haskell"?

При большом желании и внимательности за 1-ин день на Haskell, путем простейшего внимания того, что делаешь, чтения ознакомительных глав, и ковыряния: "http-client/aeson json/stack".

Но, вряд ли это будет каноничным. Как ни странно, такое справедливо написать и про др. языки, тот же C#. В нем можно "наговнокодить" все в public static, а можно реальзовать бот через DI/IoC и написать через тесты (TDD).

Короче говоря, быстро - можно на любом языке/стэке. Будет ли это красиво и канонично? Конечно, нет. Т.к. для этого мало знать языки, надо знать паттерны, иметь понимание того, что делаешь и др., а это за 1ин день - ни на одном языке невозможно.
источник

OO

Oleg Orlov in Haskell
источник

OO

Oleg Orlov in Haskell
@mishapoiuytrewq или альтернативный пример с Питоном. Можно, там, все на голых ф-циях оформить ( def() ), а можно напрогать бота с применением Generic type hints, abstract base classes и тесты при помощи PyTest написать
источник

М

Михаил in Haskell
источник

АВ

Андрей Вилинский... in Haskell
Oleg Orlov
@mishapoiuytrewq "сколько необходимо изучать для бота на Haskell"?

При большом желании и внимательности за 1-ин день на Haskell, путем простейшего внимания того, что делаешь, чтения ознакомительных глав, и ковыряния: "http-client/aeson json/stack".

Но, вряд ли это будет каноничным. Как ни странно, такое справедливо написать и про др. языки, тот же C#. В нем можно "наговнокодить" все в public static, а можно реальзовать бот через DI/IoC и написать через тесты (TDD).

Короче говоря, быстро - можно на любом языке/стэке. Будет ли это красиво и канонично? Конечно, нет. Т.к. для этого мало знать языки, надо знать паттерны, иметь понимание того, что делаешь и др., а это за 1ин день - ни на одном языке невозможно.
> реальзовать бот через DI/IoC и написать через тесты (TDD).

НЕНАВИЖУ!!! 😫
источник

OO

Oleg Orlov in Haskell
Андрей Вилинский
> реальзовать бот через DI/IoC и написать через тесты (TDD).

НЕНАВИЖУ!!! 😫
Чего ненавидишь? Писать качественно ПО? Когда будет 100 классов и примерно 1000 потенциальных мест для тестов, сразу это будет все нужно.

Кстати, бот - боту рознь. Был у меня проект с ботом для криптовалюты. Достаточно жирный бот был, который общался с 20 разными APIs, связанными с банками.

В целом, когда ПО становится крупным, то без SOLID, без тестов и без нормального проектирования с DDD, крайне сложно представить систему.

Там, еще QA подключается с пирамидой тестов (интеграционные, e2e) с репортингом в ReportPortal условный.
источник

AV

Alexander Vershilov in Haskell
мда
источник

AV

Alexander Vershilov in Haskell
даже лень в чатик писать после такого 🙁
источник

AV

Alexander Vershilov in Haskell
Кто-нить на bigsur с nix есть?
источник

АХ

Алексей Худяков... in Haskell
SOLID’ный дизайн для солидных господ :)
источник

AV

Alexander Vershilov in Haskell
А то, тут с линкером какие-то проблемы:

ld: file not found: /usr/lib/system/libcache.dylib for architecture x86_64                                                                                                                                  │·································
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)                                                                                                                           │·································
`cc' failed in phase `Linker'. (Exit code: 1)

и что делать не ясно
источник

AV

Alexander Vershilov in Haskell
При сборке любой либы которую именно собирать надо
источник

к

кана in Haskell
Alexander Vershilov
Кто-нить на bigsur с nix есть?
источник

a

adam in Haskell
Alexander Vershilov
А то, тут с линкером какие-то проблемы:

ld: file not found: /usr/lib/system/libcache.dylib for architecture x86_64                                                                                                                                  │·································
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)                                                                                                                           │·································
`cc' failed in phase `Linker'. (Exit code: 1)

и что делать не ясно
о, жиза
источник

AV

Alexander Vershilov in Haskell
Впрочем уже почти завели
источник

a

adam in Haskell
не помню пофиксили это или нет так как я на проекте никсом стараюсь не пользоваться
источник

a

adam in Haskell
источник