← All posts tagged programming
Обратите внимание, как то, что в <languagename> решается с помощью <featurename>, в Python достигается при помощи договоренностей, прилежания, усидчивости и тестов.
inspired by #2789198
The public/target for the language is described as "non-programmers", but in fact it looks like their control group has some previous experience of Excel. (I would guess that experimenting with children with no experience of programming at all, including no Excel work, could have resulted in very different results.)
via lambda-the-ultimate.org
Javascript is not a toy; toys are fun.
// инбифо YMMV
read tutorial [-> use] -> read user manual -> use [-> read reference manual -> use [-> read source code -> use]]
I'm not exactly clear on how PHP == works, but you can see the MD5 for yourself:
$ echo -n 240610708 | md5sum
0e462097431906509019562988736854 —
$ echo -n QNKCDZO | md5sum
0e830400451993494058024219903391 —
$ echo -n aabg7XSs | md5sum
0e087386482136013740957780965295 —
All of them start with 0e, which makes me think that they're being parsed as floats and getting converted to 0.0.
via news.ycombinator.com
stackoverflow.com
Удивительно повезло с отвечающим: в течение 5 минут прибежал некоторый товарищ, правильно ответил и исправил в вопросе грамматику по мелочи.
illegal hardware instructionВпрочем, я даже знаю, где и оно, и почему (ибо unsafe и прохихикал время жизни замыкания).
Unit tests. They Will Save You Time™.
Types. They Will Save You Tests™
Дано: библиотека, умеющая читать некоторый структурированный формат. Парсит входной поток и отдает его в виде последовательности логических "событий". Интерфейс на C, интересно обернуть его для хаскеля. В связи с этим есть вопросы. В целом оригинальный интерфейс выглядит как-то так: stream = xxx_stream_from_fd(0); // stream' = xxx_stream_from_string(data, length); reader = xxx_reader_new(stream); while ((event_type = xxx_reader_get_next_event(reader)) != XXX_EVENT_END_STREAM) { switch (event_type) { ... value = xxx_reader_get_???(reader); } } xxx_reader_delete(reader); xxx_stream_delete(reader); Понятно, что в х-е это должно быть какой-то монадой. 1. Обязательно ли для случая с from_string чтобы всё происходило в IO? Этого хотелось бы избежать. Как в таком случае должен выглядеть тип, общий для обоих вариантов входных потоков? 2. xxx_reader_get_string возвращает указатель на кусок буфера внутри парсера (для zero copy). Указатель инвалидируется следующим вызовом get_next_event. Возможно ли безопасно описать такой контракт в типах?
This repository used to be an ugly, hacky, bundle of crap — but now it's just a bundle of crap.