Fork me on GitHub
#clojure-norway
<
2023-06-13
>
cjohansen06:06:28

Jøss. Er det nå jeg skal gi opp portfolio? 😅

slipset06:06:20

God morgen, sier de.

augustl07:06:53

god morgen!

augustl07:06:30

polypane sin webside ser gjennomarbeidet og smooth ut at det nesten er litt sus. Tror det er én fyr som lager hele greia

cjohansen07:06:38

Men det er altså en browser som synkroniserer all interaksjon på tvers av mange faner, er det det som er greia?

augustl07:06:00

virker sånn, så egentlig ikke en portifolio-konkurrent. Pluss at den har en del innebyggede debug-tools for “quality control” på websia

augustl07:06:34

han kjører Datomic-argumentet 🙂

😂 8
cjohansen07:06:13

Helt streit å ville tjene penger på det. Historien viser at det ofte går på bekostning av adopsjon, men han har et mæget polert produkt, så hvem vet

cjohansen07:06:31

Jeg syns verden fortjener et relativt godt gratis produkt også, så jeg fortsetter å spikke litt på min greie

😻 2
❤️ 4
augustl13:06:50

TIL: cljs har (dårlig) typesystem innebygget? 😮 😮

(defn parse-num [num-str]
  (when num-str
    (js/parseInt num-str)))

(let [num (parse-num "10")]
  (cond
    (nil? num)
    (prn "Got null")

    (>= num 0)
    (prn "Got zero or positive")))

;; WARNING: cljs.core/>=, all arguments must be numbers, got [#{js/Number clj-nil} number] instead

augustl13:06:39

kan “fikses” ved å si (let [^number num (parse-num "10")] ...)

magnars13:06:10

Ja, er litt småtteri der. Jeg gjetter på at du også kan fikse det ved å bruke parse-long som kom i 1.11, men da må du bruke den med some-> på grunn av manglende nil-punning, dessverre.

msolli14:06:38

Mike Fikes har gjort mye arbeid for at CLJS skal produsere mer optimal (raskere) kode. Typesystemet og type inference er en del av det: https://www.youtube.com/watch?v=tPnCtXrwvIw

💯 2
augustl14:06:31

håper på Kotlin style “smart casts” snart da, sånn at den skjønner at om vi har sjekket at noe er nil så kan det ikke være nil 😄