Fork me on GitHub
#clojure-italy
<
2019-04-16
>
reborg07:04:29

Buontonno 🐟

Andrea Imparato13:04:33

buongiorno, domanda al volo, perchè rand-nth non funziona sui set? :thinking_face:

bronsa13:04:03

perche` un set non e` una collezione sequenziale

bronsa13:04:16

non ha alcun senso chidere l'ennesimo elemento di una collezione non sequenziale

mdallastella13:04:14

è anche una nota sulla documentazione (più o meno): https://clojuredocs.org/clojure.core/set

mdallastella13:04:48

> Sets are a core data structure that by definition do not store elements in a sorted order. The actual order will ultimately be determined by the specific hashing function underpinning the data structure.

Andrea Imparato13:04:06

giusto 👍 sempre che non lo trasformo con sorted-set-by o simili

bronsa13:04:02

no, nemmeno sorted-set e` sequenziale

bronsa13:04:40

i concetti di ordine e di sequenzialita` sono ortogonali

bronsa13:04:51

in parole povere: - sequenzialita`: ad ogni "valore" corrisponde un indice numerico, e la lista degli indici nomerici e` strettamente monotonicamente crescente e continua - ordinamento: esiste una relazione binaria tra gli elementi che descrive la proprieta` di "a precede b"

Andrea Imparato13:04:32

ok, ed un set come viene rappresentato internamente quindi?

Andrea Imparato13:04:43

(so che potrei googlare ma mi sento pigro :P)

bronsa13:04:25

un set in clojure e` letteralmente una mappa k->k, una mappa in clojure e` una hash array mapped trie

bronsa13:04:47

un sorted set e` RB tree

bronsa13:04:19

sono strutture dati completamente diverse

Andrea Imparato13:04:35

grazie delle delucidazioni @bronsa 🙂

alan15:04:53

Vi condivido il video del primo meeting di scicloj https://youtu.be/NyMABoUEj20 a cui a sorpresa ha partecipato pure Rich Hickey 🙂

👍 8
reborg16:04:16

Grazie @justalanm sembra una discussione interessante, e quante facce (e voci) note :)

😁 4