[MLton-commit] r5745

Matthew Fluet fluet at mlton.org
Sun Jul 8 22:11:11 PDT 2007


Grabbed wiki.

Incorporated some changes so that grab-wiki and make-pdf-guide set the
version in the guide to the date on which the wiki was grabbed.

These changes were discussed previously:
  http://mlton.org/pipermail/mlton/2006-May/028840.html
  http://mlton.org/pipermail/mlton/2006-June/028866.html


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

U   mlton/trunk/bin/grab-wiki
U   mlton/trunk/bin/make-pdf-guide
U   mlton/trunk/doc/guide/AST
U   mlton/trunk/doc/guide/AccessControl
A   mlton/trunk/doc/guide/AdamGoode
U   mlton/trunk/doc/guide/AdmitsEquality
U   mlton/trunk/doc/guide/Alice
U   mlton/trunk/doc/guide/AllocateRegisters
U   mlton/trunk/doc/guide/AndreiFormiga
U   mlton/trunk/doc/guide/ArrayLiteral
U   mlton/trunk/doc/guide/BasisLibrary
U   mlton/trunk/doc/guide/Bug
U   mlton/trunk/doc/guide/Bugs20041109
U   mlton/trunk/doc/guide/Bugs20051202
U   mlton/trunk/doc/guide/CKitLibrary
U   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
U   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
A   mlton/trunk/doc/guide/EmacsBgBuildMode
A   mlton/trunk/doc/guide/EmacsDefUseMode
U   mlton/trunk/doc/guide/Enscript
U   mlton/trunk/doc/guide/EqualityType
U   mlton/trunk/doc/guide/EqualityTypeVariable
U   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
U   mlton/trunk/doc/guide/Fixpoints
U   mlton/trunk/doc/guide/Flatten
U   mlton/trunk/doc/guide/Fold
U   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
A   mlton/trunk/doc/guide/HowToAttachFile
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
U   mlton/trunk/doc/guide/LLVM
U   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
U   mlton/trunk/doc/guide/MLRISCLibrary
U   mlton/trunk/doc/guide/MLj
U   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
U   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
U   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
U   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/ReturnStatement
D   mlton/trunk/doc/guide/Roadmap
U   mlton/trunk/doc/guide/RunTimeOptions
A   mlton/trunk/doc/guide/RunningOnAMD64
U   mlton/trunk/doc/guide/RunningOnCygwin
U   mlton/trunk/doc/guide/RunningOnDarwin
U   mlton/trunk/doc/guide/RunningOnFreeBSD
A   mlton/trunk/doc/guide/RunningOnHPPA
A   mlton/trunk/doc/guide/RunningOnHPUX
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
A   mlton/trunk/doc/guide/RunningOnX86
U   mlton/trunk/doc/guide/SMLNET
U   mlton/trunk/doc/guide/SMLNJ
U   mlton/trunk/doc/guide/SMLNJDeviations
U   mlton/trunk/doc/guide/SMLNJLibrary
A   mlton/trunk/doc/guide/SMLSharp
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
U   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
U   mlton/trunk/doc/guide/Stabilizers
U   mlton/trunk/doc/guide/StandardML
U   mlton/trunk/doc/guide/StandardMLBooks
U   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
A   mlton/trunk/doc/guide/SuccessorML
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
A   mlton/trunk/doc/guide/TipsForWritingConciseSML
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
U   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
U   mlton/trunk/doc/guide/Utilities
A   mlton/trunk/doc/guide/VERSION
U   mlton/trunk/doc/guide/ValueRestriction
U   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
A   mlton/trunk/doc/guide/WishList
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
U   mlton/trunk/doc/x86_64-port-notes/TODO

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

Modified: mlton/trunk/bin/grab-wiki
===================================================================
--- mlton/trunk/bin/grab-wiki	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/bin/grab-wiki	2007-07-09 05:11:01 UTC (rev 5745)
@@ -46,16 +46,16 @@
     grep -v >"$index" -e '^$' -e "^$drop$"
 
 echo "Getting pages:" 
-wget -B "$base" -c -nv -i "$index"
+wget -B "$base" -nv -i "$index"
 
 echo "Getting CSS:"
 for f in common screen print; do
-	wget -c "$base/wiki/mlton/css/$f.css"
+	wget "$base/wiki/mlton/css/$f.css"
 done
 
 echo "Getting images:"
 for f in bottom email ftp news top www; do
-	wget -c "$base/wiki/mlton/img/moin-$f.png"
+	wget "$base/wiki/mlton/img/moin-$f.png"
 done
 fi
 
@@ -105,3 +105,5 @@
 rm -f "$tmp" "$index" "$script"
 
 cp Home index.html
+
+echo $version > VERSION

Modified: mlton/trunk/bin/make-pdf-guide
===================================================================
--- mlton/trunk/bin/make-pdf-guide	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/bin/make-pdf-guide	2007-07-09 05:11:01 UTC (rev 5745)
@@ -30,7 +30,7 @@
 script='.script'
 titlepage='title.html'
 tmp="/tmp/mlton-guide.$$"
-version=`date +%Y%m%d`
+version=`cat $src/doc/guide/VERSION`
 
 rm -rf "$tmp"
 mkdir "$tmp"

Modified: mlton/trunk/doc/guide/AST
===================================================================
--- mlton/trunk/doc/guide/AST	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/AST	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -60,24 +60,10 @@
 The abstract syntax tree produced by the <a href="FrontEnd">FrontEnd</a>. 
 </p>
 <h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-
-<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-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-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-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-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-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-20061025-release/mlton/ast"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast</a>
- <h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/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-20070709-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/trunk/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-20070709-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/trunk/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-20070709-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-20070709-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>. 
 </p>
@@ -88,5 +74,5 @@
 
 <p>
 <hr>
-Last edited on 2005-11-30 19:55:04 by <span title="ppp-71-139-183-221.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2006-11-02 17:54:45 by <span title="76.16.241.4"><a href="MatthewFluet">MatthewFluet</a></span>.
 </body></html>

Modified: mlton/trunk/doc/guide/AccessControl
===================================================================
--- mlton/trunk/doc/guide/AccessControl	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/AccessControl	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;

Added: mlton/trunk/doc/guide/AdamGoode
===================================================================
--- mlton/trunk/doc/guide/AdamGoode	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/AdamGoode	2007-07-09 05:11:01 UTC (rev 5745)
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta name="robots" content="index,nofollow">
+
+
+
+<title>AdamGoode - MLton Standard ML Compiler (SML Compiler)</title>
+<link rel="stylesheet" type="text/css" charset="iso-8859-1" media="all" href="common.css">
+<link rel="stylesheet" type="text/css" charset="iso-8859-1" media="screen" href="screen.css">
+<link rel="stylesheet" type="text/css" charset="iso-8859-1" media="print" href="print.css">
+
+
+<link rel="Start" href="Home">
+
+
+</head>
+
+<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 = "
+		border: 0px;
+		color: darkblue; 
+		font-size: 150%;
+		text-align: left;">
+      <a class = mltona href="Home">MLton 20070709</a>
+    <td style = "
+		border: 0px;
+		font-size: 150%;
+		text-align: center;
+		width: 50%;">
+      AdamGoode
+    <td style = "
+		border: 0px;
+		text-align: right;">
+      <table cellspacing = 0 style = "border: 0px">
+        <tr style = "vertical-align: middle;">
+      </table>
+  <tr style = "background-color: white;">
+    <td colspan = 3
+	style = "
+		border: 0px;
+		font-size:70%;
+		text-align: right;">
+      <a href = "Home">Home</a>
+      &nbsp;<a href = "Index">Index</a>
+      &nbsp;
+</table>
+<div id="content" lang="en" dir="ltr">
+I maintain the Fedora package of MLton, in <a class="external" href="http://fedoraproject.org/wiki/Extras"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Fedora Extras</a>. </div>
+
+
+
+<p>
+<hr>
+Last edited on 2006-12-03 04:04:02 by <span title="pool-72-77-83-84.pitbpa.fios.verizon.net"><a href="AdamGoode">AdamGoode</a></span>.
+</body></html>

Modified: mlton/trunk/doc/guide/AdmitsEquality
===================================================================
--- mlton/trunk/doc/guide/AdmitsEquality	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/AdmitsEquality	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -64,7 +64,7 @@
 </p>
 
 <pre class=code>
-<B><FONT COLOR="#A020F0">type</FONT></B> ('a1, ..., 'an) t <B><FONT COLOR="#5F9EA0">=</FONT></B> ...
+<B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> ('a1, ..., 'an) t </FONT></B>=<B><FONT COLOR="#228B22"> </FONT></B>...
 </PRE>
 <p>
  
@@ -77,8 +77,8 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> bool * int
+</FONT></B></PRE>
 <p>
  
 </p>
@@ -87,8 +87,8 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> bool * int * real
+</FONT></B></PRE>
 <p>
  
 </p>
@@ -100,8 +100,8 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> 'a t </FONT></B>=<B><FONT COLOR="#228B22"> bool * 'a
+</FONT></B></PRE>
 <p>
  
 </p>
@@ -113,8 +113,8 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> 'a t </FONT></B>=<B><FONT COLOR="#228B22"> real * 'a
+</FONT></B></PRE>
 <p>
  
 </p>
@@ -126,20 +126,20 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#0000FF">structure</FONT></B> Ok: <B><FONT COLOR="#0000FF">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B><B><FONT COLOR="#228B22"> '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><B><FONT COLOR="#228B22"> 'a t </FONT></B>=<B><FONT COLOR="#228B22"> bool * 'a
+   </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B>
 </PRE>
 <p>
  
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#0000FF">structure</FONT></B> Bad: <B><FONT COLOR="#0000FF">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B><B><FONT COLOR="#228B22"> '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><B><FONT COLOR="#228B22"> 'a t </FONT></B>=<B><FONT COLOR="#228B22"> real * int * 'a
+   </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B>
 </PRE>
 <p>
  
@@ -152,29 +152,29 @@
 </p>
 <h2 id="head-c494234542affd2943bc7247d524477b03bc18bc">Datatype declarations</h2>
 <p>
-For a type constructor declared by a datatype declaration to admit equality, every variant of the datatype must admit equality.  For example, the following datatype admits equality because <tt>bool</tt> and <tt>char&nbsp;*&nbsp;int</tt> are equality types. 
+For a type constructor declared by a datatype declaration to admit equality, every <a href="Variant">variant</a> of the datatype must admit equality.  For example, the following datatype admits equality because <tt>bool</tt> and <tt>char&nbsp;*&nbsp;int</tt> are equality types. 
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> bool </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> char * 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> t <B><FONT COLOR="#5F9EA0">=</FONT></B> A <B><FONT COLOR="#5F9EA0">|</FONT></B> B <B><FONT COLOR="#5F9EA0">|</FONT></B> C
-</PRE>
+<B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">C</FONT>
+</FONT></B></PRE>
  
 </p>
 <p>
-For a parameterized datatype constructor to admit equality, we consider each variant as a type definition, and require that the definition admit equality.  For example, for the datatype  
+For a parameterized datatype constructor to admit equality, we consider each <a href="Variant">variant</a> as a type definition, and require that the definition admit equality.  For example, for the datatype  
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> 'a t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> bool * 'a </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> 'a
+</FONT></B></PRE>
 <p>
  
 </p>
@@ -183,9 +183,9 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> 'a tA </FONT></B>=<B><FONT COLOR="#228B22"> bool * 'a
+</FONT></B><B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> 'a tB </FONT></B>=<B><FONT COLOR="#228B22"> 'a 
+</FONT></B></PRE>
 <p>
  
 </p>
@@ -197,8 +197,8 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> 'a t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> bool * 'a </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> real * 'a
+</FONT></B></PRE>
 <p>
  
 </p>
@@ -207,10 +207,10 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#0000FF">structure</FONT></B> Bad: <B><FONT COLOR="#0000FF">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B><B><FONT COLOR="#228B22"> '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><B><FONT COLOR="#228B22"> 'a t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> bool * 'a </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> real * 'a
+   </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B>
 </PRE>
 <p>
  
@@ -230,35 +230,35 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> int * t
+</FONT></B></PRE>
 <p>
  
 </p>
 <p>
-introduces a new problem, since in order to decide whether <tt>t</tt> admits equality, we need to know for the <tt>B</tt> variant whether <tt>t</tt> admits equality.  The <a href="DefinitionOfStandardML">Definition</a> answers this question by requiring a type constructor to admit equality if it is consistent to do so.  So, in our above example, if we assume that <tt>t</tt> admits equality, then the variant  <tt>B&nbsp;of&nbsp;int&nbsp;*&nbsp;t</tt> admits equality.  Then, since the <tt>A</tt> variant trivially admits equality, so does the type constructor <tt>t</tt>. Thus, it was consistent to assume that <tt>t</tt> admits equality, and so, <tt>t</tt> does admit equality. 
+introduces a new problem, since in order to decide whether <tt>t</tt> admits equality, we need to know for the <tt>B</tt> <a href="Variant">variant</a> whether <tt>t</tt> admits equality.  The <a href="DefinitionOfStandardML">Definition</a> answers this question by requiring a type constructor to admit equality if it is consistent to do so.  So, in our above example, if we assume that <tt>t</tt> admits equality, then the <a href="Variant">variant</a>  <tt>B&nbsp;of&nbsp;int&nbsp;*&nbsp;t</tt> admits equality.  Then, since the <tt>A</tt> <a href="Variant">variant</a> trivially admits equality, so does the type constructor <tt>t</tt>. Thus, it was consistent to assume that <tt>t</tt> admits equality, and so, <tt>t</tt> does admit equality. 
 </p>
 <p>
 On the other hand, in the following declaration 
 <pre class=code>
