I agree with you regarding Perl, but you're completely wrong regarding Haskell and Python. Both languages, though high-level, allow direct unchecked access to pointers.<p>&#62; I would be delighted to see you cause a segfault in Haskell without taking advantage of an implementation bug.<p><pre><code>  import Foreign
  main = peek nullPtr
</code></pre>
Or, more complicated but less obvious:<p><pre><code>  import Data.Typeable
  import Data.ByteString

  data Wrap a = Wrap a
  	deriving (Show)

  instance Typeable (Wrap a) where
  	typeOf _ = typeOf ()

  main = let Just (Wrap bad) = cast $ Wrap () in print (bad :: ByteString)

</code></pre>
&#62; Python has clean indentation baked in at the implementation. All major interpreted languages don't allow you to muck around with pointers.<p><pre><code>  &#62;&#62;&#62; import ctypes as c
  &#62;&#62;&#62; c.string_at(0)
  Segmentation fault</code></pre>