;;; -*- mode: Lisp; Syntax: Common-Lisp; -*- ;;; ;;; Copyright (c) 2009 by the authors. ;;; ;;; See LICENCE for details. (in-package :hu.dwim.projectional-editor) ;;;;;; ;;; Projection (def (projection e) sequence->list () ()) ;;;;;; ;;; Construction (def (function e) make-projection/sequence->list () (make-projection 'sequence->list)) ;;;;;; ;;; Construction (def (macro e) sequence->list () '(make-projection/sequence->list)) ;;;;;; ;;; Printer (def printer sequence->list (projection recursion input input-reference output-reference) (declare (ignore projection)) (bind ((output (make-list/list (iter (for element :in-sequence input) (for iomap = (recurse-printer recursion element input-reference output-reference)) (collect (make-list/element (output-of iomap))))))) (make-iomap/object input input-reference output output-reference))) ;;;;;; ;;; Reader (def reader sequence->list (projection recursion input input-reference output-reference) (declare (ignore projection recursion input input-reference output-reference)) nil)