Бляди тоже ок, ага. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.0 пользователей не могут ошибаться!
?6942
прекрасное6443
говно5905
говнорашка5512
хуита4716
anime3066
linux2652
music2635
bnw2602
рашка2565
log2354
ололо2173
дунч1829
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1419
дыбр1238
гімно1158

Почему python популярнее рубей, хотя Руби превосходит python по следующим пунктам:
- Метапрограммирование (т.е возможность написания DSL)
- Более серьезная поддерка FP (TCO, простой function composition syntax, pattern matching)
- Более серьезная поддержка OOP (mixins)
- Более серьезная функциональность для обработки текста
- Больший динамизм/расширяемость
- Поддержка continuations
- Однозначность синтаксиса
- Нет такого цирка как python2 vs python3
- Многострочные лямбды

Srsly python выигрывает только за счет того, что для него тупо больше биндингов ко всяким либам.

Пока что вижу ответ: так получилось. Prove me wrong.

#XNC567 (55+2) / @ninesigns / 3288 дней назад

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 / 3295 дней назад

What Every Computer Scientist Should Know About Floating-Point Arithmetic
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

#HO4R7T (4+1) / @ninesigns / 3298 дней назад
Испытываю иррациональную боязнь UUID'ов. Нужно прийти с кучей объектов с уникальными идентификаторами и запихнуть их в хранилище. У хранилища нет возможности поменять идентификатор (поскольку он напечатан принтером на банке в виде баркода). Наверное UUIDы спасают меня, но я не очень доверяю почти невероятным коллизиям.
#TDMAMP (30) / @ndtimofeev / 3300 дней назад

tfw падает тест. не тот, который ты сейчас чинил

#5TR831 (0) / @hirthwork / 3303 дня назад

охуеть, оказывается в C99 нет strdup

#YYI19J (5) / @hirthwork / 3304 дня назад

https://github.com/lexszero/bitfinex-annoyer
Случайно набыдлил аутичную морду для битфайнекса (только показометры, без действий) чтоб не дрочиться с лагучими вебговнами. Циферки в стакане очень бодро бегают.

#ILME29 (24+1) / @lexszero / 3306 дней назад

В уникодном Basic Multilingual Plane присутствует всего 70 символов, которые после NFC нормализации начинают занимать большее количество байт, большая часть отностится к ивриту, так что в абсолютном большинстве случаев можно сделать преаллокацию по текущему размеру строки

#XQQYXK (4) / @hirthwork / 3317 дней назад

открыл для себя java.text.Normalizer
три года мечтал о таком

#XDCCE6 (0) / @hirthwork / 3320 дней назад

Хочу анафорический if, который бы делал коньюнкция между операндами и возвращал первый сфейлившийся, плюс который бы анафорично захватывал все значения из операндов

Вот, например:

bool result =
  a_if_and<boost::variant<T>,  boost::none> (
    {msg.getString(v[1]), msg.getString(v[2]), msg.getString(v[3]), msg.getString(v[4])},

  // at least one operand == boost::none
  [&](unisgned int first_null, const std::tuple<boost::variant<T>, boost::variant<T>, ...> &evalValues) { 
    std::cerr << "value " << first_null "is bad" << std::endl;
    return false;
  },

  // otherwise                                                  
  [&](const std::tuple<boost::variant<T>, boost::variant<T>, ...> &evalValues) {
    std::cout << "value 0 =" << evalValues.get(0).get<T> << std::endl;
    std::cout << "value 1 =" << evalValues.get(1).get<T> << std::endl;
    // ...
    return true;
  });

То есть, a_if_end eval-ит аргументы и каждый на неравенство boost::none.
И в зависимости от этого дергает мою лямбдочку.
Что есть чо похожее? Или я слишком охуел?

#LUCOP3 (52) / @ninesigns / 3323 дня назад

tfw тебя поимела целочисленная арифметика

#UOKKYV (3) / @hirthwork / 3326 дней назад

О, чото про демомейкинг.
https://www.youtube.com/watch?v=DbLYqRqbQSw

#D3ZY5T (1) / @ninesigns / 3327 дней назад

tfw что то пошло так

#44SCCQ (2+1) / @hirthwork / 3327 дней назад

define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))

define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))

define must_be_array(a) BUILD_BUG_ON_ZERO(same_type((a), &(a)[0]))

define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))

TFW compile-time type checking.
Найдено в сорцах прыщеядра.

#66N96E (4+3) / @lexszero / 3334 дня назад
Попытался обновить прыщи (git merge v4.3.2 в бранч со своими патчами, кажется это была так себе идейка), получил general protection fault при извлечении юсб-флешки, дебажить головой лень, написал скрипт для тестирования воспроизводимости бага куэмой: http://dpaste.com/13ZNTAN Это так, чтоб не проебать, полезная хрень вышла.
#Z92ME4 (4) / @lexszero / 3336 дней назад

я туплю что-то. у меня всегда получается, что после «большого правого поворота» в левом поддереве либо оба под-поддерева непустые, либо оба пустые. не могу подобрать контрпримера

#T3A065 (2) / @hirthwork / 3343 дня назад

dae

public interface GenericAutoCloseable<E extends Exception> extends AutoCloseable {
    @Override
    void close() throws E;
}
#X6HCWI (4) / @hirthwork / 3344 дня назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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