diff --git a/scheme/cyclone/opti-test.scm b/scheme/cyclone/opti-test.scm index 1b2694bb..950f07d0 100644 --- a/scheme/cyclone/opti-test.scm +++ b/scheme/cyclone/opti-test.scm @@ -1,51 +1,16 @@ ;; Temporary file to test changes to the optimization library -;(import (optimize-cps) -; (scheme write) -; (scheme base)) -; +(import (optimize-cps) + (scheme write) + (scheme base)) + ;(adb:init!) -;(adb:set! 'v (adb:make-var)) -; -;(let ((v (adb:get 'v))) -; (adbv:set-global! v #t) -; (adbv:set-defined-by! v 1) -; -; (display v) -; (newline) -; (display (adbv:defined-by v)) -; (newline)) +(adb:set! 'v (adb:make-var)) -(import (scheme cyclone libraries) (scheme write) (scheme base)) +(let ((v (adb:get 'v))) + (adbv:set-global! v #t) + (adbv:set-defined-by! v 1) -(define (test imports) - (letrec ((libraries/deps '()) - (find-deps! - (lambda (import-sets) - (for-each - (lambda (i) - (let ((import-set (lib:list->import-set i))) - (cond - ;; Prevent cycles by only processing new libraries - ((not (assoc import-set libraries/deps)) - ;; Find all dependencies of i (IE, libraries it imports) - (let ((deps (lib:read-imports import-set))) - (set! libraries/deps (cons (cons import-set deps) libraries/deps)) - (find-deps! deps) - ))))) - import-sets)))) - (find-deps! imports) - ;`((deps ,libraries/deps) ; DEBUG - ; (result ,(lib:get-dep-list libraries/deps))) - libraries/deps ;(lib:get-dep-list libraries/deps) - (write libraries/deps) - (newline) - (lib:get-dep-list libraries/deps) - )) - -(write - (test '((optimize-cps) (scheme write) (scheme base)))) -(newline) -(write - (lib:get-dep-list `(((scheme write) (scheme base)) ((scheme complex) (scheme base)) ((scheme char) (scheme base)) ((srfi 69) (scheme base) (scheme char) (scheme complex)) ((scheme base)) ((optimize-cps) (scheme base) (srfi 69))))) -; (((scheme write) (scheme base)) ((scheme complex) (scheme base)) ((scheme char) (scheme base)) ((srfi 69) (scheme base) (scheme char) (scheme complex)) ((scheme base)) ((optimize-cps) (scheme base) (srfi 69))) -(newline) + (display v) + (newline) + (display (adbv:defined-by v)) + (newline)) diff --git a/scheme/cyclone/optimize-cps.sld b/scheme/cyclone/optimize-cps.sld index 6d871c43..98f1d303 100644 --- a/scheme/cyclone/optimize-cps.sld +++ b/scheme/cyclone/optimize-cps.sld @@ -22,7 +22,7 @@ ;(scheme cyclone transforms) ) (export - adb:init! + ;adb:init! adb:get key adb:set! key val ;; Variables @@ -44,9 +44,9 @@ (begin (define *adb* (make-hash-table)) ;(define *adb* #f) ;(make-hash-table)) - (define (adb:init!) - ;(set! *adb* (make-hash-table))) - 'TODO) + ;(define (adb:init!) + ; ;(set! *adb* (make-hash-table))) + ; 'TODO) (define (adb:get key) (hash-table-ref *adb* key)) (define (adb:set! key val) (hash-table-set! *adb* key val)) (define-record-type