[MLton-commit] r4811

Matthew Fluet fluet at mlton.org
Mon Nov 6 19:46:42 PST 2006


Merge trunk revisions 4663:4810 into x86_64 branch
----------------------------------------------------------------------

U   mlton/branches/on-20050822-x86_64-branch/Makefile
U   mlton/branches/on-20050822-x86_64-branch/basis-library/arrays-and-vectors/mono-vector.sig
U   mlton/branches/on-20050822-x86_64-branch/basis-library/real/real.sml
U   mlton/branches/on-20050822-x86_64-branch/bin/make-pdf-guide
U   mlton/branches/on-20050822-x86_64-branch/doc/changelog
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/AST
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/AccessControl
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/AdmitsEquality
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Alice
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/AllocateRegisters
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/AndreiFormiga
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/ArrayLiteral
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/BasisLibrary
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Bug
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20041109
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20051202
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CKitLibrary
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/CMinusMinus
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CallGraph
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromCToSML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToC
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToCFunctionPointer
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ChrisClearwater
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Chunkify
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Closure
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ClosureConvert
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonArg
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonBlock
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonSubexp
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilationManager
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CompileTimeOptions
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerOverview
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerPassTemplate
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilingWithSMLNJ
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentMLImplementation
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ConstantPropagation
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Contact
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Contify
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreMLSimplify
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CreatingPages
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Credits
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/CrossCompiling
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/DeadCode
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/DeepFlatten
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/DefineTypeBeforeUse
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/DefinitionOfStandardML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Defunctorize
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Developers
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Development
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Documentation
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Drawbacks
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Eclipse
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/EditingPages
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Elaborate
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Emacs
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Enscript
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityType
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityTypeVariable
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/EtaExpansion
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Experimental
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/FAQ
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Features
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/FirstClassPolymorphism
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/Fixpoints
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Flatten
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/Fold
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/Fold01N
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ForLoops
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterface
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceSyntax
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceTypes
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/FrontEnd
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/FunctionalRecordUpdate
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/GarbageCollection
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeDatatype
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeException
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Glade
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Globalize
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/GnuMP
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/HaMLet
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/HenryCejtin
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/History
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Home
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/HowProfilingWorks
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Identifier
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Immutable
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ImperativeTypeVariable
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementExceptions
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementHandlers
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementProfiling
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementSuffix
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Index
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/InfixingOperators
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Inline
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertLimitChecks
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertSignalChecks
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Installation
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/IntermediateLanguage
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/IntroduceLoops
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/JesperLouisAndersen
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/JohnnyAndersen
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/KnownCase
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/LLVM
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/LambdaCalculus
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/LambdaFree
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/LanguageChanges
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Lazy
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Libraries
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/License
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/LineDirective
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalFlatten
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalRef
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/LoopInvariant
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasis
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotationExamples
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotations
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAvailableLibraries
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisExamples
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisPathMap
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisSyntaxAndSemantics
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLKit
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFI
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFIImplementation
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLRISCLibrary
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLj
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLmon
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonArray
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonBinIO
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonCont
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonExn
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonFinalizable
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonGC
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIO
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIntInf
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonItimer
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPlatform
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPointer
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcEnv
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcess
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProfile
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRandom
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRlimit
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRusage
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSignal
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSocket
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonStructure
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSyslog
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonTextIO
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonThread
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonVector
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWeak
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWord
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWorld
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Machine
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ManualPage
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompilation
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompile
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MatthewFluet
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MichaelNorrish
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MikeThomas
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MoinMoin
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Monomorphise
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/MoscowML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Multi
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Mutable
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/NumericLiteral
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/OCaml
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ObjectOrientedProgramming
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/OpenGL
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/OperatorPrecedence
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/OptionalArguments
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/OrphanedPages
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/OtherSites
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Overloading
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PackedRepresentation
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PageSize
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ParallelMove
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Performance
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PhantomType
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PlatformSpecificNotes
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyEqual
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PolymorphicEquality
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Polyvariance
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Poplog
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/PortStatus
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PortingMLton
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PrecedenceParse
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Printf
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PrintfGentle
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ProductType
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Profiling
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingAllocation
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingCounts
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTheStack
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTime
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Projects
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Pronounce
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/PropertyList
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSA
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSAShrink
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSASimplify
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RayRacine
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/Reachability
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Redundant
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RedundantTests
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RefFlatten
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/References
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Regions
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ReleaseChecklist
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RemoveUnused
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Restore
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/Roadmap
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunTimeOptions
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnCygwin
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnDarwin
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnFreeBSD
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnLinux
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnMinGW
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnNetBSD
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnOpenBSD
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnPowerPC
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSolaris
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSparc
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNET
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJ
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJDeviations
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJLibrary
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLofNJStructure
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2Simplify
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SSASimplify
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SXML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLShrink
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLSimplify
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ScopeInference
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SelfCompiling
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Serialization
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ShowBasis
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/ShowProf
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Shrink
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SimplifyTypes
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Sources
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SpaceSafety
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/Stabilizers
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLBooks
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLGotchas
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLHistory
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLImplementations
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLPortability
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLTutorials
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/StephenWeeks
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/StyleGuide
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Subversion
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SureshJagannathan
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Survey
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SurveyDone
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Swerve
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SyntacticConventions
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/SystemInfo
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TILT
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Talk
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkDiveIn
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFolkLore
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFromSMLTo
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowHigherOrder
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowModules
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowPolymorphism
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonApproach
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonFeatures
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonHistory
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkStandardML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkTemplate
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkWholeProgram
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ToMachine
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ToRSSA
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ToSSA2
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TomMurphy
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TrustedGroup
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeChecking
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeConstructor
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeIndexedValues
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeVariableScope
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Unicode
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/UniversalType
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/UnresolvedBugs
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/UnsafeStructure
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Useless
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Users
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/Utilities
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ValueRestriction
A   mlton/branches/on-20050822-x86_64-branch/doc/guide/VariableArityPolymorphism
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Variant
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/VesaKarvonen
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/WantedPages
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/WebSite
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/WesleyTerpstra
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/WholeProgramOptimization
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiMacros
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiName
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiTool
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/XML
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLShrink
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplify
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplifyTypes
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/ZZZOrphanedPages
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/Zone
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/eXene
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/fxp
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/index.html
U   mlton/branches/on-20050822-x86_64-branch/doc/guide/mGTK
U   mlton/branches/on-20050822-x86_64-branch/doc/license/MLton-LICENSE
A   mlton/branches/on-20050822-x86_64-branch/doc/license/NEC-LICENSE
U   mlton/branches/on-20050822-x86_64-branch/ide/emacs/esml-mlb-mode.el
U   mlton/branches/on-20050822-x86_64-branch/include/x86-main.h
U   mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/Makefile
A   mlton/branches/on-20050822-x86_64-branch/lib/mlnlffi/memory/platform/memory.amd64-freebsd.mlb
A   mlton/branches/on-20050822-x86_64-branch/lib/mlnlffi/memory/platform/memory.amd64-netbsd.mlb
A   mlton/branches/on-20050822-x86_64-branch/lib/mlnlffi/memory/platform/memory.amd64-openbsd.mlb
A   mlton/branches/on-20050822-x86_64-branch/lib/mlnlffi/memory/platform/memory.x86-darwin.mlb
U   mlton/branches/on-20050822-x86_64-branch/lib/mlrisc-lib/MLRISC.patch
U   mlton/branches/on-20050822-x86_64-branch/lib/mlrisc-lib/Makefile
U   mlton/branches/on-20050822-x86_64-branch/lib/mlton/basic/http.sml
U   mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/Makefile
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-allocate-registers.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-codegen.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-generate-transfers.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-mlton-basic.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-translate.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-validate.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/front-end/mlb.grm
U   mlton/branches/on-20050822-x86_64-branch/mlton/main/main.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/useless.fun
U   mlton/branches/on-20050822-x86_64-branch/package/debian/changelog
U   mlton/branches/on-20050822-x86_64-branch/package/debian/control
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/darwin.c

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