-<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. 
+<B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> real * t
+</FONT></B></PRE>
+ if we assume that <tt>t</tt> admits equality, then the <tt>B</tt> <a href="Variant">variant</a> 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> 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>
+<B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> u
+</FONT></B><B><FONT COLOR="#A020F0">and</FONT></B><B><FONT COLOR="#228B22"> u </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">C</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">D</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> t
+</FONT></B></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> 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>
+<B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> u * real
+</FONT></B><B><FONT COLOR="#A020F0">and</FONT></B><B><FONT COLOR="#228B22"> u </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">C</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">D</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> t
+</FONT></B></PRE>
  
 </p>
 <p>
@@ -266,11 +266,11 @@
 </p>
 
 <pre class=code>
-<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>
+<B><FONT COLOR="#0000FF">structure</FONT></B> Bad: <B><FONT COLOR="#0000FF">sig</FONT></B> <B><FONT COLOR="#A020F0">eqtype</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B><B><FONT COLOR="#A020F0">eqtype</FONT></B><B><FONT COLOR="#228B22"> u </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B> =
+   <B><FONT COLOR="#0000FF">struct</FONT></B>
+      <B><FONT COLOR="#A020F0">datatype</FONT></B><B><FONT COLOR="#228B22"> t </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">A</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">B</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> u * real
+      </FONT></B><B><FONT COLOR="#A020F0">and</FONT></B><B><FONT COLOR="#228B22"> u </FONT></B>=<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">C</FONT> </FONT></B>|<B><FONT COLOR="#228B22"> <FONT COLOR="#B8860B">D</FONT> <B><FONT COLOR="#A020F0">of</FONT></B> t
+   </FONT></B><B><FONT COLOR="#0000FF">end</FONT></B>
 </PRE>
 <p>
  
@@ -291,5 +291,5 @@
 
 <p>
 <hr>
-Last edited on 2005-12-02 06:44:43 by <span title="ppp-71-139-183-221.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2007-07-08 22:57:33 by <span title="c-71-57-91-146.hsd1.il.comcast.net"><a href="MatthewFluet">MatthewFluet</a></span>.
 </body></html>

Modified: mlton/trunk/doc/guide/Alice
===================================================================
--- mlton/trunk/doc/guide/Alice	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/Alice	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;

Modified: mlton/trunk/doc/guide/AllocateRegisters
===================================================================
--- mlton/trunk/doc/guide/AllocateRegisters	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/AllocateRegisters	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -60,16 +60,12 @@
 Computes an allocation of <a href="RSSA">RSSA</a> variables as <a href="Machine">Machine</a> register or stack operands. 
 </p>
 <h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-
-<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-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>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/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-20070709-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>
 
 
 
 <p>
 <hr>
-Last edited on 2005-11-30 19:54:55 by <span title="ppp-71-139-183-221.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2006-11-02 17:36:11 by <span title="76.16.241.4"><a href="MatthewFluet">MatthewFluet</a></span>.
 </body></html>

Modified: mlton/trunk/doc/guide/AndreiFormiga
===================================================================
--- mlton/trunk/doc/guide/AndreiFormiga	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/AndreiFormiga	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;

Modified: mlton/trunk/doc/guide/ArrayLiteral
===================================================================
--- mlton/trunk/doc/guide/ArrayLiteral	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/ArrayLiteral	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -96,44 +96,44 @@
 </p>
 
 <pre class=code>
