Copyright | Brent Yorgey |
---|---|
License | BSD-3-Clause |
Maintainer | byorgey@gmail.com |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Capabilities needed to evaluate and execute programs. Language constructs or commands require certain capabilities, and in turn capabilities are provided by various devices. A robot must have an appropriate device installed in order to make use of each language construct or command.
Synopsis
- data Capability
- = CPower
- | CMove
- | CMoveheavy
- | CTurn
- | CSelfdestruct
- | CGrab
- | CHarvest
- | CPlace
- | CGive
- | CInstall
- | CMake
- | CCount
- | CBuild
- | CSalvage
- | CDrill
- | CSenseloc
- | CSensefront
- | CSensehere
- | CScan
- | CRandom
- | CAppear
- | CCreate
- | CListen
- | CLog
- | CText
- | CFloat
- | CCond
- | CNegation
- | CCompare
- | COrient
- | CArith
- | CEnv
- | CLambda
- | CRecursion
- | CReprogram
- | CWhoami
- | CSetname
- | CTeleport
- | CAtomic
- | CSwap
- | CTime
- | CTry
- | CSum
- | CProd
- | CGod
- capabilityName :: Capability -> Text
- constCaps :: Const -> Maybe Capability
Documentation
data Capability Source #
Various capabilities which robots can have.
CPower | Be powered, i.e. execute anything at all |
CMove | Execute the |
CMoveheavy | Execute the |
CTurn | Execute the NOTE: using cardinal directions is separate |
CSelfdestruct | Execute the |
CGrab | Execute the |
CHarvest | Execute the |
CPlace | Execute the |
CGive | Execute the |
CInstall | Execute the |
CMake | Execute the |
CCount | Execute the |
CBuild | Execute the |
CSalvage | Execute the |
CDrill | Execute the |
CSenseloc | Execute the |
CSensefront | Execute the |
CSensehere | Execute the |
CScan | Execute the |
CRandom | Execute the |
CAppear | Execute the |
CCreate | Execute the |
CListen | Execute the |
CLog | Execute the |
CText | Manipulate text values |
CFloat | Don't drown in liquid |
CCond | Evaluate conditional expressions |
CNegation | Negate boolean value |
CCompare | Evaluate comparison operations |
COrient | Use cardinal direction constants. |
CArith | Evaluate arithmetic operations |
CEnv | Store and look up definitions in an environment |
CLambda | Interpret lambda abstractions |
CRecursion | Enable recursive definitions |
CReprogram | Execute the |
CWhoami | Capability to introspect and see its own name |
CSetname | Capability to set its own name |
CTeleport | Capability to move unrestricted to any place |
CAtomic | Capability to run commands atomically |
CSwap | Capability to execute swap (grab and place atomically at the same time). |
CTime | Capabiltiy to do time-related things, like |
CTry | Capability to execute |
CSum | Capability for working with sum types. |
CProd | Capability for working with product types. |
CGod | God-like capabilities. For e.g. commands intended only for checking challenge mode win conditions, and not for use by players. |
Instances
capabilityName :: Capability -> Text Source #