It works perfectly:
CL-USER> (defclass Environment ()
((parameters :accessor parameters :type Hash-table :initarg :parameters
:initform (make-hash-table))))
#<STANDARD-CLASS ENVIRONMENT>
CL-USER> (defun fill-hash-table (ht pair-list)
"Fill the hashtable 'ht' with values of 'pair-list'. 'Pair-list' is
a list such as: '((key1 value1) (key2 value2))"
(mapc (lambda (item)
(setf (gethash (first item) ht) (second item)))
pair-list))
FILL-HASH-TABLE
CL-USER> (apropos "PRINT-HASHTABLE")
COM.INFORMATIMAGO.COMMON-LISP.CESARUM.UTILITY:PRINT-HASHTABLE, Def: FUNCTION
; No value
CL-USER> (let ((environment (make-instance 'environment)))
(fill-hash-table (parameters environment)
;; quoting undefined stuff:
(list (list 'epsilon-mat '(make-sym-mat epsilon-mat))
(list 'sigma-mat '(make-sym-mat sigma-mat))
'(temperature 310)
'(R 8.3143e20)
'(mu 7e-14)
'(NAV 6.0221415e23)))
(COM.INFORMATIMAGO.COMMON-LISP.CESARUM.UTILITY:PRINT-HASHTABLE (parameters environment)))
#.(HASHTABLE :TEST (FUNCTION EQL) :SIZE 6
:REHASH-SIZE 1.5 :REHASH-THRESHOLD 0.85
:ELEMENTS '(
(SIGMA-MAT (MAKE-SYM-MAT SIGMA-MAT))
(NAV 6.0221414E+23)
(EPSILON-MAT (MAKE-SYM-MAT EPSILON-MAT))
(R 8.3143E+20)
(TEMPERATURE 310)
(MU 7.0E-14)))
#<HASH-TABLE :TEST EQL size 6/60 #x302001B847FD>
CL-USER>
--
__Pascal Bourguignon__
http://www.informatimago.com/
A bad day in () is better than a good day in {}.