First Common Lisp work ====================== First Elisp ----------- I have started to explore coding in Lisp. The first step was writing some Elisp code. I build some stuff, and used those to do some actual stuff, take those "in production", so to say. Those working things are in all about 1,000 lines of Elisp code. So, that is only just a small start. I have been enjoying this. Next step: Common Lisp ---------------------- I started reading books on Common Lisp, and explore Common Lisp related websites. I installed SBCL with quicklisp and started to build some stuff. I started with the same projects as my first Elisp projects. * Wiki to texinfo converter * Static site generator These are now two compiled programs, that I run from the command line. Wiki to texinfo converter ------------------------- I use awkiawki as a personal wiki. This is a wiki written in Awk that sits on a pool of Markdown files. When a page is requested, awkiakwi converts the Markdown on the fly to HTML. The wiki to texinfo converter converts a number of these wiki-pages into some texinfo files, and installs the result in a personal info-directory. This is not rocket science of course, but it was a great way to learn a lot :) Static site generator --------------------- The source of my website is a directory with Markdown files. This started as a Vimwiki diary, so the files are named after the date, in the format "YYYY-MM-DD.md". It uses Vimwiki-tags, every file has a line with tags, surrounded and delimited with a colon. So the format is ":tag1:tag2:tag3:". The static site generator uses the 3bmd package to convert the Markdown to HTML, creates a list of all used tags and a page a per tag with the related HTML-files. I have a Links-page on my website. In my home network I have an instance of Linkding running, that I use for my bookmarks. The static site generator talks with the REST API of Linkding, collects the bookmarks with a certain tag and compiles a list for the Links-webpage. I am not completely happy with the Links page, because it simply dumps the list, without any organization or categorization. So, there is room for improvement. Large executables ----------------- The compiled version of these two scripts are rather large. This is in general the case with SBCL. With the FreeBSD SBCL package, the option "compression" does not work. My guess is has to do with the compile time configuration. My plan is to set up a jail and compile SBCL in there, to see if this can be resolved. Just starting ------------- These are just my first Common Lisp projects. Any experienced Lisper would probably laugh about the code. But the programs work. The next step is to tidy the code, look for possibilities to refactor, and so on. So I started, and enjoyed, writing code in Common Lisp. The quest will continue ! Last edited: $Date: 2022/10/09 11:21:48 $ * EOF *