; CUTIL - Centaur Basic Utilities ; Copyright (C) 2008-2011 Centaur Technology ; ; Contact: ; Centaur Technology Formal Verification Group ; 7600-C N. Capital of Texas Highway, Suite 300, Austin, TX 78731, USA. ; http://www.centtech.com/ ; ; This program is free software; you can redistribute it and/or modify it under ; the terms of the GNU General Public License as published by the Free Software ; Foundation; either version 2 of the License, or (at your option) any later ; version. This program is distributed in the hope that it will be useful but ; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ; more details. You should have received a copy of the GNU General Public ; License along with this program; if not, write to the Free Software ; Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. ; ; Original author: Jared Davis (in-package "CUTIL") (include-book "defaggregate") (include-book "defalist") (include-book "defenum") (include-book "deflist") (include-book "defmapappend") (include-book "defmvtypes") (include-book "defprojection") (include-book "defsection") #|| ;; Fool the dependency scanner into also building the test files, even though ;; they're not needed. (include-book "deflist-tests") (include-book "defalist-tests") (include-book "defmapappend-tests") (include-book "defprojection-tests") ||# (defxdoc cutil :short "Centaur Utility Library" :long "

We provide macros for

  1. Introducing data types (recognizers and basic theorems)
    • simple enumerations (@(see defenum)),
    • record types like structs in C (@(see defaggregate)),
    • typed lists (@(see deflist)), and
    • typed alists (@(see defalist))
  2. Projecting a function across a list and either
    • cons the results together (@(see defprojection)), or
    • append the results (@(see defmapappend)).
  3. Structing books (@(see defsection))
  4. Automating other tedious tasks
    • :type-prescriptions for mv-returning functions (@(see defmvtypes))

Loading the library

A ttag-free version of the complete library can be loaded with:

(include-book \"cutil/top\" :dir :system)

Or, for a slightly optimized version that requires a ttag, you can instead load:

(include-book \"cutil/top-opt\" :dir :system)

Copyright Information

CUTIL - Centaur Basic Utilities
Copyright (C) 2008-2011 Centaur Technology.

Contact:

Centaur Technology Formal Verification Group 7600-C N. Capital of Texas Highway, Suite 300 Austin, TX 78731, USA.

CUTIL is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.

")