Fork me on GitHub

I’m happy to announce Guardrails 1.1.0. Guardrails is a simple library that lets you more easily add specs to your functions, and have those checked as your program runs; however, instead of throwing an exception (as instrument does) it simply reports the problem with expound. This lets you easily see errors with data expectations as you work in development (with a stack trace), but doesn’t interfere with your flow if the problem was with your spec, and not your code (very commonly the case). The biggest problem with Guardrails to date is that a slow spec can really make your program feel unresponsive. This version contains a significant performance improvement when working with Clojure. It pushes the validations off to a separate thread so that call-site overhead when running things in your dev REPL is a constant (measured on my machine as about 3µs). The checks run in an alternate thread so you eventually see the problem, but don’t have to wait on it while you work. See the README for more details.

🎉 39
🚀 33

I'm excited today to announce the release of Toto, a static site generation framework for Clojure, complete with live code reloading! As some of you may be aware, this functionality has existed in (dataviz and scientific document library) for some time now, but it has been difficult to discover or highlight given everything else Oz has to offer. My hope is that by releasing this as a separate project, more Clojurists will be able to take advantage of these features. You can get started with

clj -Sdeps '{:deps {metasoarous/toto {:mvn/version "0.0.1-alpha1"}}}'
Please give it a try and let me know what you think. Thanks!

simple_smile 24
🎉 30
👀 6

Actually there are others with HCR


Thanks for the catch @UDQ2UEPMY!

Ertugrul Cetin12:12:47

Hi everyone, I'm thrilled to announce the release of jme-clj. This library is a Clojure wrapper for jMonkeyEngine. jMonkeyEngine is a 3D game engine for adventurous Java developers (now Clojure developers, I hope). Feel free to share your feedback! GitHub: Demo video:

👍 54
suspect 18
Jakub Zika12:12:22

Great news. I will bring to life all my objs from Forger app finally ;]. I am posting nice article I stumbled upon as i was reading about jmonkey engine.


Deep Learning for Programmers: An Interactive Tutorial with CUDA, OpenCL, DNNL, Java, and Clojure Release Candidate 1 available for purchase

sheepy 15
👍 6
🚀 3
Jarrod Taylor (Clojure team)17:12:58

This was released last year but not announced. Ever wanted to visualize your Datomic schema? Perhaps the schema-cartographer might be of interest.

👍 27

@U0508JRJC There can be good reasons to not follow the :entity-type/attribute naming convention for Datomic attributes; for such cases, it would be good to be able to annotate the entity type explicitly. Don't complect naming and structure 🙂


Released Editscript 0.5.0, a library to diff/patch Clojure/script data structures. This release added the option to diff inside strings, and had major speed improvement for the diff algorithm, some data sets saw more than 2X speed up.

🎉 36

depstar {:mvn/version "2.0.160"} -- -- This is a major new release: depstar 2.0 behaves like a "tool" rather than a "library", so you use :replace-deps instead of :extra-deps and provide any :aliases you need as a command-line option (for -X). See below for more details of the release. Follow up in #depstar (consider this release a direct result of GitHub sponsorship by Cognitect/Nubank and five others -- thank you!). * depstar now behaves like a "tool" rather than a "library" -- you should use :replace-deps to specify it as a dependency rather than :extra-deps and it will compute the project basis from the system, user, and project deps.edn files using By default, it applies no aliases but you can specify an :aliases exec-arg with a vector of aliases to apply. By default, it behaves like the CLI's -Srepro option in that the user deps.edn file is ignored: specify :repro false if you want the user deps.edn file to be included in the basis. Fixes #47, #48, #49. * :compile-ns exec-arg supports a vector of namespaces to be compiled; this overrides :aot and :main-class and allows you to AOT-compile specific namespaces for inclusion in a thin JAR, if needed. Fixes #51. * The group/artifact IDs and the version can now be overridden by exec arguments (`:group-id`, :artifact-id, and :version respectively, and depstar will update your pom.xml file to match). Fixes #53. * :sync-pom true will automatically run the equivalent of clojure -Spom. See README for more details. Fixes #54. * The log4j2 plugins cache is now merged correctly. Fixes #50. * Supported entry points: hf.depstar/jar and hf.depstar/uberjar via -X, hf.depstar.uberjar/build-jar via REPL or library usage. The following legacy entry points are all deprecated: hf.depstar.jar/-main, hf.depstar.jar/run, hf.depstar.uberjar/-main, hf.depstar.uberjar/run, and hf.depstar.uberjar/run*. * Automated tests now exist, along with CI via GitHub Actions, against JDK versions 8, 11, 14, 15, 16-ea, and 17-ea. Fixes #26.

👍 57
🎉 33
parrot 6