A simple embeddable scripting language.

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

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.