• Top
    • Documentation
    • Books
      • Cert.pl
      • Community-books
      • Project-dir-alist
      • Bookdata
      • Book-hash
      • Uncertified-books
      • Sysfile
      • Show-books
      • Best-practices
        • Working-with-packages
        • Theory-management
        • Naming-rewrite-rules
        • Conventional-normal-forms
        • Where-do-i-place-my-book
          • File-names
          • File-extensions
          • Remove-whitespace
          • Finite-reasoning
        • Books-reference
        • Where-do-i-place-my-book
          • Books-tour
        • Recursion-and-induction
        • Boolean-reasoning
        • Projects
        • Debugging
        • Std
        • Proof-automation
        • Macro-libraries
        • ACL2
        • Interfacing-tools
        • Hardware-verification
        • Software-verification
        • Testing-utilities
        • Math
      • Best-practices
      • Projects
      • Books

      Where-do-i-place-my-book

      How to decide where in the books directory structure to place your book

      Here is our loose view of the books organization:

      1. project-specific stuff
      2. useful libraries not yet vetted by the 'std' maintainers
      3. libraries 'approved' for the standard approach

      Books in category (1) easily belong in books/projects.

      Books in category (2) can go in the top-level books directory or in projects. There's so much stuff in the top-level directory, that we suggest books/projects -- especially for people that are new to the ACL2 community.

      Once general-use books are vetted by the ACL2 book Czars, they go in the std directory. Some of the criteria the book czars use to decide whether a book should be in std follow below:

      • Design is consistent with other std books
      • Has some general purpose use -- e.g., data structure books are very much something that you would expect to see in a general framework for a language like Java
      • Has good documentation that explains how to use it