logoalt Hacker News

yogthosyesterday at 9:58 PM3 repliesview on HN

The reason it's possible to move fast here is due to the fact that I'm porting an existing language to a new runtime. All the hard work and hammock time has already been spent by the core Clojure team and the community. I'm not aiming to reinvent the wheel here. Furthermore, having worked with Clojure for nearly two decades now, I have a very good idea of what the language does, and what I need to implement on the host platform.

Once I had the basics bootstrapped, it was really a matter of getting tests passing, and then getting more and more libraries to run on it which allowed me to exercise their own tests. And that's what really made the whole thing possible. It's sort of the ideal scenario where you have very well specified inputs and outputs, and a ton of existing tests to ensure you are implementing the behaviors correctly.

The only other aspect here is performance, and that's addressed by having an extensive benchmark harness which compares with JVM timings. This allows me to see where performance gaps are, and focus on addressing them.

I would be careful in extending my experience of being able to port Clojure to Chez Scheme runtime to working with LLMs in general because in most cases you don't have such well defined parameters when you start.


Replies

jwrtoday at 11:11 AM

This. Good stable foundations allow for quick software development. Even if you use AI for coding, working with Clojure as an experienced developer produces extremely good results quickly because of the great foundations.

I love the expression "the hammock time has already been spent": it is actually very accurate and I'm very grateful to the Clojure team and community for spending that time!

iainctduncanyesterday at 11:39 PM

This is the germane point here. I'm not into LLM coding myself, but was talking about just this with my CS PhD supervisor yesterday, and porting language implementations is basically a perfect use case for them. He's been using them for porting examples from one language to another and was saying it was perfect - he already knows what he wants to see, understands both languages, and needs a syntax aware typist, essentially.

mark_l_watsonyesterday at 10:26 PM

Great work. It just simply worked for me.