Morn
morn!
mårn!
Mornings!
morn!
Bruker dere noe særlig transducers? Etter en diskusjon på kontoret gikk det kanskje er noe man aldri begynner å bruke hvis man ikke legger inn vanen. Endte opp med å skrive denne i internkalanen vår på teamet; > Jeg bruker bevisst transducers, enten (a) når jeg vet at jeg jobber på svært lange sekvenser, (b) når det blir mange mellomsekvenser og (c) når jeg er bekymret for exceptions. Selv om jeg starter med vanlig (->> xs (map ,,,)), fordi det er kjekt å REPL-e på plass. Vi har ikke noe særlig transducers i koden i dag, men jeg tror vi ønsker oss mer, særlig når vi jobber på mange entiteter og ting kan feile. > Synes Sean Corfield og Oleksandr Yakushev belyser problematikken bra, og tror vi hadde fått mindre lazyness i Clojure-standardbiblioteket dersom 1.0 hadde blitt laget på nytt i dag. > What if transducers where taught first? av Sean Corfield, https://clojurecivitas.org/clojure/transducers/what_if.html > Problemer med Lazyness, Clojure's deadly sin (clickbait!) av Oleksandr Yakushev https://clojure-goes-fast.com/blog/clojures-deadly-sin/
Jegt tror at hvis jeg hadde startet et projsekt idag så ville jeg brukt transducers mye mer. Men jeg finner det ganske tungt å introdusere det i en gammel kodebase. Usikker også på hvor mye vi evt tjener på små øyer med transducere
Hvordan bruker dere typisk transducere? (into [] (comp (map ,,,) (,,,)) ett-eller-annet) - eller mer lavnivå?
Jeg gjør akkurat det:point_up:. Har internalisert dette såpass at jeg sjelden gjør (->> some-coll (map foo) (map bar)) lenger.
Samme her, (into TOM (comp ,,,) xs) er nesten all min bruk!
Det hender jeg def-er opp enkeltstegene,
(def foo-xf ,,,)
(def bar-xf ,,,)
(into #{} (comp foo-xf bar-xf) ["oranges" "appletrees" "bumblebees"])Liker særlig into når jeg ikke vil ende opp med en seq,
(into #{} ,,)
(into {} ,,)
(into [] ,,)
(into (sorted-map) ,,)
(into (sorted-set) ,,)Takker for svar 👌
Inspirert av Tobias https://gist.github.com/slipset/dea3d514f3fabe04a0e99f2807bbba64
> implemented by Erik Assum as an experiment in metacircularity – the idea that a system can operate on itself Alternativ beskrivelse: a moldable environment for AI agents (kanskje best kjent fra https://gtoolkit.com/, Smalltalk-prosjektet til Tudor Girba) Jeg klarer ikke helt skjønne hva Wikipedia egentlig mener https://en.wikipedia.org/wiki/Meta-circular_evaluator betyr. Det er litt mye vifting med armene og litt lite klar definisjon. > A self-interpreter is a meta-circular interpreter where the host language is also the language being interpreted Basert på 👆, tolker jeg "metasirkulær" til at det er en symmetri i materialene. Materialene greia er bygget i er materialene greia brukes i. Første avsnitt handler om self-hosted compilers, som er nettopp dette. https://clojurescript.org/guides/self-hosting for noen år siden, og det betyr at js-artifactet du bruker kan kompilere Clojure til JavaScript uten en JVM i loopen. Med andre ord, materialene greia er bygget i (Clojure) er materialene greia brukes i (også Clojure). @tobias.laundal / @slipset hva tenker dere? Disse begrepene føles så abstrakte for meg at det blir mye vifting med armene og spekulering.
Det er vel mer en referanse til SICP forelesningene (som jeg ikke har sett ferdig) men når Sussman tar på seg trollmannhatten når han skal implementere eval.
Ja, jeg tror ikke egentlig det er riktig å kalle dette metasirkulært, siden LLMen er helt ekstern fra Clojure/emacs-prosessen. Men jeg synes likevel det er litt beskrivende og gir noen riktige konnotasjoner
"moldable development" treffer blink, spør dere meg 🙂
Jup, synes det høres veldig presist ut
det er også etablert: https://moldabledevelopment.com/
nå snakker vi! Agenten kan faktisk gjøre det mennesket kan gjøre!
Gøy at du også unngår problemet med buffere som er ute av synk med filer. Jeg blir så lei av falsk-positiver fra Clojure-LSP når den henger bak.
Og ikke minst, det er funkis 🙂
Det går ann å tagge meg 😉
Min variant begynte med 50 linjer clojure og har siden vokst til 13 000 linjer over 58 filer, inkludert en Matrix klient, webpanel, certbot klient og to små webapper som den bygget for meg
en mini-verden! 😄 Hva gjør du med tilgang? Kan agenten gjøre alt du gjør, eller låser du ned?
Wow! Utrolig kult at det hele er såpass kompakt og konsist, @slipset. Og ikke minst at jeg kan copy/paste rett inn i emacs uten noe mer sermoni enn som så.
Morn!
Morn!
Mrn
God morgen!