What if you go with the big hammer for that module: -O0? My main concern
about that is that you won't get arity analysis. There may be some more -f
flags I've missed...

On Fri, Jan 20, 2023, 5:17 AM Michael Sperber <sper...@deinprogramm.de>
wrote:

>
> On Fri, Jan 20 2023, David Feuer <david.fe...@gmail.com> wrote:
>
> > I don't know what all that means exactly (especially since GHC's demand
> > signatures have changed recently in a way I don't understand at all). But
> > for hiding divergence, one option is to use a module with demand analysis
> > disabled. Try {-# options_ghc -fno-strictness #-}. You'll likely need to
> > put oops in its own module to avoid interfering with desired
> optimizations.
>
> THanks for the suggestion!
>
> So I did this:
>
> {-# options_ghc -fno-strictness #-}
> module ConCat.Oops(oops) where
>
> import GHC.Stack (errorWithStackTrace)  -- for oops
>
> -- | Pseudo function to fool GHC's divergence checker.
> oops :: String -> b
> oops str = errorWithStackTrace ("Oops: "++str)
> {-# NOINLINE oops #-}
>
> ... but am getting the same result from the divergence checker, sadly ...
>
> --
> Regards,
> Mike
>
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

Reply via email to