[Wisp-cvs] wisp/modules universal.wrti,1.23,1.24
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2002-09-26 18:22:49
|
Update of /cvsroot/wisp/wisp/modules In directory usw-pr-cvs1:/tmp/cvs-serv29289/modules Modified Files: universal.wrti Log Message: Dropped the (binary ...) Worth construct. Index: universal.wrti =================================================================== RCS file: /cvsroot/wisp/wisp/modules/universal.wrti,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- universal.wrti 26 Sep 2002 18:21:38 -0000 1.23 +++ universal.wrti 26 Sep 2002 18:22:46 -0000 1.24 @@ -345,26 +345,6 @@ nip) ;; Arithmetics - (macro + - (binary + - (->ureg 1) - (->/expr 0) - ,(add ,1 ,0) - drop)) - - (macro - - (binary - - (->ureg 1) - (->/expr 0) - ,(sub ,1 ,0) - drop)) - - (macro * - (binary * - (->ureg 1) - (->/expr 0) - ,(imul ,1 ,0) - drop)) (macro /mod (conform %eax %ebx) @@ -372,13 +352,14 @@ ,(idiv %ebx) (believe %edx %eax)) - (macro / - (binary / - /mod nip)) + ;; These *names* are special: if the translator determines that these + ;; operations can be performed at compile-time, it will happily do so. - (macro mod - (binary mod - /mod drop)) + (macro + (->ureg 1) (->/expr 0) ,(add ,1 ,0) drop) + (macro - (->ureg 1) (->/expr 0) ,(sub ,1 ,0) drop) + (macro * (->ureg 1) (->/expr 0) ,(imul ,1 ,0) drop) + (macro / /mod nip) + (macro mod /mod drop) (macro negate (->ureg 0) |