Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
;; untested
(define-record-type end)
(define-record-type (node %node node?)
(fields (immutable left %left)
(immutable value value)
(immutable right %right)))
(define-syntax-rule (node left value right)
(%node (delay left) value (delay right)))
(define left (compose force %left))
(define right (compose force %right))
(define (list->dllist list)
(define (next list prev)
(if (null? list)
(letrec ((this (node prev (car list) (next (cdr list) this))))
(next list (make-end)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment