A simple embeddable scripting language.

Matthias Ladkau e1f49fbe26 feat: Moving thread pool and pubsub into the engine code 4 years ago
cli 07b3c799d5 feat: Adding import statements 4 years ago
config 840f1e1958 feat: Adding logging and sink support 4 years ago
engine e1f49fbe26 feat: Moving thread pool and pubsub into the engine code 4 years ago
interpreter e1f49fbe26 feat: Moving thread pool and pubsub into the engine code 4 years ago
parser 590ec38b48 feat: Adding parser 4 years ago
scope 840f1e1958 feat: Adding logging and sink support 4 years ago
stdlib 60b3888a69 feat: Adding initial interpreter and stdlib support 4 years ago
util 5394ef0281 feat: Better error reporting for sinks 4 years ago
.gitignore 7ae4036818 feat: Adding initial skeleton 4 years ago
LICENSE 7ae4036818 feat: Adding initial skeleton 4 years ago
Makefile 7ae4036818 feat: Adding initial skeleton 4 years ago
NOTICE 7ae4036818 feat: Adding initial skeleton 4 years ago
README.md 7ae4036818 feat: Adding initial skeleton 4 years ago
ecal.md e1f49fbe26 feat: Moving thread pool and pubsub into the engine code 4 years ago
engine.md 840f1e1958 feat: Adding logging and sink support 4 years ago
eval.go 60b3888a69 feat: Adding initial interpreter and stdlib support 4 years ago
go.mod 7ae4036818 feat: Adding initial skeleton 4 years ago
go.sum 7ae4036818 feat: Adding initial skeleton 4 years ago

README.md

ECAL

ECAL is an ECA (Event Condition Action) language for concurrent event processing. ECAL can define event-based systems using rules which are triggered by events.

Features

  • Simple but powerful concurrent event-based processing.
  • Priorities for control flow.
  • Event cascades can be traced with monitors.
  • Rules which can match on event state.
  • Rules can suppress each other.

Further Reading:

License

ECAL source code is available under the MIT License.