Amazing Ideas that blew your mind

Thanks. I’ll be interested to hear how you feel about it after thinking about it more.

When Polylith first appeared, my first reaction was “It’s a monorepo that you can build multiple artifacts from and have a REPL that encompasses all your code… just like we have at work”. Only they were tying themselves in pretzels with symlinks and Leiningen and we had already moved on to Boot.

I’ve kept looking at it each time they come back and announce a new version, and it’s been kind of interesting to see them try to address all the “pretzels” in their earlier approaches and, to be honest, they’re still struggling with deps.edn because their current approach relies on things that are deprecated and will not be supported in future: specifically :paths/:extra-paths that reach outside the project tree.

We’ve also had to go through a few evolutions – since we switched to deps.edn in 2018 – and I recently blogged about where we’d ended up with monorepos and deps.edn. I guess we just didn’t think we’d discovered anything new and didn’t feel like writing an “architecture” website/project about how we have been working for years.

Polylith feels to me like exactly what we’ve been doing at work for ages, except with a lot more formalism, proscribed naming, and boilerplate.

2 Likes

That is being fixed as we speak.

I’m so happy the Polylith team did realize how this could benefit so many more. Joakim Tengstrand took three months pause of earning money to do the do the rewrite from Leiningen to tools/deps. Devotion.

I think it is much of what you have been doing. Didn’t get the impression of much boilerplate, though. And in addition to formalism and conventions there are also the command line tools around it. Don’t know how much of that is out there in projects using similar ideas.

3 Likes

This is a very similar talk by Guy Steele talking about similar things (I just skimmed the talk you posted but it looked to cover a lot of the same material only more low level)

3 Likes

thi.ng geom, which does very cool mathematics in a completely polyglot framework that uses emacs org-mode to output Clojure.

2 Likes

The Wolfram Language (principles) because of two things. First, the language consists of symbolic expressions => they can represent anything, data, programs, formulas, graphics, documents, …; and you can work with these in macro-ish ways to transform them. Second, it aims to make the whole world “computable” and comes with a huge built-in knowledge base (from physics to crops to historical people and works of art - think wikipedia, but in a structured way) and thousands of functions (from high-level math to physics to machine learning…).

4 Likes

Also, Fulcro, the full-stack webapp solution (and a successor of Om.next), because it is based on a small number of very well thought-out principles, that enable the implementation of powerful extra features (such as UI State Machines and Fulcro Rapid Application Development) with just “little” work and because it provides a complete, integrated solution for webapp needs

If you look at the Fulcro book, it seems overwhelming because there is hundreds of pages - but the basics are really simple (though it takes time to “get” them) and a lot of it is about the additional features (and thus safely skipped at first). I think the framework is really cool and powerful, saving you a ton of work that any non-trivial app will (eventually) require - once you get over the learning curve. Shameless plug: I have tried to make it more approachable and less scary than the official Dev Guide with my Minimalist Fulcro Tutorial.

9 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.