SkillAgentSearch skills...

DpdlEngine

Dpdl (Dynamic Packet Definition Language) is a rapid development Programming Language and constrained device platform with built-in Database and Agents technology. Dpdl enables also the embedding and execution of multiple programming languages (C, C++, Python, etc...) directly within Dpdl code. This is the DpdlEngine to run it

Install / Use

/learn @Dpdl-io/DpdlEngine

README

Dynamic Packet Definition Language

<p align="center"> <img src="https://www.dpdl.io/images/dpdl-io_blue.png" width="60%"> </p>
			  www.dpdl.io

developed by SEE Solutions ©

Dpdl - rapid development Programming Language and constrained Device platform

Dpdl is a rapid development <ins>Programming Language</ins> and <ins>constrained Device platform</ins> with built-in Database and Agents technology.

Dpdl comes as a very <ins>compact and portable execution engine</ins> (DpdlEngine) with an extensible API interface that enables to execute <ins>Dpdl programming language code</ins>, as well as <ins>code in different programming languages</ins> or any other custom code syntax, <ins>directly embedded within the same dpdl source code</ins>, simultaneously, of multiple types and <ins>at Native Speed</ins>. Dpdl enables polyglot programming.

The Dpdl language constructs and syntax is simple and intuitive, yet powerful, with an object oriented paradigm (OOP) interoperable with JVM platform APIs and Native shared libraries. It enables also dynamic code generation and execution of heterogeneous embedded code sections, featuring meta-programming techniques.

Dpdl provides access to <ins>JVM platform API's, Native shared libraries, WASM modules and GPU compute</ins>. In addition Dpdl enables also the <ins>embedding and execution</ins> of multiple programming languages like <em>C, C++, Python & MicroPython, Julia, JavaScript, Lua, Ruby, Java, PHP, Perl, Groovy, V, Scheme, Clojure, Wat/Wasm, Wgsl, OpenCL, Modelica and also others</em>, <ins>directly embedded and within dpdl code</ins>.

Everything comes already included with the DpdlEngine, <ins>No additional installations required</ins>.

The core DpdlEngine has the <ins>capability to run also on very limited memory constrained devices and platforms</ins> via a dedicated compact <ins>kilobyte range</ins> code virtual machine.

<ins>Compact</ins>, <ins>Self-contained</ins>, <ins>Portable</ins> and <ins>Customizable</ins>

<p align="center"> <img src="https://www.dpdl.io/images/platform/Dpdl_programming_language_framework_small.png"> </p>

Dpdl = dpdl-lang + ( C + 'C++' + Python + JavaScript + Julia + Java + Lua + Ruby + PHP + Perl + Groovy + V + Scheme + Clojure + Wat/Wasm + Wgsl + OpenCL + Modelica) + AI = <ins>Powerful and Versatile</ins>

Dpdl itself is a general-purpose programming language, <ins>self-contained</ins>, <ins>interpreted</ins> and in part dynamically <ins>JVM bytecode compiled</ins>, <ins>statically</ins> as well as <ins>dynamically typed</ins>, with a very <ins>compact memory footprint</ins> and <ins>portable</ins> to most platforms. There is an on-going development to enable Dpdl code to be <ins>compiled also directly to Native code</ins> for multiple target platforms.

Dpdl introduces the concept of 'embedded code sections' that allows different programming languages to be executed within Dpdl code by means of dedicated 'Dpdl language plug-ins' included in the 'DpdlEngine' release. <ins>Multiple</ins> 'Dpdl language plug-ins' <ins>are currently available</ins> for various programming languages. For example also the 'Modelica' language for cyber-physical simulations is available as 'Dpdl language plug-in'. Further Dpdl language plug-ins are currently in active development, for example to enable also <ins>Quantum Computing</ins> directly inside Dpdl.

<p align="left"> <img src="https://www.dpdl.io/images/dpdl_language_plugins/Modelica.png"> </p>

Dpdl enables also AI generative code by means of the included Dpdl language plug-in 'DpdlAINerd' (DAN), which enables to <ins>automatically generate</ins> programming language code and content or data by means of natural language descriptions contained inside dpdl code, embed it automatically within dpdl code and execute the code right away or to be executed in a subsequent steps.

Dpdl provides also access to a custom data container with built-in database technology referred to as a 'DpdlPacket'. It provides a convenient way to <ins>package, handle and query data very efficiently on memory scarce devices</ins>.

