\____/\/ /_/\____/|_| Type :? for help.
Loading package std ... linking ... done.
-*** WARNING: . is writable by someone else, IGNORING!
-*** WARNING: ./.ghci is writable by someone else, IGNORING!
Prelude> -- bug: shouldn't be defaulting these expressions
Prelude> :type (+)
forall a. (Num a) => a -> a -> a
\____/\/ /_/\____/|_| Type :? for help.
Loading package std ... linking ... done.
-*** WARNING: . is writable by someone else, IGNORING!
-*** WARNING: ./.ghci is writable by someone else, IGNORING!
Prelude> -- bug: we used to throw away the instance accidentally here
Prelude> :m PrelBase
PrelBase> 1 == (2 :: Int)
\____/\/ /_/\____/|_| Type :? for help.
Loading package std ... linking ... done.
-*** WARNING: . is writable by someone else, IGNORING!
-*** WARNING: ./.ghci is writable by someone else, IGNORING!
Prelude> -- check that 'it' works
Prelude> 1
1
\____/\/ /_/\____/|_| Type :? for help.
Loading package std ... linking ... done.
-*** WARNING: . is writable by someone else, IGNORING!
-*** WARNING: ./.ghci is writable by someone else, IGNORING!
Prelude> :unset +s +t
Prelude> -- test importing a module from a package
Prelude> :l ghci004
\____/\/ /_/\____/|_| Type :? for help.
Loading package std ... linking ... done.
-*** WARNING: . is writable by someone else, IGNORING!
-*** WARNING: ./.ghci is writable by someone else, IGNORING!
Prelude> :unset +s +t
Prelude> -- tests for :def, :undef
Prelude> let void m = m >> return ""
hello, world!
Prelude> :echo hello, world!
Prelude> :def echo echo
+hello, world!
command `echo' is already defined
Prelude> :undef echo
Prelude> :def echo echo
Prelude> :echo hello, world!
HELLO, WORLD!
Prelude> Leaving GHCi.
-hello, world!
\____/\/ /_/\____/|_| Type :? for help.
Loading package std ... linking ... done.
-*** WARNING: . is writable by someone else, IGNORING!
-*** WARNING: ./.ghci is writable by someone else, IGNORING!
Prelude> :unset +s +t
Prelude> :set -fglasgow-exts
Prelude> -- test for contexts on existential types crashing the interpreter