clojure-norway

teodorlu 2026-02-17T06:26:53.574959Z

god morn!

hypirion 2026-02-17T06:33:05.930779Z

Morn!

teodorlu 2026-02-17T06:33:07.654309Z

Har hørt på podcast om Jonathan Blow. Programmeringspråket hans (Jai) og det nye spillet hans (Order of the Sinking Star). https://open.spotify.com/episode/1o7Bk6zbUoyUdP2Plkhtxr?si=8dede3243c4143d0 Generelt veldig spennende, men så kommer det "sleivspark". 1. Alle språk uten statiske typer er dritt, fordi du burde få se når du kaller en funksjon med feil type 2. ML og Lisp er bare akademisk fordi det er noen på C++-komitéen som oppfører seg akademisk og ikke pragmatisk 3. Jai er bra fordi Jai kompilerer raskt 4. Jai gjør fulle recompiles for å unngå bugs 5. Jai gjør en full recompile av spillet på 2 sekunder, men de skulle helst ha fått det ned på et kvart sekund, men har ikke tiden til å gjøre det nå. Det er liksom litt synd — gjennom utilsiktede antagelser har de avfeid interaktiv programmering, og de savner rask feedback? Interaktiv programmering gir jo nettopp kontroll over lasting av ny kode, raskere enn en full recompile, uten eventuelle bugs relatert til inkrementelle compiles, og også uten å slippe tilstand. Jeg tror det som irriterer meg er at det antagelser blir slengt rundt som fakta, også er bare antagelsene feil, og konklusjonen blir tilsvarende … feil.

boosja 2026-02-17T06:42:08.107529Z

Tror det er forskjell mellom å utvikle spill og annen programvare. I Clojure har vi innebygd datastrukturer vi bruker hele tiden. MEN de bruker mye minne fordi de kan inneholde hva enn du putter inn dit. For å minske minnebruken alt hva du kan, som man vil når man programmerer spill, du ha typer. Men ellers enig i dine andre poenger. Tenker mye av det handler om forskjellige økosystemer. Spillutvikling vs programvare.

👍 1
hypirion 2026-02-17T06:47:56.454879Z

Har ikke interaktiv programmering samme problemer som inkrementelle compiles da? Aner ikke hvor mange ganger jeg har glemt å fjerne en referanse til en funksjon som jeg har fjernet, og så krasjer CI etter en push. Og motsatt greie når jeg bruker Reitit: Siden funksjoner direkte referert i en datastruktur må jeg også rekompilere et annet navnerom eller bruke #' for å midlertidig fikse problemet (som jeg glemmer å fjerne senere.. men heldigvis ikke committer)

hypirion 2026-02-17T06:50:07.563769Z

Det er jo ikke store problemer, og til en viss grad føler jeg det er en læringsgreie. Men det er jo fremdeles problemer og feil man helst skulle unngått.

👍 1
teodorlu 2026-02-17T07:17:58.210769Z

> For å minske minnebruken alt hva du kan, som man vil når man programmerer spill, du ha typer. Ja og nei! Vi har struct of (typed)arrays med https://github.com/cnuernber/dtype-next. Chris har plenty av Clojure-programmer som slår C++-benchmarks. For mer info, anbefaler jeg min eneste opptreden som podcast-vert: https://www.youtube.com/watch?v=zYNlZXTV14E

👀 2
teodorlu 2026-02-17T07:19:22.850449Z

> Har ikke interaktiv programmering samme problemer som inkrementelle compiles da? Joa, problemet er ikke borte, men vi kan i alle fall jobbe på en bit av systemet "under en var". Så lenge vi kan redefinere en var, kan vi jobbe interaktivt. Men da må vi jobbe litt fokusert interaktivt.

teodorlu 2026-02-17T07:30:35.651439Z

spillmotorer gjør typisk 1. for hver frame, a. gjør fysikk b. gjør grafikk I Clojure ville jeg nok lagt opp til en var-deref hver frame. Det er ikke vits i å oppdatere det som skjer inni en frame-render, det vil bare gi visuelle artifacts. Litt som at vi med ring-kompatible http-servere typisk bruker en var som http-handler. Reitit fikk støtte for å ha handlers som vars i en ganske ny versjon (0.8 eller noe tror jeg).

gunnar 2026-02-17T08:24:02.628289Z

> ML og Lisp er bare akademisk fordi det er noen på C++-komitéen som oppfører seg akademisk og ikke pragmatisk Denne var litt rar. Er ikke LISP nærmest definisjonen på pragmatisme? Kanskje ikke på språk-nivå, men definitivt i runtime. Remote-repl og endring av kjørende system i reaksjon til omstendighetene må være et greit vitne til det?

teodorlu 2026-02-17T08:55:38.819139Z

Clojure og common lisp er ubestridelig pragmatiske! Men Common Lisp bærer vel mye preg av at det var veldig pragmatisk i 84 (eller når det ble laget), og tok med alt som var "nice" fra datidens Lisp-dialekter. Resultatet ble et stort API. @hypirion kan dette bedre enn meg. Andre dialekter som Scheme og Guile er sterkt idealistiske/prinsipielle, og er mindre interessert i pragmatisme. Scheme (både MIT-Scheme og Racket) ble laget på universiteter for undervisning og forskning, og gir faen i HTTP-servere og sånn. Men jo, den er kjemperar! Men de sitter jo og prater. Og vertene er … pratmakere som heller vil ha klare meninger enn å ha rett / være nyansert 😅 Og jeg blir litt sinna når folk som visstnok skal være ekspertene sprer feilinformasjon! Særlig når det de slenger dritt på hadde vært et nyttig innspill til diskusjonen de faktisk prøver å ha.

hypirion 2026-02-17T09:05:02.769589Z

