juan_gandhi: (Default)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2012-07-02 12:24 pm
Entry tags:

наука и жизнь

Scala:
  scala> List(Set(1,2)).flatten == List(Set(2,1)).flatten
res3: Boolean = false


Бля.

[identity profile] thesz.livejournal.com 2012-07-03 10:00 am (UTC)(link)
По умолчаниюв Хаскеле это множество на сбалансированном дереве. HashSet это отображение из целых в множества на сбалансированном дереве.

http://hackage.haskell.org/packages/archive/hashmap/1.0.0.2/doc/html/Data-HashSet.html

[identity profile] sassa-nf.livejournal.com 2012-07-03 10:06 am (UTC)(link)
Интересно, а зачем там Ord? Значения с тем же хешем упорядочиваются, что ли?

[identity profile] thesz.livejournal.com 2012-07-03 10:43 am (UTC)(link)
Да. И поддерживаются, как множество (то есть, нет повторных элементов и нет зависимости от порядка добавления).

[identity profile] sassa-nf.livejournal.com 2012-07-03 10:52 am (UTC)(link)
ага, хешем бьют на subsets, а каждый субсет упорядочен и сбалансирован, как задано в Set.

занятная конструкция IntMap, нужно ещё почитать.

[identity profile] sassa-nf.livejournal.com 2012-07-03 10:29 am (UTC)(link)
да, полистал insert - вот так оно и должно быть :) а не то, что джавы всякие - linked list значений, понимаешь!..