40 Ants

How to make a Common Lisp library in 5 seconds? With tests, documentation and configured CI!


Listen Later

I show you how to make a Common Lisp library or web application in just 5 seconds. We will use the Mystic project template engine. Unlike other project generators, Mystic is very flexible and allows you to reuse code in templates for different projects, I tell you about this in the second part of the video.

You can use my templates, or you can create your own based on them. My templates out of the box gives the following features:

  • the asdf-package-inferred approach described in the video is used https://www.youtube.com/watch?v=e1_VDtlStVo&t=1195s
  • the library immediately has a blank for beautiful documentation using https://40ants.com/doc/
  • as well as unit tests based on the Rove test framework: https://github.com/fukamachi/rove
  • tests, linters and documentation builds are automatically run using GitHub Actions, as described in the video: https://www.youtube.com/watch?v=set7F0cfIs8&t=674s
  • there are ready-made configs for Qlot and CLPM, look for videos about them in the playlist about using Common Lisp in production: https://www.youtube.com/playlist?list=PLU9el9dzWDmzxpiI2VLXDDKlljg6AgaEJ
  • Timecodes

    00:00 Start

    00:47 Using Mystic
    03:44 Web-app using Reblocks
    07:22 Template internals
    12:34 Code reuse
    13:46 End

    Links

    • Library with my templates: https://40ants.com/project-templates/
    • Mystic: https://quickdocs.org/mystic
    • Mustache Template Engine: https://mustache .github.io/
    • Video about Prometheus and Monitoring: https://www.youtube.com/watch?v=eIVaMTNXzcg
    • Reblocks web-framework: https://40ants.com/reblocks/
    • Qlot: https://www.youtube.com/watch?v=jLkqYVTqM38
    • CLPM: https://www.youtube.com/watch?v=p2AiB7mVeIg
    • Other template project generators

      • https://quickdocs.org/trivial-project - it looks simple, but the syntax of variables in files is ugly
      • https://quickdocs.org/quickproject - the doc is meager, the syntax of variables is disgusting
      • https://quickdocs.org/cl-project - I've been using it for a while, but it's difficult to expand it
      • https://quickdocs.org/skeleton-creator - a rather long, but muddy doc
      • Tags

        #commonlisp #projecttemplates #tutorial

        ...more
        View all episodesView all episodes
        Download on the App Store

        40 AntsBy