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)
|