| Copyright | Brent Yorgey |
|---|---|
| License | BSD-3-Clause |
| Maintainer | byorgey@gmail.com |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Swarm.Language.Capability
Description
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
- | CMoveheavy
- | CTurn
- | CSelfdestruct
- | CGrab
- | CHarvest
- | CPlace
- | CGive
- | CEquip
- | CUnequip
- | CMake
- | CCount
- | CBuild
- | CSalvage
- | CDrill
- | CSenseloc
- | CSensefront
- | CSensehere
- | CScan
- | CRandom
- | CAppear
- | CCreate
- | CListen
- | CLog
- | CText
- | CCode
- | CFloat
- | CCond
- | CNegation
- | CCompare
- | COrient
- | CArith
- | CEnv
- | CLambda
- | CRecursion
- | CReprogram
- | CMeet
- | 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.
Constructors
| 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 |
| CEquip | Execute the |
| CUnequip | Execute the |
| CMake | Execute the |
| CCount | Execute the |
| CBuild | Execute the |
| CSalvage | Execute the |
| CDrill | Execute the |
| CSenseloc | Execute the |
| CSensefront | Execute the |
| CSensehere | |
| CScan | Execute the |
| CRandom | Execute the |
| CAppear | Execute the |
| CCreate | Execute the |
| CListen | Execute the |
| CLog | Execute the |
| CText | Manipulate text values |
| 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). |
| 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 #