biscuit-haskell-0.1.0.0: Library support for the Biscuit security token
Safe HaskellNone
LanguageHaskell2010

Auth.Biscuit.Datalog.Parser

Synopsis

Documentation

block :: QuasiQuoter Source #

Quasiquoter for a block expression. You can reference haskell variables like this: ${variableName}.

A typical use of block looks like this:

[block|
  resource(#authority, ${fileName});
  rule($variable) <- fact($value), other_fact($value);
  check if operation(#ambient, #read);
|]

check :: QuasiQuoter Source #

Quasiquoter for a check expression. You can reference haskell variables like this: ${variableName}.

You most likely want to directly use block or verifier instead.

fact :: QuasiQuoter Source #

Quasiquoter for a fact expression. You can reference haskell variables like this: ${variableName}.

You most likely want to directly use block or verifier instead.

predicate :: QuasiQuoter Source #

Quasiquoter for a predicate expression. You can reference haskell variables like this: ${variableName}.

You most likely want to directly use block or verifier instead.

rule :: QuasiQuoter Source #

Quasiquoter for a rule expression. You can reference haskell variables like this: ${variableName}.

You most likely want to directly use block or verifier instead.

verifier :: QuasiQuoter Source #

Quasiquoter for a verifier expression. You can reference haskell variables like this: ${variableName}.

A typical use of block looks like this:

[verifier|
  current_time(#ambient, ${now});
  allow if resource(#authority, "file1");
  deny if true;
|]

termParser :: forall inSet pof ctx. HasTermParsers inSet pof ctx => Parser (ID' inSet pof ctx) Source #

type HasTermParsers inSet pof ctx = (ConditionalParse (SliceType 'QuasiQuote) (SliceType ctx), ConditionalParse (VariableType 'NotWithinSet 'InPredicate) (VariableType inSet pof), SetParser inSet ctx) Source #