Документация

v0.6

Быстрый старт

# Установка
$ pip install papa-lang
# Или Docker
$ docker run -it papa-lang/papa:latest

Привет мир

say "Привет, мир!"

name = "PAPA"
say "Привет, {name}!"

Синтаксис

Переменные

name = "PAPA"
age = 2026
active = true
data = none

Map

config = {"host" -> "localhost", "port" -> 8200}

Функции

greet(name: text) -> text = "Привет, {name}!"
double(n: int) -> int = n * 2

Secret

password = secret("my-pass")
say password  // → ***REDACTED***

Maybe

user = some("admin")
name = user ?? "аноним"

Тесты

test "сложение"
  assert 2 + 2 == 4
  assert math.sqrt(9) == 3

HTTP сервер

serve on port 8200
route GET "/api" do
  return {"status" -> "ok"}

Импорт

import "std/math"
import "std/guard"
import "std/swarm"

25 std модулей

Добавление модуля

def _std_NAME(interp) -> Dict:
    prefix = "_NAME_"
    interp.builtins[prefix + "func"] = lambda args: ...
    return {"export": ("builtin", prefix + "func")}

STD_MODULE_LOADERS["NAME"] = _std_NAME