Modified: mlton/branches/on-20050822-x86_64-branch/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/Makefile	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/Makefile	2006-11-07 03:45:26 UTC (rev 4811)
@@ -168,7 +168,7 @@
         # do not change "make" to "$(MAKE)" in the following line
 	cd "$(BSDSRC)/package/freebsd" && MAINTAINER_MODE=yes make build-package  
 
-LIBRARIES = ckit-lib cml mlnlffi-lib mlrisc-lib mlyacc-lib smlnj-lib
+LIBRARIES = ckit-lib cml mlnlffi-lib mlyacc-lib smlnj-lib
 
 .PHONY: libraries-no-check
 libraries-no-check:
@@ -180,9 +180,10 @@
 	$(CP) "$(SRC)/lib/cml/." "$(LIB)/sml/cml"
 	$(CP) "$(SRC)/lib/ckit-lib/ckit/." "$(LIB)/sml/ckit-lib"
 	$(CP) "$(SRC)/lib/mlnlffi/." "$(LIB)/sml/mlnlffi-lib"
-	$(CP) "$(SRC)/lib/mlrisc-lib/MLRISC/." "$(LIB)/sml/mlrisc-lib"
+	true || $(CP) "$(SRC)/lib/mlrisc-lib/MLRISC/." "$(LIB)/sml/mlrisc-lib"
 	$(CP) "$(SRC)/lib/mlyacc/." "$(LIB)/sml/mlyacc-lib"
 	$(CP) "$(SRC)/lib/smlnj-lib/smlnj-lib/." "$(LIB)/sml/smlnj-lib"
