Changeset 14732 in project


Ignore:
Timestamp:
05/22/09 06:14:31 (10 years ago)
Author:
Ivan Raikov
Message:

nemo ported to Chicken 4

Location:
release/4/nemo
Files:
18 deleted
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • release/4/nemo/trunk/SXML-to-XML.scm

    r11858 r14732  
    1 
    2 (require-extension syntax-case)
    3 (require-extension sxml-tools)
    4 (require-extension sxml-transforms)
    51
    62; Generating XML
  • release/4/nemo/trunk/SXML.scm

    r11977 r14732  
    1919;; <http://www.gnu.org/licenses/>.
    2020;;
    21 
    22 (require-extension srfi-1)
    23 (require-extension sxml-tools)
    24 (include "stx-macros.scm")
    2521
    2622
     
    6359  (if (null? lst)  (sxml:attr node name)
    6460      (map (lambda (node) (sxml:attr node name)) (cons node lst))))
    65 
    66  
    67 
    68  
  • release/4/nemo/trunk/expr-parser.scm

    r13235 r14732  
    11
    22;; Infix expression parser for NEMO models
    3 
    4 (require-extension  srfi-13)
    5 (require-extension  syntax-case)
    6 (require-extension  matchable)
    73
    84;; Chicken Scheme implementation of the box routines.  Based on
     
    172168                            (begin (stack-push! is (cdr p))
    173169                                   (match x
    174                                           ((or '> '>= '< '>= '^ '+ '- '* '/ '= )      x)
     170                                          ((or '< '> '>= '>= '^ '+ '- '* '/ '= )      x)
    175171                                          ('?           (tok (QUESTION)))
    176172                                          (':           (tok (COLON)))
     
    190186
    191187(define (nemo:parse-sym-expr lst #!optional loc)
    192   (print "parse-expr: lst = " lst)
    193188  (let ((ret (cond ((number? lst)  lst)
    194189                   ((symbol? lst)  lst)
     
    200195
    201196
    202 ;(print (nemo:expr-parse "1/(alpha + beta) <= 0.00005 ? 0.00005 : 1/(alpha + beta)"))
    203 ;(print (nemo:expr-parse "v < -25 ? 1200 : 10"))
    204 ;(print (nemo:expr-parse "1200"))
    205 ;(print (nemo:expr-parse ""))
  • release/4/nemo/trunk/extensions/nemo-hh.scm

    r13180 r14732  
    2020;;
    2121
     22(module nemo-hh
    2223
    23 (require-extension syntax-case)
    24 (require-extension matchable)
    25 (require-extension srfi-1)
    26 (require-extension srfi-13)
    27 (require-extension nemo-core)
    28 (require-extension environments)
     24        (nemo:hh-transformer)
     25
     26        (import scheme chicken data-structures srfi-1 srfi-13)
     27       
     28        (require-extension matchable environments nemo-core)
    2929
    3030(define (s+ . lst)    (string-concatenate (map ->string lst)))
     
    174174            (for-each recur (map third subcomps))))
    175175        new-sys)))))
     176)
  • release/4/nemo/trunk/nemo-core.scm

    r13235 r14732  
    2222;;
    2323
    24 (require-extension srfi-1)
    25 (require-extension srfi-4)
    26 (require-extension srfi-13)
    27 (require-extension srfi-14)
    28 (require-extension syntax-case)
    29 (require-extension matchable)
    30 (require-extension datatype)
    31 (require-extension vector-lib)
    32 (require-extension environments)
    33 (require-extension varsubst)
    34 (require-extension digraph)
    35 (require-extension graph-bfs)
    36 (require-extension graph-cycles)
    37 (require-extension mathh)
    38 (require-extension lolevel)
    39 
    40 (include "mathh-constants")
    41 
    42 (define-extension nemo-core)
    43 
    44 (declare (export make-nemo-core nemo:error nemo:warning
     24(module nemo-core
     25
     26 (make-nemo-core nemo:error nemo:warning
    4527                 nemo:env-copy nemo-intern nemo:quantity?
    4628                 nemo:rhs? nemo:lineq? nemo:subst-term nemo:binding? nemo:bind
    4729                 eval-nemo-system-decls
    48                  CONST ASGN REACTION RATE PRIM))
     30                 CONST ASGN REACTION RATE PRIM)
     31
     32 (import scheme chicken data-structures ports lolevel extras
     33         srfi-1 srfi-4 srfi-13 srfi-14)
     34
     35 (require-extension lolevel datatype matchable vector-lib
     36                    environments varsubst digraph
     37                    graph-bfs graph-cycles mathh)
     38
     39 (include "mathh-constants")
     40
    4941
    5042;--------------------
     
    8476            (loop (cdr objs)))))))
    8577
    86 (define (optional pred?) (lambda (x) (or (not x) (pred? x))))
     78(define (make-opt pred?) (lambda (x)
     79                           (or (not x) (pred? x))))
    8780
    8881(define (expr? x) 
     
    124117              (rhs          rhs?))
    125118  (PRIM       (name symbol?) (value identity))
    126   (EXTERNAL   (local-name symbol?) (name symbol?) (namespace (optional symbol?)))
     119  (EXTERNAL   (local-name symbol?) (name symbol?) (namespace (make-opt symbol?)))
    127120  (EXPORTS    (lst (lambda (x) (and (list? x) (every symbol? x)))))
    128121  (COMPONENT  (name symbol?) (type symbol?) (lst (lambda (x) (and (list? x) (every symbol? x)))))
     
    147140(define (lookup-def k lst . rest)
    148141  (let-optionals rest ((default #f))
    149     (let ((v (alist-ref k lst)))
    150       (if v (first v) default))))
     142      (let ((kv (assoc k lst)))
     143        (if (not kv) default
     144            (match kv ((k v) v) (else (cdr kv)))))))
    151145
    152146
     
    366360            (nemo:error 'env-extend! ": quantity " sym " already defined")
    367361            (match type
    368               (('external)  (let ((ns  (lookup-def 'namespace alst))
    369                                   (external-name  (lookup-def 'name alst)))
    370                               (environment-extend! nemo-env sym (EXTERNAL name external-name ns ))))
     362              (('external)  (begin
     363                              (let* ((ns             (lookup-def 'namespace alst))
     364                                     (external-name  (lookup-def 'name alst))
     365                                     (x              (EXTERNAL name external-name ns )))
     366                                (environment-extend! nemo-env sym x)
     367                                )))
    371368                             
    372369              (('prim)    (let* ((rhs (lookup-def 'rhs alst))
     
    500497                (let* ((body    (normalize-expr body))
    501498                       (consts  (delete-duplicates ((enumconsts formals) body (list))))
    502                        (fc     `(lambda (const-env)
    503                                   (let ,(map (lambda (v) `(,v (environment-ref const-env ',v))) consts)
    504                                     (lambda ,formals ,body))))
    505                        (f      ((eval fc) const-env)))
    506                  
     499                       (fc     `(let ,(map (lambda (v) `(,v ,v)) consts)
     500                                    (lambda ,formals ,body)))
     501                       (f      (eval fc const-env)))
    507502                  (let* ((ftenv  (make-environment))
    508503                         (rt     (infer nemo-env ftenv body))
     
    719714    (let* ((arity-check (make-arity-check nemo-env))
    720715           (normalize-expr (make-normalize-expr arity-check)))
    721       (let ((expr1 (normalize-expr expr)))
    722         (exact->inexact (eval expr1  (make-const-env nemo-env))))))
     716      (let ((expr1 (normalize-expr expr))
     717            (const-env (make-const-env nemo-env)))
     718        (exact->inexact (eval expr1  const-env)))))
    723719
    724720
     
    10131009                                                   `( -> ,src ,dst ,(subst-expr (parse-expr rate1 loc) scope-subst))))))
    10141010                                          (or (alist-ref 'transitions alst) (list)))))
    1015                                
     1011
    10161012                               (let ((conserve-eq
    10171013                                      (and conserve-eq
     
    10351031                                                             (subst-expr (parse-expr initial loc) scope-subst))))
    10361032                                        (initial-val  (and initial-expr (eval-const initial-expr))))
    1037                                    (apply env-extend!
    1038                                           (cons* qid '(reaction) initial-val `(power ,power-val)
    1039                                                  (cons* `(conserve ,@conserve-eq)
    1040                                                         `(transitions ,@transitions) alst)))
     1033                                   (let ((lst (cons* qid '(reaction) initial-val
     1034                                                     `(power ,power-val)
     1035                                                     (if conserve-eq `(conserve ,@conserve-eq)
     1036                                                         `(conserve #f))
     1037                                                     `(transitions ,@transitions) alst)))
     1038                                     (apply env-extend! lst))
    10411039                                   (list (cons qid qs) (update-subst id qid scope-subst))))))
    10421040                           
     
    12071205        ))
    12081206   sys))
     1207)
  • release/4/nemo/trunk/nemo-eggdoc.scm

    r13180 r14732  
    2929     (description "Neuron model description language.")
    3030
    31      (author (url "http://chicken.wiki.br/ivan raikov" "Ivan Raikov"))
     31     (author (url "http://chicken.wiki.br/users/ivan-raikov" "Ivan Raikov"))
    3232
    3333     (history
     34      (version "2.1"   "Ported to Chicken 4")
    3435      (version "2.0"   "Introduced functors")
    3536      (version "1.15"  "Added nmodl-depend option")
     
    5556               (url "mathh.html"         "mathh")
    5657               (url "strictly-pretty.html" "strictly-pretty")
    57                (url "sxml-tools.html" "sxml-tools")
     58               (url "ssax.html"           "ssax")
     59               (url "sxpath.html"          "sxpath")
    5860               (url "sxml-transforms.html" "sxml-transforms")
    59                (url "syntax-case.html" "syntax-case")
    6061               (url "varsubst.html"    "varsubst")
    6162               (url "vector-lib.html"  "vector-lib")
     
    747748
    748749     (license
    749       "Copyright 2008 Ivan Raikov and the Okinawa Institute of Science and Technology.
     750      "Copyright 2008-2009 Ivan Raikov and the Okinawa Institute of Science and Technology.
    750751
    751752This program is free software: you can redistribute it and/or modify
  • release/4/nemo/trunk/nemo-ionch.scm

    r13004 r14732  
    1919;;
    2020
    21 (require-extension environments)
    22 (require-extension syntax-case)
    23 (require-extension matchable)
    24 (require-extension nemo-core)
    25 (require-extension nemo-utils)
    26 (require-extension srfi-1)
    27 (require-extension srfi-13)
     21(module nemo-ionch
    2822
    29 (define-extension nemo-ionch)
     23 (nemo:ion-pool-query
     24  nemo:ionch-query)
    3025
    31 (declare
    32  (lambda-lift)
    33  (export  nemo:ion-pool-query
    34           nemo:ionch-query))
     26 (import scheme chicken srfi-1 srfi-13)
     27
     28 (require-extension environments matchable nemo-core nemo-utils)
     29
     30(declare (lambda-lift))
    3531
    3632(define (cid x)  (second x))
     
    148144          ))))))
    149145         
    150 
    151 
    152 
    153 
     146)
  • release/4/nemo/trunk/nemo-macros.scm

    r13012 r14732  
    1818;;
    1919
     20(module nemo-macros
     21       
     22        (nemo-begin nemo-model nemo-transform)
    2023
    21 (require-extension srfi-1)
    22 (require-extension nemo-core)
    23 (require-extension environments)
     24        (import scheme chicken srfi-1)
     25       
     26        (require-extension matchable environments nemo-core )
     27        (import-for-syntax matchable environments nemo-core)
     28
     29(define-syntax nemo-begin
     30  (lambda (f r c)
     31    (let ((sys  (cadr f))
     32          (body (cddr f))
     33          (%begin  (r 'begin))
     34          (%if     (r 'if))
     35          (%let    (r 'let))
     36          (%match  (r 'match)))
     37      `(,%begin
     38         (,%if (not (environment? ,sys)) (nemo:error 'nemo-begin "system argument must be an environment"))
     39         (,%let ((nemo (,%match (environment-ref ,sys (nemo-intern 'nemocore))
     40                                (($ nemo:quantity 'DISPATCH value)  value))))
     41                ,@body)))))
    2442
    2543
    26 (define-macro (nemo-begin sys . body)
    27   `(begin
    28      (if (not (environment? ,sys)) (nemo:error 'nemo-begin "system argument must be an environment"))
    29      (let ((nemo (match (environment-ref ,sys (nemo-intern 'nemocore))
    30                            (($ nemo:quantity 'DISPATCH value)  value))))
    31        ,@body)))
    32 
    33 
    34 (define-macro (nemo-model name declarations . body)
    35   `(begin
    36      (let* ((nemo   (make-nemo-core))
    37             (,name     ((nemo 'system) ',name)))
    38        (eval-nemo-system-decls nemo ',name ,name (list ,@(map (lambda (x) (list 'quasiquote x)) declarations)))
    39        ,@body)))
     44(define-syntax nemo-model
     45  (lambda (f r c)
     46    (let ((name  (cadr f))
     47          (declarations (caddr f))
     48          (body         (cdddr f))
     49          (%begin    (r 'begin))
     50          (%let*     (r 'let*)))
     51      `(,%begin
     52        (,%let* ((nemo   (make-nemo-core))
     53                 (,name     ((nemo 'system) ',name)))
     54                (eval-nemo-system-decls nemo ',name ,name (list ,@(map (lambda (x) (list 'quasiquote x)) declarations)))
     55                ,@body)))))
    4056                   
    4157
    42 (define-macro (nemo-transform sys declarations)
    43   `(begin
    44      (if (not (environment? ,sys)) (nemo:error 'nemo-transform "system argument must be an environment"))
    45      (let* ((nemo  (match (environment-ref ,sys (nemo-intern 'dispatch))
    46                              (($ nemo:quantity 'DISPATCH value)  value)))
    47             (sys1 (nemo:env-copy ,sys))
    48             (name ((nemo 'sysname) sys1)))
    49      (eval-nemo-system-decls nemo name sys1 (list ,@(map (lambda (x) (list 'quasiquote x)) declarations)))
    50      sys1)))
     58(define-syntax nemo-transform
     59  (lambda (f r c)
     60    (let ((sys  (cadr f))
     61          (declarations (caddr f))
     62          (body         (cdddr f))
     63          (%begin    (r 'begin))
     64          (%if       (r 'if))
     65          (%match    (r 'match))
     66          (%let*     (r 'let*)))
     67      `(,%begin
     68        (,%if (not (environment? ,sys)) (nemo:error 'nemo-transform "system argument must be an environment"))
     69        (,%let* ((nemo  (,%match (environment-ref ,sys (nemo-intern 'dispatch))
     70                                 (($ nemo:quantity 'DISPATCH value)  value)))
     71                 (sys1 (nemo:env-copy ,sys))
     72                 (name ((nemo 'sysname) sys1)))
     73                (eval-nemo-system-decls nemo name sys1 (list ,@(map (lambda (x) (list 'quasiquote x)) declarations)))
     74                sys1)))))
     75
     76)
  • release/4/nemo/trunk/nemo-matlab.scm

    r13052 r14732  
    1919;;
    2020
    21 (require-extension syntax-case)
    22 (require-extension matchable)
    23 (require-extension strictly-pretty)
    24 (require-extension environments)
    25 (require-extension srfi-1)
    26 (require-extension srfi-13)
    27 (require-extension utils)
    28 (require-extension lolevel)
    29 (require-extension varsubst)
    30 (require-extension datatype)
    31 
    32 (require-extension nemo-core)
    33 (require-extension nemo-utils)
    34 (require-extension nemo-ionch)
    35 
    36 (define-extension nemo-matlab)
    37 
    38 (declare
    39  (lambda-lift)
    40  (export  nemo:matlab-translator))
     21(module nemo-matlab
     22
     23        (nemo:matlab-translator)
     24
     25        (import scheme chicken utils data-structures lolevel srfi-1 srfi-13)
     26       
     27        (require-extension lolevel matchable strictly-pretty environments
     28                           varsubst datatype nemo-core nemo-utils
     29                           nemo-ionch)
     30(declare (lambda-lift))
    4131
    4232
     
    795785                     defuns))
    796786         )))))
     787)
  • release/4/nemo/trunk/nemo-nmodl.scm

    r13182 r14732  
    1919;;
    2020
    21 (require-extension syntax-case)
    22 (require-extension matchable)
    23 (require-extension strictly-pretty)
    24 (require-extension environments)
    25 (require-extension srfi-1)
    26 (require-extension srfi-13)
    27 (require-extension utils)
    28 (require-extension lolevel)
    29 (require-extension varsubst)
    30 (require-extension datatype)
    31 
    32 (require-extension nemo-core)
    33 (require-extension nemo-utils)
    34 (require-extension nemo-ionch)
    35 
    36 (define-extension nemo-nmodl)
    37 
    38 (declare
    39  (lambda-lift)
    40  (export  nemo:nmodl-translator))
    41 
     21(module nemo-nmodl
     22
     23        (nemo:nmodl-translator)
     24
     25        (import scheme chicken utils data-structures lolevel srfi-1 srfi-13 )
     26
     27        (require-extension lolevel datatype matchable strictly-pretty
     28                           environments varsubst datatype
     29                           nemo-core nemo-utils nemo-ionch)
     30(declare (lambda-lift))
    4231
    4332(define (nmodl-name s)
     
    956945
    957946               ))))))
     947)
  • release/4/nemo/trunk/nemo-utils.scm

    r13235 r14732  
    1919;;
    2020
    21 (require-extension syntax-case)
    22 (require-extension matchable)
    23 (require-extension strictly-pretty)
    24 (require-extension nemo-core)
    25 (require-extension srfi-1)
    26 (require-extension srfi-13)
    27 (require-extension varsubst)
    28 (require-extension digraph)
    29 
    30 (define-extension nemo-utils)
    31 
    32 
    33 
    34 (declare
    35  (lambda-lift)
    36  (export  lookup-def enum-bnds enum-freevars sum
    37           if-convert let-enum let-elim let-lift
    38           s+ sw+ sl\ nl spaces ppf
    39           transitions-graph state-lineqs
    40           ))
     21(module nemo-utils
     22       
     23 (lookup-def enum-bnds enum-freevars sum
     24             if-convert let-enum let-elim let-lift
     25             s+ sw+ sl\ nl spaces ppf
     26             transitions-graph state-lineqs)
     27
     28 (import scheme chicken data-structures srfi-1 srfi-13)
     29
     30 (require-extension matchable strictly-pretty
     31                    varsubst digraph nemo-core)
     32
     33(declare (lambda-lift))
    4134
    4235
    4336
    4437(define (lookup-def k lst . rest)
    45 
    4638  (let-optionals rest ((default #f))
    4739      (let ((kv (assoc k lst)))
     
    222214                              lineqs)))
    223215    (list n lineqs1)))
     216)
  • release/4/nemo/trunk/nemo.meta

    r13004 r14732  
    77 (files "nemo-core.scm" "nemo-utils.scm" "nemo-ionch.scm" "nemo-macros.scm"
    88        "expr.grm" "expr-parser.scm" "nemo.scm"
    9         "nemo-nmodl.scm" "nemo-matlab.scm" "extensions"
    10         "SSAX.scm" "stx-macros.scm" "SXML.scm" "SXML-to-XML.scm"
    11         "nemo.setup" "nemo-eggdoc.scm" "examples"
     9        "nemo-nmodl.scm" "nemo-matlab.scm"
     10        "SXML.scm" "SXML-to-XML.scm"
     11        "nemo.setup" "nemo-eggdoc.scm"
     12        "extensions"  "examples"
    1213        )
    1314
     
    2324 ; A list of eggs nemo depends on.
    2425
    25  (needs syntax-case matchable args sxml-transforms sxml-tools
     26 (needs matchable args sxml-transforms ssax sxpath
    2627        datatype vector-lib environments digraph graph-bfs graph-cycles
    27         mathh strictly-pretty runcmd varsubst lalr)
     28        mathh strictly-pretty varsubst lalr)
    2829
    2930 (eggdoc "nemo-eggdoc.scm")
  • release/4/nemo/trunk/nemo.scm

    r13235 r14732  
    22;; NEMO
    33;;
    4 ;; Copyright 2008-2009 Ivan Raikov and the Okinawa Institute of Science and Technology
     4;; Copyright 2008-2009 Ivan Raikov and the Okinawa Institute of Science and Technology.
    55;;
    66;; This program is free software: you can redistribute it and/or
     
    1818;;
    1919
    20 
    21 (require-extension srfi-1)
    22 (require-extension syntax-case)
    23 (require-extension matchable)
    24 (require-extension args)
    25 (require-extension nemo-macros)
    26 (require-extension nemo-hh)
    27 
    28 (define nemo-nmodl? (extension-information 'nemo-nmodl)) 
    29 (define nemo-matlab? (extension-information 'nemo-matlab))
     20(import scheme chicken srfi-1)
     21
     22(require-extension matchable args ssax sxml-transforms sxpath sxpath-lolevel environments)
     23(require-extension nemo-core nemo-macros nemo-hh)
     24
     25(define nemo-nmodl?   (extension-information 'nemo-nmodl)) 
     26(define nemo-matlab?  (extension-information 'nemo-matlab))
    3027
    3128(if nemo-nmodl? (use nemo-nmodl))
     
    404401
    405402(define (model->ncml options model parse-expr)
    406   (match-let ((($ nemo:quantity 'DISPATCH  dis)     (environment-ref model (nemo-intern 'dispatch))))
     403  (match-let ((($ nemo:quantity 'DISPATCH  dis)     
     404               (environment-ref model (nemo-intern 'dispatch))))
    407405     (let ((sysname     ((dis 'sysname) model))
    408406           (component->ncml (make-component->ncml dis model parse-expr)))
     
    411409
    412410(include "expr-parser.scm")
    413 
    414 (require-extension stx-engine)
    415 (require-extension sxpath-plus)
    416 (require-extension sxml-transforms)
    417 (require-extension sxml-tools)
    418 
    419411(include "SXML.scm")
    420 (include "SSAX.scm")
    421412(include "SXML-to-XML.scm")
    422 
     413(include "stx-engine.scm")
    423414
    424415(define null-template
     
    809800                )
    810801           (if sxml-fname (with-output-to-file sxml-fname
    811                             (lambda () (pretty-print (model->ncml options model)))))
     802                            (lambda () (pretty-print (model->ncml options model parse-expr)))))
    812803           (if xml-fname  (let* ((doc  (model->ncml options model parse-expr))
    813804                                 (doc1 (ensure-xmlns
  • release/4/nemo/trunk/nemo.setup

    r13235 r14732  
    11; -*- Hen -*-
    2 
    3 (define has-exports? (string>=? (chicken-version) "2.310"))
    42
    53(define (dynld-name fn)         
     
    86(run (csi -s expr.grm))
    97
    10 (compile  -d2 -s -o ,(dynld-name "nemo-core")
    11          ,@(if has-exports? '(-check-imports -emit-exports nemo-core.exports) '())
    12          nemo-core.scm)
    13 
     8(compile  -O -d2 -s nemo-core.scm -j nemo-core)
     9(compile  -s nemo-core.import.scm)
    1410
    1511(install-extension
     
    1915
    2016  ; Files to install for your extension:
    21   `(,(dynld-name "nemo-core")
    22     ,@(if has-exports? '("nemo-core.exports") (list)) )
     17  `(,(dynld-name "nemo-core") ,(dynld-name "nemo-core.import"))
    2318
    2419  ; Assoc list with properties for your extension:
    25   `((version 2.0)
    26     ;(documentation "nemo.html")
    27     ,@(if has-exports? `((exports "nemo-core.exports")) (list)) ))
     20  `((version 2.1)))
    2821
    29 (compile -d2 -s -o ,(dynld-name "nemo-utils")
    30          ,@(if has-exports? '(-check-imports -emit-exports nemo-utils.exports) '())
    31          nemo-utils.scm)
     22
     23(compile -d2 -s nemo-utils.scm -j nemo-utils)
     24(compile -s nemo-utils.import.scm)
    3225
    3326
     
    3831
    3932  ; Files to install for your extension:
    40   `(,(dynld-name "nemo-utils")
    41     ,@(if has-exports? '("nemo-utils.exports") (list)) )
     33  `(,(dynld-name "nemo-utils") ,(dynld-name "nemo-utils.import"))
    4234
    4335  ; Assoc list with properties for your extension:
    44   `((version 2.0)
    45     ;(documentation "nemo.html")
    46     ,@(if has-exports? `((exports "nemo-utils.exports")) (list)) ))
     36  `((version 2.1)))
    4737
    48 
    49 
    50 (compile -d2 -s -o ,(dynld-name "nemo-ionch")
    51          ,@(if has-exports? '(-check-imports -emit-exports nemo-ionch.exports) '())
    52          nemo-ionch.scm)
    53 
     38(compile -d2 -s nemo-ionch.scm -j nemo-ionch)
     39(compile -s nemo-ionch.import.scm)
    5440
    5541(install-extension
     
    5945
    6046  ; Files to install for your extension:
    61   `(,(dynld-name "nemo-ionch")
    62     ,@(if has-exports? '("nemo-ionch.exports") (list)) )
     47  `(,(dynld-name "nemo-ionch") ,(dynld-name "nemo-ionch.import") )
    6348
    6449  ; Assoc list with properties for your extension:
    65   `((version 2.0)
    66     ;(documentation "nemo.html")
    67     ,@(if has-exports? `((exports "nemo-ionch.exports")) (list)) ))
     50  `((version 2.1)))
    6851
    6952
    70 (install-extension
    71  'nemo-macros
    72  `("nemo-macros.scm" )
    73  `((version 2.0)
    74    (syntax)
    75    (require-at-runtime nemo-core)))
     53(compile -d2 -s nemo-macros.scm -j nemo-macros)
     54(compile -s nemo-macros.import.scm)
     55
     56(install-extension
     57
     58  ; Name of your extension:
     59  'nemo-macros
     60
     61  ; Files to install for your extension:
     62  `(,(dynld-name "nemo-macros") ,(dynld-name "nemo-macros.import") )
     63
     64  ; Assoc list with properties for your extension:
     65  `((version 2.1)))
    7666
    7767
    78 (compile -d2 -s -extension -o ,(dynld-name "nemo-nmodl")
    79          ,@(if has-exports? '(-check-imports -emit-exports nemo-nmodl.exports) '())
    80          nemo-nmodl.scm)
     68(compile -d2 -s nemo-nmodl.scm -j nemo-nmodl)
     69(compile -s nemo-nmodl.import.scm)
    8170
    8271(install-extension
     
    8675
    8776  ; Files to install for your extension:
    88   `(,(dynld-name "nemo-nmodl") 
    89     ,@(if has-exports? '("nemo-nmodl.exports") (list)) )
     77  `(,(dynld-name "nemo-nmodl")  ,(dynld-name "nemo-nmodl.import")  )
    9078
    9179  ; Assoc list with properties for your extension:
    92   `((version 2.0)
    93     ,@(if has-exports? `((exports "nemo-nmodl.exports")) (list)) ))
     80  `((version 2.1)))
    9481
    9582(if (file-exists? "nemo-matlab.scm")
    96     (compile -d2 -s -extension -o ,(dynld-name "nemo-matlab")
    97              ,@(if has-exports? '(-check-imports -emit-exports nemo-matlab.exports) '())
    98              nemo-matlab.scm))
     83    (begin
     84      (compile -d2 -s nemo-matlab.scm -j nemo-matlab)
     85      (compile -s nemo-matlab.import.scm)))
    9986
    10087(if (file-exists? "nemo-matlab.scm")
     
    10592     
    10693     ;; Files to install for your extension:
    107      `(,(dynld-name "nemo-matlab") 
    108        ,@(if has-exports? '("nemo-matlab.exports") (list)) )
     94     `(,(dynld-name "nemo-matlab")  ,(dynld-name "nemo-matlab.import")  )
    10995     
    11096     ;; Assoc list with properties for your extension:
    111      `((version 2.0)
    112        ,@(if has-exports? `((exports "nemo-matlab.exports")) (list)) )))
     97     `((version 2.1))))
    11398
    11499
    115 (compile -d2 -s -o ,(dynld-name "nemo-hh")
    116          ,@(if has-exports? '(-check-imports -emit-exports nemo-hh.exports) '())
    117          extensions/nemo-hh.scm)
    118 
     100(compile -d2 -s extensions/nemo-hh.scm -o ,(dynld-name "nemo-hh") -j nemo-hh)
     101(compile -s nemo-hh.import.scm)
    119102
    120103(install-extension
     
    124107
    125108  ; Files to install for your extension:
    126   `(,(dynld-name "nemo-hh") 
    127     ,@(if has-exports? '("nemo-hh.exports") (list)) )
     109  `(,(dynld-name "nemo-hh")  ,(dynld-name "nemo-hh.import"))
    128110
    129111  ; Assoc list with properties for your extension:
    130   `((version 2.0)
    131     ,@(if has-exports? `((exports "nemo-hh.exports")) (list)) ))
     112  `((version 2.1)))
    132113
     114(run (csi -s nemo-eggdoc.scm > nemo.html))
    133115
    134 (run (csi -qbs nemo-eggdoc.scm > nemo.html))
    135 
    136 (compile -d2 nemo.scm -lchicken)
     116(compile -d2 nemo.scm )
    137117
    138118(install-program
     
    142122
    143123  ; Assoc list with properties for the program:
    144   '((version 2.0)
     124  '((version 2.1)
    145125    (documentation "nemo.html")))
    146126
Note: See TracChangeset for help on using the changeset viewer.