License | BSD-3-Clause |
---|---|
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 equipped in order to make use of each language construct or command.
Synopsis
- data Capability
- = CPower
- | CMove
- | CBackup
- | CPush
- | CMovemultiple
- | CMoveheavy
- | CTurn
- | CSelfdestruct
- | CGrab
- | CHarvest
- | CPlace
- | CGive
- | CEquip
- | CUnequip
- | CMake
- | CCount
- | CRecondir
- | CBuild
- | CSalvage
- | CDrill
- | CSenseloc
- | CSensefront
- | CSensehere
- | CDetectloc
- | CDetectcount
- | CDetectdistance
- | CDetectdirection
- | CWakeself
- | CScan
- | CRandom
- | CAppear
- | CCreate
- | CListen
- | CLog
- | CFormat
- | CConcat
- | CSplit
- | CCharcount
- | CCode
- | CFloat
- | CCond
- | CNegation
- | CCompare
- | COrient
- | CArith
- | CEnv
- | CLambda
- | CRecursion
- | CReprogram
- | CMeet
- | CWhoami
- | CSetname
- | CTeleport
- | CAtomic
- | CSwap
- | CTimeabs
- | CTimerel
- | CTry
- | CSum
- | CProd
- | CRecord
- | CDebug
- | CHandleinput
- | CHalt
- | 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 |
CBackup | Execute the |
CPush | Execute the |
CMovemultiple | 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 |
CEquip | Execute the |
CUnequip | Execute the |
CMake | Execute the |
CCount | Execute the |
CRecondir | Execute the |
CBuild | Execute the |
CSalvage | Execute the |
CDrill | Execute the |
CSenseloc | Execute the |
CSensefront | Execute the |
CSensehere | |
CDetectloc | Execute the |
CDetectcount | |
CDetectdistance | Execute the |
CDetectdirection | Execute the |
CWakeself | Execute the |
CScan | Execute the |
CRandom | Execute the |
CAppear | Execute the |
CCreate | Execute the |
CListen | Execute the |
CLog | Execute the |
CFormat | Format values as text |
CConcat | Split text into two pieces |
CSplit | Join two text values into one |
CCharcount | Count the characters in a text value |
CCode | Convert between characters/text and Unicode 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 |
CMeet | 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). |
CTimeabs | Capability to obtain absolute time, namely via the |
CTimerel | Capability to utilize relative passage of time, namely via the |
CTry | Capability to execute |
CSum | Capability for working with sum types. |
CProd | Capability for working with product types. |
CRecord | Capability for working with record types. |
CDebug | Debug capability. |
CHandleinput | Capability to handle keyboard input. |
CHalt | Capability to make other robots halt. |
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 #