Overview
Edgescript®
Edgescript® is a multipurpose programming language. The language is primarily used for adding dynamic behavior to Uninode® Suite components. Read More
The Edgescript® syntax is similar to Swift and Java, but with some improvements and simplifications.
There are currently Edgescript® compilers in Java and Typescript.
Uninode®
Since Edgescript® is mostly used in association with Uninode®, a framework for global type definitions and node identities, it can perform any operation on any type of data. Anything you can do with Uninode®, you can do better with Uninode® plus Edgescript®. Read More
While Uninode® defines edges between nodes, Edgescript® makes the edges parameterized. It uses the same class definitions as Uninode®, but adds methods and evaluation structures. Read More
Data-as-Code
Edgescript® brings a new perspective on Data-as-Code. Uninode® handles versioning of data, access control and other fundamental concepts, and Edgescript® improves these concepts, and adds solutions from the developer world, like refactoring, reactive behavior, declarative configuration, distributed computing, integration with external services, complex data processing and much more.
Flavors
Edgescript® comes in many flavors, depending on usage.
- The expression flavor is used for single-expression behavior.
- The text flavor is used for adding dynamic behavior to text strings.
- The statements flavor is used for full-language tasks, including definition of classes and types.
- The cell flavor is used for defining cells, similar to Jupyter notebooks.
- The UNQL flavor is used for editing UNQL requests with expression components. Read More
The Edgescript® grammar is defined using a BNF structure with hooks. Read More About Grammar
Nodelab
Edgescript® is used in the Nodelab product, for defining data models, processes and user interfaces. Read More
Examples
Edgescript® can be used for many types of configurations and evaluations.
You can view a simple example.
Repository
There is a GitHub repository for some core classes and interfaces. Read More
Features
Types
Edgescript® has a number of different types.
- Edgeclasses are named types with explicitly defined properties and methods.
- Tuples are collections of named attributes.
- Function types define function signatures.
- Enum types define named instances.
Edgeclass
A Uniclass is a protocol for communicating property sets and node type relationships. An Edgeclass is an extension of Uniclass for managing methods.
Edgescript® supports multiple inheritance.
An Edgeclass may be abstract.
Read More About UniclassMethods
Uninode® defines semantic node relations, using edges, defined by Uniclass properties. In a sense, Edgescript® adds parameterized edges, whose value depends on the parameters.
Closures
Closures are methods with an evaluation environment, which can be passed as parameters.
Type Parameters
Type parameters resembles generics, but may contain general type info, like maximum length of strings.
Attributes
Attributes are compile-time parameters for classes, properties and methods. They use a '@' prefix in the script.
Edgepath
An edgepath is similar to a Swift keypath. It is a reference to a property or method that can be evaluated at a later time, but it is type-checked at compile time.
An edgepath may be resolved to multiple data access points.
For instance, an edgepath with just a class name and no path is resolved to the primary keys of that class, as
defined by the 'key' keyword in the class definition.
An edgepath reference to a property with an object value, i.e. not the standard value types like String or Int, is
also resolved to the primary keys of that object.
IP
Edgescript® is a registered US trademarks.
Associated domains are edgescript.org, edgescript.com, edgescript.net,