Skip to content

Compiler/base library version/language support policy #104

@sjshuck

Description

@sjshuck

This is one of the more conservative Haskell libraries in wide usage. "Standard Haskell" has explicitly been mentioned as a design element. There is one unambiguous standard, the Haskell Report, in multiple versions. According to both versions 98 and 2010, a minimal implementation that doesn't support LANGUAGE pragmas should ignore them, and will choke on CPP syntax. We have CPP syntax everywhere. This is enough to prove that whatever notion of "standard" we've committed to is ad hoc, and we ain't getting rid of CPP directives anytime soon.

In order to reduce the amount of eggshell-treading in maintaining the library, we should commit to some guidelines about which compilers and versions of the base library to support. Per the above, we're not supporting minimal implementations. We already seem to support

per explicit CPP macros. I think that's a good couple of compilers to support for now, although I wonder about the GHC version. Perhaps we ought to drop support for <8.x for some x, and its corresponding base library version. MicroHs is too new to talk about backward compatibility there yet; we should continue to support it on a rolling basis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions