{-# 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”)")
  ]