+	find "$(LIB)/sml" -type d -name .cm | xargs rm -rf
 	find "$(LIB)/sml" -type d -name .svn | xargs rm -rf
 	find "$(LIB)/sml" -type f -name .ignore | xargs rm -rf
 
@@ -245,7 +246,7 @@
 .PHONY: profiled
 profiled:
 	for t in alloc count time; do 					\
- 		$(MAKE) -C "$(COMP)" "AOUT=$(AOUT).$$t" 		\
+		$(MAKE) -C "$(COMP)" "AOUT=$(AOUT).$$t" 		\
 			COMPILE_ARGS="-profile $$t";			\
 		$(CP) "$(COMP)/$(AOUT).$$t" "$(LIB)/";			\
 		"$(LIB)/$(AOUT).$$t" @MLton -- "$(LIB)/world.$$t";	\

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/arrays-and-vectors/mono-vector.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/arrays-and-vectors/mono-vector.sig	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/arrays-and-vectors/mono-vector.sig	2006-11-07 03:45:26 UTC (rev 4811)
@@ -9,6 +9,7 @@
       val collate: (elem * elem -> order) -> vector * vector -> order
       val concat: vector list -> vector 
       val exists: (elem -> bool) -> vector -> bool
+      val find: (elem -> bool) -> vector -> elem option
       val findi: (int * elem -> bool) -> vector -> (int * elem) option
       val foldl: (elem * 'a -> 'a) -> 'a -> vector -> 'a 
       val foldli: (int * elem * 'a -> 'a) -> 'a -> vector -> 'a 

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/real/real.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/real/real.sml	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/real/real.sml	2006-11-07 03:45:26 UTC (rev 4811)
@@ -110,7 +110,7 @@
       val nan = posInf + negInf
 
       val class = IEEEReal.mkClass R.class
-   
+
       val abs =
          if MLton.Codegen.isNative
             then abs
@@ -120,13 +120,13 @@
                INF => posInf
              | NAN => x
              | _ => if signBit x then ~x else x
