Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - Primetalk/SynapseGrid: SynapseGrid is a framework for constructing dynamic low latency data flow systems.
SynapseGrid is a framework for constructing dynamic low latency data flow systems. - Primetalk/SynapseGrid
Visit SiteGitHub - Primetalk/SynapseGrid: SynapseGrid is a framework for constructing dynamic low latency data flow systems.
SynapseGrid is a framework for constructing dynamic low latency data flow systems. - Primetalk/SynapseGrid
Powered by 0x5a.live 💗
SynapseGrid
SynapseGrid is an original approach to implement functional reactive programming paradigm in Scala. The library is based on a solid foundation of Petri nets.
A few words about what SynapseGrid is:
- framework for constructing systems that are:
- reactive
- event-driven
- resilent
- it resembles other modern event-driven architectures (ScalaRx, Akka Streams, Spark, etc.).
Feature highlights
- SynapseGrid allows function composition of "multifunctions" (functions with a few inputs and outputs). It is more flexible than monads composition of Kleisli Arrows.
- Strictly typed message handling in Akka actors (more natural than in Typed actors or Typed Channels).
- Multi input/multi output functions (multifunctions).
- Systems process portions of information ASAP. The grid can be the base of real time systems.
- It is possible to nest subsystems (like matreshkas) creating modular systems.
- Declarative composition in the form of DataFlow diagram.
- Easy to use DSL:
- Dependency injection replacement (accompanied with Scala traits).
- DataFlow diagram for a system can be created easily — system.toDot():
For details see README in English.
Getting started
Add a dependency to your build:
-
gradle:
compile ['ru.primetalk:synapse-grid-core_2.11:1.4.7', 'ru.primetalk:synapse-grid-akka_2.11:1.4.7']
or compile ['ru.primetalk:synapse-grid-core_2.11:1.4.7', 'ru.primetalk:synapse-grid-akka_2.11:1.4.7']
-
sbt:
libraryDependencies += "ru.primetalk" %% "synapse-grid-core" % "1.4.7" libraryDependencies += "ru.primetalk" %% "synapse-grid-akka" % "1.4.7"
(or any other build system: group: ru.primetalk, artifactId: synapse-grid-core, version: 1.4.7)
Travis build status
See also (English)
- Walkthrough.
- Motivation for SynapseGrid.
- License (BSD-like).
- Subsystems.
- Blog about SynapseGrid
- Distrubuted systems
- Typed frames.
См. также (See also in Russian)
Scala Resources
are all listed below.
Made with ❤️
to provide different kinds of informations and resources.