A simple embeddable scripting language.

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

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.