off-topic

yuhan 2025-10-09T16:18:05.188609Z

Woah, just found out that Clojure 1.12 supports the 'UNO Reverse' syntax which allows you to swap the lexical order of bindings:

(let [┏━━━━━━━━━▶ :━┓
      ┃   123    x  ┃
      ┃ (inc x) foo ┃
      ┗━ :◀━━━━━━━━━┛]
  foo)
;; => 124
seems like a pretty niche feature, but I'm sure there are situations where it can help with code clarity~

🤯 3
😮 2
🤣 21
😈 2
✍️ 2
hrtmt brng 2025-10-21T15:58:49.189309Z

Can anybody explain me what you are talking about?

dpsutton 2025-10-21T15:59:28.367489Z

run the code linked in the original message

dpsutton 2025-10-21T15:59:55.141679Z

dpsutton 2025-10-21T16:00:07.552679Z

formatting messaged up due to the indentation of the repl prompt but you get the idea

2025-10-21T16:07:00.293149Z

So the following code is legal, and I think perfectly understandable Clojure code: (let [a (inc foo 1) b (* a 2)] <body here>) . You can use a in a later expression of the let. Identifiers are usually combinations of letters, digits, and dashes, but Clojure allows other characters like | and other "ASCII art" characters are legal in identifier names, too.

2025-10-21T16:07:41.750469Z

This thread is discussing that it is legal Clojure to do some pretty strange things with ASCII art characters in a let statement, that I personally consider confusing and obfuscating, but others find intriguing and possibly useful.

yuhan 2025-10-21T17:06:25.132639Z

In case it wasn't clear, my original comments were entirely tongue-in-cheek with the intention to baffle and bewilder :)

💯 1
yuhan 2025-10-21T17:09:34.594039Z

but... if anyone has the urge to use this 'feature' in production code, I'd recommend using [Swearjure](https://hypirion.com/musings/swearjure) instead, much more elegant

2025-10-11T12:25:10.147029Z

Unless this actually somehow became common usage, which seems unlikely, this seems like the opposite of a way of writing source code that can help with code clarity. It looks more like intentional obfuscation.

🤭 1
dpsutton 2025-10-09T16:23:00.854009Z

i am unable to parse this out

2025-10-09T16:33:32.338169Z

that's amazing.

(->> '[┏━━━━━━━━━:arrow_forward: :━┓
           ┃   123    x  ┃
           ┃ (inc x) foo ┃
           ┗━ ::arrow_backward:━━━━━━━━━┛]
       (partition 2))

  ;;=> ((┏━━━━━━━━━:arrow_forward: :━┓) (┃ 123) (x ┃) (┃ (inc x)) (foo ┃) (┗━ ::arrow_backward:━━━━━━━━━┛))

2025-10-09T16:34:01.881279Z

(let [┃   123
      x   ┃
      ┃   (inc x)
      foo ┃]
  foo)

daveliepmann 2025-10-09T17:02:22.473879Z

wow that's cursed and amazing

yuhan 2025-10-09T17:03:45.932299Z

heh Slack's code block display spoils the magic a little by breaking up the lines between the box drawing chars, it looks more convincing if they're all joined up:

😮 1
dpsutton 2025-10-09T17:04:20.202169Z

https://docs.racket-lang.org/2d/

😄 1
dpsutton 2025-10-09T17:04:27.833889Z

this is such a cool party trick of racket

yuhan 2025-10-09T17:05:53.384599Z

yep I was directly inspired by that! started writing an experimental macro before realising it was way too much work trying to tokenize all those symbols

dpsutton 2025-10-09T17:06:32.899719Z

i didn’t even consider that this was valid code at first. it’s a really great snippet

2025-10-09T19:52:53.099419Z

Just saw a post where a lot of people said they got into programming using this flask tutorial: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world Just thought I'd leave it here, as I find it interesting to see what kind of material is successful to help people learn programming or a language.

👍 1
❤️ 1
neumann 2025-10-10T20:41:56.816039Z

I'll check this out. It looks like a neat resource!

Santiago Cabrera 2025-10-09T20:42:40.046469Z

Would be awesome to have something like this with Clojure and Datomic. Personally, I really struggled to map the official documentation to do this kind of projects everyone wants to do, would be WAY easier with tutorials that do the usual projects. Plus, in there we could include the particular approach to problems plus the REPL experience from Clojure. @lorilynjmiller