Changeset 25 in CGBLisp


Ignore:
Timestamp:
Jan 27, 2009, 3:16:50 AM (15 years ago)
Author:
Marek Rychlik
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/cgb-manuals.lisp

    r24 r25  
    88  *--------------------------------------------------------------------------*
    99|#
    10 ;;(eval-when (eval load compile)
    11 ;;  (require :user-manual "../contrib/user_man/user-manual"))
     10(require :user-manual "../contrib/user_man/user-manual"))
    1211
    13 (defpackage "MAKE-CGB"
    14   (:use "COMMON-LISP"))
    15 
    16 (in-package "MAKE-CGB")
    17 
    18 (defvar *save-path* "cgblisp")
    19 
    20 (defvar *cgb-version-string* "CGB Package: @(#)defsystem.lisp, version 1.9 of 2/13/96(17:56:13)"
    21   "Refer to this version string when reporting bugs.")
    22 
    23 (defvar *lisp-suffix* ".lisp" "File extension used by the lisp system.")
    2412(defvar *cgb-packages*
    2513  '("MAKELIST" "ORDER" "MONOM" "XGCD" "MODULAR" "COEFFICIENT-RING"
     
    2917    "INFIX" "CGB-LISP"))
    3018
    31 ;;----------------------------------------------------------------
    32 ;; Various features which affect the functioning of the package
    33 ;;----------------------------------------------------------------
    34 
    35 ;;Use pseudodivision to keep the size of integer coefficients
    36 ;;as small as possible
    37 (pushnew :pseudodivide *features*)
    38 
    39 ;;Use the grobner package within colored-poly package
    40 (pushnew :colored-poly-use-grobner *features*)
    41 
    42 ;;colored-poly package
    43 ;;Compute saturation of green lists with respect to
    44 ;;red lists in order to eliminate cases early
    45 (pushnew :use-saturation *features*)
    46 
    47 ;;Print tracing and debugging output
    48 (pushnew :debug *features*)
    49 
    50 ;;Use gcd of integers to keep the size of integer coefficients
    51 ;; of S-polynomials and normal forms down
    52 (pushnew :use-gcd *features*)
    53 
    54 ;;grobner package
    55 ;;Use the algorithm of Gebauer and Moeller (1988) to
    56 ;;calculate Grobner bases
    57 ;;(pushnew :use-gebauer-moeller *features*)
    58 
    59 #|
    60 ;;Needed by Allegro Common Lisp in order to maintain
    61 ;;compatibility with the book of Steele (1st edition)
    62 ;;in regard to in-package and related operations
    63 (pushnew :cgb-cltl1-compatibility *features*)
    64 |#
    65 
    66 ;;Use pair reordering according to some heuristic in the
    67 ;;Grobner algorithm
    68 (pushnew :reorder-pairs *features*)
    69 
    70 ;;Perform Buchberger criterion every time a Grobner
    71 ;;basis is returned or assumed as an argument;
    72 ;;This feature is mostly for debugging by the
    73 ;;package developer, but if you detect failure
    74 ;;of the package in this way, please send the
    75 ;;output to rychlik@math.arizona.edu
    76 ;;DO NOT TURN THIS FEATURE ON IF EFFICIENCY
    77 ;;IS REQUIRED!!!
    78 ;;(pushnew :grobner-check *features*)
    79 
    80 #|
    81 #+cgb-cltl1-compatibility
    82 (progn
    83   #+allegro
    84   (progn
    85     (setf *cltl1-in-package-compatibility-p* t)
    86     (setf comp:*cltl1-compile-file-toplevel-compatibility-p* t)
    87     (use-package *cltl1-package*))
    88   )
    89 |#
    90 
    91 (defun package-file (package-name)
    92   (string-downcase package-name))
    93 
    94 (defun cgb-compile ()
    95   #+kcl(system "rm *.o")
    96   (dolist (package *cgb-packages*)
    97     (print '----------------)
    98     (compile-file (package-file package))
    99     (load (package-file package))))
    100 
    101 (defun cgb-load (&key (print nil))
    102   (declare (ignore print))
    103   (dolist (package *cgb-packages*)
    104     (load (package-file package)))
    105   ;;A fix around a bug in GCL which causes
    106   ;;an undefined symbol __setjmp with
    107   ;;compiled code
    108   #+gcl (load (concatenate 'string "parse" *lisp-suffix*))
    109   )
    110 
    111 (defun cgb-load-lisp (&key (print nil))
    112   (declare (ignore print))
    113   (dolist (package *cgb-packages*)
    114     (let ((lisp-file (concatenate 'string (package-file package) *lisp-suffix*)))
    115       (load lisp-file)
    116       ;;(use-package package)
    117       )))
    118 
    119 (defun cgb-compile-and-load ()
    120   (cgb-compile)
    121   (cgb-load))
    122 
    123 (defun cgb-go ()
    124   (in-package :cgb-lisp))
    125 
    126 #+allegro
    127 (defun start-cgb-lisp ()
    128   (tpl:start-interactive-top-level
    129    *terminal-io*
    130    #'cgb-lisp-top-level-read-eval-print-loop
    131    nil
    132    :initial-bindings nil))
    133 
    134 #+allegro
    135 (defun cgb-lisp-top-level-read-eval-print-loop (&rest args)
    136   (in-package :cgb-lisp)
    137   (apply #'tpl:top-level-read-eval-print-loop args))
    138 
    139 #+allegro
    140 (defun cgb-lisp-banner ()
    141   (format
    142    t
    143    "~&Comprehensive Grobner Basis package by Marek Rychlik preloaded.~%~a~%"
    144    *cgb-version-string*))
    145 
    146 #+kcl
    147 (defun cgb-save ()
    148   (defvar system::*akcl-top-level* (symbol-function 'system::top-level))
    149   (compile
    150    'system::top-level
    151    '(lambda  ()
    152       (format
    153        t
    154        "~&Comprehensive Grobner Basis package by Marek Rychlik preloaded.~%~a~%"
    155        *cgb-version-string*)
    156       (funcall system::*akcl-top-level*)))
    157   (save *save-path*))
    158 
    159 #+allegro
    160 (defun cgb-save ()
    161   (setf excl:*restart-init-function* 'cgb-lisp-banner)
    162   ;;(setf excl:*restart-app-function* 'start-cgb-lisp)
    163   (excl:dumplisp
    164    :name *save-path*
    165    :home-env-var "CGBLISP_HOME"))
    166 
    167 ;;(load-system)
     19(eval-when (:load-toplevel)
     20  (asdf::operate 'asdf::load-op 'cgb))
    16821
    16922;;----------------------------------------------------------------
    17023;; Generate documentation
    17124;;----------------------------------------------------------------
    172 ;;(defun create-cgb-manuals (prefix format)
    173 ;;  (create-manuals (mapcar #'intern *cgb-packages*)
    174 ;;                            :prefix prefix
    175 ;;                            :extension '.lisp
    176 ;;                            :output-format format))
     25(defun create-cgb-manuals (prefix format)
     26  (create-manuals (mapcar #'intern *cgb-packages*)
     27                              :prefix prefix
     28                              :extension '.lisp
     29                              :output-format format))
    17730
    178 ;;(defun cgb-doc ()
    179 ;;  (create-cgb-manuals '../doc/ 'text)
    180 ;;  (create-cgb-manuals '../latex-doc/ 'latex))
     31(eval-when (:load-toplevel)
     32  (create-cgb-manuals '../doc/ 'text)
     33  (create-cgb-manuals '../latex-doc/ 'latex))
Note: See TracChangeset for help on using the changeset viewer.