я увидел исходный код на Haskell, и в начале исходного файла, он включал в себя несколько вещей, как:Какова цель ключевого слова LANGUAGE в Haskell?
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE DeriveFoldable #-}
Я знаю, что комментарии в Haskell стат с {-
и заканчиваться -}
, но это явно что-то остальное. Какова цель этого? Это похоже на аналогичные include
операторы или макросы в C.
Комментарии, которые имеют эти '#' между ними, как прагмы. Они имеют эффект. И есть больше, чем «LANGUAGE» (например, «SPECIALIZE», «INLINE», «MINIMAL» и т. Д.). Посмотрите [здесь] (https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/pragmas.html). – MasterMastic