Installation

Velisch ist die Sprache, VelinScript der Compiler. Nach der Installation nutzt du den Befehl velin (Version 3.5.0). Core-Repository: github.com/SkyliteDesign/velinscript.

Installation

Voraussetzungen

  • Rust 1.70+ (für Compiler-Entwicklung)
  • Git

Option 1: Aus Source bauen

# Repository klonen
git clone https://github.com/SkyliteDesign/velinscript.git
cd velinscript

# Compiler bauen
cd compiler
cargo build --release

# Binary: compiler/target/release/velin
# Optional: In PATH einbinden
export PATH=$PATH:$(pwd)/target/release
velin --version

Option 2: Installation Script

# Windows (PowerShell), lokales Prefix:
.\install.ps1 -Prefix "$PWD\bin" -SourceRepo "."
$env:PATH = "$PWD\bin;$env:PATH"
velin --version

Das Skript liegt im Repository-Root. Danach ist der Befehl velin verfügbar.

Dein erstes Programm

1. Projekt initialisieren

# Beide Befehle funktionieren:
velin init my-first-api
# oder
velin new my-first-api

cd my-first-api

Das erzeugt main.velin, Cargo.toml und ein lauffähiges src/main.rs.

2. Erste Funktion schreiben

Öffne main.velin und schreibe:

@GET("/api/hello")
fn hello(): string {
    return "Hello, VelinScript! 🚀";
}

3. Kompilieren

velin compile -i main.velin -o src/main.rs

Schreibt den Rust/Axum-Code nach src/main.rs.

Andere Ziel-Sprachen (Experimental)

Stabiler Laufzeitpfad ist Rust/Axum. Weitere Targets liegen außerhalb des 3.5.0-Stable-Umfangs.

# Experimental, nicht der Stable-Pfad:
velin compile -i main.velin -o main.php --target php
velin compile -i main.velin -o main.py --target python

4. Type Checking

velin check -i main.velin

Prüft den Code auf Type-Fehler.

5. Starten

cargo run

Danach: GET http://127.0.0.1:3000/api/hello (oder PORT=18080 cargo run).

Grundlagen

Variablen

let name = "John";        // Type Inference: string
let age = 30;             // Type Inference: number
let active: boolean = true; // Expliziter Typ
let mut counter = 0;      // Mutable Variable

Funktionen

fn greet(name: string): string {
    return "Hello, " + name;
}

// Ohne Parameter
fn getVersion(): string {
    return "0.1.0";
}

Structs

struct User {
    id: string,
    name: string,
    email: string,
}

API Endpoints

@GET("/api/users/:id")
fn getUser(id: string): User {
    return db.find(User, id);
}

@POST("/api/users")
fn createUser(name: string, email: string): User {
    let user = User {
        id: generateId(),
        name: name,
        email: email,
    };
    return db.save(user);
}

Nächste Schritte

Entwickler-Tools

Beispiele

Siehe examples/ für vollständige Beispiel-Projekte.

Hilfe

Häufige Probleme

"Command not found: velin"

Stelle sicher, dass der Compiler gebaut wurde und im PATH ist:

cd compiler
cargo build --release
export PATH=$PATH:$(pwd)/target/release

Hinweis: Die Binaries heißen velin und velin-compiler (gleiche Quelle). Nutzerbefehl ist velin.

Type Errors

Nutze velin check um Type-Fehler schnell zu finden:

velin check -i main.velin