Live data from Hacker News

Clojure Turns 15 panel discussion video

youtube.com

211–220 of 226 posts

Re: Clojure Turns 15 panel discussion video

#211

Earlier quoted context omitted.

I have also been using CLJS/Clojure for a solo project. I debated between CL and Clojure for the backend, but CL’s package ecosystem is too weak to be justified. What other languages did you consider for your stack and what did you think were the tradeoffs?

This is sort of a next generation successor to a personal project written years ago in Perl (evolving from a form fit tool to something much more general and flexible). I originally was going to do it in Ruby but after learning Clojure and doing a bunch of book exercises (toy coding tasks) I thought Clojure would be a better fit. (When I learned Python I considered that but it did not seem any better of a fit than Ru…

CLJS has been surprisingly good. re-frame really simplified a lot of the development. There are some oddities with trying to work out whether something is a JS problem or a CLJS problem, but for a solo project, it has been pretty good. CLJ/S seems to me a good spot between practicality and idealism (CL being the latter for some things). It's the most practical Lisp atm, and it can't get better than that.

Re: Clojure Turns 15 panel discussion video

#212
post #13

Earlier quoted context omitted.

> deps.edn Deps is well documented. The issue I personally found is that I needed to look at a bunch of OS project's deps.edn to see how people commonly structure things. Other than that it is a simple tool. > socket repl over nrepl I personally use Calva (VSCode) which just starts an nrepl based on deps.edn. When writing babashka scripts I start the repl manually and connect to it. Very pleasant experience so far. >…

> Deps is well documented. > The issue I personally found is that I needed to look at a bunch of OS project's deps.edn to see how people commonly structure things. Other than that it is a simple tool. This seems like a contradiction, because if it was well documented you wouldn’t need to look at other people’s configs to see how to use it. My experience with deps.edn is that every time I start a project and make a de…

I have found practical.li [1] to be an excellent source of information.

In particular cloning their clojure-deps-edn [2] as my ~/.clojure folder gives me ready made aliases for different kinds of repls, tools like reveal etc.

This, plus polylith [3] architecture has finally allowed me to start working in clojure and not get lost in configuration confusion.

[1] https://practical.li/clojure/clojure-cli/projects/add-librar...

[2] https://github.com/practicalli/clojure-deps-edn

[3] https://polylith.gitbook.io/poly/

Re: Clojure Turns 15 panel discussion video

#213
post #84

Earlier quoted context omitted.

"Superb" is not the word for deps.edn documentation. It is certainly documented but the gap between most Clojure documentation and the deps.edn documentation page is big. I suspect Rich wrote most of it but left the deps.edn page to someone else.The deps pages have a knack for includng pages of waffle that doesn't help to solve the current problem. If a newbie is trying to debug {:deps {ring/ring-devel {:mvn/version…

These are useful comments and issues are welcome at https://github.com/clojure/clojure-site/issues

smoothly changes gears ... although of course there can be no question that the deps documentation is managed by a man of patience, talent and extreme skill to whom we are all thankful.

Sorry, I had a bad time learning deps and the frustration still haunts me.

Re: Clojure Turns 15 panel discussion video

#214
post #91
post #84

Earlier quoted context omitted.

"Superb" is not the word for deps.edn documentation. It is certainly documented but the gap between most Clojure documentation and the deps.edn documentation page is big. I suspect Rich wrote most of it but left the deps.edn page to someone else.The deps pages have a knack for includng pages of waffle that doesn't help to solve the current problem. If a newbie is trying to debug {:deps {ring/ring-devel {:mvn/version…

Out of curiosity - what is the correct form in this case? Ed: I'm guessing a key => list of deps, maybe?

It should be:

    {:deps
     {ring/ring-devel {:mvn/version "1.9.6"}
      ring/ring-core {:mvn/version "1.9.6"}}}
There was one too many map.

Re: Clojure Turns 15 panel discussion video

#215
post #179

Earlier quoted context omitted.

All the things you are mentioning would be nice to haves but frankly nothing prevents us to use these today already, either directly or via a bit of wrapping. Communication "style" and slow pace is frustrating sometimes but that's a small price to pay for all the positive facets of the language/community. I used to be more critical of these but I don't care anymore, the community is wonderful, the language is very us…

Which of the datalog alternatives do you think is closest? And how much of an improvement do you think a datalog db is over boring Postgres or SQLite? I’ve been weighing what db to adopt.

datalog is just the query language. For me there's no such thing as a datalog db, there are various db that uses some derivative of datalog for querying but that's it. To give you an idea, datomic has other ways to query your data than with datalog alone.

The "closest" to datomic is datahike right now. Crux/datahike/datascript/asami all use datalog in some way or another but they cover different use cases.

Re: Clojure Turns 15 panel discussion video

#216
post #215

Earlier quoted context omitted.

Which of the datalog alternatives do you think is closest? And how much of an improvement do you think a datalog db is over boring Postgres or SQLite? I’ve been weighing what db to adopt.

datalog is just the query language. For me there's no such thing as a datalog db, there are various db that uses some derivative of datalog for querying but that's it. To give you an idea, datomic has other ways to query your data than with datalog alone. The "closest" to datomic is datahike right now. Crux/datahike/datascript/asami all use datalog in some way or another but they cover different use cases.

Just noting that Crux has been rebranded to https://xtdb.com/ (as per https://xtdb.com/blog/crux-to-xtdb-rename/)

Re: Clojure Turns 15 panel discussion video

#217
post #71

I love Clojure (and have touted such in past comments), but it suffers from a glaring problem: every library is half done and/or abandoned. What happens is you end up modifying an existing library to fit your particular problem space. I needed a web framework. None of them just did things in a "simple way". I ended up branching an existing one and have altered it (very heavily) to fit what I need. It's now my go-to f…

Every early ecosystem suffers from lack of mature libraries. It is a chicken and egg problem. I think your contribution would be very welcome, especially with a bit of docs or minimal examples.

You can't call it "early ecosystem" after 15 years.

Re: Clojure Turns 15 panel discussion video

#218
post #165

Earlier quoted context omitted.

I thought about doing some work on Clojure itself, but, alas, my last name isn't Miller. :-( jk

The Clojure development process is notoriously closed to outsiders. Even in the early years, some people contributed time and code, and weren’t thanked. I would view attempts to contribute as very high risk for newcomers. I personally maintained a fork for a couple years just for an unmerged patch I needed, rather than try to get the core team to merge it.

I think you may have missed the 'jk' (just kidding) at the end of my post.

Re: Clojure Turns 15 panel discussion video

#220

Earlier quoted context omitted.

spec is mostly useless for tools and IDE's and static analysis. Spec necessitates running your program with an arbitrary runtime complexity. Type checking is done before your program runs. The idea is to remove the need for runtime checks as much as possible.

But clojure is not meant to be developed statically! It is supposed to be running while developing it. You don't need static analysis if the programm is running and inspectable.

Ah yes thanks for the elaboration. That's what I meant by the spirit of Clojure.
Post reply on HN