Changeset 27328 in project


Ignore:
Timestamp:
08/29/12 15:28:42 (9 years ago)
Author:
Alan Post
Message:

genturfa'i: use type-case when process define-name {}-expr.

This is another area where I was using an if statement rather than
the more appropriate type-case. Now that I depend on moremacros,
I can clean up this code and add a (no-op) error case.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/genturfahi/trunk/samselpla.scm

    r27313 r27328  
    107107                ,@smuni
    108108                (tolmohi-nunjavni)
    109                 ,@(if (list? rodatamgau)
    110 
    111                       (let ((rodatamgau
    112                               (map string->symbol rodatamgau))
    113                             (nunselci-cmene
    114                               (map samselpla-cmene->symbol selci-cmene)))
    115                         (if toplevel
    116                             (suhorecmene-e-toplevel rodatamgau
    117                                                     selci-cmene
    118                                                     nunselci-cmene)
    119                             (suhorecmene-enai-toplevel selci-cmene
    120                                                        nunselci-cmene)))
    121 
    122                       (let ((rodatamgau
    123                               (string->symbol  rodatamgau))
    124                             (nunselci-cmene
    125                               (samselpla-cmene->symbol selci-cmene)))
    126                         (if toplevel
    127                             (pacmene-e-toplevel rodatamgau
    128                                                 selci-cmene
    129                                                 nunselci-cmene)
    130                             (pacmene-enai-toplevel selci-cmene
    131                                                    nunselci-cmene)))))
    132             '())))
     109                ,@(type-case rodatamgau
     110                    (string (let ((rodatamgau
     111                                    (string->symbol rodatamgau))
     112                                  (nunselci-cmene
     113                                    (samselpla-cmene->symbol selci-cmene)))
     114                              (if toplevel
     115                                  (pacmene-e-toplevel rodatamgau
     116                                                      selci-cmene
     117                                                      nunselci-cmene)
     118                                  (pacmene-enai-toplevel selci-cmene
     119                                                         nunselci-cmene))))
     120                    (list   (let ((rodatamgau
     121                                    (map string->symbol rodatamgau))
     122                                  (nunselci-cmene
     123                                    (map samselpla-cmene->symbol selci-cmene)))
     124                              (if toplevel
     125                                  (suhorecmene-e-toplevel rodatamgau
     126                                                          selci-cmene
     127                                                          nunselci-cmene)
     128                                  (suhorecmene-enai-toplevel selci-cmene
     129                                                             nunselci-cmene))))
     130                    ;;
     131                    ;; this should be an error case, but I haven't built an
     132                    ;; error handling framework for this system yet.
     133                    ;;
     134                    (else   '())))
     135              '())))
    133136
    134137          (hash-table-clear! samselpla-hash-table)
Note: See TracChangeset for help on using the changeset viewer.