hnix-0.16.0: Haskell implementation of the Nix language
Safe HaskellNone
LanguageHaskell2010

Nix.Parser

Description

Main module for parsing Nix expressions.

Synopsis

Documentation

type Result a = Either (Doc Void) a Source #

data OperatorInfo Source #

Instances

Instances details
Eq OperatorInfo Source # 
Instance details

Defined in Nix.Parser

Data OperatorInfo Source # 
Instance details

Defined in Nix.Parser

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OperatorInfo -> c OperatorInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OperatorInfo #

toConstr :: OperatorInfo -> Constr #

dataTypeOf :: OperatorInfo -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OperatorInfo) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OperatorInfo) #

gmapT :: (forall b. Data b => b -> b) -> OperatorInfo -> OperatorInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OperatorInfo -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OperatorInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> OperatorInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OperatorInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OperatorInfo -> m OperatorInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OperatorInfo -> m OperatorInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OperatorInfo -> m OperatorInfo #

Ord OperatorInfo Source # 
Instance details

Defined in Nix.Parser

Show OperatorInfo Source # 
Instance details

Defined in Nix.Parser

Generic OperatorInfo Source # 
Instance details

Defined in Nix.Parser

Associated Types

type Rep OperatorInfo :: Type -> Type #

type Rep OperatorInfo Source # 
Instance details

Defined in Nix.Parser

type Rep OperatorInfo = D1 ('MetaData "OperatorInfo" "Nix.Parser" "hnix-0.16.0-8yNt853wvoc5yRPRKlu02G" 'False) (C1 ('MetaCons "OperatorInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "precedence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "associativity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NAssoc) :*: S1 ('MetaSel ('Just "operatorName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data NSpecialOp Source #

Constructors

NHasAttrOp 
NSelectOp 

Instances

Instances details
Eq NSpecialOp Source # 
Instance details

Defined in Nix.Parser

Data NSpecialOp Source # 
Instance details

Defined in Nix.Parser

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NSpecialOp -> c NSpecialOp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NSpecialOp #

toConstr :: NSpecialOp -> Constr #

dataTypeOf :: NSpecialOp -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NSpecialOp) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NSpecialOp) #

gmapT :: (forall b. Data b => b -> b) -> NSpecialOp -> NSpecialOp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NSpecialOp -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NSpecialOp -> r #

gmapQ :: (forall d. Data d => d -> u) -> NSpecialOp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NSpecialOp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NSpecialOp -> m NSpecialOp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NSpecialOp -> m NSpecialOp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NSpecialOp -> m NSpecialOp #

Ord NSpecialOp Source # 
Instance details

Defined in Nix.Parser

Show NSpecialOp Source # 
Instance details

Defined in Nix.Parser

Generic NSpecialOp Source # 
Instance details

Defined in Nix.Parser

Associated Types

type Rep NSpecialOp :: Type -> Type #

NFData NSpecialOp Source # 
Instance details

Defined in Nix.Parser

Methods

rnf :: NSpecialOp -> () #

type Rep NSpecialOp Source # 
Instance details

Defined in Nix.Parser

type Rep NSpecialOp = D1 ('MetaData "NSpecialOp" "Nix.Parser" "hnix-0.16.0-8yNt853wvoc5yRPRKlu02G" 'False) (C1 ('MetaCons "NHasAttrOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NSelectOp" 'PrefixI 'False) (U1 :: Type -> Type))

data NAssoc Source #

Instances

Instances details
Eq NAssoc Source # 
Instance details

Defined in Nix.Parser

Methods

(==) :: NAssoc -> NAssoc -> Bool #

(/=) :: NAssoc -> NAssoc -> Bool #

Data NAssoc Source # 
Instance details

Defined in Nix.Parser

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NAssoc -> c NAssoc #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NAssoc #

toConstr :: NAssoc -> Constr #

dataTypeOf :: NAssoc -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NAssoc) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NAssoc) #

gmapT :: (forall b. Data b => b -> b) -> NAssoc -> NAssoc #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NAssoc -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NAssoc -> r #

gmapQ :: (forall d. Data d => d -> u) -> NAssoc -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NAssoc -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NAssoc -> m NAssoc #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NAssoc -> m NAssoc #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NAssoc -> m NAssoc #

Ord NAssoc Source # 
Instance details

Defined in Nix.Parser

Show NAssoc Source # 
Instance details

Defined in Nix.Parser

Generic NAssoc Source # 
Instance details

Defined in Nix.Parser

Associated Types

type Rep NAssoc :: Type -> Type #

Methods

from :: NAssoc -> Rep NAssoc x #

to :: Rep NAssoc x -> NAssoc #

NFData NAssoc Source # 
Instance details

Defined in Nix.Parser

Methods

rnf :: NAssoc -> () #

type Rep NAssoc Source # 
Instance details

Defined in Nix.Parser

type Rep NAssoc = D1 ('MetaData "NAssoc" "Nix.Parser" "hnix-0.16.0-8yNt853wvoc5yRPRKlu02G" 'False) (C1 ('MetaCons "NAssocNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NAssocLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NAssocRight" 'PrefixI 'False) (U1 :: Type -> Type)))

data NOperatorDef Source #

Instances

Instances details
Eq NOperatorDef Source # 
Instance details

Defined in Nix.Parser

Data NOperatorDef Source # 
Instance details

Defined in Nix.Parser

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NOperatorDef -> c NOperatorDef #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NOperatorDef #

toConstr :: NOperatorDef -> Constr #

dataTypeOf :: NOperatorDef -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NOperatorDef) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NOperatorDef) #

gmapT :: (forall b. Data b => b -> b) -> NOperatorDef -> NOperatorDef #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NOperatorDef -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NOperatorDef -> r #

gmapQ :: (forall d. Data d => d -> u) -> NOperatorDef -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NOperatorDef -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NOperatorDef -> m NOperatorDef #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NOperatorDef -> m NOperatorDef #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NOperatorDef -> m NOperatorDef #

Ord NOperatorDef Source # 
Instance details

Defined in Nix.Parser

Show NOperatorDef Source # 
Instance details

Defined in Nix.Parser

Generic NOperatorDef Source # 
Instance details

Defined in Nix.Parser

Associated Types

type Rep NOperatorDef :: Type -> Type #

NFData NOperatorDef Source # 
Instance details

Defined in Nix.Parser

Methods

rnf :: NOperatorDef -> () #

type Rep NOperatorDef Source # 
Instance details

Defined in Nix.Parser

nixExprAlgebra :: Parser NExprLoc Source #

Nix expression algebra parser. "Expression algebra" is to explain megaparsec use of the term Expression (parser for language algebraic coperators without any statements (without let etc.)), which is essentially an algebra inside the language.

nixSearchPath :: Parser NExprLoc Source #

A path surrounded by angle brackets, indicating that it should be looked up in the NIX_PATH environment variable at evaluation.