PDA

View Full Version : [?] Linguaggio sconosciuto


Shirov
19-05-2018, 18:00
Sul PC di un collaboratore che si è dato ad altra attività, ho trovato un frammento di codice di un linguaggio che non conosco assolutamente... so che lavorava, oltre a ciò che faceva con noi, ad un progetto piuttosto complesso di IA... voi capite che roba è?

insert stlib + mylib + alphalib
#def is on level=2
#fn01 = {call void}

Global Test
{
var
string name = void;
natural x01 = 0;
vec v01 = {[int], 3};
vec v01 = {[string(class), 10], out=nlt2)};
end var;

output("Insert name to begin: ");
name = input();
output("Insert age", level = 3)
x01 = input(call-fconv(natural -> string));
call mem(over=x01);

def f01[(natural y01, natural y02)], (string s01 -> !void)]
{
todo
}

def-natural f02 [(->3)]
{
todo
}

aggiungo che il file si chiama test.rklj

demos88
19-05-2018, 23:52
Magari stava provando a creare un suo linguaggio di programmazione?

Shirov
20-05-2018, 11:12
Magari stava provando a creare un suo linguaggio di programmazione?

E' stata la prima cosa che ho pensato anche io ma non mi sembrava il tipo, era skillato sulle reti neurali e da noi si occupava di manutenzione su un software di quel tipo, non mi pareva molto addentro ai discorsi relativi a compilatori, linguaggi ecc, anzi dimostrava poco interesse per l'argomento, conosceva il C e Delphi e si fermava lì. Tipo strano, geniale ma il suo sogno era aprire un chiringuito in Messico ed in effetti mi dicono che è lì... quel frammento l'ho copiato a mano e vedo adesso che ho commesso un paio di errori, lo correggo, se qualcuno l'ha mai visto...

pabloski
20-05-2018, 11:26
L'ipotesi del suo linguaggio personale non è tanto peregrina, ma senza tirare in ballo compilatori e compagnia.

Essendo un esperto di IA, non è che quel linguaggio che vedi è un insieme di macro LISP?

Non è affatto raro per i programmatori LISP crearsi dei DSL ad hoc.

Shirov
20-05-2018, 20:56
L'ipotesi del suo linguaggio personale non è tanto peregrina, ma senza tirare in ballo compilatori e compagnia.

Essendo un esperto di IA, non è che quel linguaggio che vedi è un insieme di macro LISP?

Non è affatto raro per i programmatori LISP crearsi dei DSL ad hoc.

Non saprei... tieni presente che il tipo di Lisp non sapeva una mazza... domani riapro il suo computer (che è dell'azienda, se ne è andato senza nemmeno cancellare un solo file) e guardo cosa c'è in quella directory, c'erano un paio di pdf e un eseguibile...

Shirov
21-05-2018, 19:56
Dunque, alla fine, a quanto pare, stava sperimentando un nuovo linguaggio che, probabilmente non vedrà mai la luce, scritto da un non meglio precisato americano. Dalle poche note allegate si evincono alcune cose:
int è un intero a 32 bit
natural indica un intero a 64 bit (se non erro le prime versioni di Ceylon usavano questa keyword)
La signature
[(natural y01, natural y02)], (string s01 -> !void)]
indica che i primi due parametri sono obbligatori e il terzo è opzionale e non può essere la stringa vuota
L'istruzione call mem(over=x01); indica un particolare trattamento in memoria per la variabile x01 (non è specificato meglio)
string(class) è interessante dice: "forza l'uso di una stringa i cui singoli elementi possono essere classi"... boh
#fn01 = {call void} "inizializza il compilatore".

Non ho trovato altro, l'eseguibile non ci azzeccava nulla con sta roba. Se riesco a rintracciare il tipo, cosa difficile, secondo me ha dato fuori di testa, gli chiedo lumi, l'ultima nota recitava "revolutionary language!"... va beh....:D