Common LISP er litt som C++ i at den har blitt laget av en komité og har støvsugd en haug med idéer inn litt ukritisk: Se på https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node1.html for hele greia. Jeg føler liksom ikke at Common Lisp Object System (CLOS) er nødvendig i språket f.eks., det er egentlig "bare" en haug med makroer. Samme for loop -greia, liker den like "dårlig" som for i Clojure. Har litt mye rar syntaktisk sukker som man egentlig ikke trenger (?) Føler ikke at dette er et symptom på at komitéen er akademisk da.

💯 1
hypirion 2026-02-17T09:07:03.452169Z

Men jeg føler jo det er litt bomskudd fordi hverken Common LISP eller en rå Scheme er det folk bruker i praksis. Man går for Clojure eller Racket, kanskje Guile, i disse dager.

gunnar 2026-02-17T09:30:01.992279Z

Takk for opplysningene, her lærte jeg masse 🥰 Bare nysgjerrig: hva ville vært en bedre/enklere løsning enn for til kombinatoriske problemer?

hypirion 2026-02-17T09:55:55.599749Z

clojure.math.combinatorics? Det er primært :when og :let jeg ikke liker med for, om du skal ta det kartesiske produktet er det helt ok tenker jeg.

gunnar 2026-02-17T16:33:13.117589Z

Jeg blander begreper. Det var produkt jeg mente. Har ikke noe forhold til :when og :let, men kan skjønne at de gjør ting unødvendig komplisert.

boosja 2026-02-17T06:35:52.714179Z

Morn!

☀️ 1
teodorlu 2026-02-17T06:40:43.612839Z

Jank er jo faktisk et reelt svar til hele designproblematikken han legger opp for språket sitt 👆 med tilgang på C++-økosystemet og alle spill-greiene derfra. uten å være stuck med C++.

emil0r 2026-02-17T07:18:25.691069Z

Morn

eaj 2026-02-17T07:23:56.214269Z

God morgen! Jeg har blogget litt om hvordan det var å komme i gang med Clojure 🌞 https://eaj.no/posts/hei-clojure/

💯 5
👀 1
4
❤️ 3
teodorlu 2026-02-17T07:32:53.935899Z

Utrolig fin blogg! Og trivelig innlegg 🙂 Likte font, tekst og farger veldig godt. Behagelig.

eaj 2026-02-17T07:35:24.497909Z

Tusen takk, så hyggelig! ☺️

cjohansen 2026-02-17T07:42:19.356349Z

Kjempekult at du skriver på norsk 🥰 og hjertelig takk for skryt 😊

boosja 2026-02-17T08:08:07.286209Z

Veldig artig å lese!

2026-02-17T08:22:56.687109Z

Koselig 🤗 Velkommen til den norske Clojure-bloggosfæren! 😅

eaj 2026-02-17T09:37:23.678989Z

Haha, takk! Var mye gøyere å skrive på norsk enn på engelsk også

eaj 2026-02-17T09:39:00.452209Z

Og angående fonter @teodorlu, jeg brukte denne til å finne en pen font-regel som ikke krever noe nedlasting for de fleste klienter: https://modernfontstacks.com

👀 1
🙏 2
mokr 2026-02-17T07:58:50.362409Z

Morn!

oλv 2026-02-17T08:08:40.331979Z

God morn! Enda en vakker dag i tigerstaden 🤓

❤️ 1
🐅 1
Olav 2026-02-17T09:05:32.453199Z

Morn

Zeniten 2026-02-17T11:46:02.451609Z

Morn!'

cjohansen 2026-02-17T12:32:38.071069Z

Ikke direkte Clojure-relatert, men her er dagens lille brannfakkel: https://parenteser.mattilsynet.io/brukerfeil/

💯 1
➕ 2
msolli 2026-02-17T12:39:03.289969Z

Visdom og empati i den teksten der! Fint å ta oppgjør med den typen begreper.

❤️ 1
gunnar 2026-02-17T16:39:20.186189Z

Helt enig! Jeg kategoriserer "brukerfeil" som ux-bugs 😊

💯 1
teodorlu 2026-02-17T13:32:52.975819Z

Nyeste Babashka bygger inn JLine3, for å lage bedre terminal-grensesnitt! Og REPL har fått autocomplete 😁 https://clojurians.slack.com/archives/CLX41ASCS/p1771327408336059

4
Zeniten 2026-02-17T13:37:00.015649Z

Jeg er sulten; er det lenge til lunsj?

❤️ 1
➕ 1
🫡 1
teodorlu 2026-02-17T13:39:08.102479Z

@msolli 🥺🙏 ?

Zeniten 2026-02-17T13:39:25.482999Z

🥹

msolli 2026-02-17T13:39:30.574689Z

Tirsdag 3. mars tenker jeg.

😊 1
1
1
🍿 1
🎉 1
msolli 2026-02-17T13:44:27.436349Z

Jeg liker "Duplicate event"-funksjonen på Meetup! 😃

😁 1
msolli 2026-02-17T13:43:33.720609Z

Folket sulter, og de har tydeligvis ikke brød, men jeg sier: La dem spise curry! https://www.meetup.com/clojure-oslo/events/313397208/ Tirsdag 3. mars kl 12 på Jaipur.

🔥 3
😂 1
🤩 2
Zeniten 2026-02-17T13:49:37.035599Z

Thank you, ser.

boosja 2026-02-17T20:35:26.658749Z

> The simplicity of Unix did not just happen on its own. Unix, with its notion of simple building blocks, was painstakingly designed and written by Dennis Richie and Ken Thompson at AT&T's Bell Labs, And you should absolutely not dismiss simplicity for something easy. It takes design and good taste to be simple. > — Linus Torvalds, Just for Fun (2001) Hørtes kjent ut 😁

❤️ 5