May. 15th, 2010

juan_gandhi: (Default)
I was experimenting with Set[T] functor variance. Here are my considerations regarding the opportunity to make it contravariant. In short: it's impossible.

    /**
     * Casts a set into a set of subtype (contravariance, that is)
     * This method does not work, due to JVM type erasure.
     * Actually, delegating the work to runtime would be a stupid idea anyway;
     * so, is it a general problem with oop? Have to think.
     */
    @Deprecated  
    /*implicit*/ def downshift[A, B >: A] (source: Set[B]) : Set[A] = {
      val b2a: (B => A) = {case (a: A) => a}
      val elements = {for (b <- source; if b.isInstanceOf[A]) yield b2a(b)}
      setOf(elements, source.size, source.contains _)
    }


So, what I am thinking. Can we make Set functor contravariant in OOP? I mean, we have two problems here:

  1. Java type erasure makes it impossible to actually check the element type;

  2. OOP in general forces us to delegate this type checking to runtime - which is, I assume, a wrong idea



Seems like variance just does not work here.

I'll continue investigating the opportunities for covariance.
juan_gandhi: (Default)
А что, действительно хардверщики никому на хрен не нужны, и работу хрен найдёшь? Вчера разговаривал с одним.

Нет, я такое явление и 20 с лишним лет назад в СССР наблюдал; но откуда тогда берётся поток лишних хардверщиков?
juan_gandhi: (Default)
Вытряхиваю сегодня скошенную траву в бочку, вижу рядом - голубиное яйцо, разбитое уже. Блин. Наверху - голубиное гнездо. Сидит голубка, высиживает их, голубчиков. Нет, хватит! Не будем мы их усыновлять, камеру ставить. Ну сколько этих голубей, да до хренища.

Up

May. 15th, 2010 03:26 pm
juan_gandhi: (Default)
Самый грустный фильм, что я видел so far в своей жизни. Ужас, ужас, ужас.
juan_gandhi: (Default)
Мы типа воспринимаем это в переносном смысле.

А зря. Их тут до хрена. Там они члены партии, а здесь притворяются этакими нейтральными... ну вы поняли. Их тут ДО ХРЕНА. И у них есть ячейки. Если в конторе работают три члена партии, то они обязаны организовать ячейку. No kidding. И это в нагрузку к этим блядским мусульманам.
juan_gandhi: (Default)
Я так думаю. Дыбры вскоре переведу в режим friends-only, а остальное буду писать, как и дальше, для всех. Почти всех, у кого я во френдах, и которые проявляют признаки человеческого существа (а не безумного бота), запишу во френды; знакомых же занесу в группу знакомых, если надо поделиться чем-то именно со знакомыми.

дыбр

May. 15th, 2010 11:07 pm
juan_gandhi: (Default)
Сегодня был полубезумный день.

За завтраком досмотрели Альфа (первую серию), потом включили 3rd rock from the sun. Это мы, смеясь, расстаёмся со своим прошлым.
Read more... )

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

September 2025

S M T W T F S
 1 23456
78910111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 5th, 2025 01:07 am
Powered by Dreamwidth Studios