- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
findConnections :: LinkID
-> Link
-> [RuleZipper]
findConnections x = go . fromTree
where go z =
case label z of
Link {_link=l}
| x' =*= l -> [z]
| True -> []
_ ->
go' (firstChild z) ++ go' (next z)
go' x = (toList x) >>= go
x' = flipLink x
1) создаём кучу почти полных копий дерева (не совсем полных, т.к. есть какой-никакой tail sharing)
2) но это фиксится тем, что обход дерева заканчивается преждевременно из-за ошибки!
изящный код, который можно породить только в 3 ночи под Sabaton
свет, который отражается от вашей спины, проходит через всю вселенную и попадает вам же в глаза
Фридман, когда их решал, ничего про слабое взаимодействие и не знал
/me: http://imgs.xkcd.com/comics/impostor.png
А какие ещё есть заряды?
просто в карму, не на гк
Там уже некуда(
Исследования показывают, что ничего не выйдет. То ли дело PHP!
>unit tests
Люто проиграл с этого.
И в жабе после паттернов эффективность должна по идее падать.
З.Ы. Авторы либ ещё такие ахуенные дефолты выбирают... Опечатался в имени параметра с коннекшн стрингом, так мне sqlite базу в памяти замутили, не кидать же исключение. И я потом долго не мог понять, чё за хуйня творится - вроде всё работает, но данные теряются при каждом рестарте инстанса...
Запусти код. Запусти его еще раз.
Ладно, на самом-то деле это не говорит что сишка чем-то лучше питуна.
Просто гвидо не запилил иде с нормальным линтером, а сишкой обмазываются уже сколько... 40? 50 лет? Блять, да там компилятор задрочен ворнингами настолько уже наизусть все типичные ошибки знает.
https://github.com/mattdiamond/fuckitjs
https://pypi.python.org/pypi/fuckit
Я сначала подумал, что этот параметр задаёт вопрос «Где здесь C++?», если не находит крестовых конструкций в коде. Полез в хелп — оказалось, что оно тупо игнорирует #warning.
Без крестошаблонов очевидно не обошлось.
Блин кстати, стасик_ассерт добавили в с++11, а стасик_варнинг - нет - фейл
Это ж глобальный анализ программы нужен, чтобы хотя бы понять, чё за объект там передали и какие методы у него есть... И то не факт, что это удастся выяснить...
Строки с числами не складывает, да параметры считает у функций - и на том спасибо... Всё-таки не полный мрак, как в экмаскрипте.
Я слежу за перепиской наших арэнди (основной продукт написан на сишке), и как они неделями не могут найти почему блять в этом месте вдруг у указателя последняя цифра - 3. И как они каждый день в течении этого времени добавляют "фикс", и как этот фикс проходит 100500 тестов после успешной компиляции, и все равно нифига не помогает - последняя цифра все равно 3, в 0.1% случаев.
Ой блять, а в питоне/пыхе/жс она вообще может вернуть флоат или строку...
Случай из практики: в питоне либы любят внезапно возвращать байтстринг вместо юникодного или наоборот... И пока он в пределах ascii - всё даже работает, к сожалению...
З.Ы. Одно дело, когда тебе извне контракт нарушили и какую-то херню передали. И совсем другое - когда ты даже за свой код не можешь быть уверен (а в питоне/пыхе/жс и прочих у меня именно такое ощущение).
lol"d!
Дедушка на смертном одре. Внуки, я всю жизнь искал ошибку в pituh.c, "почему последняя цифра указателя иногда бывает 3" и вам завещаю продолжить моё дело.
Деда, так вореантность выпадения тройки 10%.
Потому что http://govnokod.ru/20220
Да исключения с стектрейсами - взял и поправил, сразу чо. Можно комитить прямо в продакшен - если раньше падало - можно и сейчас закомитить в модуль под кетчем эксепшенов - хуже не станет
там все процессы^W таски живут в одном адресном пространстве, дальше можете представить
Это примерно как с крестошаблонами. Вдвойне справедливо для старых версий VisualC++.
Как это теперь развидеть?
Выделенный жырным момент: это когда кривая производительности начинает идти вниз, а кривая самооценки вверх.
This time the for line already tells the reader that probably every element of v is used, but still only probably.
Many people stop here, but we can continue do better in terms of readability ease.
OK, how can we express more clearly without explicit comments what our code does, i.e. make it self explaining?
template<class T> T squareVec4(T v)
auto squareVec4(auto v)
Да он профи обобщенного кода
Что это за гоатсе-оператор?
=O= или =@=