Fork me on GitHub

Neanderthal 0.38.0 released, with CUDA 11 support! Vectors, matrices, and linear lagebra in Clojure with incredible speed on CPU, Nvidia GPU, and AMD GPUs!

sheepy 7
🎉 3
🚀 1

parcera v0.11.4 is out. This release includes support for octal literals and two bug fixes for symbols and eval. Hope you like it 🙂. Thanks to @sogaiu for his support testing all the different scenarios.

🎉 5

Scicloj's interview with Anthony Khong about Geni is now available on YouTube. Geni, written by Anthony, is a REPL-friendly Clojure wrappper for Apache Spark. Tune in to learn about how Anthony Khong got into data science, what limits Spark Notebooks, and how the situation changes with Clojure.

👍 8

I cannot save it for later in YouTube because it is marked Made for Kids;hl=en-GB


@U3X7174KS This sort of thing belongs in #news-and-articles and not in #announcements which is intended for project/library release announcements (per the topic of the channel).


@U04V70XH6 Maybe mention this policy in the topic then? To me this channel is a perfect place for this type of announcement (I didn't know about the other channel until now) but I'm fine with the other place if it's easy to find.


@U06BE1L6T read this channel's description -- it really is pretty clear.


I know (after I read it) but it's not clear where the other things should go. Also the channel name is quite generic


The description can't be expanded -- Slack has a limit there. I've updated the topic to point to other channels.


Most people read the topic, see it's only for projects and libraries, and ask in #slack-help or #community-development about where they should post non-project/lib announcments.


BTW, channel topics are also limited in length and, unfortunately, any member can change the topic so we're always at the mercy of members changing the topic -- it's not something Admins can control...


@U06BE1L6T Everyone is auto-joined to #events and #news-and-articles so I'm surprised you didn't know about them.


(also to #slack-help #beginners #clojure #off-topic -- from that initial set of seven channels, folks ought to be able to figure out how to get around here)


Thanks, that helps. I wasn't there for some reason - maybe the "auto join" for this channel was only configured after I joined clojurians? (I think more than 3 years ago)


Entirely possible -- but if you've been around that long, I'm genuinely surprised you haven't run across those channels by now... 🙂


@U04V70XH6 Thanks, for letting me know, I'll use #news-and-articles in the future.


@U0522TWDA Thanks for the feedback! I can reproduce the problem, and I'll look into it.

❤️ 1

I made scripts on the OpenSUSE Build Service to make clj-kondo available to install;package=clj-kondo, as well as an AppImage. The instructions have been merged into the clj-kondo repository. No more manual updates!

👍 3
parrot 1


👍 1

New version of mate-clj is now available on clojars! 🚀

💯 1

Is there a difference from tools.trace ?


i would say its a bit different, the aim of mate-clj is to print to repl the steps of execution of the macro/fn and to give the developer more understanding about each step and how it got to the final result.


but that is exactly what tools.trace is trying to do

user=> (use '
user=> (trace-vars + reduce)
user=> (reduce + [1 3 5 7 9])
TRACE t442: (clojure.core/reduce #object[$trace_var_STAR_$fn__319$tracing_wrapper__320 0x71e5f61d "c[email protected]71e5f61d"] [1 3 5 7 9])
TRACE t443: | (clojure.core/+ 1 3)
TRACE t443: | => 4
TRACE t444: | (clojure.core/+ 4 5)
TRACE t444: | => 9
TRACE t445: | (clojure.core/+ 9 7)
TRACE t445: | => 16
TRACE t446: | (clojure.core/+ 16 9)
TRACE t446: | => 25
TRACE t442: => 25


but instead of having separate implementation for core functions it is instrumenting resolvable vars leaving implementation intact


the thing is that I wanted to use a different method not wrapping all the fn so for example if i want to debug a specific execution of reduce and not all the executions in a code block if i have it more then one, also we are working working now on having the ability to set a kind of a level to it so you can control when it will be printed to the repl and when not depends on your needs.