Delta Documentation

Delta is currently in pre-release phase.

Overview

Basic Usage

Delta can be written in Python, and has .dt extension.

Type annotations are required when declaring new identifiers.

Example:

  • valid:
  • x: int = 0
    print(x)
    x = 1
    print(x)
    

  • invalid:
  • x = 0
    print(x)
    x = 1
    print(x)
    

Type Annotations

Delta requires type annotations when declaring new identifiers

Variables

Basic

number: int = 0 
number: int #This is also vaild

Subscripts

list_var: list[int]
dict_var: dict[str, int] #str as key, int as value
set_var: set[float]
tuple_var: tuple[int, float, str] #datatypes of elements must be specified

mixed_var: list[tuple[str, dict[int, str]]]

Functions

Basic

def print_person(name: str, age: int) -> None:
    print(name, age)

Keyword arguments

def calc_vel(target: float, base: float = 0) -> float:
    return target - base

Example:

def print_person(name: str, age: int) -> None:
    print(f"{name} is {age} years old")

def print_people(people: list[tuple[str, int]]) -> None:
    for person in people:
        print_person(person[0], person[1])


people: list[tuple[str, int]] = []
while True:
    name: str = input("Enter name: ")
    if name == "":
        break
    age: int = int(input("Enter age: "))
    people.append((name, age))

print_people(people)

Supported Features

Delta is currently in pre-release phase, and doesn't support all the features of Python yet.

Supported keywords:

  • if
  • elif
  • else
  • for
  • while
  • from ... import ...
  • pass
  • break
  • continue
  • return
  • assert
  • del

Supported special syntaxes:

  • f-strings

Supported built-in functions:

    built-in:

  • print(object, end="\n") -> None
  • input("prompt") -> str
  • len(iterable) -> int
  • int(str) -> int
  • float(str) -> float
  • str(object) -> str
  • list(str) -> list[str]
  • min(str|list|set) -> elem dtype
  • max(str|list|set) -> elem dtype
  • sum(str|list|set) -> elem dtype
  • sorted(str|list|set) -> list[elem dtype]
  • round(float) -> float
  • abs(int|float) -> int|float
  • special functions:

  • cpp(str)

Additional Features

cpp(str)

injects C++ code into the program

Example:

x: int = cpp("time(nullptr)")

from cpp[ext] import ..

adds #include statement at the top of the compiled C++ file

Examples:

from cpp import cmath to #include <cmath>

from cpph import time to #include <time.h>

from cpphpp import opencv to #include <opencv.hpp>

Example uses can be found here