A simple embeddable scripting language.

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

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.