1. 35

  2. 7

    Janet seems like a practical, modern lisp to get into. Anyone using Janet for anything? If so, what?

    1. 8

      I am using it right now only for personal stuff, but here are two projects that I am using every day:

      fuzzy finder ala fzy https://git.sr.ht/~pepe/jff.git time tracker/todo manager https://git.sr.ht/~pepe/neil

      1. 4

        I maintain (and use) a SSG in Janet: https://bagatto.co/

        I’ve also used Janet as a prototyping/tutorial language: https://blog.zdsmith.com/whist.html

        1. 2

          I’ve also used Janet as a prototyping/tutorial language: https://blog.zdsmith.com/whist.html

          I was just looking through this, really awesome! What are you using to tangle the literate source?

          1. 4

            Thanks! The literate-programming application is Literate: https://zyedidia.github.io/literate/

            It works pretty well. Totally source language agnostic. And I think I could theoretically get it to work with Emacs mmm-mode, though I haven’t tried too hard at all.

            1. 2

              wicked! Thanks – I’m excited to check this out over the weekend. I tend to do most of my literate programming in org-mode, but I’m always excited to try another system for literate programming

        2. 3

          I’m rewriting file opening scripts in it, my shell scripts for that are pretty ugly and bug-ridden (you can fit many bugs in 74 lines of shell). I can see myself rewriting most of my small scripts in it.

        3. 3

          This was a very good read. Respect for the kakoune linter.

          But I wonder, does the VM provide a Garbage Collector? Is it stack based? If so, how does it work and cope with its C potential “ordinary objects”?

          1. 5

            Thank you very much!

            VM indeed provide a GC, and it is stack-based. But I am not sure what you mean by the second sentence. There is a mechanism to create your own JanetAbstracts in C language, and then you can provide a call-back for the GC (among other things) where you usually free resources. If I am off, please refer to https://janet-lang.org/capi/index.html and beyond.

          2. 3

            The LISP tag might be appropriate?

            What distinguishes Janet from other LISP-like languages? The website doesn’t go out of its way to compare it to LISP; I had to find the home page and scroll down to some examples before seeing the telltale parentheses ;-)

            1. 9

              I think that’s intentional. I’m very comfortable describing Janet as a Lisp, but it departs from Lisp tradition in some key ways (like not using cons cells). In other, more argumentative spaces, describing it as a Lisp has led to a lot of really unnecessary rancour.

              1. 13

                Yeah, there’s a certain breed of Common Lisper who looooooves telling other people that their lisps are “not a real lisp”, and I think it’s completely reasonable to word your home page in such a way that it avoids having those incredibly tedious conversations.

                1. 4

                  I had the lisp tag chosen for a brief moment when composing the post. But for a reason given above and because I did not want the post to be about code at all, I removed it.

                  This is actually the second part of my Óde to Janet, and I want it to be plain praise.

                2. 4

                  Janet isn’t huge but I’d love a Janet tag for this reason. A lot of Janet-related stuff gets submitted here

              2. 2

                Janet looks really cool! I’m trying to get set up in Emacs with it, and janet-mode and ijanet-mode seem … all right, but I’m curious: is there a better inferior lisp plugin for janet? Or is there a better way to integrate it with Emacs?

                1. 3

                  It’s a little rough around the edges, but I’ve had some success with inf-janet too: https://github.com/velkyel/inf-janet

                  1. 1

                    Thanks – I was scared off that by the lack of a README and the last commit being a year and a half ago. But I’ll try it out!

                2. 2

                  I like the idea of a programming language where instead of saying “I use X” you say “I am X”

                  1. 10

                    This seems like a step in the wrong direction to me. We want people’s identities less tied to their tool selection.

                    1. 7

                      I took it as a pun with the name (Janet from The Good Place reference) but I agree that people must not be defined only by their tools. The other side of the coin is that we tend to either feel forced to use any tool either make the tools fit our way. When your tools began to be your medium of expression. How can you not feel them as part of your identity?

                      1. 1

                        Well said!

                      2. 1

                        As a programmer, I am JavaScript. As a programmer, I am Python. As a programmer, I am C++.