-<B><FONT COLOR="#5F9EA0">structure</FONT></B> Literal:<B><FONT COLOR="#5F9EA0">&gt;</FONT></B>
-   <B><FONT COLOR="#5F9EA0">sig</FONT></B>
-      <B><FONT COLOR="#A020F0">type</FONT></B> 'a z
-      <B><FONT COLOR="#A020F0">val</FONT></B> A: ('a z, 'a z, 'a <B><FONT COLOR="#228B22">array</FONT></B>, 'd) Fold.t
-      <B><FONT COLOR="#A020F0">val</FONT></B> V: ('a z, 'a z, 'a <B><FONT COLOR="#228B22">vector</FONT></B>, 'd) Fold.t
+<B><FONT COLOR="#0000FF">structure</FONT></B> Literal:&gt;
+   <B><FONT COLOR="#0000FF">sig</FONT></B>
+      <B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> 'a z
+      </FONT></B><B><FONT COLOR="#A020F0">val</FONT></B> A: ('a z, 'a z, 'a array, 'd) Fold.t
+      <B><FONT COLOR="#A020F0">val</FONT></B> V: ('a z, 'a z, 'a vector, 'd) Fold.t
       <B><FONT COLOR="#A020F0">val</FONT></B> ` : ('a, 'a z, 'a z, 'b, 'c, 'd) Fold.step1
-   <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 z <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> 'a option <B><FONT COLOR="#5F9EA0">*</FONT></B> ('a <B><FONT COLOR="#228B22">array</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>)
+   <B><FONT COLOR="#0000FF">end</FONT></B> =
+   <B><FONT COLOR="#0000FF">struct</FONT></B>
+      <B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> 'a z </FONT></B>=<B><FONT COLOR="#228B22"> int * 'a option * ('a array -&gt; unit)
 
-      <B><FONT COLOR="#A020F0">val</FONT></B> A <B><FONT COLOR="#5F9EA0">=</FONT></B>
-         <B><FONT COLOR="#A020F0">fn</FONT></B> z <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B>
+      </FONT></B><B><FONT COLOR="#A020F0">val</FONT></B> A =
+         <B><FONT COLOR="#A020F0">fn</FONT></B> z =&gt;
          Fold.fold
-         ((0, <B><FONT COLOR="#5F9EA0">NONE</FONT></B>, ignore),
-          <B><FONT COLOR="#A020F0">fn</FONT></B> (n, opt, fill) <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B>
+         ((<B><FONT COLOR="#5F9EA0">0</FONT></B>, NONE, ignore),
+          <B><FONT COLOR="#A020F0">fn</FONT></B> (n, opt, fill) =&gt;
           <B><FONT COLOR="#A020F0">case</FONT></B> opt <B><FONT COLOR="#A020F0">of</FONT></B>
-             <B><FONT COLOR="#5F9EA0">NONE</FONT></B> <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B>
-                Array.tabulate (0, <B><FONT COLOR="#A020F0">fn</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#A020F0">raise</FONT></B> Fail <B><FONT COLOR="#BC8F8F">&quot;array0&quot;</FONT></B>)
-           <B><FONT COLOR="#5F9EA0">|</FONT></B> <B><FONT COLOR="#5F9EA0">SOME</FONT></B> x <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B>
+             NONE =&gt;
+                Array.tabulate (<B><FONT COLOR="#5F9EA0">0</FONT></B>, <B><FONT COLOR="#A020F0">fn</FONT></B> _ =&gt; <B><FONT COLOR="#A020F0">raise</FONT></B> Fail <B><FONT COLOR="#BC8F8F">&quot;array0&quot;</FONT></B>)
+           | SOME x =&gt;
                 <B><FONT COLOR="#A020F0">let</FONT></B>
-                   <B><FONT COLOR="#A020F0">val</FONT></B> a <B><FONT COLOR="#5F9EA0">=</FONT></B> Array.<B><FONT COLOR="#228B22">array</FONT></B> (n, x)
-                   <B><FONT COLOR="#A020F0">val</FONT></B> () <B><FONT COLOR="#5F9EA0">=</FONT></B> fill a
+                   <B><FONT COLOR="#A020F0">val</FONT></B> a = Array.array (n, x)
+                   <B><FONT COLOR="#A020F0">val</FONT></B> () = fill a
                 <B><FONT COLOR="#A020F0">in</FONT></B>
                    a
                 <B><FONT COLOR="#A020F0">end</FONT></B>)
          z
 
-      <B><FONT COLOR="#A020F0">val</FONT></B> V <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#A020F0">fn</FONT></B> z <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> Fold.post (A, Array.<B><FONT COLOR="#228B22">vector</FONT></B>) z
+      <B><FONT COLOR="#A020F0">val</FONT></B> V = <B><FONT COLOR="#A020F0">fn</FONT></B> z =&gt; Fold.post (A, Array.vector) z
 
-      <B><FONT COLOR="#A020F0">val</FONT></B> ` <B><FONT COLOR="#5F9EA0">=</FONT></B> 
-         <B><FONT COLOR="#A020F0">fn</FONT></B> z <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> 
+      <B><FONT COLOR="#A020F0">val</FONT></B> ` = 
+         <B><FONT COLOR="#A020F0">fn</FONT></B> z =&gt; 
          Fold.step1
-         (<B><FONT COLOR="#A020F0">fn</FONT></B> (x, (i, opt, fill)) <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B>
-          (i <B><FONT COLOR="#5F9EA0">+</FONT></B> 1, 
-           <B><FONT COLOR="#5F9EA0">SOME</FONT></B> x, 
-           <B><FONT COLOR="#A020F0">fn</FONT></B> a <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> (Array.update (a, i, x); fill a)))
+         (<B><FONT COLOR="#A020F0">fn</FONT></B> (x, (i, opt, fill)) =&gt;
+          (i + <B><FONT COLOR="#5F9EA0">1</FONT></B>, 
+           SOME x, 
+           <B><FONT COLOR="#A020F0">fn</FONT></B> a =&gt; (Array.update (a, i, x); fill a)))
          z
-   <B><FONT COLOR="#A020F0">end</FONT></B>
+   <B><FONT COLOR="#0000FF">end</FONT></B>
 </PRE>
 <p>
  

Modified: mlton/trunk/doc/guide/BasisLibrary
===================================================================
--- mlton/trunk/doc/guide/BasisLibrary	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/BasisLibrary	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;

Modified: mlton/trunk/doc/guide/Bug
===================================================================
--- mlton/trunk/doc/guide/Bug	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/Bug	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;

Modified: mlton/trunk/doc/guide/Bugs20041109
===================================================================
--- mlton/trunk/doc/guide/Bugs20041109	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/Bugs20041109	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;

Modified: mlton/trunk/doc/guide/Bugs20051202
===================================================================
--- mlton/trunk/doc/guide/Bugs20051202	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/Bugs20051202	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -78,7 +78,7 @@
 
     <li>
 <p>
- The optimizer reports an internal error ("<a class="nonexistent" href="TypeError">TypeError</a>") when an  imported C function is called but not used.  Thanks to <tt>jq</tt> for  the bug report. 
+ The optimizer reports an internal error (<tt>TypeError</tt>) when an  imported C function is called but not used.  Thanks to <tt>jq</tt> for  the bug report. 
 </p>
 </li>
 </ul>
@@ -89,5 +89,5 @@
 
 <p>
 <hr>
-Last edited on 2006-10-13 11:19:07 by <span title="www-cache2.hel.fi.ssh.com"><a href="VesaKarvonen">VesaKarvonen</a></span>.
+Last edited on 2007-07-08 21:15:34 by <span title="c-71-57-91-146.hsd1.il.comcast.net"><a href="MatthewFluet">MatthewFluet</a></span>.
 </body></html>

Modified: mlton/trunk/doc/guide/CKitLibrary
===================================================================
--- mlton/trunk/doc/guide/CKitLibrary	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/CKitLibrary	2007-07-09 05:11:01 UTC (rev 5745)
@@ -33,7 +33,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -152,9 +152,7 @@
 
     <li>
 <p>
- 
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20061025-release/lib/ckit-lib/ckit.patch?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ckit.patch</a>
- 
+ <a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20070709-release/lib/ckit-lib/ckit.patch?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ckit.patch</a> 
 </p>
 </li>
 </ul>
@@ -165,5 +163,5 @@
 
 <p>
 <hr>
-Last edited on 2006-03-04 17:01:32 by <span title="209-6-203-188.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2006-11-02 17:48:22 by <span title="76.16.241.4"><a href="MatthewFluet">MatthewFluet</a></span>.
 </body></html>

Modified: mlton/trunk/doc/guide/CMinusMinus
===================================================================
--- mlton/trunk/doc/guide/CMinusMinus	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/CMinusMinus	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;

Modified: mlton/trunk/doc/guide/CallGraph
===================================================================
--- mlton/trunk/doc/guide/CallGraph	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/CallGraph	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;

Modified: mlton/trunk/doc/guide/CallingFromCToSML
===================================================================
--- mlton/trunk/doc/guide/CallingFromCToSML	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/CallingFromCToSML	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -61,8 +61,8 @@
 <pre>Int32 foo (Real64 x0, Char x1);
 </pre>The <tt>_export</tt> expression denotes a function of type  <tt>(real&nbsp;*&nbsp;char&nbsp;-&gt;&nbsp;int)&nbsp;-&gt;&nbsp;unit</tt> that when called with a function <tt>f</tt>, arranges for the exported <tt>foo</tt> function to call <tt>f</tt> when <tt>foo</tt> is called.  So, for example, the following exports and defines <tt>foo</tt>. 
 <pre class=code>
-<B><FONT COLOR="#A020F0">val</FONT></B> e <B><FONT COLOR="#5F9EA0">=</FONT></B> _export <B><FONT COLOR="#BC8F8F">&quot;foo&quot;</FONT></B>: (<B><FONT COLOR="#228B22">real</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">char</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B>) <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> e (<B><FONT COLOR="#A020F0">fn</FONT></B> (x, c) <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> 13 <B><FONT COLOR="#5F9EA0">+</FONT></B> Real.floor x <B><FONT COLOR="#5F9EA0">+</FONT></B> Char.ord c)
+<B><FONT COLOR="#A020F0">val</FONT></B> e = _export <B><FONT COLOR="#BC8F8F">&quot;foo&quot;</FONT></B>: (real * char -&gt; int) -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = e (<B><FONT COLOR="#A020F0">fn</FONT></B> (x, c) =&gt; <B><FONT COLOR="#5F9EA0">13</FONT></B> + Real.floor x + Char.ord c)
 </PRE>
 <p>
  
@@ -83,40 +83,40 @@
 Suppose that <tt>export.sml</tt> is  
 </p>
 <p>
-<pre class=code><B><FONT COLOR="#A020F0">val</FONT></B> e <B><FONT COLOR="#5F9EA0">=</FONT></B> _export <B><FONT COLOR="#BC8F8F">&quot;f&quot;</FONT></B>: (<B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">char</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">char</FONT></B>) <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> e (<B><FONT COLOR="#A020F0">fn</FONT></B> (i, r, _) <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B>
-           (<B><FONT COLOR="#A020F0">print</FONT></B> (<B><FONT COLOR="#A020F0">concat</FONT></B> [<B><FONT COLOR="#BC8F8F">&quot;i = &quot;</FONT></B>, Int.toString i,
+<pre class=code><B><FONT COLOR="#A020F0">val</FONT></B> e = _export <B><FONT COLOR="#BC8F8F">&quot;f&quot;</FONT></B>: (int * real * char -&gt; char) -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = e (<B><FONT COLOR="#A020F0">fn</FONT></B> (i, r, _) =&gt;
+           (print (concat [<B><FONT COLOR="#BC8F8F">&quot;i = &quot;</FONT></B>, Int.toString i,
                            <B><FONT COLOR="#BC8F8F">&quot;  r = &quot;</FONT></B>, Real.toString r, <B><FONT COLOR="#BC8F8F">&quot;\n&quot;</FONT></B>])
             ; #<B><FONT COLOR="#BC8F8F">&quot;g&quot;</FONT></B>))
-<B><FONT COLOR="#A020F0">val</FONT></B> g <B><FONT COLOR="#5F9EA0">=</FONT></B> _import <B><FONT COLOR="#BC8F8F">&quot;g&quot;</FONT></B>: <B><FONT COLOR="#228B22">unit</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> g ()
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> g ()
-   
-<B><FONT COLOR="#A020F0">val</FONT></B> e <B><FONT COLOR="#5F9EA0">=</FONT></B> _export <B><FONT COLOR="#BC8F8F">&quot;f2&quot;</FONT></B>: (Word8.<B><FONT COLOR="#228B22">word</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">word</FONT></B> <B><FONT COLOR="#228B22">array</FONT></B>) <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> e (<B><FONT COLOR="#A020F0">fn</FONT></B> w <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B>
-           Array.tabulate (10, <B><FONT COLOR="#A020F0">fn</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> Word.fromLargeWord (Word8.toLargeWord w)))
-<B><FONT COLOR="#A020F0">val</FONT></B> g2 <B><FONT COLOR="#5F9EA0">=</FONT></B> _import <B><FONT COLOR="#BC8F8F">&quot;g2&quot;</FONT></B>: <B><FONT COLOR="#228B22">unit</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">word</FONT></B> <B><FONT COLOR="#228B22">array</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> a <B><FONT COLOR="#5F9EA0">=</FONT></B> g2 ()
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#A020F0">print</FONT></B> (<B><FONT COLOR="#A020F0">concat</FONT></B> [<B><FONT COLOR="#BC8F8F">&quot;0wx&quot;</FONT></B>, Word.toString (Array.sub (a, 0)), <B><FONT COLOR="#BC8F8F">&quot;\n&quot;</FONT></B>])
+<B><FONT COLOR="#A020F0">val</FONT></B> g = _import <B><FONT COLOR="#BC8F8F">&quot;g&quot;</FONT></B>: unit -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = g ()
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = g ()
 
-<B><FONT COLOR="#A020F0">val</FONT></B> e <B><FONT COLOR="#5F9EA0">=</FONT></B> _export <B><FONT COLOR="#BC8F8F">&quot;f3&quot;</FONT></B>: (<B><FONT COLOR="#228B22">unit</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>) <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> e (<B><FONT COLOR="#A020F0">fn</FONT></B> () <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#A020F0">print</FONT></B> <B><FONT COLOR="#BC8F8F">&quot;hello\n&quot;</FONT></B>);
-<B><FONT COLOR="#A020F0">val</FONT></B> g3 <B><FONT COLOR="#5F9EA0">=</FONT></B> _import <B><FONT COLOR="#BC8F8F">&quot;g3&quot;</FONT></B>: <B><FONT COLOR="#228B22">unit</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> g3 ()
+<B><FONT COLOR="#A020F0">val</FONT></B> e = _export <B><FONT COLOR="#BC8F8F">&quot;f2&quot;</FONT></B>: (Word8.word -&gt; word array) -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = e (<B><FONT COLOR="#A020F0">fn</FONT></B> w =&gt;
+           Array.tabulate (<B><FONT COLOR="#5F9EA0">10</FONT></B>, <B><FONT COLOR="#A020F0">fn</FONT></B> _ =&gt; Word.fromLargeWord (Word8.toLargeWord w)))
+<B><FONT COLOR="#A020F0">val</FONT></B> g2 = _import <B><FONT COLOR="#BC8F8F">&quot;g2&quot;</FONT></B>: unit -&gt; word array;
+<B><FONT COLOR="#A020F0">val</FONT></B> a = g2 ()
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = print (concat [<B><FONT COLOR="#BC8F8F">&quot;0wx&quot;</FONT></B>, Word.toString (Array.sub (a, <B><FONT COLOR="#5F9EA0">0</FONT></B>)), <B><FONT COLOR="#BC8F8F">&quot;\n&quot;</FONT></B>])
 
+<B><FONT COLOR="#A020F0">val</FONT></B> e = _export <B><FONT COLOR="#BC8F8F">&quot;f3&quot;</FONT></B>: (unit -&gt; unit) -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = e (<B><FONT COLOR="#A020F0">fn</FONT></B> () =&gt; print <B><FONT COLOR="#BC8F8F">&quot;hello\n&quot;</FONT></B>);
+<B><FONT COLOR="#A020F0">val</FONT></B> g3 = _import <B><FONT COLOR="#BC8F8F">&quot;g3&quot;</FONT></B>: unit -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = g3 ()
+
 <I><FONT COLOR="#B22222">(* This example demonstrates mutual recursion between C and SML. *)</FONT></I>
-<B><FONT COLOR="#A020F0">val</FONT></B> e <B><FONT COLOR="#5F9EA0">=</FONT></B> _export <B><FONT COLOR="#BC8F8F">&quot;f4&quot;</FONT></B>: (<B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>) <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> g4 <B><FONT COLOR="#5F9EA0">=</FONT></B> _import <B><FONT COLOR="#BC8F8F">&quot;g4&quot;</FONT></B>: <B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> e (<B><FONT COLOR="#A020F0">fn</FONT></B> i <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#A020F0">if</FONT></B> i <B><FONT COLOR="#5F9EA0">=</FONT></B> 0 <B><FONT COLOR="#A020F0">then</FONT></B> () <B><FONT COLOR="#A020F0">else</FONT></B> g4 (i <B><FONT COLOR="#5F9EA0">-</FONT></B> 1))
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> g4 13
+<B><FONT COLOR="#A020F0">val</FONT></B> e = _export <B><FONT COLOR="#BC8F8F">&quot;f4&quot;</FONT></B>: (int -&gt; unit) -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> g4 = _import <B><FONT COLOR="#BC8F8F">&quot;g4&quot;</FONT></B>: int -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = e (<B><FONT COLOR="#A020F0">fn</FONT></B> i =&gt; <B><FONT COLOR="#A020F0">if</FONT></B> i = <B><FONT COLOR="#5F9EA0">0</FONT></B> <B><FONT COLOR="#A020F0">then</FONT></B> () <B><FONT COLOR="#A020F0">else</FONT></B> g4 (i - <B><FONT COLOR="#5F9EA0">1</FONT></B>))
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = g4 <B><FONT COLOR="#5F9EA0">13</FONT></B>
 
-<B><FONT COLOR="#A020F0">val</FONT></B> (_, zzzSet) <B><FONT COLOR="#5F9EA0">=</FONT></B> _symbol <B><FONT COLOR="#BC8F8F">&quot;zzz&quot;</FONT></B> alloc: (<B><FONT COLOR="#228B22">unit</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B>) <B><FONT COLOR="#5F9EA0">*</FONT></B> (<B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>);
-<B><FONT COLOR="#A020F0">val</FONT></B> () <B><FONT COLOR="#5F9EA0">=</FONT></B> zzzSet 42
-<B><FONT COLOR="#A020F0">val</FONT></B> g5 <B><FONT COLOR="#5F9EA0">=</FONT></B> _import <B><FONT COLOR="#BC8F8F">&quot;g5&quot;</FONT></B>: <B><FONT COLOR="#228B22">unit</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> g5 ()
-   
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#A020F0">print</FONT></B> <B><FONT COLOR="#BC8F8F">&quot;success\n&quot;</FONT></B>
+<B><FONT COLOR="#A020F0">val</FONT></B> (_, zzzSet) = _symbol <B><FONT COLOR="#BC8F8F">&quot;zzz&quot;</FONT></B> alloc: (unit -&gt; int) * (int -&gt; unit);
+<B><FONT COLOR="#A020F0">val</FONT></B> () = zzzSet <B><FONT COLOR="#5F9EA0">42</FONT></B>
+<B><FONT COLOR="#A020F0">val</FONT></B> g5 = _import <B><FONT COLOR="#BC8F8F">&quot;g5&quot;</FONT></B>: unit -&gt; unit;
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = g5 ()
 
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = print <B><FONT COLOR="#BC8F8F">&quot;success\n&quot;</FONT></B>
+
 </PRE>
  
 </p>
@@ -145,7 +145,7 @@
 #<B><FONT COLOR="#5F9EA0">include</FONT></B> <B><FONT COLOR="#BC8F8F">&quot;export.h&quot;</FONT></B>
 
 <B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">g</FONT></B> () {
-        Char c;
+        Char8 c;
 
         fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g starting\n&quot;</FONT></B>);
         c = f (13, 17.15, <B><FONT COLOR="#BC8F8F">'a'</FONT></B>);
@@ -166,7 +166,7 @@
         fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g3 done\n&quot;</FONT></B>);
 }
 
-<B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">g4</FONT></B> (Int i) {
+<B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">g4</FONT></B> (Int32 i) {
         fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g4 (%d)\n&quot;</FONT></B>, i);
         f4 (i);
 }
@@ -201,16 +201,12 @@
 
     <li>
 <p>
- 
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20061025-release/doc/examples/ffi/export.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">export.sml</a>
- 
+ <a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20070709-release/doc/examples/ffi/export.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">export.sml</a> 
 </p>
 </li>
     <li>
 <p>
- 
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20061025-release/doc/examples/ffi/ffi-export.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-export.c</a>
- 
+ <a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20070709-release/doc/examples/ffi/ffi-export.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-export.c</a> 
 </p>
 </li>
 </ul>
@@ -221,5 +217,5 @@
 
 <p>
 <hr>
-Last edited on 2005-11-30 23:11:45 by <span title="ppp-71-139-183-221.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2006-11-02 17:34:21 by <span title="76.16.241.4"><a href="MatthewFluet">MatthewFluet</a></span>.
 </body></html>

Modified: mlton/trunk/doc/guide/CallingFromSMLToC
===================================================================
--- mlton/trunk/doc/guide/CallingFromSMLToC	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/CallingFromSMLToC	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -75,23 +75,23 @@
 <pre class=code><I><FONT COLOR="#B22222">(* main.sml *)</FONT></I>
 
 <I><FONT COLOR="#B22222">(* Declare ffi to be implemented by calling the C function ffi. *)</FONT></I>
-<B><FONT COLOR="#A020F0">val</FONT></B> ffi <B><FONT COLOR="#5F9EA0">=</FONT></B> _import <B><FONT COLOR="#BC8F8F">&quot;ffi&quot;</FONT></B>: <B><FONT COLOR="#228B22">real</FONT></B> <B><FONT COLOR="#228B22">array</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#A020F0">ref</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">char</FONT></B>;
-<B><FONT COLOR="#A020F0">open</FONT></B> Array
+<B><FONT COLOR="#A020F0">val</FONT></B> ffi = _import <B><FONT COLOR="#BC8F8F">&quot;ffi&quot;</FONT></B>: real array * int ref * int -&gt; char;
+<B><FONT COLOR="#0000FF">open</FONT></B> Array
 
-<B><FONT COLOR="#A020F0">val</FONT></B> size <B><FONT COLOR="#5F9EA0">=</FONT></B> 10
-<B><FONT COLOR="#A020F0">val</FONT></B> a <B><FONT COLOR="#5F9EA0">=</FONT></B> tabulate (size, <B><FONT COLOR="#A020F0">fn</FONT></B> i <B><FONT COLOR="#5F9EA0">=</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">real</FONT></B> i)
-<B><FONT COLOR="#A020F0">val</FONT></B> r <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#A020F0">ref</FONT></B> 0
-<B><FONT COLOR="#A020F0">val</FONT></B> n <B><FONT COLOR="#5F9EA0">=</FONT></B> 17
+<B><FONT COLOR="#A020F0">val</FONT></B> size = <B><FONT COLOR="#5F9EA0">10</FONT></B>
+<B><FONT COLOR="#A020F0">val</FONT></B> a = tabulate (size, <B><FONT COLOR="#A020F0">fn</FONT></B> i =&gt; real i)
+<B><FONT COLOR="#A020F0">val</FONT></B> r = ref <B><FONT COLOR="#5F9EA0">0</FONT></B>
+<B><FONT COLOR="#A020F0">val</FONT></B> n = <B><FONT COLOR="#5F9EA0">17</FONT></B>
 
 <I><FONT COLOR="#B22222">(* Call the C function *)</FONT></I>
-<B><FONT COLOR="#A020F0">val</FONT></B> c <B><FONT COLOR="#5F9EA0">=</FONT></B> ffi (a, r, n)
+<B><FONT COLOR="#A020F0">val</FONT></B> c = ffi (a, r, n)
 
-<B><FONT COLOR="#A020F0">val</FONT></B> (nGet, nSet) <B><FONT COLOR="#5F9EA0">=</FONT></B> _symbol <B><FONT COLOR="#BC8F8F">&quot;FFI_INT&quot;</FONT></B>: (<B><FONT COLOR="#228B22">unit</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">int</FONT></B>) <B><FONT COLOR="#5F9EA0">*</FONT></B> (<B><FONT COLOR="#228B22">int</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>);
+<B><FONT COLOR="#A020F0">val</FONT></B> (nGet, nSet) = _symbol <B><FONT COLOR="#BC8F8F">&quot;FFI_INT&quot;</FONT></B>: (unit -&gt; int) * (int -&gt; unit);
 
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B> <B><FONT COLOR="#A020F0">print</FONT></B> (<B><FONT COLOR="#A020F0">concat</FONT></B> [Int.toString (nGet ()), <B><FONT COLOR="#BC8F8F">&quot;\n&quot;</FONT></B>])
+<B><FONT COLOR="#A020F0">val</FONT></B> _ = print (concat [Int.toString (nGet ()), <B><FONT COLOR="#BC8F8F">&quot;\n&quot;</FONT></B>])
 
-<B><FONT COLOR="#A020F0">val</FONT></B> _ <B><FONT COLOR="#5F9EA0">=</FONT></B>
-   <B><FONT COLOR="#A020F0">print</FONT></B> (<B><FONT COLOR="#A020F0">if</FONT></B> c <B><FONT COLOR="#5F9EA0">=</FONT></B> #<B><FONT COLOR="#BC8F8F">&quot;c&quot;</FONT></B> <B><FONT COLOR="#A020F0">andalso</FONT></B> <B><FONT COLOR="#5F9EA0">!</FONT></B>r <B><FONT COLOR="#5F9EA0">=</FONT></B> 45
+<B><FONT COLOR="#A020F0">val</FONT></B> _ =
+   print (<B><FONT COLOR="#A020F0">if</FONT></B> c = #<B><FONT COLOR="#BC8F8F">&quot;c&quot;</FONT></B> <B><FONT COLOR="#A020F0">andalso</FONT></B> !r = <B><FONT COLOR="#5F9EA0">45</FONT></B>
              <B><FONT COLOR="#A020F0">then</FONT></B> <B><FONT COLOR="#BC8F8F">&quot;success\n&quot;</FONT></B>
           <B><FONT COLOR="#A020F0">else</FONT></B> <B><FONT COLOR="#BC8F8F">&quot;fail\n&quot;</FONT></B>)
 </PRE>
@@ -103,19 +103,19 @@
 <p>
 <pre class=code>#<B><FONT COLOR="#5F9EA0">include</FONT></B> <B><FONT COLOR="#BC8F8F">&quot;platform.h&quot;</FONT></B>
 
-Int FFI_INT = 13;
-Word FFI_WORD = 0xFF;
+Int32 FFI_INT = 13;
+Word32 FFI_WORD = 0xFF;
 Bool FFI_BOOL = TRUE;
-Real FFI_REAL = 3.14159;
+Real64 FFI_REAL = 3.14159;
 
-Char <B><FONT COLOR="#0000FF">ffi</FONT></B> (Pointer a1, Pointer a2, Int n) {
+Char8 <B><FONT COLOR="#0000FF">ffi</FONT></B> (Pointer a1, Pointer a2, Int32 n) {
         <B><FONT COLOR="#228B22">double</FONT></B> *ds = (<B><FONT COLOR="#228B22">double</FONT></B>*)a1;
         <B><FONT COLOR="#228B22">int</FONT></B> *p = (<B><FONT COLOR="#228B22">int</FONT></B>*)a2;
         <B><FONT COLOR="#228B22">int</FONT></B> i;
         <B><FONT COLOR="#228B22">double</FONT></B> sum;
 
         sum = 0.0;
-        <B><FONT COLOR="#A020F0">for</FONT></B> (i = 0; i &lt; GC_arrayNumElements (a1); ++i) {
+        <B><FONT COLOR="#A020F0">for</FONT></B> (i = 0; i &lt; GC_getArrayLength (a1); ++i) {
                 sum += ds[i];
                 ds[i] += n;
         }
@@ -139,16 +139,12 @@
 
     <li>
 <p>
- 
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20061025-release/doc/examples/ffi/import.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">import.sml</a>
- 
+ <a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20070709-release/doc/examples/ffi/import.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">import.sml</a> 
 </p>
 </li>
     <li>
 <p>
- 
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20061025-release/doc/examples/ffi/ffi-import.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-import.c</a>
- 
+ <a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20070709-release/doc/examples/ffi/ffi-import.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-import.c</a> 
 </p>
 </li>
 
@@ -172,5 +168,5 @@
 
 <p>
 <hr>
-Last edited on 2005-12-02 04:17:30 by <span title="ppp-71-139-183-221.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2006-11-14 01:25:50 by <span title="76.16.241.4"><a href="MatthewFluet">MatthewFluet</a></span>.
 </body></html>

Modified: mlton/trunk/doc/guide/CallingFromSMLToCFunctionPointer
===================================================================
--- mlton/trunk/doc/guide/CallingFromSMLToCFunctionPointer	2007-07-09 04:51:00 UTC (rev 5744)
+++ mlton/trunk/doc/guide/CallingFromSMLToCFunctionPointer	2007-07-09 05:11:01 UTC (rev 5745)
@@ -31,7 +31,7 @@
 		color: darkblue; 
 		font-size: 150%;
 		text-align: left;">
-      <a class = mltona href="Home">MLton 20061025</a>
+      <a class = mltona href="Home">MLton 20070709</a>
     <td style = "
 		border: 0px;
 		font-size: 150%;
@@ -74,83 +74,83 @@
 This example uses <tt>dlopen</tt> and friends (imported using normal <tt>_import</tt>) to dynamically load the math library (<tt>libm</tt>) and call the <tt>cos</tt> function. Suppose <tt>iimport.sml</tt> contains the following. 
 </p>
 <p>
-<pre class=code><B><FONT COLOR="#5F9EA0">signature</FONT></B> DYN_LINK <B><FONT COLOR="#5F9EA0">=</FONT></B>
-   <B><FONT COLOR="#5F9EA0">sig</FONT></B>
-      <B><FONT COLOR="#A020F0">type</FONT></B> hndl
-      <B><FONT COLOR="#A020F0">type</FONT></B> mode
-      <B><FONT COLOR="#A020F0">type</FONT></B> fptr
+<pre class=code><B><FONT COLOR="#0000FF">signature</FONT></B> DYN_LINK =
+   <B><FONT COLOR="#0000FF">sig</FONT></B>
+      <B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> hndl
+      </FONT></B><B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> mode
+      </FONT></B><B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> fptr
 
-      <B><FONT COLOR="#A020F0">val</FONT></B> dlopen : <B><FONT COLOR="#228B22">string</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> mode <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> hndl
-      <B><FONT COLOR="#A020F0">val</FONT></B> dlsym : hndl <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">string</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> fptr
-      <B><FONT COLOR="#A020F0">val</FONT></B> dlclose : hndl <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> <B><FONT COLOR="#228B22">unit</FONT></B>
+      </FONT></B><B><FONT COLOR="#A020F0">val</FONT></B> dlopen : string * mode -&gt; hndl
+      <B><FONT COLOR="#A020F0">val</FONT></B> dlsym : hndl * string -&gt; fptr
+      <B><FONT COLOR="#A020F0">val</FONT></B> dlclose : hndl -&gt; unit
 
       <B><FONT COLOR="#A020F0">val</FONT></B> RTLD_LAZY : mode
       <B><FONT COLOR="#A020F0">val</FONT></B> RTLD_NOW : mode
-   <B><FONT COLOR="#A020F0">end</FONT></B>
+   <B><FONT COLOR="#0000FF">end</FONT></B>
 
-<B><FONT COLOR="#5F9EA0">structure</FONT></B> DynLink :<B><FONT COLOR="#5F9EA0">&gt;</FONT></B> DYN_LINK <B><FONT COLOR="#5F9EA0">=</FONT></B>
-   <B><FONT COLOR="#5F9EA0">struct</FONT></B>
-      <B><FONT COLOR="#A020F0">type</FONT></B> hndl <B><FONT COLOR="#5F9EA0">=</FONT></B> MLton.Pointer.t
-      <B><FONT COLOR="#A020F0">type</FONT></B> mode <B><FONT COLOR="#5F9EA0">=</FONT></B> Word32.<B><FONT COLOR="#228B22">word</FONT></B>
-      <B><FONT COLOR="#A020F0">type</FONT></B> fptr <B><FONT COLOR="#5F9EA0">=</FONT></B> MLton.Pointer.t
+<B><FONT COLOR="#0000FF">structure</FONT></B> DynLink :&gt; DYN_LINK =
+   <B><FONT COLOR="#0000FF">struct</FONT></B>
+      <B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> hndl </FONT></B>=<B><FONT COLOR="#228B22"> MLton.Pointer.t
+      </FONT></B><B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> mode </FONT></B>=<B><FONT COLOR="#228B22"> Word32.word
+      </FONT></B><B><FONT COLOR="#A020F0">type</FONT></B><B><FONT COLOR="#228B22"> fptr </FONT></B>=<B><FONT COLOR="#228B22"> MLton.Pointer.t
 
-      <B><FONT COLOR="#A020F0">val</FONT></B> dlopen <B><FONT COLOR="#5F9EA0">=</FONT></B>
-         _import <B><FONT COLOR="#BC8F8F">&quot;dlopen&quot;</FONT></B> : <B><FONT COLOR="#228B22">string</FONT></B> <B><FONT COLOR="#5F9EA0">*</FONT></B> mode <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> hndl;
-      <B><FONT COLOR="#A020F0">val</FONT></B> dlerror <B><FONT COLOR="#5F9EA0">=</FONT></B>
-         _import <B><FONT COLOR="#BC8F8F">&quot;dlerror&quot;</FONT></B>: <B><FONT COLOR="#228B22">unit</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> MLton.Pointer.t;
-      <B><FONT COLOR="#A020F0">val</FONT></B> dlsym <B><FONT COLOR="#5F9EA0">=</FONT></B>
-         _import <B><FONT COLOR="#BC8F8F">&quot;dlsym&quot;</FONT></B> : hndl <B><FONT COLOR="#5F9EA0">*</FONT></B> <B><FONT COLOR="#228B22">string</FONT></B> <B><FONT COLOR="#5F9EA0">-</FONT></B><B><FONT COLOR="#5F9EA0">&gt;</FONT></B> fptr;
-      <B><FONT COLOR="#A020F0">val</FONT></B> dlclose <B><FONT COLOR="#5F9EA0">=</FONT></B>
-       



More information about the MLton-commit mailing list