Fork me on GitHub
#clojure-europe
<
2021-03-08
>
djm06:03:50

đź‘‹

dharrigan07:03:34

Good Morning!

simongray07:03:16

mornin’

slipset08:03:43

Morning 🙂

javahippie08:03:12

To conclude from last Wednesday (thanks again for the discussion): Played with Crux and Datahike for three days now, and I will propbably go with Crux. Datahike looks like a great project, too, but there are still some moving parts that made me feel like it is not ready for productive use, yet

đź‘Ť 12
otfrom08:03:30

I'd be interested in more detail on why you made your decision. What were the trade offs that made you go with crux?

javahippie08:03:11

Some decisions in the Datahike project still seem to be pending. E.g, if you want to use a postgres DB as a backend, there is datahike-postgres, but in the issues you can see that they want to migrate to datahike-jdbc, which depends on replikativ-jdbc. After some alignment between the projects, the issue is blocked due to a PR from october, which is still open. Also, the on-disk-schema of Datahike is not final, yet (according to documentation), and currently there is no way to migrate datahike schemas. If you wanted to change the schema in a productive application, there is not really a way to do this (not really a dealbreaker for me, as I planned to go schemaless)

javahippie08:03:28

From what I read in the issues, supporting ClojureScript is currently high on the roadmap, so I guess there is less priority on the features mentioned above. This is, of course, completely okay, as ClojureScript support is a very cool feature, but it also means that I don’t expect the other things to be adressed, soon. They are quite a small team, after all, and have to focus

javahippie08:03:38

It’s not really about the features, but about maturity. I will keep a close look on Datahike, but with some of those pending changes / pending decisions, I cannot base a product on it, yet. Maybe in a year 🙂

anthony-galea08:03:46

good morning 🙂

joelkuiper08:03:26

goedemorgen 🙂

reefersleep15:03:21

Good afternoon 🙂

reefersleep15:03:23

Anyone know of a tool for manipulating source code in Clojure? I’m doing some wide-spread changes that are tedious to do manually, and would be trivial to do in a program. There must be something that helps doing stuff like this!

reefersleep15:03:09

I knew this’d be right up your alley, @borkdude!

borkdude15:03:55

@reefersleep I've been using rewrite-clj a lot. clj-kondo is based on its parser

borkdude15:03:12

If you are just using EDN you can use this "easy" shim: https://github.com/borkdude/rewrite-edn

🙌 3
reefersleep15:03:31

I tend to do a lot of refactoring, and complicated regex is nice but not always enough 🙂

slipset15:03:04

This makes for an interesting topic. Stuart Halloway argues that “automagic” refactoring is a bad practice. And, I was starting to think he was right 🙂

slipset15:03:56

I guess I’d argue that any refactoring worth doing would be just as hard to express as a function as to do it manually.

reefersleep11:03:23

In my case, we’re talking about tedious changes, but many places

slipset15:03:04

(apart from rename-symbol that is 🙂

borkdude15:03:30

I wouldn't really take a tweet as absolute advice without additional context, unless you are referring to something else.

3
borkdude15:03:24

That said, I haven't had many use cases where I had to refactor anything over hundreds of files at time, except maybe a directory nesting change

reefersleep11:03:28

I work on a pretty big project, people-wise - Cognitect were contracting for us, and they said that it’s the biggest project they’d been on. No idea if it’s considered big code-wise, but there are hundreds of usages of the datastructure/function I want to change.

ordnungswidrig18:03:17

@slipset in general I would agree. But there is code bases which force you to large scale refactoring where automatic / mechanical is the best way to do it.

genRaiy19:03:55

the term "automagic" implies some hidden process rather than a transparent transformation. I think we can all agree that a hidden process is bad and move right along.

reefersleep11:03:41

Fo sho. It’s not like I’ll be rebasing the changes onto main without a review or anything 🙂