XXIIVV

Gaude!

Gaude es lingua de programmatione concatenativa. Data es codificato ut "sacco" de symbolo; compone per multiplicatione. Operatione es representato per fractione: denominatore indica consume, numeratore insere.

Fundamento

[] es nihil, identitate. []/n es predecessore. n es successore.

Instantia multiple es scribite ut symbolo^numero. Sacco vacuo, aut identitate, es representato ut [].

Evaluatione es applicatione de fractione in sequentia, quando denominatore es presente in sacco. Programma cessa quando nulle fractione es applicabile.

rubro^2 caerulo^2 flavo^2
	violeto/[rubro caerulo]
	viridi/[caerulo flavo]
	aurantio/[rubro flavo]
	atro/[violeto viridi aurantio]

Logica I

Hic es implementatione de porta logica NON.

falso non
	vero/[falso non]
	falso/[vero non]
[falso non] vero/[falso non] falso/[vero non] 
[vero] falso/[vero non] 
[vero]

Regula differente es sequentiato un post altero. Hic es porta logica AUT. Nota necessitate de symbolo sentinella aut:

x y aut
	vero/[x y aut]
	vero/[x aut]
	vero/[y aut]
	falso/aut
[x y aut] vero/[x y aut] vero/[x aut] vero/[y aut] falso/aut 
[vero] vero/[x aut] vero/[y aut] falso/aut 
[vero] vero/[y aut] falso/aut 
[vero] falso/aut 
[vero]

Meta

A @meta es symbolo speciale que contine positione de salto quando es invento in sacco. Hic es exemplo de cyclo simplice:

tempore^5

@Cyclo ( tempore -- )
	Cyclo/tempore
fine
[tempore^5] Cyclo/tempore fine 
[tempore^4] Cyclo/tempore fine 
[tempore^3] Cyclo/tempore fine 
[tempore^2] Cyclo/tempore fine 
[tempore] Cyclo/tempore fine 
[] Cyclo/tempore fine 
[] fine 
[fine]

Per hoc mechanismo de cyclo, scribe regula que exhauri symbolo. Per exemplo, hic es implementatione de comparatione maior:

x^3 y^2

@Maior ( x y -- x y vero|falso )
	Maior/[x y]
	vero/x Maior/x
	falso/y Maior/y
[x^3 y^2] Maior/[x y] vero/x Maior/x falso/y Maior/y 
[x^2 y] Maior/[x y] vero/x Maior/x falso/y Maior/y 
[x] Maior/[x y] vero/x Maior/x falso/y Maior/y 
[x] vero/x Maior/x falso/y Maior/y 
[vero] Maior/x falso/y Maior/y 
[vero] falso/y Maior/y 
[vero] Maior/y 
[vero] 

Meta Anonymo

Uso de meta anonymo es modo rapido ad scribe fractione que exhauri. Per exemplo, fractione de additione @Adde [x Adde]/y pote etiam esse scripto ut 'x/y, indicante compilatore de creare meta anonymo in suo positione.

x^3 y^4 'x/y
[x^3 y^4] 'x/y 
[x^4 y^3] 'x/y 
[x^5 y^2] 'x/y 
[x^6 y] 'x/y 
[x^7] 'x/y 
[x^7] 

Arithmetica

Ad inveni differentia inter 2 numero, programma pote consume 1 de singulo usque ad exhaustione, relinquente aut x pro resultato positivo, aut y pro resultato negativo. Ultimo duo meta exhauri numero in aut pos aut neg:

x^2 y^5

@Sub ( x y -- pos|neg )
	Sub/[x y] 'pos/x 'neg/y
[x^2 y^5] Sub/[x y] 'pos/x 'neg/y 
[x y^4] Sub/[x y] 'pos/x 'neg/y 
[y^3] Sub/[x y] 'pos/x 'neg/y 
[y^3] 'pos/x 'neg/y 
[y^3] 'neg/y 
[y^2 neg] 'neg/y 
[y neg^2] 'neg/y 
[neg^3] 'neg/y 
[neg^3] 

Hic es programma plus complexo que inveni producto de 2 numero per uso de meta multiple.

x^2 y^3

@Mul ( x y -- res )
	[Mul z res]/y 'y/z Mul/x '1/[y res]

Ingresso/Egresso

Symbolo que incipit cum . es emitto ut texto et immediate consumpto ex sacco. Symbolo que incipit cum .# emitte numero de instantia in sacco de symbolo specifico.

porco^3
	( imprime vocabulo ) .porco:
	( imprime numero   ) .#porco
porco:3

HocusPocus

Et ultimo, es necessario: implementatione de HocusPocus:

tempore^100 f b

@Cyclo ( tempore -- )
	[num f b .HocusPocus\n Cyclo]/[tempore f^3 b^5]
	[num f b .Hocus\n Cyclo]/[tempore f^3]
	[num f b .Pocus\n Cyclo]/[tempore b^5]
	[num f b .#num .\n Cyclo]/tempore
1, 2, Hocus, 4, Pocus, Hocus, 7, 8, Hocus, Pocus, 11, Hocus, 13, 14, HocusPocus, 16, 17, ..

incoming: rejoice 2026