From bebd56438b1fabfa194aa134584f67725dae3805 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Thu, 23 Sep 2021 10:59:36 +0200 Subject: [PATCH] Update transactions.md --- src/runtime/c/doc/transactions.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/runtime/c/doc/transactions.md b/src/runtime/c/doc/transactions.md index e69de29bb..3e8935a19 100644 --- a/src/runtime/c/doc/transactions.md +++ b/src/runtime/c/doc/transactions.md @@ -0,0 +1,7 @@ +# Transactions + +The .ngf files that the runtime creates are actual databases which are used to get quick access to the grammars. Like in any database, we also make it possible to dynamically change the data. In our case this means that we can add and remove functions and categories at any time. Moreover, any changes happen in transactions which ensure that changes are not visible until the transaction is commited. The rest of the document describes how the transactions are implemented. + +# Databases and Functional Language + +The database model is specifically designed to be friendly towards pure functional languages like Haskell.