-         
+
       fun isFinite r =
          case class r of
             INF => false
           | NAN => false
           | _ => true
-               
+
       val op == = Prim.==
 
       val op != = not o op ==
@@ -199,7 +199,7 @@
              | I.LESS => G.LESS
              | I.UNORDERED => raise IEEEReal.Unordered
       end
-   
+
       fun unordered (x, y) = isNan x orelse isNan y
 
       val nextAfter: real * real -> real =
@@ -217,20 +217,23 @@
                   R.nextAfterDown r
                else
                   R.nextAfterUp r
-                         
-      fun toManExp x =
-         case class x of
-            INF => {exp = 0, man = x}
-          | NAN => {exp = 0, man = nan}
-          | ZERO => {exp = 0, man = x}
-          | _ => 
-               let
-                  val r: C_Int.t ref = ref 0
-                  val man = R.frexp (x, r)
-               in
-                  {exp = C_Int.toInt (!r), man = man}
-               end
 
+      local
+         val one = One.make (fn () => ref (0 : C_Int.t))
+      in
+         fun toManExp x =
+            case class x of
+               INF => {exp = 0, man = x}
+             | NAN => {exp = 0, man = nan}
+             | ZERO => {exp = 0, man = x}
+             | _ => One.use (one, fn r =>
+                             let
+                                val man = R.frexp (x, r)
+                             in
+                                {exp = C_Int.toInt (!r), man = man}
+                             end)
+      end
+
       fun fromManExp {exp, man} = 
          (R.ldexp (man, C_Int.fromInt exp))
          handle Overflow => 
@@ -248,7 +251,7 @@
              | _ => fromManExp {exp = exp, man = man}
 
       local
-         val oneInt = One.make (fn () => ref zero)
+         val one = One.make (fn () => ref zero)
       in
          fun split x =
             case class x of
@@ -256,26 +259,25 @@
                        whole = x}
              | NAN => {frac = nan, whole = nan}
              | _ => 
-                  One.use
-                  (oneInt, fn int =>
-                   let
-                      val frac = R.modf (x, int)
-                      val whole = !int
-                      (* Some platforms' C libraries don't get sign of
-                       * zero right.
-                       *)
-                      fun fix y =
-                         if class y = ZERO andalso not (sameSign (x, y))
-                            then ~ y
-                            else y
-                   in
-                      {frac = fix frac,
-                       whole = fix whole}
-                   end)
+                  let
+                     val (frac, whole) =
+                        One.use (one, fn int =>
+                                 (R.modf (x, int), !int))
+                     (* Some platforms' C libraries don't get sign of
+                      * zero right.
+                      *)
+                     fun fix y =
+                        if class y = ZERO andalso not (sameSign (x, y))
+                           then ~ y
+                           else y
+                  in
+                     {frac = fix frac,
+                      whole = fix whole}
+                  end
       end
-            
+
       val realMod = #frac o split
-         
+
       fun checkFloat x =
          case class x of
             INF => raise Overflow
@@ -363,7 +365,7 @@
       (* toDecimal, fmt, toString: binary -> decimal conversions. *)
       datatype mode = Fix | Gen | Sci
       local
-         val decpt: C_Int.int ref = ref 0
+         val one = One.make (fn () => ref (0: C_Int.int))
       in
          fun gdtoa (x: real, mode: mode, ndig: int) =
             let
@@ -372,12 +374,13 @@
                      Fix => 3
                    | Gen => 0
                    | Sci => 2
-               val cs = Prim.gdtoa (x, mode, C_Int.fromInt ndig, decpt)
             in
-               (cs, C_Int.toInt (!decpt))
+               One.use (one, fn decpt =>
+                        (Prim.gdtoa (x, mode, ndig, decpt), 
+                         C_Int.toInt (!decpt)))
             end
       end
