File: pseudoscheme-record.scm

package info (click to toggle)
scheme48 1.9.2-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 18,232 kB
  • sloc: lisp: 88,907; ansic: 87,519; sh: 3,224; makefile: 771
file content (21 lines) | stat: -rw-r--r-- 990 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
; Part of Scheme 48 1.9.  See file COPYING for notices and license.

; Authors: Richard Kelsey, Jonathan Rees

(define make-record-type   #'scheme-translator::make-record-type)
(define record-constructor #'scheme-translator::record-constructor)
(define record-accessor    #'scheme-translator::record-accessor)
(define record-modifier    #'scheme-translator::record-modifier)
(define record-predicate   #'scheme-translator::record-predicate)
(define define-record-discloser #'scheme-translator::define-record-discloser)

(define (record-type? x)
  (lisp:if (scheme-translator::record-type-descriptor-p x) #t #f))
(define record-type-field-names #'scheme-translator::rtd-field-names)
(define record-type-name	#'scheme-translator::rtd-identification)

; Internal record things, for inspector or whatever
(define disclose-record #'scheme-translator::disclose-record)
(define record-type #'scheme-translator::record-type)
(define (record? x) (lisp:if (scheme-translator::record-type x) #t #f))