source: main/env.lisp

Last change on this file was main,1, checked in by David Owen <dsowen@…>, 18 years ago

First version.

File size: 1.1 KB
Line 
1#|
2Copyright (C) 2008  David Owen <dsowen@fugue88.ws>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU Lesser Public License as published by
6the Free Software Foundation, either version 3 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12GNU Lesser Public License for more details.
13
14You should have received a copy of the GNU Lesser Public License
15along with this program.  If not, see <http://www.gnu.org/licenses/>.
16|#
17
18(defpackage #:dso-simple-template-env
19  (:use #:cl)
20  (:export #:env #:env-value))
21
22(in-package #:dso-simple-template-env)
23
24
25
26(defclass env ()
27  ((table :type hash-table :initform (make-hash-table :test 'equal)
28          :reader table)))
29
30(defgeneric env-value (env name &optional default)
31  (:method ((env env) name &optional default)
32    (gethash name (table env) default)))
33
34(defgeneric (setf env-value) (value env name)
35  (:method (value (env env) name)
36    (setf (gethash name (table env)) value)))
Note: See TracBrowser for help on using the repository browser.