2013-04-11

juan_gandhi: (VP)
2013-04-11 09:16 am

identity functor (say, in Scala)

anybody? Like Id[X] === X? :)

or in Haskell?
juan_gandhi: (VP)
2013-04-11 12:01 pm

in Scala, "." means "but wait, there's more"

    lines.
      filterNot(_.startsWith("#")).
      collect { case Property(key, value) => key->value}. 
      toMap
juan_gandhi: (VP)
2013-04-11 03:25 pm

аяяй concurrency

читаю книгу про Акку; там во введении пугают технологическими проблемами; или я чего-то недопонимаю, но, по-моему, иерархия операций и управление приоритетами процессов вполне могут решить эти проблемы, настолько, что а) и задумываться не надо, и б) можно даже доказать довольно убедительно, через леммы и т.п.

Что я, собственно, и делал - мы буровой управляли, у нас никаких дедлоков не было. В армии нет дедлоков, т.к. когда майор обращается к лейтенанту, то лейтенант не обращается одновременно к майору с встречным предложением. Автор там удивляется, что чёета мы сами делаем сто дел параллельно (идём и жуём жувачку, а можем прерваться и поговорить) - так у нас же есть приоритеты. Как один умный человек написал сегодня - лени нет, есть приоритеты.

Ну ладно.

"
Most successful applications that employ shared-state concurrency grow in a manner that resembles something like:
• Create some object that carries some data.
• Create some functions to operate on that data.
• Realize it’s slow. Create threads (or an ExecutorService) and refac- tor your code so it can run concurrently.
• Find out that you have a ton of race conditions. Protect the data with synchronization primitives.
• Scratch your head about why only 10% of your cores are being uti- lized. Eventually you blame the synchronization. Refactor again to try and increase concurrency. And so on. . .
"