[MLton-commit] r4775
Stephen Weeks
sweeks at mlton.org
Wed Oct 25 15:48:32 PDT 2006
Grabbed wiki.
----------------------------------------------------------------------
U mlton/trunk/doc/guide/AST
U mlton/trunk/doc/guide/AccessControl
U mlton/trunk/doc/guide/AdmitsEquality
U mlton/trunk/doc/guide/Alice
U mlton/trunk/doc/guide/AllocateRegisters
U mlton/trunk/doc/guide/AndreiFormiga
A mlton/trunk/doc/guide/ArrayLiteral
U mlton/trunk/doc/guide/BasisLibrary
U mlton/trunk/doc/guide/Bug
U mlton/trunk/doc/guide/Bugs20041109
A mlton/trunk/doc/guide/Bugs20051202
U mlton/trunk/doc/guide/CKitLibrary
A mlton/trunk/doc/guide/CMinusMinus
U mlton/trunk/doc/guide/CallGraph
U mlton/trunk/doc/guide/CallingFromCToSML
U mlton/trunk/doc/guide/CallingFromSMLToC
U mlton/trunk/doc/guide/CallingFromSMLToCFunctionPointer
U mlton/trunk/doc/guide/ChrisClearwater
U mlton/trunk/doc/guide/Chunkify
U mlton/trunk/doc/guide/Closure
U mlton/trunk/doc/guide/ClosureConvert
U mlton/trunk/doc/guide/CommonArg
U mlton/trunk/doc/guide/CommonBlock
U mlton/trunk/doc/guide/CommonSubexp
U mlton/trunk/doc/guide/CompilationManager
U mlton/trunk/doc/guide/CompileTimeOptions
U mlton/trunk/doc/guide/CompilerOverview
U mlton/trunk/doc/guide/CompilerPassTemplate
A mlton/trunk/doc/guide/CompilingWithSMLNJ
U mlton/trunk/doc/guide/ConcurrentML
U mlton/trunk/doc/guide/ConcurrentMLImplementation
U mlton/trunk/doc/guide/ConstantPropagation
U mlton/trunk/doc/guide/Contact
U mlton/trunk/doc/guide/Contify
U mlton/trunk/doc/guide/CoreML
U mlton/trunk/doc/guide/CoreMLSimplify
U mlton/trunk/doc/guide/CreatingPages
U mlton/trunk/doc/guide/Credits
U mlton/trunk/doc/guide/CrossCompiling
U mlton/trunk/doc/guide/DeadCode
U mlton/trunk/doc/guide/DeepFlatten
U mlton/trunk/doc/guide/DefineTypeBeforeUse
U mlton/trunk/doc/guide/DefinitionOfStandardML
U mlton/trunk/doc/guide/Defunctorize
U mlton/trunk/doc/guide/Developers
U mlton/trunk/doc/guide/Development
U mlton/trunk/doc/guide/Documentation
U mlton/trunk/doc/guide/Drawbacks
U mlton/trunk/doc/guide/Eclipse
U mlton/trunk/doc/guide/EditingPages
U mlton/trunk/doc/guide/Elaborate
U mlton/trunk/doc/guide/Emacs
U mlton/trunk/doc/guide/Enscript
U mlton/trunk/doc/guide/EqualityType
U mlton/trunk/doc/guide/EqualityTypeVariable
A mlton/trunk/doc/guide/EtaExpansion
U mlton/trunk/doc/guide/Experimental
U mlton/trunk/doc/guide/FAQ
U mlton/trunk/doc/guide/Features
U mlton/trunk/doc/guide/FirstClassPolymorphism
A mlton/trunk/doc/guide/Fixpoints
U mlton/trunk/doc/guide/Flatten
A mlton/trunk/doc/guide/Fold
A mlton/trunk/doc/guide/Fold01N
U mlton/trunk/doc/guide/ForLoops
U mlton/trunk/doc/guide/ForeignFunctionInterface
U mlton/trunk/doc/guide/ForeignFunctionInterfaceSyntax
U mlton/trunk/doc/guide/ForeignFunctionInterfaceTypes
U mlton/trunk/doc/guide/FrontEnd
U mlton/trunk/doc/guide/FunctionalRecordUpdate
U mlton/trunk/doc/guide/GarbageCollection
U mlton/trunk/doc/guide/GenerativeDatatype
U mlton/trunk/doc/guide/GenerativeException
U mlton/trunk/doc/guide/Glade
U mlton/trunk/doc/guide/Globalize
U mlton/trunk/doc/guide/GnuMP
U mlton/trunk/doc/guide/HaMLet
U mlton/trunk/doc/guide/HenryCejtin
U mlton/trunk/doc/guide/History
U mlton/trunk/doc/guide/Home
U mlton/trunk/doc/guide/HowProfilingWorks
U mlton/trunk/doc/guide/Identifier
U mlton/trunk/doc/guide/Immutable
U mlton/trunk/doc/guide/ImperativeTypeVariable
U mlton/trunk/doc/guide/ImplementExceptions
U mlton/trunk/doc/guide/ImplementHandlers
U mlton/trunk/doc/guide/ImplementProfiling
U mlton/trunk/doc/guide/ImplementSuffix
U mlton/trunk/doc/guide/Index
U mlton/trunk/doc/guide/InfixingOperators
U mlton/trunk/doc/guide/Inline
U mlton/trunk/doc/guide/InsertLimitChecks
U mlton/trunk/doc/guide/InsertSignalChecks
U mlton/trunk/doc/guide/Installation
U mlton/trunk/doc/guide/IntermediateLanguage
U mlton/trunk/doc/guide/IntroduceLoops
U mlton/trunk/doc/guide/JesperLouisAndersen
U mlton/trunk/doc/guide/JohnnyAndersen
U mlton/trunk/doc/guide/KnownCase
A mlton/trunk/doc/guide/LLVM
A mlton/trunk/doc/guide/LambdaCalculus
U mlton/trunk/doc/guide/LambdaFree
U mlton/trunk/doc/guide/LanguageChanges
U mlton/trunk/doc/guide/Lazy
U mlton/trunk/doc/guide/Libraries
U mlton/trunk/doc/guide/License
U mlton/trunk/doc/guide/LineDirective
U mlton/trunk/doc/guide/LocalFlatten
U mlton/trunk/doc/guide/LocalRef
U mlton/trunk/doc/guide/LoopInvariant
U mlton/trunk/doc/guide/ML
U mlton/trunk/doc/guide/MLBasis
U mlton/trunk/doc/guide/MLBasisAnnotationExamples
U mlton/trunk/doc/guide/MLBasisAnnotations
U mlton/trunk/doc/guide/MLBasisAvailableLibraries
U mlton/trunk/doc/guide/MLBasisExamples
U mlton/trunk/doc/guide/MLBasisPathMap
U mlton/trunk/doc/guide/MLBasisSyntaxAndSemantics
U mlton/trunk/doc/guide/MLKit
U mlton/trunk/doc/guide/MLNLFFI
U mlton/trunk/doc/guide/MLNLFFIImplementation
A mlton/trunk/doc/guide/MLRISCLibrary
U mlton/trunk/doc/guide/MLj
A mlton/trunk/doc/guide/MLmon
U mlton/trunk/doc/guide/MLtonArray
U mlton/trunk/doc/guide/MLtonBinIO
U mlton/trunk/doc/guide/MLtonCont
U mlton/trunk/doc/guide/MLtonExn
U mlton/trunk/doc/guide/MLtonFinalizable
U mlton/trunk/doc/guide/MLtonGC
U mlton/trunk/doc/guide/MLtonIO
U mlton/trunk/doc/guide/MLtonIntInf
U mlton/trunk/doc/guide/MLtonItimer
U mlton/trunk/doc/guide/MLtonPlatform
U mlton/trunk/doc/guide/MLtonPointer
U mlton/trunk/doc/guide/MLtonProcEnv
U mlton/trunk/doc/guide/MLtonProcess
U mlton/trunk/doc/guide/MLtonProfile
U mlton/trunk/doc/guide/MLtonRandom
U mlton/trunk/doc/guide/MLtonRlimit
U mlton/trunk/doc/guide/MLtonRusage
U mlton/trunk/doc/guide/MLtonSignal
U mlton/trunk/doc/guide/MLtonSocket
U mlton/trunk/doc/guide/MLtonStructure
U mlton/trunk/doc/guide/MLtonSyslog
U mlton/trunk/doc/guide/MLtonTextIO
U mlton/trunk/doc/guide/MLtonThread
U mlton/trunk/doc/guide/MLtonVector
U mlton/trunk/doc/guide/MLtonWeak
U mlton/trunk/doc/guide/MLtonWord
U mlton/trunk/doc/guide/MLtonWorld
U mlton/trunk/doc/guide/Machine
U mlton/trunk/doc/guide/ManualPage
U mlton/trunk/doc/guide/MatchCompilation
U mlton/trunk/doc/guide/MatchCompile
U mlton/trunk/doc/guide/MatthewFluet
U mlton/trunk/doc/guide/MichaelNorrish
U mlton/trunk/doc/guide/MikeThomas
U mlton/trunk/doc/guide/MoinMoin
U mlton/trunk/doc/guide/Monomorphise
U mlton/trunk/doc/guide/MoscowML
U mlton/trunk/doc/guide/Multi
U mlton/trunk/doc/guide/Mutable
A mlton/trunk/doc/guide/NumericLiteral
U mlton/trunk/doc/guide/OCaml
U mlton/trunk/doc/guide/ObjectOrientedProgramming
U mlton/trunk/doc/guide/OpenGL
U mlton/trunk/doc/guide/OperatorPrecedence
U mlton/trunk/doc/guide/OptionalArguments
U mlton/trunk/doc/guide/OrphanedPages
U mlton/trunk/doc/guide/OtherSites
U mlton/trunk/doc/guide/Overloading
U mlton/trunk/doc/guide/PackedRepresentation
U mlton/trunk/doc/guide/PageSize
U mlton/trunk/doc/guide/ParallelMove
U mlton/trunk/doc/guide/Performance
U mlton/trunk/doc/guide/PhantomType
U mlton/trunk/doc/guide/PlatformSpecificNotes
U mlton/trunk/doc/guide/PolyEqual
U mlton/trunk/doc/guide/PolyML
U mlton/trunk/doc/guide/PolymorphicEquality
U mlton/trunk/doc/guide/Polyvariance
U mlton/trunk/doc/guide/Poplog
A mlton/trunk/doc/guide/PortStatus
U mlton/trunk/doc/guide/PortingMLton
U mlton/trunk/doc/guide/PrecedenceParse
U mlton/trunk/doc/guide/Printf
U mlton/trunk/doc/guide/PrintfGentle
U mlton/trunk/doc/guide/ProductType
U mlton/trunk/doc/guide/Profiling
U mlton/trunk/doc/guide/ProfilingAllocation
U mlton/trunk/doc/guide/ProfilingCounts
U mlton/trunk/doc/guide/ProfilingTheStack
U mlton/trunk/doc/guide/ProfilingTime
U mlton/trunk/doc/guide/Projects
U mlton/trunk/doc/guide/Pronounce
U mlton/trunk/doc/guide/PropertyList
U mlton/trunk/doc/guide/RSSA
U mlton/trunk/doc/guide/RSSAShrink
U mlton/trunk/doc/guide/RSSASimplify
U mlton/trunk/doc/guide/RayRacine
A mlton/trunk/doc/guide/Reachability
U mlton/trunk/doc/guide/Redundant
U mlton/trunk/doc/guide/RedundantTests
U mlton/trunk/doc/guide/RefFlatten
U mlton/trunk/doc/guide/References
U mlton/trunk/doc/guide/Regions
U mlton/trunk/doc/guide/ReleaseChecklist
U mlton/trunk/doc/guide/RemoveUnused
U mlton/trunk/doc/guide/Restore
A mlton/trunk/doc/guide/Roadmap
U mlton/trunk/doc/guide/RunTimeOptions
U mlton/trunk/doc/guide/RunningOnCygwin
U mlton/trunk/doc/guide/RunningOnDarwin
U mlton/trunk/doc/guide/RunningOnFreeBSD
U mlton/trunk/doc/guide/RunningOnLinux
U mlton/trunk/doc/guide/RunningOnMinGW
U mlton/trunk/doc/guide/RunningOnNetBSD
U mlton/trunk/doc/guide/RunningOnOpenBSD
U mlton/trunk/doc/guide/RunningOnPowerPC
U mlton/trunk/doc/guide/RunningOnSolaris
U mlton/trunk/doc/guide/RunningOnSparc
U mlton/trunk/doc/guide/SMLNET
U mlton/trunk/doc/guide/SMLNJ
U mlton/trunk/doc/guide/SMLNJDeviations
U mlton/trunk/doc/guide/SMLNJLibrary
U mlton/trunk/doc/guide/SMLofNJStructure
U mlton/trunk/doc/guide/SSA
U mlton/trunk/doc/guide/SSA2
U mlton/trunk/doc/guide/SSA2Simplify
U mlton/trunk/doc/guide/SSASimplify
U mlton/trunk/doc/guide/SXML
U mlton/trunk/doc/guide/SXMLShrink
U mlton/trunk/doc/guide/SXMLSimplify
U mlton/trunk/doc/guide/ScopeInference
U mlton/trunk/doc/guide/SelfCompiling
U mlton/trunk/doc/guide/Serialization
U mlton/trunk/doc/guide/ShowBasis
A mlton/trunk/doc/guide/ShowProf
U mlton/trunk/doc/guide/Shrink
U mlton/trunk/doc/guide/SimplifyTypes
U mlton/trunk/doc/guide/Sources
U mlton/trunk/doc/guide/SpaceSafety
A mlton/trunk/doc/guide/Stabilizers
U mlton/trunk/doc/guide/StandardML
U mlton/trunk/doc/guide/StandardMLBooks
A mlton/trunk/doc/guide/StandardMLGotchas
U mlton/trunk/doc/guide/StandardMLHistory
U mlton/trunk/doc/guide/StandardMLImplementations
U mlton/trunk/doc/guide/StandardMLPortability
U mlton/trunk/doc/guide/StandardMLTutorials
U mlton/trunk/doc/guide/StephenWeeks
U mlton/trunk/doc/guide/StyleGuide
U mlton/trunk/doc/guide/Subversion
U mlton/trunk/doc/guide/SureshJagannathan
U mlton/trunk/doc/guide/Survey
U mlton/trunk/doc/guide/SurveyDone
U mlton/trunk/doc/guide/Swerve
U mlton/trunk/doc/guide/SyntacticConventions
U mlton/trunk/doc/guide/SystemInfo
U mlton/trunk/doc/guide/TILT
U mlton/trunk/doc/guide/Talk
U mlton/trunk/doc/guide/TalkDiveIn
U mlton/trunk/doc/guide/TalkFolkLore
U mlton/trunk/doc/guide/TalkFromSMLTo
U mlton/trunk/doc/guide/TalkHowHigherOrder
U mlton/trunk/doc/guide/TalkHowModules
U mlton/trunk/doc/guide/TalkHowPolymorphism
U mlton/trunk/doc/guide/TalkMLtonApproach
U mlton/trunk/doc/guide/TalkMLtonFeatures
U mlton/trunk/doc/guide/TalkMLtonHistory
U mlton/trunk/doc/guide/TalkStandardML
U mlton/trunk/doc/guide/TalkTemplate
U mlton/trunk/doc/guide/TalkWholeProgram
U mlton/trunk/doc/guide/ToMachine
U mlton/trunk/doc/guide/ToRSSA
U mlton/trunk/doc/guide/ToSSA2
U mlton/trunk/doc/guide/TomMurphy
U mlton/trunk/doc/guide/TrustedGroup
U mlton/trunk/doc/guide/TypeChecking
U mlton/trunk/doc/guide/TypeConstructor
A mlton/trunk/doc/guide/TypeIndexedValues
U mlton/trunk/doc/guide/TypeVariableScope
U mlton/trunk/doc/guide/Unicode
U mlton/trunk/doc/guide/UniversalType
U mlton/trunk/doc/guide/UnresolvedBugs
U mlton/trunk/doc/guide/UnsafeStructure
U mlton/trunk/doc/guide/Useless
U mlton/trunk/doc/guide/Users
A mlton/trunk/doc/guide/Utilities
U mlton/trunk/doc/guide/ValueRestriction
A mlton/trunk/doc/guide/VariableArityPolymorphism
U mlton/trunk/doc/guide/Variant
U mlton/trunk/doc/guide/VesaKarvonen
U mlton/trunk/doc/guide/WantedPages
U mlton/trunk/doc/guide/WebSite
U mlton/trunk/doc/guide/WesleyTerpstra
U mlton/trunk/doc/guide/WholeProgramOptimization
U mlton/trunk/doc/guide/WikiMacros
U mlton/trunk/doc/guide/WikiName
U mlton/trunk/doc/guide/WikiTool
U mlton/trunk/doc/guide/XML
U mlton/trunk/doc/guide/XMLShrink
U mlton/trunk/doc/guide/XMLSimplify
U mlton/trunk/doc/guide/XMLSimplifyTypes
U mlton/trunk/doc/guide/ZZZOrphanedPages
U mlton/trunk/doc/guide/Zone
U mlton/trunk/doc/guide/eXene
U mlton/trunk/doc/guide/fxp
U mlton/trunk/doc/guide/index.html
U mlton/trunk/doc/guide/mGTK
----------------------------------------------------------------------
Modified: mlton/trunk/doc/guide/AST
===================================================================
--- mlton/trunk/doc/guide/AST 2006-10-25 15:18:52 UTC (rev 4774)
+++ mlton/trunk/doc/guide/AST 2006-10-25 22:21:03 UTC (rev 4775)
@@ -18,6 +18,12 @@
<body lang="en" dir="ltr">
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-833377-1";
+urchinTracker();
+</script>
<table bgcolor = lightblue cellspacing = 0 style = "border: 0px;" width = 100%>
<tr>
<td style = "
@@ -25,7 +31,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20051202</a>
+ <a class = mltona href="Home">MLton 20061025</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,22 +61,22 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/ast/ast-programs.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-programs.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/ast/ast-programs.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-programs.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/ast/ast-programs.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-programs.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/ast/ast-programs.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-programs.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/ast/ast-modules.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-modules.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/ast/ast-modules.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-modules.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/ast/ast-modules.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-modules.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/ast/ast-modules.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-modules.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/ast/ast-core.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-core.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/ast/ast-core.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-core.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/ast/ast-core.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-core.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/ast/ast-core.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-core.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/ast"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/ast"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
The AST <a href="IntermediateLanguage">IntermediateLanguage</a> has no independent type checker. Type inference is performed on an AST program as part of <a href="Elaborate">Elaborate</a>.
Modified: mlton/trunk/doc/guide/AccessControl
===================================================================
--- mlton/trunk/doc/guide/AccessControl 2006-10-25 15:18:52 UTC (rev 4774)
+++ mlton/trunk/doc/guide/AccessControl 2006-10-25 22:21:03 UTC (rev 4775)
@@ -18,6 +18,12 @@
<body lang="en" dir="ltr">
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-833377-1";
+urchinTracker();
+</script>
<table bgcolor = lightblue cellspacing = 0 style = "border: 0px;" width = 100%>
<tr>
<td style = "
@@ -25,7 +31,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20051202</a>
+ <a class = mltona href="Home">MLton 20061025</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/trunk/doc/guide/AdmitsEquality
===================================================================
--- mlton/trunk/doc/guide/AdmitsEquality 2006-10-25 15:18:52 UTC (rev 4774)
+++ mlton/trunk/doc/guide/AdmitsEquality 2006-10-25 22:21:03 UTC (rev 4775)
@@ -18,6 +18,12 @@
<body lang="en" dir="ltr">
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-833377-1";
+urchinTracker();
+</script>
<table bgcolor = lightblue cellspacing = 0 style = "border: 0px;" width = 100%>
<tr>
<td style = "
@@ -25,7 +31,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20051202</a>
+ <a class = mltona href="Home">MLton 20061025</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,7 +64,7 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> ('a1, ..., 'an) t </FONT></B>=<FONT COLOR="#228B22"><B> </FONT></B>...
+<B><FONT COLOR="#A020F0">type</FONT></B> ('a1, ..., 'an) t <B><FONT COLOR="#5F9EA0">=</FONT></B> ...
</PRE>
<p>
@@ -71,8 +77,8 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> bool * int
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">type</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B>
+</PRE>
<p>
</p>
@@ -81,8 +87,8 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> bool * int * real
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">type</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B>
+</PRE>
<p>
</p>
@@ -94,8 +100,8 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B>=<FONT COLOR="#228B22"><B> bool * 'a
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">type</FONT></B> 'a t <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a
+</PRE>
<p>
</p>
@@ -107,8 +113,8 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B>=<FONT COLOR="#228B22"><B> real * 'a
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">type</FONT></B> 'a t <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a
+</PRE>
<p>
</p>
@@ -120,20 +126,20 @@
</p>
<pre class=code>
-<B><FONT COLOR="#0000FF">structure</FONT></B> Ok: <B><FONT COLOR="#0000FF">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B> =
- <B><FONT COLOR="#0000FF">struct</FONT></B>
- <B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B>=<FONT COLOR="#228B22"><B> bool * 'a
- </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B>
+<B><FONT COLOR="#5F9EA0">structure</FONT></B> Ok: <B><FONT COLOR="#5F9EA0">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B> 'a t <B><FONT COLOR="#A020F0">end</FONT></B> <B><FONT COLOR="#5F9EA0">=</FONT></B>
+ <B><FONT COLOR="#5F9EA0">struct</FONT></B>
+ <B><FONT COLOR="#A020F0">type</FONT></B> 'a t <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a
+ <B><FONT COLOR="#A020F0">end</FONT></B>
</PRE>
<p>
</p>
<pre class=code>
-<B><FONT COLOR="#0000FF">structure</FONT></B> Bad: <B><FONT COLOR="#0000FF">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B> =
- <B><FONT COLOR="#0000FF">struct</FONT></B>
- <B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B>=<FONT COLOR="#228B22"><B> real * int * 'a
- </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B>
+<B><FONT COLOR="#5F9EA0">structure</FONT></B> Bad: <B><FONT COLOR="#5F9EA0">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B> 'a t <B><FONT COLOR="#A020F0">end</FONT></B> <B><FONT COLOR="#5F9EA0">=</FONT></B>
+ <B><FONT COLOR="#5F9EA0">struct</FONT></B>
+ <B><FONT COLOR="#A020F0">type</FONT></B> 'a t <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a
+ <B><FONT COLOR="#A020F0">end</FONT></B>
</PRE>
<p>
@@ -150,16 +156,16 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> bool </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> char * int
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">char</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B>
+</PRE>
<p>
</p>
<p>
Nullary constructors trivially admit equality, so that the following datatype admits equality.
<pre class=code>
-<B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">C</FONT>
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#5F9EA0">|</FONT></B> C
+</PRE>
</p>
<p>
@@ -167,8 +173,8 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> bool * 'a </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> 'a
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B> 'a t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> 'a
+</PRE>
<p>
</p>
@@ -177,9 +183,9 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> 'a tA </FONT></B>=<FONT COLOR="#228B22"><B> bool * 'a
-</FONT></B><B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> 'a tB </FONT></B>=<FONT COLOR="#228B22"><B> 'a
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">type</FONT></B> 'a tA <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a
+<B><FONT COLOR="#A020F0">type</FONT></B> 'a tB <B><FONT COLOR="#5F9EA0">=</FONT></B> 'a
+</PRE>
<p>
</p>
@@ -191,8 +197,8 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> bool * 'a </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> real * 'a
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B> 'a t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a
+</PRE>
<p>
</p>
@@ -201,10 +207,10 @@
</p>
<pre class=code>
-<B><FONT COLOR="#0000FF">structure</FONT></B> Bad: <B><FONT COLOR="#0000FF">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B> =
- <B><FONT COLOR="#0000FF">struct</FONT></B>
- <B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> 'a t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> bool * 'a </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> real * 'a
- </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B>
+<B><FONT COLOR="#5F9EA0">structure</FONT></B> Bad: <B><FONT COLOR="#5F9EA0">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B> 'a t <B><FONT COLOR="#A020F0">end</FONT></B> <B><FONT COLOR="#5F9EA0">=</FONT></B>
+ <B><FONT COLOR="#5F9EA0">struct</FONT></B>
+ <B><FONT COLOR="#A020F0">datatype</FONT></B> 'a t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">bool</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a
+ <B><FONT COLOR="#A020F0">end</FONT></B>
</PRE>
<p>
@@ -224,8 +230,8 @@
</p>
<pre class=code>
-<B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> int * t
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> t
+</PRE>
<p>
</p>
@@ -235,24 +241,24 @@
<p>
On the other hand, in the following declaration
<pre class=code>
-<B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> real * t
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> t
+</PRE>
if we assume that <tt>t</tt> admits equality, then the <tt>B</tt> variant does not admit equality. Hence, the type constructor <tt>t</tt> does not admit equality, and our assumption was inconsistent. Hence, <tt>t</tt> does not admit equality.
</p>
<p>
The same kind of reasoning applies to mutually recursive datatypes as well. For example, the following defines both <tt>t</tt> and <tt>u</tt> to admit equality.
<pre class=code>
-<B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> u
-</FONT></B><B><FONT COLOR="#A020F0">and</FONT></B><FONT COLOR="#228B22"><B> u </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">C</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">D</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> t
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> u
+<B><FONT COLOR="#A020F0">and</FONT></B> u <B><FONT COLOR="#5F9EA0">=</FONT></B> C <B><FONT COLOR="#5F9EA0">|</FONT></B> D <B><FONT COLOR="#A020F0">of</FONT></B> t
+</PRE>
</p>
<p>
But the following defines neither <tt>t</tt> nor <tt>u</tt> to admit equality.
<pre class=code>
-<B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> u * real
-</FONT></B><B><FONT COLOR="#A020F0">and</FONT></B><FONT COLOR="#228B22"><B> u </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">C</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">D</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> t
-</FONT></B></PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> u <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B>
+<B><FONT COLOR="#A020F0">and</FONT></B> u <B><FONT COLOR="#5F9EA0">=</FONT></B> C <B><FONT COLOR="#5F9EA0">|</FONT></B> D <B><FONT COLOR="#A020F0">of</FONT></B> t
+</PRE>
</p>
<p>
@@ -260,11 +266,11 @@
</p>
<pre class=code>
-<B><FONT COLOR="#0000FF">structure</FONT></B> Bad: <B><FONT COLOR="#0000FF">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B><B><FONT COLOR="#A020F0">eqtype</FONT></B><FONT COLOR="#228B22"><B> u </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B> =
- <B><FONT COLOR="#0000FF">struct</FONT></B>
- <B><FONT COLOR="#A020F0">datatype</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> u * real
- </FONT></B><B><FONT COLOR="#A020F0">and</FONT></B><FONT COLOR="#228B22"><B> u </FONT></B>=<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">C</FONT> </FONT></B>|<FONT COLOR="#228B22"><B> <FONT COLOR="#B8860B">D</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> t
- </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B>
+<B><FONT COLOR="#5F9EA0">structure</FONT></B> Bad: <B><FONT COLOR="#5F9EA0">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B> t <B><FONT COLOR="#A020F0">eqtype</FONT></B> u <B><FONT COLOR="#A020F0">end</FONT></B> <B><FONT COLOR="#5F9EA0">=</FONT></B>
+ <B><FONT COLOR="#5F9EA0">struct</FONT></B>
+ <B><FONT COLOR="#A020F0">datatype</FONT></B> t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#A020F0">of</FONT></B> u <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B>
+ <B><FONT COLOR="#A020F0">and</FONT></B> u <B><FONT COLOR="#5F9EA0">=</FONT></B> C <B><FONT COLOR="#5F9EA0">|</FONT></B> D <B><FONT COLOR="#A020F0">of</FONT></B> t
+ <B><FONT COLOR="#A020F0">end</FONT></B>
</PRE>
<p>
Modified: mlton/trunk/doc/guide/Alice
===================================================================
--- mlton/trunk/doc/guide/Alice 2006-10-25 15:18:52 UTC (rev 4774)
+++ mlton/trunk/doc/guide/Alice 2006-10-25 22:21:03 UTC (rev 4775)
@@ -18,6 +18,12 @@
<body lang="en" dir="ltr">
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-833377-1";
+urchinTracker();
+</script>
<table bgcolor = lightblue cellspacing = 0 style = "border: 0px;" width = 100%>
<tr>
<td style = "
@@ -25,7 +31,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20051202</a>
+ <a class = mltona href="Home">MLton 20061025</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/trunk/doc/guide/AllocateRegisters
===================================================================
--- mlton/trunk/doc/guide/AllocateRegisters 2006-10-25 15:18:52 UTC (rev 4774)
+++ mlton/trunk/doc/guide/AllocateRegisters 2006-10-25 22:21:03 UTC (rev 4775)
@@ -18,6 +18,12 @@
<body lang="en" dir="ltr">
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-833377-1";
+urchinTracker();
+</script>
<table bgcolor = lightblue cellspacing = 0 style = "border: 0px;" width = 100%>
<tr>
<td style = "
@@ -25,7 +31,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20051202</a>
+ <a class = mltona href="Home">MLton 20061025</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +61,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/backend/allocate-registers.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">allocate-registers.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/backend/allocate-registers.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">allocate-registers.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-release/mlton/backend/allocate-registers.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">allocate-registers.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/mlton/backend/allocate-registers.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">allocate-registers.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/trunk/doc/guide/AndreiFormiga
===================================================================
--- mlton/trunk/doc/guide/AndreiFormiga 2006-10-25 15:18:52 UTC (rev 4774)
+++ mlton/trunk/doc/guide/AndreiFormiga 2006-10-25 22:21:03 UTC (rev 4775)
@@ -18
More information about the MLton-commit
mailing list