<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">in ghci:<div><br><div><div><font class="Apple-style-span" face="'Courier New'">Prelude&gt; import Numeric.Units.Dimensional.Prelude as D</font></div></div><div><div><font class="Apple-style-span" face="'Courier New'">Prelude Numeric.Units.Dimensional.Prelude&gt; D.sqrt $ let s = 9 *~ (meter D.* meter) in s</font></div></div><div><div><font class="Apple-style-span" face="'Courier New'">3.0 m</font></div></div><div><font class="Apple-style-span" face="'Courier New'">Prelude Numeric.Units.Dimensional.Prelude&gt; D.sqrt $ 9 *~ (meter D.* meter)</font></div><div><font class="Apple-style-span" face="'Courier New'">ghci hangs.</font></div><div><br></div><div>complied and optimized code detects &lt;&lt;loop&gt;&gt; and let-trick from the above does not help.</div><div><br></div><div>Here's the complete ghci -v session which contains all package versions</div><div><br></div><div><br></div><div><div><font class="Apple-style-span" face="'Courier New'">ghci -v</font></div><div><font class="Apple-style-span" face="'Courier New'">GHCi, version 7.0.1: <a href="http://www.haskell.org/ghc/">http://www.haskell.org/ghc/</a> &nbsp;:? for help</font></div><div><font class="Apple-style-span" face="'Courier New'">Glasgow Haskell Compiler, Version 7.0.1, for Haskell 98, stage 2 booted by GHC version 6.12.3</font></div><div><font class="Apple-style-span" face="'Courier New'">Using binary package database: /Library/Frameworks/GHC.framework/Versions/7.0.1-i386/usr/lib/ghc-7.0.1/package.conf.d/package.cache</font></div><div><font class="Apple-style-span" face="'Courier New'">Using binary package database: /Users/pavel/.ghc/i386-darwin-7.0.1/package.conf.d/package.cache</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package containers-0.3.0.0 to avoid conflict with later version containers-0.4.0.0</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package QuickCheck-2.3.0.2 to avoid conflict with later version QuickCheck-2.4.0.1</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-0713122c5f9038c6f0355a37e294e054</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package integer-gmp mapped to integer-gmp-0.2.0.2-bfb191b8468e4d812a2bb92622cb246e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package base mapped to base-4.3.0.0-1ea085b64a078bd9d5eaa9d8d525e35e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package rts mapped to builtin_rts</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package template-haskell mapped to template-haskell-2.5.0.0-f262af1f92a427f5cf4133bff041044f</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-seq not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-par not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">Hsc static flags: -static</font></div><div><font class="Apple-style-span" face="'Courier New'">Loading package ghc-prim ... linking ... done.</font></div><div><font class="Apple-style-span" face="'Courier New'">Loading package integer-gmp ... linking ... done.</font></div><div><font class="Apple-style-span" face="'Courier New'">Loading package base ... linking ... done.</font></div><div><font class="Apple-style-span" face="'Courier New'">Loading package ffi-1.0 ... linking ... done.</font></div><div><font class="Apple-style-span" face="'Courier New'">Prelude&gt; import Numeric.Units.Dimensional.Prelude as D</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package containers-0.3.0.0 to avoid conflict with later version containers-0.4.0.0</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package QuickCheck-2.3.0.2 to avoid conflict with later version QuickCheck-2.4.0.1</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-0713122c5f9038c6f0355a37e294e054</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package integer-gmp mapped to integer-gmp-0.2.0.2-bfb191b8468e4d812a2bb92622cb246e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package base mapped to base-4.3.0.0-1ea085b64a078bd9d5eaa9d8d525e35e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package rts mapped to builtin_rts</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package template-haskell mapped to template-haskell-2.5.0.0-f262af1f92a427f5cf4133bff041044f</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-seq not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-par not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">*** Parser:</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package containers-0.3.0.0 to avoid conflict with later version containers-0.4.0.0</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package QuickCheck-2.3.0.2 to avoid conflict with later version QuickCheck-2.4.0.1</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-0713122c5f9038c6f0355a37e294e054</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package integer-gmp mapped to integer-gmp-0.2.0.2-bfb191b8468e4d812a2bb92622cb246e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package base mapped to base-4.3.0.0-1ea085b64a078bd9d5eaa9d8d525e35e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package rts mapped to builtin_rts</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package template-haskell mapped to template-haskell-2.5.0.0-f262af1f92a427f5cf4133bff041044f</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-seq not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-par not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">Prelude Numeric.Units.Dimensional.Prelude&gt; D.sqrt $ let s = 9 *~ (meter D.* meter) in s</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package containers-0.3.0.0 to avoid conflict with later version containers-0.4.0.0</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package QuickCheck-2.3.0.2 to avoid conflict with later version QuickCheck-2.4.0.1</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-0713122c5f9038c6f0355a37e294e054</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package integer-gmp mapped to integer-gmp-0.2.0.2-bfb191b8468e4d812a2bb92622cb246e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package base mapped to base-4.3.0.0-1ea085b64a078bd9d5eaa9d8d525e35e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package rts mapped to builtin_rts</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package template-haskell mapped to template-haskell-2.5.0.0-f262af1f92a427f5cf4133bff041044f</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-seq not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-par not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">*** Parser:</font></div><div><font class="Apple-style-span" face="'Courier New'">*** Desugar:</font></div><div><font class="Apple-style-span" face="'Courier New'">*** Simplify:</font></div><div><font class="Apple-style-span" face="'Courier New'">*** CorePrep:</font></div><div><font class="Apple-style-span" face="'Courier New'">*** ByteCodeGen:</font></div><div><font class="Apple-style-span" face="'Courier New'">Loading package old-locale-1.0.0.2 ... linking ... done.</font></div><div><font class="Apple-style-span" face="'Courier New'">Loading package time-1.2.0.3 ... linking ... done.</font></div><div><font class="Apple-style-span" face="'Courier New'">Loading package numtype-1.0 ... linking ... done.</font></div><div><font class="Apple-style-span" face="'Courier New'">Loading package dimensional-0.8.0.1 ... linking ... done.</font></div><div><font class="Apple-style-span" face="'Courier New'">3.0 m</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package containers-0.3.0.0 to avoid conflict with later version containers-0.4.0.0</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package QuickCheck-2.3.0.2 to avoid conflict with later version QuickCheck-2.4.0.1</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-0713122c5f9038c6f0355a37e294e054</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package integer-gmp mapped to integer-gmp-0.2.0.2-bfb191b8468e4d812a2bb92622cb246e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package base mapped to base-4.3.0.0-1ea085b64a078bd9d5eaa9d8d525e35e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package rts mapped to builtin_rts</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package template-haskell mapped to template-haskell-2.5.0.0-f262af1f92a427f5cf4133bff041044f</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-seq not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-par not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">Prelude Numeric.Units.Dimensional.Prelude&gt; D.sqrt $ 9 *~ (meter D.* meter)</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package containers-0.3.0.0 to avoid conflict with later version containers-0.4.0.0</font></div><div><font class="Apple-style-span" face="'Courier New'">hiding package QuickCheck-2.3.0.2 to avoid conflict with later version QuickCheck-2.4.0.1</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-0713122c5f9038c6f0355a37e294e054</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package integer-gmp mapped to integer-gmp-0.2.0.2-bfb191b8468e4d812a2bb92622cb246e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package base mapped to base-4.3.0.0-1ea085b64a078bd9d5eaa9d8d525e35e</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package rts mapped to builtin_rts</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package template-haskell mapped to template-haskell-2.5.0.0-f262af1f92a427f5cf4133bff041044f</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-seq not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">wired-in package dph-par not found.</font></div><div><font class="Apple-style-span" face="'Courier New'">*** Parser:</font></div><div><font class="Apple-style-span" face="'Courier New'">*** Desugar:</font></div><div><font class="Apple-style-span" face="'Courier New'">*** Simplify:</font></div><div><font class="Apple-style-span" face="'Courier New'">*** CorePrep:</font></div><div><font class="Apple-style-span" face="'Courier New'">*** ByteCodeGen:</font></div></div><div><font class="Apple-style-span" face="'Courier New'">HANG!</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><br></div></div></body></html>