Changeset 20827 in project


Ignore:
Timestamp:
10/13/10 21:08:08 (10 years ago)
Author:
Ivan Raikov
Message:

miniML fixes to types for built-in functions

Location:
release/4/miniML/trunk
Files:
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • release/4/miniML/trunk/miniML.scm

    r20678 r20827  
    583583     (enter-val name (make-valtype '() (arrow-type nat-type
    584584                                                   (arrow-type nat-type
    585                                                                nat-type)))))
     585                                                               bool-type)))))
    586586   '("==" "<>" "<" "<=" ">" ">="))
    587587
  • release/4/miniML/trunk/miniMLeval.scm

    r20678 r20827  
    146146
    147147           (Let0 (id arg body)
    148                  (let ((env1 (enter-val* id arg env)))
    149                    (Closure_v body env1)))
     148                 (let ((env1 (enter-val* id (eval arg env) env)))
     149                   (eval body env1)))
     150
     151           (else
     152            (error 'ML-core-eval "invalid term" t))
     153
    150154           ))
    151155  (eval t env))
     
    169173         
    170174          (begin
    171        
    172             (enter-val "false" (Const_v `(bool #f) ))
    173             (enter-val "true"  (Const_v `(bool #t) ))
    174             (enter-val "empty"  (Tuple_v '()) )
    175            
     175
     176            (enter-val "false" (Const_v `(bool #f) ))
     177            (enter-val "true"  (Const_v `(bool #t) ))
     178            (enter-val "empty"  (Tuple_v '()) )
     179       
    176180            (for-each
    177181             (lambda (name op)
     
    224228                       (else
    225229                        (error 'snd "invalid data element" x))))))
     230           
     231           
    226232            ))
    227233
Note: See TracChangeset for help on using the changeset viewer.