CVS: sml-dist notes, 1.1.2.7, 1.1.2.8 primop-list, 1.1.2.8, 1.1.2.9
David MacQueen <[email protected]> Thu, 29 Jun 2006 13:09:25 -0700
| Newsgroups | gmane.comp.lang.sml.smlnj.commits |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/smlnj/sml-dist
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv20843
Modified Files:
Tag: primop-branch-2
notes primop-list
Log Message:
minor change to primop-list to note anomaly
Index: notes
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/Attic/notes,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -C2 -d -r1.1.2.7 -r1.1.2.8
*** notes 27 Jun 2006 22:06:28 -0000 1.1.2.7
--- notes 29 Jun 2006 20:09:22 -0000 1.1.2.8
***************
*** 409,410 ****
--- 409,440 ----
the corresponding generalized polymorphic variable. [The code for mkPE
in translate.sml seems to imply this is not the case.]
+
+
+ More on Single Generalization Conjecture
+
+ Here is an expression containing two mutually recursive functions that
+ have the same return type, which will be polymorphic. It seems likely
+ that the return type will be represented by the same type metavariable
+ in both parts of the mutually recursive definition, and that this
+ metavariable is generalized twice, once for the type of f and once for
+ g. This needs to be verified by a careful look at the type checking
+ process though.
+
+ let fun f () = g ()
+ and g () = f ()
+ in ()
+ end;
+
+ Another variant would that would show the types of f and g would be:
+
+ fun h () =
+ let fun f () = g ()
+ and g () = f ()
+ in (f,g)
+ end;
+
+ val h = fn : unit -> (unit -> 'a) * (unit -> 'b)
+
+ Here it is clear that f and g have independent polymorphic types,
+ indicating two independent generalizations.
+
Index: primop-list
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/Attic/primop-list,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.9
diff -C2 -d -r1.1.2.8 -r1.1.2.9
*** primop-list 28 Jun 2006 20:25:15 -0000 1.1.2.8
--- primop-list 29 Jun 2006 20:09:22 -0000 1.1.2.9
***************
*** 751,758 ****
251 w31rshift_8, word31 P.RSHIFT, word8 * word -> word8
InlineT.Word8.rshift : word8 * word -> word8
252 w31rshiftl_8, word31 P.RSHIFTL, word8 * word -> word8
(** This may be a bug... InlineT.Word8.rshiftl is incorrectly
! aliased to InLine.w31right_8 *)
253 w31lshift_8, word31 P.LSHIFT, word8 * word -> word8
--- 751,759 ----
251 w31rshift_8, word31 P.RSHIFT, word8 * word -> word8
InlineT.Word8.rshift : word8 * word -> word8
+ InlineT.Word8.rshiftl : word8 * word -> word8 (* Error?! *)
252 w31rshiftl_8, word31 P.RSHIFTL, word8 * word -> word8
(** This may be a bug... InlineT.Word8.rshiftl is incorrectly
! aliased to InLine.w31rshift_8 *)
253 w31lshift_8, word31 P.LSHIFT, word8 * word -> word8
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642