Gaude!
Gaude lingua de programma concatenative. Data codificare ut "sacco" de symbolo; compositione per multiplicatione. Operatione representare per fractione: denominator consuma, numerator inserta.
Fundamento
- Statu de programma: Sacco de symbolo sin ordine. Exemplo: sacco
[cubo cono^3]contine 1 cubo et 3 cono. - Symbolo: Elemento de sacco, scribe ut numero decimale o nomine pro numero primo. Exemplo: sacco
[8 sphaera^2]vale[2^3 sphaera sphaera]. - Transformatione: Fractione ubi denominatore indica consumptione et numeratore insertione. Exemplo:
strix/[felis^2]consume 2 felis, insere 1 strix.
[] 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, ..
- Codice, Uxntal.
- Repositorio, Uxntal.
- Latino Sine Flexione
- Giuseppe Peano, Wikipedia.
incoming: rejoice latino sine flexione 2026