Fork me on GitHub
#clojure-italy
<
2019-06-12
>
helios07:06:54

buonciorno

reborg08:06:22

Buon Darjeeling

šŸ˜ 4
reborg08:06:01

Buon Darjeeling. A me alla fine i second flush piacciono piuā€™ che i first.

manuel09:06:54

@reborg io sono rimasto ai first, ma ĆØ pur vero che non ĆØ il mio tĆØ preferito e quindi non mi sono mai spinto oltre.

reborg11:06:45

ci sono ricascato ancora (every? #{:a} ()) => true argh. Eā€™ un ciclo che si ripete.

Lu12:06:56

Ho appena visto hanno proprio scelto cosƬ .. if coll nil then true

Lu12:06:12

ƈ un poā€™ anti intuitivo perĆ²

reborg12:06:35

si eā€™ per quello che ci ricasco, percheā€™ lo dimentico mensilmente

manuel12:06:45

(or) => nil, anche.

helios15:06:07

sad trombone

bronsa15:06:11

tutti questi behavior sono completamente consistenti matematicamente

ā˜ļø 4
bronsa15:06:18

per and/`or`, si usa rispettivamente true/`false` perche` sono l'identity dei reispettivi operatori

bronsa15:06:38

un po' come (+) e' 0 mentre (*) e' 1

bronsa15:06:54

not non ha un identity quindi non e` definita

bronsa15:06:54

(per capire every?, ricordo che forall x => p(x) e` equivalente a not exists x => not p(x), e vista cosi` e` chiaro che sull'empty set debba essere true: non esiste alcun valore nell'empty set tale che p (in questo caso #{:a}) sia falsificabile)

reborg15:06:03

Il problema per me non eā€™ capirloā€¦ eā€™ impedirmi di pensare intuitivamente

bronsa15:06:20

beh l'intuizione e` una funzione della familiarita` -- costringiti a pensarla come ^ un paio di volte quando ti capita di usare quelle funzioni e ti verra` immediato prima o dopo

mpenet15:06:06

if you think of it in terms of binary op ask yourself what added value on the op would make the operation be unchanged

mpenet15:06:16

I try to avoid saying monoid/mempty

simple_smile 8
mpenet15:06:20

but it's hard

mpenet15:06:24

(sorry english)

reborg15:06:07

Ok, posso cominciare con ā€œtutte le mie ferrari sono rosseā€ (che visto che non eā€™ ho, eā€™ vero). Sto gia meglio šŸ˜¬

mpenet15:06:44

a OR b a OR b OR false , a AND b A AND b AND true

bronsa15:06:55

esatto: forall per essere falsificabile ha bisogno di un witness per un controesempio

bronsa15:06:05

se non riesci a produrre un controesempio, e` per forza vero

mpenet15:06:01

hmm, non e molto chiaro il mio esempio

bronsa15:06:25

avrei semplificato con a = a OR false -- b = b AND true :)

mpenet15:06:42

si, meglio

reborg15:06:09

we are mixing identity and vacuous truth

bronsa15:06:58

si` non c'entra l'uno con l'altro ma si era menzionato sia every? che and

reborg15:06:38

Identity per AND eā€™ true e per OR eā€™ false, ma (and) e (or) da soli non hanno senso in matematica. O No?

bronsa15:06:09

altro approccio per spiegare and/or: sapendo che true=1 e false=0, c'e` l'isomorfismo and = *, or = + -- segue che l'identity di and debba essere l'identity di * = 1 = true mentre l'identity di or debba essere l'identity di + = 0 = false

bronsa15:06:14

@reborg qui entrano in gioco le monoid -- visto che come da sopra + e * lo sono e hanno identity functions e sono isomorfe a or/and, segue che per forza anche and/or abbiano identita`