Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1245.0 пользователей не могут ошибаться!
?6964
прекрасное6456
говно5915
говнорашка5512
хуита4734
anime3076
linux2661
music2640
bnw2607
рашка2583
log2372
ололо2234
дунч1868
pic1816
сталирасты1494
быдло1440
украина1438
bnw_ppl1433
дыбр1238
гімно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 / 3594 дня назад

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

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

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