[08:25:44] <geniepro> _valexey_> vlad2: кстати, такие нагромождентя условий растянутые на много строк меня откровенно пугают. Представьте себе тот же ЦД с десятком веток в каждой по пять строк хотя бы.
Легко могу себе это представить -- в хацкелле это вполне нормальное явление...
[08:42:10] <valexеy> в хаскеле это НЕ нормальное явление
[08:42:19] <valexеy> во-первых там обычно таки паттерн-матчинг
[08:42:36] <valexеy> то есть логическими выражениями там не перегружают
[08:43:16] <valexеy> во-вторых даже паттерн матчинг в современном хаскелле используется обычно где-то на уровне либ. обычно какие-нибудь ФВЯ используют
[08:44:00] <valexеy> в-третьих у хаскеля ОЧЕНЬ умный компилятор, который анализирует этот самый матчинг и условия, и в случае неконсистентности/противоречий предупредит программиста
[08:44:07] <valexеy> а в Обероне мы работаем без страховки
[08:45:40] <valexеy> кроме того, функции в хаскелле обычно таки не работают через побочные эффекты, они их обычно вообще не порождают. а тут тело каждой из ветки в ЦД работает исключительно через побочные эффекты/изменение глобального состояния, что резко усложняет жизнь.
[11:33:12] <valexеy> vlad2: зацени ка: http://oberspace.dyndns.org/index.php/topic,261.0.html
[13:10:34] <valexey> .
[14:03:02] <geniepro> > а тут тело каждой из ветки в ЦД работает исключительно через побочные эффекты/изменение глобального состояния, что резко усложняет жизнь.
так вот в этом-то проблема, а вовсе не в самом цикле дейкстры!!!
проблема в побочных эффектах!!!111
[14:03:31] <geniepro> valexеy> в хаскеле это НЕ нормальное явление
вполне нормальное
[14:04:14] <geniepro> valexеy> в-третьих у хаскеля ОЧЕНЬ умный компилятор, который анализирует этот самый матчинг и условия, и в случае неконсистентности/противоречий предупредит программиста
вроде не всегда. по-крайней мере раньше для этого специальную опцию компилятору надо было давать
[14:41:02] <geniepro> http://bartongeorge.net/2012/05/07/introducing-project-sputnik-developer-laptop/
[14:45:57] <valexey> блютуса нормального нет => нинужен!
[14:46:53] <valexey> vlad2: зацени ужоз: "Добавление шаблонности к классу меняет порядок поиска имён."
[14:47:17] <valexey> http://rsdn.ru/forum/cpp/4766107.flat.aspx#4766107
[14:47:29] <valexey> ужас-ужас же. как с этим жить?
[15:16:39] <geniepro> http://rostov-don.livejournal.com/2450539.html
вот откуда берутся дибилы, несущие деньги во всякие МММ-2011??????
[15:59:16] <valexey> ну а чо? Мавроди нонче предельно честен :-)
[16:03:22] <valexey> ААА!!!
[16:03:35] <valexey> " • Привет всем! Я участнк с яваря 2012 года. Взял в кредит 200 тысяч и хотел погасить в июне, а теперь жду выплату 2 неделю. Мой десятник Иванов Павел из структуры МММ-свобода. КРО молчит, а мавроди не отвечет. Я не знаю что делать, мне каждый день звонят коллекторы и требуют деньги."
[21:23:47] <vlad2> Зачетная бага ;)
[22:24:31] <vlad2> (ф про железку)
[22:49:32] <valexеy> vlad2: да, бага та еще. Причем, что самое смешное, высокоуровневые алгоритмы, то есть которые уже данные обрабатывали на йфоне, даже как-то умудрялись работать.
[22:50:14] <valexеy> Блин. Даже потенциальным инвестерам и партнерам демонстрировали работу этой версии!
[22:50:40] <valexеy> И оно как-то пульс даже считало и прочие показометры. И правильно ведь в основном считало!
[22:54:16] <vlad2> Ситуация с МММ действительно удивляет.
[22:56:04] <vlad2> В смысле умные сразу понимали, что это такое. Дураки поняли, когда оно рухно. Те, кто понес свои деньгив МММ-2 - это кто?
[22:56:36] <vlad2> Причем оно ж даже называется точно также!
[23:03:07] <valexеy> vlad2: самое смешное, что Мавроди на всех рекламах писал про то что это ПИРАМИДА
[23:03:19] <valexеy> И что сохранность вкладов НИКТО не гарантирует
[23:03:31] <valexеy> И что пирамиды могут повредить вашему финансовому здоровью
[23:03:47] <valexеy> Причем открытым текстом все это было. И по телевизору когда у него интервью брали в передачах - тоже.
[23:05:12] <valexеy> Вообще, по большей части это молодежь вроде велась. Которые 1994 год просто не помнят :-)
[23:05:46] <valexеy> С другой стороны, это кем надо быть, насколько надо не владеть арифметикой, чтобы не понять что это долго прожить не может...
[23:22:42] <valexеy> ну вот. info21 как-то слабо жжет новым постом. луна на убыль, драйва нету...
[23:24:31] <vlad2> :) Новым это каким?
[23:26:22] <vlad2> А.
[23:26:30] <valexеy> http://forum.oberoncore.ru/viewtopic.php?f=82&t=3770&start=20#p72977
[23:30:22] <valexеy> http://marknelson.us/2011/09/03/hash-functions-for-c-unordered-containers/
[23:31:51] <valexеy> плюсовые сообщения об ошибках конечно да...
[23:32:03] <valexеy> /tmp/cc0B9FPH.o: In function `std::__detail::_Hash_code_base<std::pair<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,
std::pair<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const, int>,
std::_Select1st<std::pair<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const, int> >,
std::equal_to<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,
std::hash<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, false>::_M_hash_code(
std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) const'

[23:32:08] <vlad2> Злобно "Compiler error messages that redefine the term useless, and documentation that makes a mockery of the word."
[23:32:18] <valexеy> вот что это значит? :-)
[23:33:01] <valexеy> Если прожил всю жизнь в паскаль-мире, то окунувшись в дивный мир С++, сразу испытаешь батхерт после подобного :-)
[23:33:16] <valexеy> И убежишь с воплями обратно в Чорный Ящик.
[23:33:52] <vlad2> На самом деле я такие ошибки не смотрю :) Первым делом ищешь где оно греьанулось в .cpp
[23:34:07] <vlad2> F там уже понятно в 90% случаев
[23:34:16] <valexеy> аналогично :-) по контексту обычно понятно что и как.
[23:34:41] <valexеy> + бегло просматриваю текст ошибки на выявление ключевых слов, чтобы подтвердить догадку.
[23:34:47] <valexеy> Тут это - слово Hash
[23:34:50] <vlad2> В оставшихся 10% - да, надо смотреть. Но обычно сразу выискиваешь "не смог кастнуть вот это вот к этому". Это покрывает еще 9%.
[23:34:56] <valexеy> точнее даже Hash_code
[23:35:05] <vlad2> Оставшийся 1% - скрипя зубами :)
[23:35:33] <valexеy> вот введут концепты, жить станет проще в этом плане
[23:36:10] <vlad2> Хескельные ошиюки, говорят, тоже доставляют :)
[23:36:38] <valexеy> угу.
[23:37:07] <valexеy> но они там все же сильно короче и понятней :-) точнее они там совсем другого уровня.
[23:37:21] <valexеy> то что тебе нехватает хэш-функции там прям так и скажут.
[23:37:37] <valexеy> а вот когда монада на монаде сидит и моноидом погоняет...
[23:38:07] <valexеy> там же нет statement'ов, там все есть выражение, а операнды выражения, как понимаешь, должны быть согласованы по типам, иначе кирдык.
[23:38:24] <valexеy> Ну вот и представь себе функцию на 100 строк в виде одного единого выражения :-D
[23:40:18] <valexеy> Точнее так - у тебя получается ВСЯ программа в виде выражения (возможно рекурсивного), которое обязано быть согласовано по типам.