he/him | Optics By Example: https://xitter.cf/t.co/WC3SHRY4Kl | Cunningham's law made manifest. | Building @unisonweb

Joined March 2012
🔍Optics By Example has LAUNCHED! 🥳🎉 Go grab your copy! leanpub.com/optics-by-exampl… Learn about the magic of Lenses, Traversals and Folds ✨ Thanks to everyone in the community who's helped make this a reality 😀
7
37
7
150
Happy to announce Unison Computing is branching out into consulting! iIf you'd like a hand with your project you'd be hard-pressed to find a better team to help, drop us a line 😎
9
743
Want to try a radically innovative programming language? Unison is ready! Unison is approachable, user-friendly, and has a great community of friendly folks :) On top of that it has mind-bending features like serializable function closures and built-in distributed programming!
1
5
44
5,171
📰 Unison 0.5.50 is out * New `branch.diff` command (with diff-tool support) * Support for adding comments to branch history * MCP agents can `test`, `update`, and `run` code * Smarter `run` command behavior Check out the full release notes: github.com/unisonweb/unison/…
3
1
12
4,468
📽️ Here's a quick video for anyone just getting started with Unison. The gist of it: install the UCM, create a scratch file in the right place, and have fun programming! youtu.be/13Dooyjg6dc?utm_sou…
3
6
1,792
Chris Penner retweeted
In 1983, a Pixar engineer pulled off one of the craziest C hacks ever. He merged a switch and a do-while loop just to make code faster. It looked illegal. It wasn’t. It’s called Duff’s Device.
126
347
49
5,438
2,672,974
Don't get too hung up on #Monads, there are other ways to sequence effects; including Arrows; and they provide even better static analysis! Let me know what you think :) #Haskell chrispenner.ca/posts/arrow-e…
1
2
14
702
New blog post! #Haskell is built on a foundation of Monads, but are they really the optimal way to sequence effects or should we keep looking for something better? What's the big deal with Applicatives and Selective Applicatives? Read on! chrispenner.ca/posts/express…
2
2
1
15
3,478
Did you know that #Unison Share is a full-featured code-repository and collaboration platform that *doesn't have a single unit test*? Here's how that works: chrispenner.ca/posts/transcr… (*spoiler*: it's great!)
1
4
10
955
Anyone have a good FM synthesis playlist?
641
Chris Penner retweeted
Replying to @ChShersh
I’ve tried (what feels like) every approach under the sun and this is what I’ve settled on whenever I have the choice to. In my view ORMs make the trivial stuff easier at the cost of making complex stuff more difficult. And that’s not a trade off I want to make.
12
8
1
314
24,109
Now who’s going to do the interpretive art piece of building one and actually moving it around the corner?
We JUST solved a hard open math problem— the moving sofa problem! "What is the area of the largest shape that can be manuevered through an L corner of width 1?" On Dec 2, 2024, Korean Jineon Baek proved the answer is the 18 curve section Gerver's sofa with area 2.2195..!
3
868
Chris Penner retweeted
Well, it was about time to clean up remake of Parallel Processing (@armcannon & @chrislpenner) so I could play my own level again. 😅 But here it is, reworked and polished! I just can't believe this level will be soon 5 years old... #JustShapesAndBeats youtu.be/2OGxEmnB3M8
4
1
8
1,093
Shamelessly crowd sourcing ideas for a talk. What are some less commonly available features in programming languages and libraries that you think are valuable? Possible examples: sum types, structural typing, monkey patching Bad features welcome too 😀
53
1
1
22
6,155
Chris Penner retweeted
Fixed that for you
73
289
30
7,613
377,975
…not like that! This should go down in textbooks next as “masterful engagement farming” and “peak trolling” 😂
A guiding principle of data-oriented programming is to make illegal states unrepresentable. Take a deeper look in the fourth part in this series on DOP. social.ora.cl/6019UplaW
11
1,094
I'm just a guy begging apple to bring back the the display on the set-timer screen that says what time the timer will go off... don't make me do time math in my head, that's the hardest kind of math! The worst is that it's still on the timer screen, just not when you set it!
1
439
Question for type-theory folks! I have a typechecker for my little CLI app; but want to allow auto-casting between certain sets of limited types. E.g. it should be valid to cast between `Text <-> Number` but not between `Number <-> [Text]`. ...
1
1
4
1,094
An alternative idea was to implement a custom unifier where each unification variable keeps track of its own fall-backs. Those fall-backs propagate via unification, so if unification ever fails you discard that branch and pick the next value for a variable and hope that one works
1
2
397
Worst-case performance gets bad here, but I'm type-checking one-liners so probably isn't a big deal.
1
357
It's entirely possible this plan is cursed from the design stage, but the bidirectional nature of expressions in this app makes explicit casting difficult for its own reasons, and even if it's explicit I still need the to express valid casts via the typechecker 🤔
1
1
363
Maybe this is cursed because it's essentially a type-level function a type to its valid casts, but the language doesn't allow defining your own types so all of these sets are statically known.
1
1
352