2 Commits 1e2a022032 ... 5007d4fb8a

Author SHA1 Message Date
  Matthias Ladkau 5007d4fb8a doc: Modifying main README.md 3 years ago
  Matthias Ladkau 1e2a022032 doc: Modifying main README.md 3 years ago
1 changed files with 7 additions and 6 deletions
  1. 7 6
      ecal-lang.md

+ 7 - 6
ecal-lang.md

@@ -554,11 +554,12 @@ ECAL has a build-in logging system and provides by default the functions `debug`
 
 Stdlib Functions
 --
-ECAL contains a bridge to Go functions which allows some Go functions to be used as standard library (stdlib) functions. Stdlib functions should be called using the corresponding Go Module and function or constant name.
+It is possible to extend the ECAL interpreter with additional functions and constants. This can either be done through:
 
-By default only some `math` constants are available it is possible to include other constants and functions using code generation (as part of the normal build process of the ECAL interpreter). Please see the comments and modify the file `/stdlib/generate/generate.go` and then run a normal `make` to build a new ECAL interpreter with extended stdlib.
+- Using [Go plugins](https://golang.org/pkg/plugin/) which allow the loading of code via dynamic linking.
+- Using a bridge to Go. Standard Go functions using primitive argument types can be easily added using [code generation](https://blog.golang.org/generate).
+- Adding custom function definitions to the ECAL interpreter by extending the interpreter code.
 
-Example:
-```
-log(math.Pi)
-```
+For the first one you need to define a `.ecal.json` in the scripts folder. For the other options you need to recompile the ECAL interpreter code for EliasDB. Use the [replace directive](https://github.com/golang/go/wiki/Modules#when-should-i-use-the-replace-directive) in EliasDB's `go.mod` file to point the compiler to an alternative version of the ECAL interpreter which includes your changes.
+
+Please see the [documentation](https://devt.de/krotik/ecal) of the ECAL interpreter for more information.