kyle 1.0.3

A minimal D application.


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:

Kyle

A simple C-Style macro-based Programming language written in D.

A sample File would be:


? Mod is an instruction to give the file a name.

#mod main

#test_function 1 2 3 4 "fifth argument"

with a basic API.

import kyle;

void test_function(kyle_arguments ArgList) {
 string l = kyle_vararg!(string).kyle_convert_argument(0, ArgList);
}

void main(string[] args) {
 auto s = kyle_new(); // create a new Kyle Scope
 
 kyle_allow_module(s); // Allow the module header.

 kyle_add_delegate(s, 
  &test_function,
  "test_function");
 
 kyle_set_code("#print \"hello!\";");

 kyle_execute(s); // Execute.

 // After execution, you can gather information afterward.

 string module_name = kyle_toplevel_module(s);

 writeln("The module name: " ~ module_name);
}

Basics

The IF Statement

The if statement works in a very usual way, it checks if the given statement is true, using it's syntax @ <expr> { <code> }, then it will run \

Future versions will allow \

The implementation works like this:

auto if_block = kyle_new();

kyle_transfer_delegates(s, if_block);

kyle_set_code(if_block, strip(blc));

kyle_execute(if_block); // execute the if block

It will transfer it's functions, but not the variables. So be careful!

Authors:
  • seymo
Dependencies:
none
Versions:
1.0.3 2022-Apr-27
1.0.2 2022-Apr-27
1.0.1 2022-Apr-27
1.0.0 2022-Apr-27
~master 2022-Apr-28
Show all 5 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 10 downloads total

Score:
0.3
Short URL:
kyle.dub.pm