On Thu, Jan 12, 2023, 11:24 AM Tom Ellis <tom-lists-haskell-cafe-2017@jaguarpaw.co.uk> wrote:

Ah, that's interesting.  Why is that?  I can't immediately see a
theoretical blocker.  There's a practical one, of course: strict
bindings are not allowed at the top level either, I guess to prevent
infinite loops.  Seems strange though.  Does OCaml not allow defining
constants at the top level?

OCaml has a notion of module loading time, at which top level definitions are all run. Haskell has nothing like that.