Тег haskell

ninesigns
ninesigns

Создатил чатик про манатки в телеграме. Присоединяйтесь. Уже 8 человек.
https://telegram.me/joincha...4h2D9SWO_a-Kur_k51Rg

Linda-chan

“Haskell meetup”
Edward Hopper
Oil on canvas,
1942

bitfield

Фолдабля и Траверсабля

INFOMAN

а не на хаскеле ли была написана АСГУ?

И парадоксом для тысяч людей
Чувство прекрасное жить лишь мешает,
В царстве монад без окон, без дверей
Просто тает.

ninesigns

ADTs in Typed Racket with macros

Немного изящного (макроебства)[http://lexi-lambda.github.i...racket-with-macros/] и в тайпед/ракетке можно юзать ADT с паттерн матчингом.
(Прямо как во взрослых крутых языках).

(define-datatype Expr
  (Value Number)
  (Add Expr Expr)
  (Subtract Expr Expr)
  (Multiply Expr Expr)
  (Divide Expr Expr))

(: evaluate (Expr -> Number))
(define (evaluate e)
  (match e
    [(Value x)      x                            ]
    [(Add a b)      (+ (evaluate a) (evaluate b))]
    [(Subtract a b) (- (evaluate a) (evaluate b))]
    [(Multiply a b) (* (evaluate a) (evaluate b))]
    [(Divide a b)   (/ (evaluate a) (evaluate b))]))

> (evaluate (Add (Value 1)
                 (Multiply (Divide (Value 1) (Value 2))
                           (Value 7))))
4 1/2

Интересно, ебанется ли кто-нить достаточно чтобы набыдлить какой-нить аналог хаскеля или scalaz?

ninesigns

Implement the Strict language extension

Add a new language extension -XStrict which turns all bindings strict
as if the programmer had written a ! before it. This also upgrades
ordinary Haskell to allow recursive and polymorphic strict bindings.

https://github.com/ghc/ghc/...9d1746532565f34c340f

Все теперь можно думать о том, чтобы учить хаскель. // Ну или Ocaml

Кстати, спалите haskell vs ocaml в вопросах:
C-FFI
многопоточности
ease of deployment
поддержки ARM
* легкости получения soft realtime

Олсо, кто-нить объекты в Ocaml юзает или это шутка?
Наткнулся на такой комент на HN:
/However, with a few minor tweaks (e.g. an option type), I would rather have the C# type inference than the OCaml one. The reason is that, if I want to do something very clever, I will not find myself limited to code that I can actually prove to the OCaml compiler as correct: I have, time and time again, resorted to reflection and code generation to work around such situations. In other words C#'s Obj.magic is a lot more powerful (and safe, and expressive) than OCaml's.

A fairly good example is Eliom's way of expressing the parameters of a service. In C# you would write in a PageController class

public Details Update(PageId id, UserId user, [PostBody] Details body)

and have your web framework automatically bind this to POST /page/update/{id}?user={user} with the appropriate serialization for PageId and UserId. And writing such a framework is easy: a couple hundred lines of code, with run-time type safety.

In OCaml you have to understand the entire Eliom_parameter framework: https://ocsigen.org/eliom/4...rver/Eliom_parameter Just think of the mental firepower needed to create that framework in the first place!/

bitfield

Пытался применить штангу для обработки строки с кириллицей (дана зашифрованная строка, есть подозрение на использованный для зашифровки алгоритм -- потому надо её всячески крутить в репле).

Нарвался на
http://stackoverflow.com/qu...code-chars-unescaped

Проорал с предложенных решений (особенно с враппера на питоне). Эвойд саксесс, да.

bitfield

К тегам постов 0xd34df00d по тегу "haskell" надо применить след. функцию.

rename "неговно" = "перемога"
rename "говно" = "зрада"
rename x = x
ninesigns

Аноны, меня вдруг осенило, что всякое дрочево типа ФП и модных фреймворков нинужны и в 99% случаев мы занимаемся скучным говном. 

Это норма. Большая часть программистской работы это айти-сантехника - создание машинных переводчиков с одного языка на другой (с HTTP-запросов в SQL-запросы и т.д. и т.п. в интерпрайзе программирование это сплошная серилизация и десериализация).

Когда программисты это понимают они придумывают новые языки и фреймворки чтобы быть сантехником было веселее - получается что ты совмещаешь рутинную работу и решение головоломки о том как соединить твои новые трубы причудливой формы чтобы по ним потекли данные. (есть правда ещё деталь - если сантехник изобретает новую трубу/фреймворк которая входит в моду у других прогрессивных сантехников то он может добавить это в своё резюме и требовать больше денег за свою работу). Больше всего в этом преуспели хаскеллисты которые сделали целый язык-головоломку в котором простейшие задачи требуют решения кубиков-рубиков абстрактной теории групп. Чтобы головоломки в хаскиле всегда оставались свежими постоянно выходят расширения его системы типов. Этот язык успешно распространяется тем же принципом что и головоломки "а тебе слабо решить? чё, тупой чтоли?".

Что делать с этим очевидно идиотским сложившимся состоянием отрасли? Выбирать самую простую работу которая приносит максимальное количество денег, желательно такую на которой можно часть времени сидеть в интернете и делать что хочешь. Откладывать деньги в застрахованные депозиты и другие инвестиционные инструменты чтобы однажды перестать быть завсимым от работы.

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

bitfield

Опечатка по Карри (ну, может по Чёрчу или по Клейсли):

Реализована команада 'SetProxy'.

bitfield

Поставил rust под виндой, пробую собрать биндинги к опенссл. Скачал либы, поставил, указал пути. Получаю

sorry, unimplemented: 64-bit mode not compiled in

Плохо думаю про авторов rust-openssl, начинаю разбираться, внезапно обнаруживаю, что gcc используется из Haskell Platform 2013 (x86).
пробую подсунуть gcc из раста

gcc.exe: error: CreateProcess: no such file or directory

Оказывается, гцц в расте обрезанный, без libexec/.../cc1.

В общем, плюнул, снес старую платформу, поставил новую 64-bit.
Теперь у меня штанга используется для сборки раст-проекта.

ninesigns

yay, был на митапе хаскелистов в кембридже.

Чувак около часа показывал как реализвать бинарное дерево на хаскеле, а потом
как его замиррорить. Естественно, после доклада мне неистово хотелось
переписать все свои проекты на хаскеле (вместо с емаксом и операционкой).

А еще я там стакан разбил. Чисто случайно.

bitfield

Я дал обет не писать туториалов по монадам.

(c) ndtimofeev@juick в http://juick.com/2769681#10

bitfield

http://www.modulecounts.com/
Внезапно удивлен количеством пакетов на Clojure и Go.
Улыбнула Avg Growth = -9/day у R.

bitfield

Don't play with your monads

ninesigns

Вчера кто-то, похожий на ляха, вышел на связь.

<chare> why should we use Racket over Haskell?
<bremner> maybe you shouldn't. What are you looking for?
<chare> so explain to me why use Racket over Haskel
<Jooles> chare, explain to me blue over yellow
<Jooles> it's not as simple as that
<chare> so explain why its not simple
<bremner> chare: c'mon, either engage, or stop trolling.
<chare> you guys are the experts on racket not me

ninesigns
bitfield

first, make the C++ library accessible to Python (already done, in many cases), then, let your Haskell program use the Python interpreter to make calls into the C++ library

MadOkamullator

https://hackage.haskell.org/package/antigate СУУКАХ ЛОЛ
PS: контакты автора просто прекрасны

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.