    {-# LANGUAGE OverloadedStrings #-}
    {- |
       Module      : Text.Pandoc.Readers.Mdoc.Standards
       Copyright   : © 2024 Evan Silberman
       License     : GNU GPL, version 2 or above

       Maintainer  : Evan Silberman <evan@jklol.net>
       Stability   : WIP
       Portability : portable

    -}
    module Text.Pandoc.Readers.Mdoc.Standards (standard) where

    import Data.Map (fromList, Map)
    import qualified Data.Map as M
    import Data.Text

    standard :: Text -> Maybe Text
    standard :: Text -> Maybe Text
    standard = (Text -> Map Text Text -> Maybe Text)
    -> Map Text Text -> Text -> Maybe Text
    forall a b c. (a -> b -> c) -> b -> a -> c
    flip Text -> Map Text Text -> Maybe Text
    forall k a. Ord k => k -> Map k a -> Maybe a
    M.lookup Map Text Text
    standards

    standards :: Map Text Text
    standards :: Map Text Text
    standards = [(Text, Text)] -> Map Text Text
    forall k a. Ord k => [(k, a)] -> Map k a
    fromList [
      (Text
    "-p1003.1-88",    Text
    "IEEE Std 1003.1-1988 (“POSIX.1”)"),
      (Text
    "-p1003.1-90",    Text
    "IEEE Std 1003.1-1990 (“POSIX.1”)"),
      (Text
    "-p1003.1-96",    Text
    "ISO/IEC 9945-1:1996 (“POSIX.1”)"),
      (Text
    "-p1003.1-2001",  Text
    "IEEE Std 1003.1-2001 (“POSIX.1”)"),
      (Text
    "-p1003.1-2004",  Text
    "IEEE Std 1003.1-2004 (“POSIX.1”)"),
      (Text
    "-p1003.1-2008",  Text
    "IEEE Std 1003.1-2008 (“POSIX.1”)"),
      (Text
    "-p1003.1-2024",  Text
    "IEEE Std 1003.1-2024 (“POSIX.1”)"),
      (Text
    "-p1003.1",       Text
    "IEEE Std 1003.1 (“POSIX.1”)"),
      (Text
    "-p1003.1b",      Text
    "IEEE Std 1003.1b (“POSIX.1b”)"),
      (Text
    "-p1003.1b-93",   Text
    "IEEE Std 1003.1b-1993 (“POSIX.1b”)"),
      (Text
    "-p1003.1c-95",   Text
    "IEEE Std 1003.1c-1995 (“POSIX.1c”)"),
      (Text
    "-p1003.1g-2000", Text
    "IEEE Std 1003.1g-2000 (“POSIX.1g”)"),
      (Text
    "-p1003.1i-95",   Text
    "IEEE Std 1003.1i-1995 (“POSIX.1i”)"),
      (Text
    "-p1003.2",       Text
    "IEEE Std 1003.2 (“POSIX.2”)"),
      (Text
    "-p1003.2-92",    Text
    "IEEE Std 1003.2-1992 (“POSIX.2”)"),
      (Text
    "-p1003.2a-92",   Text
    "IEEE Std 1003.2a-1992 (“POSIX.2”)"),
      (Text
    "-isoC",          Text
    "ISO/IEC 9899:1990 (“ISO C90”)"),
      (Text
    "-isoC-90",       Text
    "ISO/IEC 9899:1990 (“ISO C90”)"),
      (Text
    "-isoC-amd1",     Text
    "ISO/IEC 9899/AMD1:1995 (“ISO C90, Amendment 1”)"),
      (Text
    "-isoC-tcor1",    Text
    "ISO/IEC 9899/TCOR1:1994 (“ISO C90, Technical Corrigendum 1”)"),
      (Text
    "-isoC-tcor2",    Text
    "ISO/IEC 9899/TCOR2:1995 (“ISO C90, Technical Corrigendum 2”)"),
      (Text
    "-isoC-99",       Text
    "ISO/IEC 9899:1999 (“ISO C99”)"),
      (Text
    "-isoC-2011",     Text
    "ISO/IEC 9899:2011 (“ISO C11”)"),
      (Text
    "-isoC-2023",     Text
    "ISO/IEC 9899:2024 (“ISO C23”)"),
      (Text
    "-iso9945-1-90",  Text
    "ISO/IEC 9945-1:1990 (“POSIX.1”)"),
      (Text
    "-iso9945-1-96",  Text
    "ISO/IEC 9945-1:1996 (“POSIX.1”)"),
      (Text
    "-iso9945-2-93",  Text
    "ISO/IEC 9945-2:1993 (“POSIX.2”)"),
      (Text
    "-ansiC",         Text
    "ANSI X3.159-1989 (“ANSI C89”)"),
      (Text
    "-ansiC-89",      Text
    "ANSI X3.159-1989 (“ANSI C89”)"),
      (Text
    "-ieee754",       Text
    "IEEE Std 754-1985"),
      (Text
    "-iso8802-3",     Text
    "ISO 8802-3: 1989"),
      (Text
    "-iso8601",       Text
    "ISO 8601"),
      (Text
    "-ieee1275-94",   Text
    "IEEE Std 1275-1994 (“Open Firmware”)"),
      (Text
    "-xpg3",          Text
    "X/Open Portability Guide Issue 3 (“XPG3”)"),
      (Text
    "-xpg4",          Text
    "X/Open Portability Guide Issue 4 (“XPG4”)"),
      (Text
    "-xpg4.2",        Text
    "X/Open Portability Guide Issue 4, Version 2 (“XPG4.2”)"),
      (Text
    "-xbd5",          Text
    "X/Open Base Definitions Issue 5 (“XBD5”)"),
      (Text
    "-xcu5",          Text
    "X/Open Commands and Utilities Issue 5 (“XCU5”)"),
      (Text
    "-xsh5",          Text
    "X/Open System Interfaces and Headers Issue 5 (“XSH5”)"),
      (Text
    "-xns5",          Text
    "X/Open Networking Services Issue 5 (“XNS5”)"),
      (Text
    "-xns5.2",        Text
    "X/Open Networking Services Issue 5.2 (“XNS5.2”)"),
      (Text
    "-xcurses4.2",    Text
    "X/Open Curses Issue 4, Version 2 (“XCURSES4.2”)"),
      (Text
    "-susv1",         Text
    "Version 1 of the Single UNIX Specification (“SUSv1”)"),
      (Text
    "-susv2",         Text
    "Version 2 of the Single UNIX Specification (“SUSv2”)"),
      (Text
    "-susv3",         Text
    "Version 3 of the Single UNIX Specification (“SUSv3”)"),
      (Text
    "-susv4",         Text
    "Version 4 of the Single UNIX Specification (“SUSv4”)"),
      (Text
    "-svid4",         Text
    "System V Interface Definition, Fourth Edition (“SVID4”)")
      ]