-   
+
       fun toDecimal (x: real): IEEEReal.decimal_approx =
          case class x of
             INF => {class = INF,
@@ -588,7 +591,7 @@
                 | _ => doit x
             end
       end
-   
+
       val toString = fmt (StringCvt.GEN NONE)
 
       local
@@ -672,7 +675,7 @@
                   else (i, false)
                val x = Prim.strto (NullString.nullTerm (IntInf.toString i))
             in
-               if sign then ~ x else x             
+               if sign then ~ x else x
             end
 
       val toIntInfM: rounding_mode -> real -> LargeInt.int =
@@ -760,7 +763,7 @@
             (* Patch functions to handle out-of-range args.  Many C math
              * libraries do not do what the SML Basis Spec requires.
              *)
-               
+
             local
                fun patch f x =
                   if x < ~one orelse x > one
@@ -855,13 +858,13 @@
                   INF => x
                 | ZERO => one
                 | _ => R.Math.cosh x
-                     
+
             fun sinh x =
                case class x of
                   INF => x
                 | ZERO => x
                 | _ => R.Math.sinh x
-                     
+
             fun tanh x =
                case class x of
                   INF => if x > zero then one else negOne

Modified: mlton/branches/on-20050822-x86_64-branch/bin/make-pdf-guide
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/make-pdf-guide	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/bin/make-pdf-guide	2006-11-07 03:45:26 UTC (rev 4811)
@@ -29,7 +29,7 @@
 pdf='mlton-guide.pdf'
 script='.script'
 titlepage='title.html'
-tmp='/tmp/mlton-guide'
+tmp="/tmp/mlton-guide.$$"
 version=`date +%Y%m%d`
 
 rm -rf "$tmp"
@@ -133,6 +133,4 @@
 
 mv "$pdf" "$src/doc/guide"
 
-cd
-
 rm -rf "$tmp"

Modified: mlton/branches/on-20050822-x86_64-branch/doc/changelog
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/changelog	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/changelog	2006-11-07 03:45:26 UTC (rev 4811)
@@ -1,5 +1,9 @@
 Here are the changes since version 20051202.
 	
+* 2006-08-03
+   - Fixed a bug in the "useless" SSA optimization, caused by calling
+     an imported C function and then ignoring the result.
+
 * 2006-06-24
    - Fixed a bug in pass to flatten data structures.  Thanks to Joe Hurd
      for the bug report.

Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/AST
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AST	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AST	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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/branches/on-20050822-x86_64-branch/doc/guide/AccessControl
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AccessControl	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AccessControl	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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/branches/on-20050822-x86_64-branch/doc/guide/AdmitsEquality
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AdmitsEquality	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AdmitsEquality	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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/branches/on-20050822-x86_64-branch/doc/guide/Alice
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Alice	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Alice	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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/branches/on-20050822-x86_64-branch/doc/guide/AllocateRegisters
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AllocateRegisters	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AllocateRegisters	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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/branches/on-20050822-x86_64-branch/doc/guide/AndreiFormiga
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AndreiFormiga	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AndreiFormiga	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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%;

Copied: mlton/branches/on-20050822-x86_64-branch/doc/guide/ArrayLiteral (from rev 4805, mlton/trunk/doc/guide/ArrayLiteral)

Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/BasisLibrary
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/BasisLibrary	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/BasisLibrary	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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/branches/on-20050822-x86_64-branch/doc/guide/Bug
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Bug	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Bug	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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%;
@@ -60,6 +66,11 @@
 
     <li>
 <p>
+ <a href="Bugs20051202">Bugs20051202</a> 
+</p>
+</li>
+    <li>
+<p>
  <a href="Bugs20041109">Bugs20041109</a> 
 </p>
 </li>
@@ -71,5 +82,5 @@
 
 <p>
 <hr>
-Last edited on 2005-11-30 23:04:27 by <span title="ppp-71-139-183-221.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2006-08-10 12:26:17 by <span title="www-cache2.hel.fi.ssh.com"><a href="VesaKarvonen">VesaKarvonen</a></span>.
 </body></html>

Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20041109
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20041109	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20041109	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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%;

Copied: mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20051202 (from rev 4805, mlton/trunk/doc/guide/Bugs20051202)

Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CKitLibrary
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CKitLibrary	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CKitLibrary	2006-11-07 03:45:26 UTC (rev 4811)
@@ -20,6 +20,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 = "
@@ -27,7 +33,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%;
@@ -63,7 +69,7 @@
  You can import the ckit Library into an MLB file with  <tt>$(SML_LIB)/ckit-lib/ckit-lib.mlb</tt> 
 </p>
 </li>
-    <li class="gap">
+    <li>
 <p>
  If you are porting a project from SML/NJ's <a href="CompilationManager">CompilationManager</a>  to MLton's <a href="MLBasis"> ML Basis system</a> using <tt>cm2mlb</tt>, note that  the following map is included by default: 
 <pre>$ckit-lib.cm/ckit-lib.cm   $(SML_LIB)/ckit-lib/ckit-lib.mlb
@@ -147,7 +153,7 @@
     <li>
 <p>
  
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051202-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-20061025-release/lib/ckit-lib/ckit.patch?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ckit.patch</a>
  
 </p>
 </li>
@@ -159,5 +165,5 @@
 
 <p>
 <hr>
-Last edited on 2005-11-30 23:24:50 by <span title="ppp-71-139-183-221.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+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>.
 </body></html>

Copied: mlton/branches/on-20050822-x86_64-branch/doc/guide/CMinusMinus (from rev 4805, mlton/trunk/doc/guide/CMinusMinus)

Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CallGraph
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CallGraph	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CallGraph	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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/branches/on-20050822-x86_64-branch/doc/guide/CallingFromCToSML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromCToSML	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromCToSML	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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,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 = _export <FONT COLOR="#BC8F8F"><B>&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)
+<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)
 </PRE>
 <p>
  
@@ -77,39 +83,39 @@
 Suppose that <tt>export.sml</tt> is  
 </p>
 <p>
-<pre class=code><B><FONT COLOR="#A020F0">val</FONT></B> e = _export <FONT COLOR="#BC8F8F"><B>&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 [<FONT COLOR="#BC8F8F"><B>&quot;i = &quot;</FONT></B>, Int.toString i,
-                           <FONT COLOR="#BC8F8F"><B>&quot;  r = &quot;</FONT></B>, Real.toString r, <FONT COLOR="#BC8F8F"><B>&quot;\n&quot;</FONT></B>])
-            ; #<FONT COLOR="#BC8F8F"><B>&quot;g&quot;</FONT></B>))
-<B><FONT COLOR="#A020F0">val</FONT></B> g = _import <FONT COLOR="#BC8F8F"><B>&quot;g&quot;</FONT></B>: unit -&gt; unit;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ = g ()
-<B><FONT COLOR="#A020F0">val</FONT></B> _ = g ()
+<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,
+                           <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 = _export <FONT COLOR="#BC8F8F"><B>&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 <FONT COLOR="#BC8F8F"><B>&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 [<FONT COLOR="#BC8F8F"><B>&quot;0wx&quot;</FONT></B>, Word.toString (Array.sub (a, <B><FONT COLOR="#5F9EA0">0</FONT></B>)), <FONT COLOR="#BC8F8F"><B>&quot;\n&quot;</FONT></B>])
+<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> e = _export <FONT COLOR="#BC8F8F"><B>&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 <FONT COLOR="#BC8F8F"><B>&quot;hello\n&quot;</FONT></B>);
-<B><FONT COLOR="#A020F0">val</FONT></B> g3 = _import <FONT COLOR="#BC8F8F"><B>&quot;g3&quot;</FONT></B>: unit -&gt; unit;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ = g3 ()
+<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 ()
 
 <I><FONT COLOR="#B22222">(* This example demonstrates mutual recursion between C and SML. *)</FONT></I>
