Commit | Line | Data |
---|---|---|
17e90c5e KN |
1 | ;;; Guile High Intermediate Language |
2 | ||
3 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | |
4 | ||
ea9c5dab | 5 | ;; This program is free software; you can redistribute it and/or modify |
17e90c5e KN |
6 | ;; it under the terms of the GNU General Public License as published by |
7 | ;; the Free Software Foundation; either version 2, or (at your option) | |
8 | ;; any later version. | |
9 | ;; | |
ea9c5dab | 10 | ;; This program is distributed in the hope that it will be useful, |
17e90c5e KN |
11 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | ;; GNU General Public License for more details. | |
14 | ;; | |
15 | ;; You should have received a copy of the GNU General Public License | |
ea9c5dab | 16 | ;; along with this program; see the file COPYING. If not, write to |
17e90c5e KN |
17 | ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
18 | ;; Boston, MA 02111-1307, USA. | |
19 | ||
ea9c5dab KN |
20 | ;;; Code: |
21 | ||
17e90c5e | 22 | (define-module (language ghil spec) |
1a1a10d3 | 23 | #:use-module (system base language) |
b0b180d5 | 24 | #:use-module (language glil spec) |
9ff56d9e AW |
25 | #:use-module (language glil) |
26 | #:use-module (language ghil) | |
d9042285 | 27 | #:use-module (language ghil compile-glil) |
1a1a10d3 | 28 | #:export (ghil)) |
17e90c5e | 29 | |
f38624b3 AW |
30 | (define (write-ghil exp . port) |
31 | (apply write (unparse-ghil exp) port)) | |
32 | ||
b0b180d5 AW |
33 | (define (parse x) |
34 | (call-with-ghil-environment (make-ghil-toplevel-env e) '() | |
f38624b3 AW |
35 | (lambda (env vars) |
36 | (make-ghil-lambda env #f vars #f '() (parse-ghil env x))))) | |
37 | ||
17e90c5e | 38 | (define-language ghil |
1a1a10d3 AW |
39 | #:title "Guile High Intermediate Language (GHIL)" |
40 | #:version "0.3" | |
41 | #:reader read | |
f38624b3 | 42 | #:printer write-ghil |
b0b180d5 | 43 | #:parser parse |
d9042285 | 44 | #:compilers `((,glil . ,compile-glil)) |
17e90c5e | 45 | ) |