XXIIVV

Gaude!

Gaude lingua de programma concatenative. Data codificare ut "sacco" de symbolo; compositione per multiplicatione. Operatione representare per fractione: denominator consuma, numerator inserta.

Fundamento

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

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

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

Logica I

Hic implementatione de porta NON.

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

Regula differenti es sequentia uno post altere. Hic porta AUT. Notare necessitate de symbolo vigile 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

@meta symbolo es speciale con position de salto si presente in sacco. Hic exemplo de circuitu simplice:

tempore^5

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

Per hoc mechanismo de circuitu, scribere regula que exhauri symbolo. Per exemplo, hic implementatione de comparatione majore:

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

Usu de meta anonymo es modo rapido pro scribe fractione que exhauri. Per exemplo, fractione de additione @Adde [x Adde]/y etiam scriber ut 'x/y, que indica interprete 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

Pro inveni differentia inter 2 numero, programma consuma 1 de singulo usque ad exhaustione, que relinque x pro eventu positivo, aut y pro eventu 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 programma plus complexo que trova producto de 2 numero per usu de meta multiplice.

x^2 y^3

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

Ingresso/Egresso

Symbolo iniciate per . emitte ut textu et consumere immediate ex sacco. Symbolo iniciate per .# emitte numero de instantia in sacco de symbolo specifico.

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

HocusPocus

In fine, necesse implementatione de HocusPocus:

tempore^100 f b

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

incoming: rejoice latino sine flexione 2026