diff options
-rw-r--r-- | control-flow.lisp | 41 | ||||
-rw-r--r-- | defun-0.lisp | 20 | ||||
-rw-r--r-- | defun-1.lisp | 20 | ||||
-rw-r--r-- | destructuring-bind.lisp | 20 | ||||
-rw-r--r-- | init.lisp | 20 | ||||
-rw-r--r-- | list-functions-2.lisp | 20 | ||||
-rw-r--r-- | list-functions.lisp | 20 | ||||
-rw-r--r-- | types.lisp | 20 | ||||
-rw-r--r-- | util.lisp | 20 |
9 files changed, 200 insertions, 1 deletions
diff --git a/control-flow.lisp b/control-flow.lisp index 90176f0..c8c18cb 100644 --- a/control-flow.lisp +++ b/control-flow.lisp @@ -1,5 +1,25 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (export '(identity constantly complement tagbody go block return-from - defconstant)) + defconstant prog prog*)) (defun identity (x) @@ -119,3 +139,22 @@ (progn ,@(cddr (first sections)))))) (when (eq ,return-value-sym ',end-marker) (return-from ,block-name nil))))))))) + + +(defmacro prog (bindings &body body) + ;;FIXME: declarations + (let ((declarations nil) + (body body)) + `(let ,bindings + ,@declarations + (tagbody + ,@body)))) + +(defmacro prog* (bindings &body body) + ;;FIXME: declarations + (let ((declarations nil) + (body body)) + `(let* ,bindings + ,@declarations + (tagbody + ,@body)))) diff --git a/defun-0.lisp b/defun-0.lisp index 5b95711..19ccf3e 100644 --- a/defun-0.lisp +++ b/defun-0.lisp @@ -1,3 +1,23 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (%defmacro* defun args `(%defun* ,@args)) diff --git a/defun-1.lisp b/defun-1.lisp index 49680e6..d369ecb 100644 --- a/defun-1.lisp +++ b/defun-1.lisp @@ -1,3 +1,23 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (export '(defmacro defun)) diff --git a/destructuring-bind.lisp b/destructuring-bind.lisp index bb44424..b7afa28 100644 --- a/destructuring-bind.lisp +++ b/destructuring-bind.lisp @@ -1,3 +1,23 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (export '(destructuring-bind lambda-list-keywords &allow-other-keys &aux &body &environment &key &optional &rest &whole)) @@ -1,3 +1,23 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (in-package :common-lisp) (load "util.lisp") (load "defun-0.lisp") diff --git a/list-functions-2.lisp b/list-functions-2.lisp index 1c99a4e..09c8449 100644 --- a/list-functions-2.lisp +++ b/list-functions-2.lisp @@ -1,3 +1,23 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (export '(copy-tree assoc assoc-if assoc-if-not rassoc rassoc-if rassoc-if-not sublis nsublis mapcar mapcan mapcon)) diff --git a/list-functions.lisp b/list-functions.lisp index 1912238..1fe749b 100644 --- a/list-functions.lisp +++ b/list-functions.lisp @@ -1,3 +1,23 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (export '(cons list* first second third fourth fifth sixth seventh eigthth ninth tenth atom consp listp null rplaca rplacd caaaar caaadr caaar caadar caaddr caadr caar cadaar cadadr cadar @@ -1,3 +1,23 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (export '(most-positive-fixnum most-negative-fixnum type-of typep subtypep and or not satisfies symbol fixnum bignum real complex float integer ratio rational number short-float @@ -1,3 +1,23 @@ +;;; -*- mode: lisp; coding: utf-8 -*- +;;; Étoilisp/Mulklisp, a Common Lisp subset for the Étoilé runtime. +;;; Copyright (C) 2008 Matthias Andreas Benkard. +;;; +;;; 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 3 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, see <http://www.gnu.org/licenses/>. + + +(in-package #:common-lisp) + (export '(and or not let* list* case cond append reverse macroexpand otherwise unless when eq boundp)) |