Fork me on GitHub

com.github.seancorfield/expectations {:mvn/version "2.0.156"} -- a clojure.test-compatible version of the classic Expectations library -- -- follow-up in #expectations

🎉 5
❤️ 3

Hi version a851bce2caf83906d2bf4d4b8143b96739c34c60 (git sha) of was added. The ns pitoco.instrumentat was added, which allows you to infer schemas from your vars at runtime (using Malli + Spec Provider behind the scenes), it's just a convenience for your REPL-driven development. I've made a video testing the new feature with #cljdoc, you can see how it interacts with the REPL. See One low-hang fruit would be to auto-generate documentation, improving the review in a PR with schemas and even examples from the tests (it's always good to ease the life of our reviewers).

👀 8
🎉 2

Hi, please update the malli dep, with the new m/provider, it's 10-100x faster now. Cheers.

👍 1

This is amazing.


Would it be possible to run instrument, as you did, and cache a static view of the generated mali schema (perhaps when you call a particular function)?


@U055NJ5CC I have tried to use the new version and I was having some NPEs, this is why I'm still using spec provider. I will open an issue soon in the Malli repo o/

👍 1

@U05100J3V Yes, it's possible, every var returned by infer-schemas will have a :malli/schema metadata associated, which you can read and output to a file (as Malli is serializable) or create some doc from it, do whatever you need. See the m/=> macro in Let me know your idea, we can add support right away in Pitoco if general enough o/

Lukas Domagala12:01:43

really cool idea to change the :doc meta. haven’t seen that done yet and it seems so obvious once you see it!


Thanks, Lukas! It can be annoying if the schema is too long (but at least is at the bottom), it was the common denominator for inspection I have found which exists in our Clojure tooling

Lukas Domagala12:01:36

I feel your pain 🙂 thats why I’m currently working on a better way to provide that in calva. But as you said, it would be only one IDE.

👏 1
Lukas Domagala16:01:11

@U5R6XUARE not sure if you are interested, but the initial PR for that issue is out: Since you’d be one of the potential users for it I’d appreciate if you had a look.


Thanks @U02EMBDU2JU! I will take a look, even I being a emacs user, it's good to know how the other tools are behaving so we can develop better developer tools o/


I’ve released 1.0.0-alpha8 of statecharts to Clojars. I spent all day finishing up most of the missing bits. The library now supports a fully autonomous mode where statecharts can invoke other charts, multiple charts can be managed/started using a common env and can cross-communcate with events, etc. You can easily create new kinds of invocation processors, and the protocols make it relatively straight-forward to build distributed and long-running systems of state charts. The library is very close to the SXCML standard in terms of features and uses the exact implementation of that standard for the chart processing. There are new examples in the src/examples directory, and the documentation has been updated. WARNING: this required a refactoring on several of the protocols, which resulted in BREAKING CHANGES (I said it was alpha). See the CHANGELOG for details. The chart definition API didn’t change, just some of the details of starting/running them. This is probably the last alpha release, since the only major thing missing is a good rigorous bit of testing.

❤️ 16

clojure-lsp Released 2022.01.20-14.12.43 with a lot of new changes, check the gif for one of the exciting ones, you can now move coll entries via refactor commands with lsp without messing with your comments or brackets 🤯 🚀 Check #lsp channel for more information about all other new changes!

🎉 18
🚀 9
🙏 2
🔥 3

In case anyone didn’t understand that it was a joke last time, Remorse 0.1.0 has been released. This version supports symbol conversion. WARNING: Do not look at the code!

👏 1
🤯 1
🙈 1
metal 1
🙌 2
🔵 3
catjam 11

How did this project get 18 stars???

Ben Sless20:01:09

Because it's fun!

Ben Sless20:01:07

Is this the first "obfuscated clojure" library?


There is also swearjure but it's a separate interpreter rather than self-bootstrapped:


I remembered Swearjure as I was doing it


I noticed that requiring the namepace was a little slow 🙂


I’m particularly proud of the fact that it macros it’s way into having a standard ascii API. So all of the functions can be called normally:



I dot dash was a joke! 🙂



💖 1

Bonus points for the name. Funny 😊


Those points all go to @U2FRKM4TW. I renamed the project as soon as he suggested it

🙂 2
Adam Helins20:01:09

Some say it's a joke, I say it's beautiful!

Ben Sless20:01:17

Next step is embedding a brainf* interpreter


com.github.seancorfield/honeysql {:mvn/version "2.2.858"} -- SQL as Clojure data structures -- -- follow-up in #honeysql • Adds honey.sql/map= to convert a hash map into an equality condition (for a WHERE clause). • Adds a :cache option to honey.sql/format to avoid re-parsing and re-generating complex SQL statements (Clojure only). • Adds more support for Google BigQuery: SELECT * EXCEPT .. and SELECT * REPLACE .. and ARRAY<> and STRUCT<> column types.

🎉 9
🙏 2
❤️ 5
Andrey Bogoyavlenskiy21:01:10

I'm excited to announce 0.1.0, the database auto-migration tool for Clojure! If you would like to read more about it, please check the, complete with an example and short description. 🙂

🎉 16