English keywords · readable programs

Beskriv hvad der er sandt og hvad du vil vide.

Compilerens parser, formatter og typekontrol er skrevet i C++. Indrykning er to mellemrum, variable starter med stort bogstav, og deklarationer er eksplicitte.

Data og joins

En database peger på lageret. Sources beskriver fysiske tabeller. Et dataset er en read-only kombination.

Sources i samme dataset skal bruge samme databaseforbindelse.

database local:
  engine sqlite
  path "shop.sqlite"

source customers:
  database local
  table "customers"
  column id: integer
  column name: text

source orders:
  database local
  table "orders"
  column customer_id: integer
  column total: real

dataset customer_orders:
  from customers as customer
  left join orders as order_item on customer.id = order_item.customer_id
  select customer.name as customer_name
  select order_item.total as total

Logik og ukendt viden

Facts og regler følger en Prolog-inspireret, open-world model. Det, der ikke kan bevises, er unknown — ikke automatisk falsk.

parent(person_a, person_b)
parent(person_b, person_c)

grandparent(X, Z)
  if parent(X, Y)
  and parent(Y, Z)

ask grandparent(person_a, Who)

Bayesiansk inferens

Bayes- og HDI-beregninger udføres deterministisk af C++-runtime med seed og diagnostik. En LLM indgår ikke i matematikken.

p ~ beta(alpha = 2, beta = 2)
successes ~ binomial(trials = 20, probability = p)

observe successes = 14
ask p
  interval 0.89 hdi