wren-port ~main

A translation of Wren from C to D.


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

wren-port

Wren is a small, fast, class-based concurrent scripting language. wren-port is a port of the Wren programming language implementation to D, intended for embedding. This is useful is you want a nothrow @nogc fast interpreter in your D application.

The original Wren implementation is here.

Changes from original

1. Build information

System.isDebugBuild allows to know if the -debug flag was used to build Wren, in case you want to disable some sort of live-scripting at release.

2. Float literal terminal character

1.0f, 2L and 2.0F are valid Wren double literals in this fork. This helps sharing bits of code between D and Wren.

3. $ operator

The new $ operator is calling a host-provided function. This allow to query entities with a nice syntax.

Example:

($"_imageKnob").hasTrail = false

4. Optional trailing semicolons

This feature can be enabled in WrenConfiguration (default = disabled).

config.acceptsTrailingSemicolons = true;

When enabled, imports, statements, and variable declarations MAY end with a single trailing semicolon.

var a = 2;                          // VAR-DECL [;]
a = 7;                              // STATEMENT [;]
import "beverages";                 // IMPORT STRING [;]
import "beverages" for Coffee, Tea;

This help porting between D and Wren in practice.

This translation was performed by [int3 Systems](https://0xcc.pw/) and sponsored by [Auburn Sounds](https://www.auburnsounds.com).

Authors:
  • Harrison Ford
Dependencies:
none
Versions:
1.2.2 2024-Nov-20
1.2.1 2023-Aug-05
1.2.0 2023-Aug-04
1.1.8 2023-Jul-22
1.1.7 2023-Jan-12
Show all 16 versions
Download Stats:
  • 43 downloads today

  • 45 downloads this week

  • 47 downloads this month

  • 16520 downloads total

Score:
2.1
Short URL:
wren-port.dub.pm