• person rss_feed

    Michał "phoe" Herda’s feed

    Blog

    • chevron_right

      In Nomine

      Michał "phoe" Herda · Saturday, 29 January, 2022 - 16:35 edit

    #CommonLisp #Lisp

    I just released In Nomine - a utility for creating, accessing, and managing custom namespaces in Common Lisp.

    It's a backwards incompatible fork of lisp-namespace with more customization and tests.

    Grab it from GitHub.

    In hindsight, it's a very good way of shaving yaks while working on CLR2. It's not the first nor surely the last yak shaven that way. I have a namespacing utility that has enough functionality for me to like it and - more importantly - enough testware for me to trust it.

    Maybe I can eventually port some code back into lisp-namespace so existing users can benefit from it.

    Anyway! The difference list:

    • Removed macros NAMESPACE-LET and NSLET,
    • Removed the DEFINE-NAMESPACE option to automatically generate NAMESPACE-LET-based binding macros,
    • Added boundp and makunbound functions for namespace names,
    • Moved hash tables for bindings and documentation from being implicitly created as variables to slots of the namespaces objects themselves,
    • Added long form of DEFINE-NAMESPACE to customize behavior of generated namespaces,
    • Exported namespace objects and their readers.