You need a GHC built for this, I think.
[callen@atlantis ~/Work/exist]$ ghci -L. -lfoo testlink.hs
ghc: panic! (the 'impossible' happened)
(GHC version 7.10.1 for x86_64-unknown-linux):
Loading archives not supported
[callen@atlantis ~/Work/exist]$ /opt/ghc/7.6.3/bin/ghci -L. -lfoo testlink.hs
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading object (static archive) ./libfoo.a ... done
final link ... done
[1 of 1] Compiling TestLink ( testlink.hs, interpreted )
Ok, modules loaded: TestLink.
Prelude>
Leaving GHCi.
[callen@atlantis ~/Work/exist]$ /opt/ghc/7.8.4/bin/ghci -L. -lfoo testlink.hs
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading object (static archive) ./libfoo.a ... ghc: panic! (the 'impossible' happened)
(GHC version 7.8.4 for x86_64-unknown-linux):
Loading archives not supported
Respective versions of GHC are all from hvr's Ubuntu PPA.
Afraid I don't know much about linkers or GHC dev so that's I all I can do for you at this time.