СПЕЦИФІКАЦІЯ
Специфікація надається на мові Anders .
N2O
QUIC, WebSocket та MQTT вбудовувана бібліотека обробки повімлень
з брокером у транзиєнтній пам'яті, сесіями, кешами, AES.GCM та
Erlang Term Format серіалізацією,
which is яка відомо двидше
та енергоефективніше ніж JSON для віртуальних маших BEAM.
axiom pickle : Binary -> Binary
axiom depickle : Binary -> Binary
axiom encode : Π (k: U), k -> Binary
axiom decode : Π (k: U), Binary -> IO k
axiom reg: Π (k: U), k -> IO k
axiom unreg : Π (k: U), k -> IO k
axiom send : Π (k v z: U), k -> v -> IO z
axiom getSession : Π (k v: U), k -> IO v
axiom putSession : Π (k v: U), k -> v -> IO v
axiom getCache : Π (k v: U), Atom -> k -> IO v
axiom putCache : Π (k v: U), Atom -> k -> v -> IO v
axiom start : PI -> IO Sup
KVS
KVS це бібліотека прошарок над RocksDB, що також сумісна
з SpanDB
з беспосереднім доступом до NVMe масисів (SPDK).
axiom get : Π (f k v: U), f -> k -> IO (Maybe v)
axiom put : Π (r: U), r -> IO StoreResult
axiom delete : Π (f k: U), f -> k -> StoreResult
axiom index : Π (f p v r: U), f -> Atom -> v -> List r
axiom next : Reader -> IO Reader
axiom prev : Reader -> IO Reader
axiom take : Reader -> IO Reader
axiom drop : Reader -> IO Reader
axiom save : Reader -> IO Reader
axiom append : Π (f r: U), f -> r -> IO StoreResult
axiom remove : Π (f r: U), f -> r -> IO StoreResult
BPE
BPMN 2.0 сумісна система управління бізнес-процесами
з власнм планувальником для паралельниз процесів, підтримкою XML
продукованих Camunda Modeler .
axiom start : Proc -> IO Sup
axiom stop : String -> IO Sup
axiom next : ProcId -> IO ProcRes
axiom amend : Π (k: U), ProcId -> k -> IO ProcRes
axiom discard : Π (k: U), ProcId -> k -> IO ProcRes
axiom modify : Π (k: U), ProcId -> k -> Atom -> IO ProcRes
axiom event : ProcId -> String -> IO ProcRes
axiom head : ProcId -> IO Hist
axiom hist : ProcId -> IO (List Hist)
NITRO
NITRO — це Nitrogen -подібний
Erlang веб-фреймворк що немає конкурентів (поки) ні по швидкості ні по продуктивності
(включаючи не тільки всі Erlang але і всі Elixir фреймворки).
axiom q : Π (k: U), Atom -> k
axiom qc : Π (k: U), Atom -> k
axiom jse : Maybe Binary -> Binary
axiom hte : Maybe Binary -> Binary
axiom wire (actions: List Action) : IO (List Action)
axiom render (content: Either Action Element) : Binary
axiom insert_top (dom: Atom) (content: List Element) : IO (List Action)
axiom insert_bottom (dom: Atom) (content: List Element) : IO (List Action)
axiom update (dom: Atom) (content: List Element) : IO (List Action)
axiom clear (dom: Atom) : IO Unit
axiom remove (dom: Atom) : IO Unit
FormalTalk
FormalTalk — це Salesforce-подібна декларативна мова з обмеженими імперативними властивостями
створена для оркестрації N2O бібліотек у найбільш ефективний спосіб. БНФ Нотація:
mod := 'module' name spec clauses
spec := 'kvs' | 'bpe' | 'form'
name := word | binary | string
args := [] | name args
clause := 'import' name
| 'record' name args dec
| 'notice' name args dec
| 'event' name args dec
| 'route' name args dec
| 'form' name args dec
dec := 'begin' decls 'end'
clauses := clause | clause clauses
decls := decl | decl '|' decls
decl := word '=' args ':' union
| word '=' args
| args
| 'document' word word '[' buttons ']' '[' fields ']'
| 'result' '[' conts ']' args
union := args | args '+' union
conts := args | args '|' conts
fields := args | args '|' fields
buttons := args | args '|' buttons