БЕГЕМОТИКОВ МОЖНО! Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1245.0 пользователей не могут ошибаться!
?6963
прекрасное6453
говно5915
говнорашка5512
хуита4735
anime3074
linux2661
music2640
bnw2607
рашка2582
log2372
ололо2230
дунч1868
pic1816
сталирасты1493
быдло1440
украина1439
bnw_ppl1431
дыбр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 / 3546 дней назад

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

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

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