Recent submissions

Comment · 2 months ago
But isn't it kind of a one way street? We can extract clojure code from the JVM but then we cannot use its ecosystem anymore, which kinda feels like a los. Since we can use (n)REPL in all ecosystems (jvm, browser, node etc...), could we use it or a variation to have interop?
Comment · 1 year ago
Is there a resource which compares Lisps (expressiveness, limitations, available special forms, ...)? I often read about lisp 1 and 2.0, clojure being a lisp 1.5 (because of the callable keywords if iirc).

Dabbling into llms I think that lisps could be very interesting format to expose tools to llms, ie prompting a llm to craft programs in a Lisp and then processing (by that I mean parsing, correcting, analyzing and evaluating the programs) those programs within the system to achieve the user's goal.

Comment · 1 year ago
Comment · 1 year ago
Interesting project, showing how "easy" it is to host[1] another language within Clojure. Like others, I admit I see little value for myself or as a selling point for beginners. For experienced engineers however, like I wrote above it should serve as a case study into how to hook up everything together to produce a working tool. Then it is a matter of seeing if and when there is opportunity to reuse such techniques to build DSLs that compile to native Clojure.

[1] Clojure is known to being designed to be hosted within another platform, but like all Lisps it is also a valid (and productive) hosting target by itself. It should be known that many of the APIs in the Clojure ecosystem rely either on:

- literal data structures - macros reusing native Clojure patterns / forms such as `let`, `def` ... - the shape of native (ie: defined within clojure.core) Clojure APIs, such as `get-in`, `with`...

Some examples: specter, integrant, mount, clojure.core.logic, datalog (datascript, datomic, xtdb), clojure.spec ...

Comment · 2 years ago
I would be very interested to read about the limits of conjure. In my mind it is a fabulous tool, with vim-sexp it is very productive to write clojure code with and a pleasure to use.
Comment · 3 years ago
Comment · 3 years ago
I agree. I used ChatGPT to boostrap a coding session in which I was using a library to describe data structures. My steps were - ask for documentation and examples relevant to the task ahead. - produce some examples - tweak the example using domain-like data - propose a solution using the lib as is - ask for a solution using a different convention than the classic one

i kind of think about this as a REPL assistant. very interested in other ways to use it (and the use cases, anecdotally I also used it to try and learn a little bit of COBOL using the same iterative approach)

Comment · 5 years ago
Dot operators vs plain functions are just two different ways to call a function, binding the lexical context `this` to a different value, possibly `undefined` in a strict context (which is default in es6 modules). The two are not uncompatible and libraries like jQuery make a wonderful use of the first version (dot call). The fact is that everything is mutable in JavaScript and one of its main API (the DOM) is actually built around this concept.

I really fail to see how those kind of changes bring anything of value to the language, apart from creating complexity where there is much already: some codebases will try and use this before it's ironed out with different / changing / competing transpiler implementation while it is only stage 2. What happened with decorators (see babel-legacy-decorators) should be a warning against enthusiasm for these kind of things and remind me of the pitfalls of macros in the Lisp world...

I am not saying that you should stick with an idiom till the end of time but changes should try and lower that complexity while (in the case of EcmaScript) being backward compatible so as to not break existing stuff.

Btw I love RxJS and its variants, Ben Lesh's talks (as well as those by Matthew Podwysocki, Andre Staltz etc...) from around 2015 and then on were one of the reasons I got into JS as a professional.

Comment · 5 years ago
Anecdotal but I know at least one megacorp that is doing layoffs of manager level positions after noticing that their services/industrial processes worked well while them being on furlough during the lockdowns.
Comment · 5 years ago
Hello, thanks for your submission this is really interesting. Out of curiosity have you thought about how this problem could relate to history navigation, in the sense that it can create context around a specific resource, ie : retrieve links that you read after reading a HN thread, in order to prioritise its reading order or link it to some topic?
Comment · 5 years ago
Mine is to put links in Notion with a description and some tags and then forget forever about it.
Comment · 6 years ago
Comment · 6 years ago
Hello, thanks for pointing out your tool. I use diff-so-fancy as a pager but I will most definitely try your tool.
Comment · 7 years ago
Comment · 7 years ago
Hello, this is an interesting take. Clojure has been a hobby of mine for some time but now I am a professional Clojure developper (clj/cljs). I knew the language before starting my new job but I found it really different than know the "platform": how a project is layed out, tests are written, some libs, how to pinpoint potential technical debt/suboptimal code accurately and so on... But I guess this would have been true if I had transition to any other new language.

Would you have any example of what your trainees stumbled upon or found difficult in the language? That would be useful I guess when we try to onboard new people on the project.

Have a nice day :)

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton