prj/pic18.ss
#lang scheme/base

;; Creates a Scheme namespace object containing the PIC18 compiler and
;; basic infrastructure (a 'project').

(require
 scheme/runtime-path
 "../tools.ss"
 "namespace.ss")

(provide
 (all-from-out "namespace.ss")
 (all-defined-out))

(define-runtime-path pic18-module "../pic18.ss")
(define-runtime-path pic18-lib "../pic18/")

(define (make-pic18)
  (parameterize
      ((current-prj
        (make-prj-namespace
         (list pic18-module)))) ;; loads the PIC18 compiler module
    (forth-path pic18-lib)      ;; lib path for interactive load (*)
    (current-prj)))

;; (*) Some important note. 'load' in Forth files means 'splice
;; file'. It is possible to use this in modules, but there it ONLY
;; uses relative file references. For the interactive mode
;; (incremental, non-declarative, single namespace), there is a load
;; path.


(make-prj make-pic18)