mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-27 22:15:06 +02:00
47 lines
1 KiB
Scheme
47 lines
1 KiB
Scheme
;; A temporary test file
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(srfi 9)
|
|
)
|
|
|
|
;((lambda ()
|
|
;
|
|
;(define-record-type <pare>
|
|
; (kons x y)
|
|
; pare?
|
|
; (x kar) ;TODO: set-kar!)
|
|
; (y kdr))
|
|
;
|
|
;(write
|
|
; (list
|
|
; (pare? (kons 1 2)) ; =. #t
|
|
; (pare? (cons 1 2)) ; =. #f
|
|
;; (kar (kons 1 2)) ; =. 1
|
|
;; (kdr (kons 1 2)) ; =. 2
|
|
;; (let ((k (kons 1 2)))
|
|
;; (set-kar! k 3)
|
|
;; (kar k)) ;=. 3
|
|
;))
|
|
;))
|
|
|
|
(define <pare> (register-simple-type <pare> #f (quote (x y))))
|
|
;(define pare? vector?) ;(make-type-predicate pare? <pare>))
|
|
;(define kons
|
|
; ((lambda (%make)
|
|
; (lambda (x y)
|
|
; ((lambda (res)
|
|
; (slot-set! <pare> res (type-slot-offset <pare> (quote y)) y)
|
|
; (slot-set! <pare> res (type-slot-offset <pare> (quote x)) x)
|
|
; res)
|
|
; (%make))))
|
|
; (make-constructor "kons" <pare>)))
|
|
;(write
|
|
; (list
|
|
; (pare? (kons 1 2))
|
|
; (pare? (cons 1 4))
|
|
;))
|
|
|
|
;(define (make-lambda)
|
|
; (lambda (a b c) (write (+ a b c))))
|
|
;(define test (make-lambda))
|
|
;(test 1 2 3)
|