Мохнатые уроды и моральные пёзды. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1247.0 пользователей не могут ошибаться!
?7005
прекрасное6454
говно5922
говнорашка5512
хуита4737
anime3078
linux2662
music2646
bnw2607
рашка2587
log2372
ололо2257
дунч1879
pic1816
сталирасты1494
bnw_ppl1456
быдло1441
украина1439
дыбр1239
гімно1158

How to complain about Go https://medium.com/@divan/how-to-complain-about-go-349013e06d24 > If you come from Haskell, I shouldn’t give you any advice. You already must be a professional in mocking Go. It’s in Haskell 101 course. New Haskell books contain special chapter “How to laugh on Go”, after all. > Even if you intuitively understand that Go is way more practical than Haskell and entry barrier really matters  —  keep insisting that it has “objectively poor design”. Because everyone knows which language has objectively good design.
#TDSNPH (3+4) / @anonymous / 3772 дня назад

ADTs in Typed Racket with macros

Немного изящного (макроебства)[http://lexi-lambda.github.io/blog/2015/12/21/adts-in-typed-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?

#R60TPL (14) / @ninesigns / 3777 дней назад
Пересобираю блог на hakyll'е перед переписыванием, чтобы убедиться что со времени последних изменений api не изменилось фатально. Заодно пересобираю и весь сандбокс проекта. Ох и до фига же там всего, ну да и ладно. Вдруг взгляд мой заметил что-то необычное. Что-то пошло не так? Матрица меняет программу? Нет, это enumerator-0.4.20. Его не обновляли с 2013го года и не будут собственно уже никогда. При этом лог сборки разумеется забит всякими conduit'ами, которые строго говоря решают те же задачи что и enumerator. Стал смотреть кто же такой некрофил-виртуоз. Оказалось snap. При этом сам hakyll, который использует snap только как тестовый вебсервер (непонятно зачем нужный статическому сайту) разумеется на попсовых conduit'ах. Hackage, ты редкостная помойка. Пользуясь случаем выражаю респект JohnMillikin, который в 2013ом году написал код, который пережил все изменения в стандартной библиотеке.
#6CHFJ7 (0) / @ndtimofeev / 3778 дней назад
Обратите внимание, как то, что в Haskell решается с помощью монад, в <languagename> достигается при помощи прилежания и усидчивости.
#GT72S2 (1) / @l29ah / 3784 дня назад
Почему вдруг всем стала нужна эта параша? У большинства хаскелистов в системе пакетного менеджера адекватного нету?
#BP0CCQ (17) / @l29ah / 3784 дня назад
Какой компилятор/версию ставить на n900? (ARM Cortex A8, 256MB DRAM, Linux)
#7EYC4Y (4) / @l29ah / 3784 дня назад
>Write Emacs extensions in Haskell https://github.com/knupfer/haskell-emacs . кто-нибудь может обьяснить что за херня этот liquid-haskell?
#17WXNJ (5) / @anonymous / 3786 дней назад
весь вечер пытаюсь собрать иксмондад без кабала похоже что это невозможно такое
#R3CBZB (7) / @anonymous / 3792 дня назад
Охуенно выразительно и красиво. Спасибо статической типизации. data LinkedList a = EmptyLinkedList | LinkedList (LinkedList a) (LinkedList a) a
#4WNX3D (18) / @l29ah / 3792 дня назад
>>> Emerging (1 of 102) dev-lang/ghc-7.8.4::gentoo Ну девочка, ну еб твою мать
#KG45KI (11) / @mad_hatter / 3803 дня назад
http://habrahabr.ru/post/271213/ — я пропустил анонсы в более приличных местах или организаторы просто хотят чтобы я с @L29Ah'ом не приходили?
#HKOGUL (1) / @ndtimofeev / 3811 дней назад

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/commit/46a03fbec6a02761db079d1746532565f34c340f

Все теперь можно думать о том, чтобы учить хаскель. // Ну или 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.2/api/server/Eliom_parameter Just think of the mental firepower needed to create that framework in the first place!/

#QQMYMN (47+2) / @ninesigns / 3813 дней назад
Cross-compiled statically linked musl arm hello world works.
#1P2VX2 (3) / @l29ah / 3822 дня назад
Тимофеев научившийся пользоваться комбинатором неподвижной точки чувствует себя как татарин научившийся выговаривать букву Р.
#R9KET8 (0) / @ndtimofeev / 3825 дней назад
Попытался заюзать concurrent-output, чтобы облагородить вывод робота. Мне показалось или там очень странный хаскель? Что-то вроде давайте ехал IO через IO и если он ехал в правильном порядке, то может быть будет хорошо. У меня заправка ракеты головного мозга или там действительно всё как-то очень неявно?
#AVCBB3 (11) / @ndtimofeev / 3826 дней назад
tfw воспользовался type families, а потом узнал что это такое
#SX214R (0) / @l29ah / 3831 день назад
https://www.linux.org.ru/forum/development/12058192 — довели человека своими AMP, FTP, MFP, MRP.
#YH0KOT (1+1) / @ndtimofeev / 3834 дня назад
#error No implementation for getProcessCPUTime() available. Мне нужно наколдовать какую-то волшебную чародейскую магию чтобы ghc собрался с musl?
#0B7Y4Q (6+1) / @l29ah / 3844 дня назад
http://www.joachim-breitner.de/blog/684-Constructing_a_list_in_a_monad_revisited — в догонку к #2806440. Один пошутил на тему того что можно хакнуть Nil через C-- и получить дешёвую вставку в конец списка. Другой забенчмаркал это и пришёл к выводу что это отличная идея. Теперь полагаю надо ждать Hack Hole Proposal в кафе. Не зря меня так напугал исходный пост.
#MAB2ZJ (2) / @ndtimofeev / 3846 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.