-<B><FONT COLOR="#A020F0">val</FONT></B> e = _export <FONT COLOR="#BC8F8F"><B>&quot;f4&quot;</FONT></B>: (int -&gt; unit) -&gt; unit;
-<B><FONT COLOR="#A020F0">val</FONT></B> g4 = _import <FONT COLOR="#BC8F8F"><B>&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> 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> (_, zzzSet) = _symbol <FONT COLOR="#BC8F8F"><B>&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 <FONT COLOR="#BC8F8F"><B>&quot;g5&quot;</FONT></B>: unit -&gt; unit;
-<B><FONT COLOR="#A020F0">val</FONT></B> _ = g5 ()
+<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> _ = print <FONT COLOR="#BC8F8F"><B>&quot;success\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="#BC8F8F">&quot;success\n&quot;</FONT></B>
 
 </PRE>
  
@@ -135,40 +141,40 @@
 Use <tt>export.h</tt> in a C program, <tt>ffi-export.c</tt>, as follows. 
 </p>
 <p>
-<pre class=code>#<B><FONT COLOR="#5F9EA0">include</FONT></B> <FONT COLOR="#BC8F8F"><B>&lt;stdio.h&gt;</FONT></B>
-#<B><FONT COLOR="#5F9EA0">include</FONT></B> <FONT COLOR="#BC8F8F"><B>&quot;export.h&quot;</FONT></B>
+<pre class=code>#<B><FONT COLOR="#5F9EA0">include</FONT></B> <B><FONT COLOR="#BC8F8F">&lt;stdio.h&gt;</FONT></B>
+#<B><FONT COLOR="#5F9EA0">include</FONT></B> <B><FONT COLOR="#BC8F8F">&quot;export.h&quot;</FONT></B>
 
-<FONT COLOR="#228B22"><B>void</FONT></B> <B><FONT COLOR="#0000FF">g</FONT></B> () {
+<B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">g</FONT></B> () {
         Char c;
 
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g starting\n&quot;</FONT></B>);
-        c = f (13, 17.15, <FONT COLOR="#BC8F8F"><B>'a'</FONT></B>);
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g done  char = %c\n&quot;</FONT></B>, 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>);
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g done  char = %c\n&quot;</FONT></B>, c);
 }
 
 Pointer <B><FONT COLOR="#0000FF">g2</FONT></B> () {
         Pointer res;
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g2 starting\n&quot;</FONT></B>);
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g2 starting\n&quot;</FONT></B>);
         res = f2 (0xFF);
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g2 done\n&quot;</FONT></B>);
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g2 done\n&quot;</FONT></B>);
         <B><FONT COLOR="#A020F0">return</FONT></B> res;
 }
 
-<FONT COLOR="#228B22"><B>void</FONT></B> <B><FONT COLOR="#0000FF">g3</FONT></B> () {
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g3 starting\n&quot;</FONT></B>);
+<B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">g3</FONT></B> () {
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g3 starting\n&quot;</FONT></B>);
         f3 ();
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g3 done\n&quot;</FONT></B>);
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g3 done\n&quot;</FONT></B>);
 }
 
-<FONT COLOR="#228B22"><B>void</FONT></B> <B><FONT COLOR="#0000FF">g4</FONT></B> (Int i) {
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g4 (%d)\n&quot;</FONT></B>, i);
+<B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">g4</FONT></B> (Int i) {
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g4 (%d)\n&quot;</FONT></B>, i);
         f4 (i);
 }
 
-<FONT COLOR="#228B22"><B>void</FONT></B> <B><FONT COLOR="#0000FF">g5</FONT></B> () {
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g5 ()\n&quot;</FONT></B>);
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;zzz = %i\n&quot;</FONT></B>, zzz);
-        fprintf (stderr, <FONT COLOR="#BC8F8F"><B>&quot;g5 done\n&quot;</FONT></B>);
+<B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">g5</FONT></B> () {
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g5 ()\n&quot;</FONT></B>);
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;zzz = %i\n&quot;</FONT></B>, zzz);
+        fprintf (stderr, <B><FONT COLOR="#BC8F8F">&quot;g5 done\n&quot;</FONT></B>);
 }
 </PRE>
  
