Juan-Carlos Gandhi (
juan_gandhi) wrote2012-07-02 12:24 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Entry tags:
наука и жизнь
Scala:
Бля.
scala> List(Set(1,2)).flatten == List(Set(2,1)).flatten res3: Boolean = false
Бля.
no subject
по ключу (hash a) нашли существующее значение и скомбинировали его с новым: (S.insert a). Поскольку S.insert==Set.insert, то должно быть отсортировано. quickcheck что, к разным типам привёл два списка?
no subject
Это исключено, т.к. (==) :: Eq a => a -> a -> Bool, а не (Eq a, Eq b) => a -> b -> Bool, т.е. сравнению требуется 2 одинаковых типа.
Вы на toList и fromList посмотрите. Как происходит вставка одного элемента - иррелевантно, т.к. пример её не использует.
no subject
no subject
no subject
fromList :: (Hashable a, Ord a) => [a] -> HashSet a
fromList xs = foldl' (flip insert) empty xs
да, я понимаю насчёт Eq, но как ещё объяснить разницу. Если бы объекты были одинаковы, то insert выполнился бы одинаково.
Мне доустановить ещё чё-то там надо. А то бы просто глянуть на fromList одного и другого.