The included Dpdl lanugage plug-in 'DpdlAgent' provides an agent development middleware for building distributed and mobile multi-agent systems. It fully adheres to IEEE FIPA (Foundation for Intelligent Physical Agents) specifications, ensuring standardized, interoperable agent communication and coordination.

DpdlEngine consists of:

  • dpdl-lang -> Dpdl programming language
  • DpdlPacket -> Dpdl Database technology
  • DpdlAI -> AI generative code within dpdl code
  • DpdlAgent -> Mobile Agent platform within dpdl code

Dpdl is designed to:

* Facilitate development

* On multiple platforms

* Using the power of multiple programming languages and API's within a single source

* Re-use code

* No need to install, compile and configure development environments

* Self-contained, No additional dependencies required (except user libraries)

* Facilitate rapid prototyping for Hardware programming

* Runs on constrained devices and also Microcontroller units (MCUs)

* Customizable

* Plug-in oriented

* Leverage prototyping with <ins>AI generative code</ins>

DpdlEngine stack overview

<p align="center"> <img src="http://www.dpdl.io/images/platform/Dpdl_Dynamic_Packet_Definition_Language_components_thumb.jpg"> </p>

<ins>Compact</ins>, <ins>Robust</ins>, <ins>Extensible</ins> and <ins>Portable</ins> to almost every platform

dpdl-lang example:

import('http')
import('json')

struct Story {
	int id
	string title
	string url
}

string stories_url   = "https://hacker-news.firebaseio.com/v0/topstories.json"
string item_base_url = "https://hacker-news.firebaseio.com/v0/item/"

println("downloading and displaying the top 10 news stories from hacker-news, decoded from json format...")

string resp = http.getraw(stories_url)

raise(resp, "Error in downloading data")

object jsonobj = json.parse(resp, 0)
ids[] = array(jsonobj)

string story_url
struct Story storyobj

int c = 0
for(c < 10)
	println("---------------------------------------------------------------------")

	story_url = item_base_url + ids[c] + ".json"
	resp = http.getraw(story_url)

	raise(resp, "Error in downloading story")

	storyobj = json.decode(resp, storyobj)

	println("id: " + storyobj.id)
	println("title: " + storyobj.title)
	println("url: " + storyobj.url)

	c = c+1
endfor

println("finished!")

Docs

Dpdl language quick Tour

Dpdl lang Documentation

Dpdl API Documentation

Dpdl 'embedded code sections' (Dpdl language plug-ins)

Dpdl compiler documentation

Dpdl Native Interface

Dpdl GPU Compute

Dpdl Wasm runtime

Dpdl Meta-programming

Dpdl Agents

DpdlVM

DpdlAINerd

DpdlPacket

DpdlClient

More...

Dpdl Examples

Dpdl HowTo's

Dpdl Tutorials

Features

  • DpdlEngine is optimized to run on a wide range of platforms (any JVM platform > 1.3 Spec, JavaME). The core engine runs also on JVM 1.1 spec compliant VMs
  • Dpdl API provides access to the complete underlying JVM platform API's and to external java libraries
  • Access to Native shared libraries
  • Features meta-programming techniques: compile-time (CTMP) and runtime (RTMP) meta-programming
  • Automatic code generation and execution of 'embedded code sections' at runtime (Dpdl language plug-ins)
  • Multiple 'Dpdl language plug-ins' available for 'embedded code sections': <em>C, C++, Python, MicroPython, Julia, JavaScript, Lua , Ruby, Java, PHP, Perl, Groovy, V, Scheme, Clojure, Wat/Wasm, Wgsl, OpenCL and Modelica</em> programming language code can be <ins>embedded and executed directly within Dpdl code</ins> (interpreted/compiled code)
  • Everything is already included, <ins>No additional installations needed</ins> (except user libraries)
  • Further programming languages and syntax interpreters can be embedded via a dedicated kernel execution interface in form of 'Dpdl language plug-ins'
  • Includes embedded C compiler: On-the-fly compilation of embedded C code (ANSI C & ISO C99) <ins>in memory at runtime</ins> -> <ins>very Fast compile time!!!</ins>
  • Wasm runtime Dpdl language plug-in included allows to access 'Wasm' module functions from Dpdl and from embedded language code. Also WAT code can be directly compiled on-the-fly and executed
  • Built-in support for custom extensions -> allows to dynamically add language features at runtime
  • **Dpdl C API enables to execute Dpdl code embedded within programs w
View on GitHub
GitHub Stars4
CategoryDevelopment
Updated4d ago
Forks0

Languages

C

Security Score

75/100

Audited on Mar 22, 2026

No findings