@@ -196,14 +202,14 @@
     <li>
 <p>
  
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051202-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-20061025-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-20051202-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-20061025-release/doc/examples/ffi/ffi-export.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-export.c</a>
  
 </p>
 </li>

Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToC
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToC	2006-11-07 01:53:06 UTC (rev 4810)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToC	2006-11-07 03:45:26 UTC (rev 4811)
@@ -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%;
@@ -69,25 +75,25 @@
 <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 = _import <FONT COLOR="#BC8F8F"><B>&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> 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> 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>
+<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
 
 <I><FONT COLOR="#B22222">(* Call the C function *)</FONT></I>
-<B><FONT COLOR="#A020F0">val</FONT></B> c = ffi (a, r, n)
+<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> (nGet, nSet) = _symbol <FONT COLOR="#BC8F8F"><B>&quot;FFI_INT&quot;</FONT></B>: (unit -&gt; int) * (int -&gt; unit);
+<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> _ = print (concat [Int.toString (nGet ()), <FONT COLOR="#BC8F8F"><B>&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">concat</FONT></B> [Int.toString (nGet ()), <B><FONT COLOR="#BC8F8F">&quot;\n&quot;</FONT></B>])
 
-<B><FONT COLOR="#A020F0">val</FONT></B> _ =
-   print (<B><FONT COLOR="#A020F0">if</FONT></B> c = #<FONT COLOR="#BC8F8F"><B>&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> <FONT COLOR="#BC8F8F"><B>&quot;success\n&quot;</FONT></B>
-          <B><FONT COLOR="#A020F0">else</FONT></B> <FONT COLOR="#BC8F8F"><B>&quot;fail\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">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>
  
 </p>
@@ -95,7 +101,7 @@
 <tt>ffi-import.c</tt> is 
 </p>
 <p>
-<pre class=code>#<B><FONT COLOR="#5F9EA0">include</FONT></B> <FONT COLOR="#BC8F8F"><B>&quot;platform.h&quot;</FONT></B>
+<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;
@@ -103,18 +109,18 @@
 Real FFI_REAL = 3.14159;
 
 Char <B><FONT COLOR="#0000FF">ffi</FONT></B> (Pointer a1, Pointer a2, Int n) {
-        <FONT COLOR="#228B22"><B>double</FONT></B> *ds = (<FONT COLOR="#228B22"><B>double</FONT></B>*)a1;
-        <FONT COLOR="#228B22"><B>int</FONT></B> *p = (<FONT COLOR="#228B22"><B>int</FONT></B>*)a2;
-        <FONT COLOR="#228B22"><B>int</FONT></B> i;
-        <FONT COLOR="#228B22"><B>double</FONT></B> sum;
+        <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) {
                 sum += ds[i];
                 ds[i] += n;
         }
-        *p = (<FONT COLOR="#228B22"><B>int</FONT></B>)sum;
-        <B><FONT COLOR="#A020F0">return</FONT></B> <FONT COLOR="#BC8F8F"><B>'c'</FONT></B>;
+        *p = (<B><FONT COLOR="#228B22">int</FONT></B>)sum;
+        <B><FONT COLOR="#A020F0">return</FONT></B> <B><FONT COLOR="#BC8F8F">'c'</FONT></B>;
 }
 </PRE>
  
@@ -134,14 +140,14 @@
     <li>
 <p>
  
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051202-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-20061025-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-20051202-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-20061025-release/doc/examples/ffi/ffi-import.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-import.c</a>
  
 </p>
 </li>

Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToCFunctionPointer
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingF



More information about the MLton-commit mailing list