clojure-europe

For people in Europe... or elsewhere... UGT https://indieweb.org/Universal_Greeting_Time
djm 2021-03-08T06:42:50.377400Z

đź‘‹

dharrigan 2021-03-08T07:26:34.377600Z

Good Morning!

simongray 2021-03-08T07:38:16.377800Z

mornin’

javahippie 2021-03-08T07:44:55.378Z

Morning!

slipset 2021-03-08T08:00:43.378200Z

Morning 🙂

javahippie 2021-03-08T08:05:12.380100Z

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

đź‘Ť 4
anthony-galea 2021-03-08T08:30:46.380500Z

good morning 🙂

thomas 2021-03-08T08:30:51.380700Z

moin moin

2021-03-08T08:38:33.380900Z

Morning

2021-03-08T08:39:30.381Z

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

javahippie 2021-03-08T08:44:11.381200Z

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)

javahippie 2021-03-08T08:47:28.381400Z

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

javahippie 2021-03-08T08:49:38.381600Z

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 🙂

joelkuiper 2021-03-08T08:58:26.382100Z

goedemorgen 🙂

mccraigmccraig 2021-03-08T09:26:08.382400Z

mawning

borkdude 2021-03-08T10:07:18.382700Z

morning

2021-03-08T10:25:12.382800Z

thx!

plexus 2021-03-08T10:34:35.383200Z

moin moin

ordnungswidrig 2021-03-08T11:34:30.383700Z

Good morning!

jasonbell 2021-03-08T14:45:49.384Z

Morning

reefersleep 2021-03-08T15:08:21.384200Z

Good afternoon 🙂

reefersleep 2021-03-08T15:12:23.385700Z

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!

borkdude 2021-03-08T15:14:18.386Z

@reefersleep #rewrite-clj

reefersleep 2021-03-08T15:16:09.386300Z

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

borkdude 2021-03-08T15:16:55.386700Z

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

reefersleep 2021-03-08T15:17:02.387Z

Beautiful.

borkdude 2021-03-08T15:17:12.387500Z

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

🙌 1
reefersleep 2021-03-08T15:17:31.388Z

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

slipset 2021-03-08T15:19:04.389100Z

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 🙂

slipset 2021-03-08T15:19:56.390100Z

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.

reefersleep 2021-03-09T11:18:23.478300Z

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

slipset 2021-03-08T15:20:04.390400Z

(apart from rename-symbol that is 🙂

borkdude 2021-03-08T15:22:30.392700Z

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

1
borkdude 2021-03-08T15:25:24.394Z

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

reefersleep 2021-03-09T11:25:28.478500Z

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.

borkdude 2021-03-09T11:27:08.479Z

:thumbsup:

raymcdermott 2021-03-08T17:35:51.395200Z

morning

borkdude 2021-03-08T17:36:29.395500Z

morning

ordnungswidrig 2021-03-08T18:52:17.396300Z

@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.

raymcdermott 2021-03-08T19:59:55.397800Z

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.

reefersleep 2021-03-09T11:26:41.478800Z

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