joker

Discuss all things joker, the Clojure interpreter/linter on top of Go. https://github.com/candid82/joker
borkdude 2019-12-03T17:22:18.145700Z

Is there any documentation of how joker reads external sources ?

2019-12-04T16:56:48.151600Z

https://github.com/candid82/joker/issues/208

1πŸ‘
2019-12-04T16:57:02.151900Z

This is the best doc I know currently for it

borkdude 2019-12-04T17:02:02.152100Z

Thanks

Candid 2019-12-06T21:30:14.153800Z

there is also https://github.com/candid82/joker/blob/master/docs/misc/lib-loader.md. In general this area is not well documented mostly because it's not yet used much. This will need to change if the adoption grows. Confession: I have not written a single multi file Joker program yet (outside of test examples).

borkdude 2019-12-06T22:33:21.154800Z

Useful to know you’re not considering the current working directory.

2019-12-07T11:27:51.168900Z

FWIW, I've been using joker a ton to do scripting and infrastructure type stuff alongside bigger clojure projects. AWS, Vault, Kubernetes and many others have json apis that I find are pretty straight forward to interact with. I'll typically make a simple utility lib that wraps the api calls and appreciate json conversions (and possibly credentials) -- then share this code amongst many scripts that either run as cron jobs ore one offs. It's been a huge increase to efficiently because I can quickly ship the joker file and joker binary to remote nodes and run them without the ceremony of a full project.clj / uberjar and what not. If there's any issues I can edit right there and re-run. It's one of the best infrastructure management scripting experiences that I've had (which is usually in bash). Having http / yaml / json built in is a game changer. It's a digression, but the point was the wrapper / utility lib gets shared across the other sctipts

2πŸ‘
2019-12-07T11:31:21.171300Z

If you have a microservice style architecture -- the ns-sources allow the individual projects to share (versioned) libs

1πŸ‘
2019-12-03T18:21:06.146700Z

Yeah I thought :tag / :sha would be good options for the github interface

1πŸ‘
2019-12-03T18:21:55.146900Z

I had originally gone down that route, only to realize that it was challenging at best (I couldn't find a suitable solution) to get to private repos

jcburley 2019-12-03T19:11:49.147200Z

Could you clarify what you mean by "external sources" (if not also "read")?

borkdude 2019-12-03T21:05:24.147400Z

I mean there is a mention of ns-sources. Where is this documented?

1πŸ‘
borkdude 2019-12-03T21:05:58.147600Z

Also, if you have a project with multiple namespaces, how should you start it and how are the namespaces loaded relatively to each other?

1πŸ‘
borkdude 2019-12-03T21:07:38.148Z

And is there a notion of a classpath or not at all? I guess these are 3 questions πŸ˜‰

1πŸ‘
jcburley 2019-12-03T21:14:14.148300Z

Do you know about (doc joker.core/*classpath*)? I added that stuff myself awhile back, but haven't kept close track of just how newer stuff (like ns-sources) works or interacts with it.

jcburley 2019-12-03T21:14:52.148500Z

And I agree, Joker should (if it doesn't already) have a good overview doc of how to use these facilities and how to organize one's external (3rd-party) libraries!

borkdude 2019-12-03T21:25:14.148700Z

Maybe this isn't used a lot?

jcburley 2019-12-03T21:31:20.148900Z

It seems interest in using such facilities might be slowly increasing, and that might happen going forward as Joker continues to improve.

jcburley 2019-12-03T21:32:12.149100Z

Even if somebody just provided an overview of, or recipe for, how they used these features to solve their particular situation, that could be a good starting-point for others.

jcburley 2019-12-03T21:33:09.149300Z

I've tried to keep a list (some of which is in my head) of related matters so I might be better poised to use this myself and do it right the first time, and/or document it for others.