6 ms·
I would like to compare this thing with real Lisps in the terms of abilities. Also I would like to know the correct transcription of the name.
by eimrine 4y ago
I would like to compare this thing with real Lisps in the terms of abilities.
Also I would like to know the correct transcription of the name.
- behnamoh 4y agoI’m on the verge of trying Racket to write my own DSLs. I wonder if Janet is better for this task?
- soulbadguy 4y agohttps://www.jetbrains.com/mps/ https://www.jetbrains.com/mps/
- ianthehenry 4y agoDepending on what you're doing, Janet might be a great fit! I wrote a DSL for [expressing and shading 3D shapes](https://bauble.studio https://bauble.studio), and it was pretty easy. Depending on exactly what you're trying to do, the ease of embedding the Janet interpreter inside of other programs might be a big point in its favor.
- behnamoh 4y agoEnjoyed reading the post! I think the difference between Racket and Janet DSLs is that with Racket, you can avoid using s-exp altogether. https://beautifulracket.com/stacker/intro.html https://beautifulracket.com/stacker/intro.html
- ianthehenry 4y agoThis is actually true of Janet as well, although it is not as nicely supported as it is in Racket. You can "bring your own parser," but still leverage the Janet bytecode compiler and runtime. Sort of... an advanced topic, though. The Racket path is much better trodden :)
- behnamoh 4y agoWow good to know! I wish there was an easy way to do it in Janet. It’s a much simpler language compared to Racket. And since it started as someone’s hobby project, I think unlike Racket, it isn’t under much pressure from academia. Academic languages tend to be less suitable for production (Haskell, Racket, Julia, etc.)
- elcritch 4y agoNim's great for writing DSLs as well, plus you can make it statically typed. It ends up being a sort of "yaml-expressions" rather than "s-expressions ". Creating DSLs is quite satisfying in general.
- tmtvl 4y agoI mean, let's be real: if you have SBCL and QuickLisp most newer S-expression based languages don't have much to offer.
- runlaszlorun 4y agoApologies for the question, but to clarify you’re saying that you much prefer the libraries that QuickLisp provides and find Lisp languages lacking. I’m debating whether to dive into Common Lisp for a new project. I’ve been a fan of Lisp for a while, much prefer parentheses over other notation, and have dabbled over the years by doing things like SICP and writing my own toy Lisp. Common Lisp comes across as one heck of a battle-tested language and libraries. But I’m debating how much of a learning curve I’ll have on the front end just getting used to SBCL/Emacs/Slime and the various libraries. And I’m not sure that I “get” the interactive workflow yet but def would love to.
- nvy 4y agoI can't speak for parent but I'm currently writing a one-man SaaS using common lisp on the backend and vanilla js on the frontend, and it's been great so far. SBCL's compiler produces very performant code and I find I can be very productive in lisp. The library ecosystem isn't quite as rich as, say, python's but it's still good. My chief complaint is that if you stray too far off the "happy path" of well-known libraries the quality (or even presence of) the documentation tends to decrease dramatically.
- runlaszlorun 4y agoOh, cool. I’m thinking about something similar with SBCL plus vanilla JS. I’m not worried about libraries and these days try to be a library/framework free as possible. The web dev basics of an application server, access to an RDBMS, and possibly help spitting out HTML/CSS/JS are all I need. And it seems like Common Lisp checks those boxes. I’ll give quicklisp props too as everything I’ve tried to install ran on one go. That’s unfortunately not always my experience elsewhere. Out of curiosity, have you done Lisp before? I’m curious if productivity gains would be lost in me ramping up.
- autumn-antlers 4y agoI find it interesting to compare Janet to Guile Scheme because they both claim to be fit as embed-able scripting languages. Haven't done any practical comparison yet bc Janet has only caught my eye recently (;p), but it appears to have a culture of vendoring and an edge in implementation size and complexity which (ideally) enable diving into the language's implementation to scratch your own itches, learn how it (and the stack in general) work more throughly, and allow eg. low level code optimizations with less FFI boilerplate. I wonder how executable size and performance pan out, but with C FFI available in each language (and the reality of how much time optimization is worth), I feel that comforts matter more. Color me intrigued!