Fork me on GitHub
#clojure-norway
<
2023-02-13
>
slipset07:02:49

GOd morgen!

augustl08:02:04

god morgen!

augustl08:02:46

hvorfor begrense seg til lusne to tilstander på booleans, sier bare jeg!

slipset09:02:47

Det er veldig mange som ikke skjønner verdien av tre verdier for booleans.

augustl09:02:37

i cljs har vi jo også undefined, two booleans for the price of one

slipset10:02:28

Det gir fullstendig mening 🙂

slipset10:02:49

der undefined tolkes som “har ikke tatt standpunkt”

magnars10:02:35

hvis du legger forskjellig semantikk i nil og undefined så kommer jeg hjem til deg og putter alle kjøkkenknivene dine i oppvaskmaskinen.

😱 4
😂 10
slipset10:02:55

Nei, jeg legger ikke ulik semantikk der, men jeg mener det er verdi i å kunne vite hvem som har svart at de kommer på Clojure Lunch, hvem som har svart at de ikke kommer, og hvem som aldri svarer.

🔥 1
teodorlu18:02:20

hva med {:rsvp :kommer}, {:rsvp :kommer-ikke} eller {}?

cjohansen10:02:18

Det er fristende, og praktisk, å lese tre states ut av en boolean når den får lov til å være nil, men koden din vil sannsynligvis bli bedre med en eksplisitt modellert tilstand

💯 4
slipset10:02:05

Må innrømme at jeg er litt farget av å forklare for businessen hvorfor det kan være gunstig å skille mellom “har ennå ikke tatt stilling” og “har tatt stilling og vil ikke”

magnars10:02:36

Det er et fint skille, men syns det er bedre å modellere eksplisitt. 🙂

augustl10:02:13

:thinking_face::thinking_face::thinking_face::thinking_face::thinking_face::thinking_face: er det bra/trygt/gjennomførbart med garantier som “kommer aldri til å være nil” i Clojure egentlig?

augustl10:02:03

hva om den plutselig ble nil lism.. men det er vel lov å se på “var nil når den ikke skulle være nil” som en bug, selv om man ikke har et typesystem

augustl10:02:59

booleans… føles som en slags edge case som default ikke har noe i domene-modellering å gjøre, med mindre du kan argumentere godt for det

augustl10:02:18

litt som bitwise flags og sånt, en rar gammeldags greie man gjør for ytelse eller kompabilitet eller noe

augustl10:02:14

er de “complex” iht til Rich Hickey sin definisjon? Booleans er jo ikke maps/data. Du kan ikke extende en boolean med en ekstra state

augustl10:02:10

litt som at det er lurt å bruke maps som input til funksjoner i stedet for lister, siden det er vanskeligere å legge til et element i en liste og “threade” det igjennom hele call stacken enn å bare slenge på en ekstra key på et map

augustl10:02:19

</tenkehøyt>

cjohansen12:02:46

Hvorfor er det (nth coll n) og ikke (nth n coll)? Virker som en blemme

slipset12:02:30

Booleans are just enums waiting to happen.

😍 2
😅 2
ingesol12:02:06

@christian767 Er det ikke sånn at vi vanligvis bruker siste posisjon for ting som skal itereres? I det perspektivet synes jeg det gir mening sånn som det er. Eller ser du på nth som en slags some der man n er det “filteret” man leter etter?

1
cjohansen12:02:03

Jeg vil nesten alltid slenge nth inn i en thread-last, og det går ikke

magnars12:02:13

Ja, den generelle formen på clojure.core-funksjoner er "maps først, colls sist" - det bommer nth på.

infosophy18:02:38

Hvordan pleier dere løse det? partial?