[MLton-commit] r4830

Vesa Karvonen vesak at mlton.org
Fri Nov 17 12:09:53 PST 2006


Oops... Some files were unintentionally missing from a previous commit.

----------------------------------------------------------------------

A   mltonlib/trunk/com/ssh/basic/unstable/public/infixes.sml
A   mltonlib/trunk/com/ssh/basic/unstable/public/top-level.sml

----------------------------------------------------------------------

Added: mltonlib/trunk/com/ssh/basic/unstable/public/infixes.sml
===================================================================
--- mltonlib/trunk/com/ssh/basic/unstable/public/infixes.sml	2006-11-17 12:38:45 UTC (rev 4829)
+++ mltonlib/trunk/com/ssh/basic/unstable/public/infixes.sml	2006-11-17 20:09:52 UTC (rev 4830)
@@ -0,0 +1,76 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+(**
+ * == Operator Precedence Table ==
+ *
+ * The precendences of most Basis Library operators are modified here to
+ * accommodate the sectioning, application, and piping operators:
+ *
+ *    * / div mod      are +1 from Basis Library
+ *    + - ^            are +1 from Basis Library
+ *    :: @             are +1 from Basis Library
+ *    = <> > >= < <=   are +1 from Basis Library
+ *    :=               is  -2 from Basis Library
+ *
+ * The changed precedences should not cause (major) problems as the
+ * relative precedences of only a couple of operators are changed.  If you
+ * do encounter problems, it would nice to hear about them.
+ *
+ * See
+ *
+ *    http://mlton.org/InfixingOperators
+ *
+ * for a discussion of fixity declarations in SML.
+ *
+ * While one should think twice before introducing new infix declarations
+ * at the top-level, a carefully chosen set of top-level infix
+ * declarations can make programs much more aesthetically pleasing and
+ * readable.
+ *
+ * Categories used below:
+ *
+ *    Basis     Operators from the Standard ML Basis Library
+ *    B & P     Bitwise and Predicate operators
+ *    P & S     Piping and Sectioning operators
+ *    Monadic   Monadic operators
+ *    Ticked    Ticked operators
+ *    Misc      Uncategorized
+ *)
+
+(* ************************************************************************** *)
+(*       ! Basis   ! B & P   ! P & S ! Monadic ! Ticked ! Misc                *)
+(* ========================================================================== *)
+infix  8 !  * div  ! <<   >> !       !         !   *`   !
+         !  / mod  !   ~>>   !       !         !   /`   !
+(* ========================================================================== *)
+infix  7 !  + - ^  !  andb   !       !         ! +`  -` !
+         !         !         !       !         !   ^`   !
+(* ========================================================================== *)
+infixr 6 !  ::  @  !  xorb   !       !         ! ::` @` !
+(* ========================================================================== *)
+infix  5 ! > >= =  ! orb ==  !       !         !   =`   !
+         ! < <= <> ! != ?=   !       !         !        !
+(* ========================================================================== *)
+infix  4 !         !         ! <\ \> !         !        !
+(* -------------------------------------------------------------------------- *)
+infixr 4 !         !         ! </ /> !         !        !
+(* ========================================================================== *)
+infix  3 !    o    !         !       !         !        ! <-->
+(* ========================================================================== *)
+infix  2 !         ! andAlso !  >|   !         !        !
+(* -------------------------------------------------------------------------- *)
+infixr 2 !         !         !   |<  !         !        !
+(* ========================================================================== *)
+infix  1 !    :=   ! orElse  !       ! >>= >>  !        ! :=: += -=
+         !         !         !       ! >>&     !        !
+(* ========================================================================== *)
+infix  0 ! before  !         !       !         !   &`   ! &
+(* -------------------------------------------------------------------------- *)
+infixr 0 !         !         !       !         !        ! -->
+(* ************************************************************************** *)
+
+nonfix ! (* We just used ! above as a visual separator. *)


Property changes on: mltonlib/trunk/com/ssh/basic/unstable/public/infixes.sml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: mltonlib/trunk/com/ssh/basic/unstable/public/top-level.sml
===================================================================
--- mltonlib/trunk/com/ssh/basic/unstable/public/top-level.sml	2006-11-17 12:38:45 UTC (rev 4829)
+++ mltonlib/trunk/com/ssh/basic/unstable/public/top-level.sml	2006-11-17 20:09:52 UTC (rev 4830)
@@ -0,0 +1,8 @@
+(* Copyright (C) 2006 SSH Communications Security, Helsinki, Finland
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+datatype product = datatype Product.product
+datatype sum = datatype Sum.sum


Property changes on: mltonlib/trunk/com/ssh/basic/unstable/public/top-level.sml
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the MLton-commit mailing list