swarm-0.5.0.0: 2D resource gathering game with programmable robots
LicenseBSD-3-Clause
Safe HaskellSafe-Inferred
LanguageHaskell2010

Swarm.Language.Pipeline.QQ

Description

A quasiquoter for Swarm terms.

Synopsis

Documentation

tmQ :: QuasiQuoter Source #

A quasiquoter for Swarm language terms, so we can conveniently write them down using concrete syntax and have them parsed into abstract syntax at compile time. The quasiquoter actually runs the entire pipeline on them (parsing, typechecking, elaborating), so a quasiquoted Swarm program with a parse error or a type error will fail at Haskell compile time. This is useful for creating system robot programs (for example, see seedProgram).