Fatevi sotto con le vostre idee, commenti e spunti
il mio target hardware sarà qualcosa tipo (minimo) ARM9 da 400MHz a salire con minimo 128MB di Ram. Embedded si, ma con un briciolo di dignità e possibilmente con un OS sotto al culo
Citazione da: TheKaneB - 31 Marzo 2015, 11:21:15Fatevi sotto con le vostre idee, commenti e spunti Domande: - Hai già detto che il linguaggio sarà fortemente tipizzato, ma tipizzazione dinamica o statica?
- Se uno "Script" è pari a una funzione, come è composto un programma con più funzioni? (un'idea la ho, ma voglio prima sentire la tua)
-- il file si chiama Banana.scriptdef f = function(....) : Real... ... ...enddef A = f("banana") <--- questo viene eseguito
- Il linguaggio supporta la ricorsione?
- I vettori li fai con delle matrici che hanno righe/colonne == 1?
- Implementerai una serie di passate per ottimizzare la AST prima di passare all'esecuzione vera e propria?
- L'esecuzione la fai solo visitando la AST oppure generi un bytecode per ogni funzione? La prima è più semplice, ma la seconda può essere più veloce (e occupare meno memoria).
Comunque è un bel progettino; sopratutto è divertente di tanto in tanto iniziare qualche progettino di programmazione "pura" dove puoi decidere tutti i vincoli, senza dover stare dietro a nessuno. Io in questo periodo sono dietro a un semi-wrapper OpenGL (più che wrapper, sono utilità), e la mia produttività e voglia sono ai minimi storici in quanto sono totalmente vincolato da OpenGL e la sua maledetta state-machine interna, e quindi devo studiare attentamente sia quali funzionalità mettere, sia come strutturare l'interfaccia in modo che a OpenGL vada bene la sequenza di comandi che gli genero...Citazione da: TheKaneB - 31 Marzo 2015, 20:28:49il mio target hardware sarà qualcosa tipo (minimo) ARM9 da 400MHz a salire con minimo 128MB di Ram. Embedded si, ma con un briciolo di dignità e possibilmente con un OS sotto al culo Il mio gusto di embedded preferito! L'OS te lo fornisco io. (Più che altro, potrebbe essere una scusa per riprendere in mano la seconda versione C++ che avevo iniziato; il blocco principale era il decidere alcuni dettagli della struttura del codice, ma ormai è da tanto che ho deciso e rimane solo da implementare).
Dinamica, così risulta più facile per i non programmatori.
Devo ancora capire se tipizzare fortemente il tipo funzione (quindi prendendo la lista degli argomenti e il tipo di ritorno come parte integrante del tipo) oppure se lasciare le funzioni weakly typed stile Javascript.Forse meglio non complicarsi troppo la vita ed evitare la possibilità di passare in giro puntatori a funzione?
Citazione - Il linguaggio supporta la ricorsione?Yep
Yep. Non molto efficiente, ma molto più facile da gestire lato codice. Eventuali funzioni potranno imporre delle restrizioni sulle dimensioni (ad esempio det(A) dovrà imporre che A abbia 2 dimensioni, e che abbiano entrambe la stessa quantità di elementi)
Citazione - Implementerai una serie di passate per ottimizzare la AST prima di passare all'esecuzione vera e propria?Non so quanto sia complicato farlo. Penso di no, anche perchè non ne sono capace.
La parte Engine sarà certamente multiplatform (uso C++ puro, nessun aggancio a funzioni di sistema, solo un po' di cout per il logging degli errori), per cui mi toccherà fare la parte client ad hoc per il tuo OS. Magari faccio solo un sistema di input testuale interattivo (sempre che tu non decida di supportare roba ... tipo Qt ahah ).
ma il target cosa e' ? la RPI ?
Mi aspetto che l'utente sia abituato ad Hp e TI da questo punto di vista, inoltre, mi aspetto che l'utilizzo degli interi a precisione arbitraria sia ragionevolmente limitato a sole operazioni intere (principalmente matematica combinatoria), mentre se uso un misto di Integer e Double mi aspetto che l'utente sia interessato all'applicazione di metodi numerici approssimati.Come vi sembra l'approccio? Può funzionare?
Si, pensavo una roba tipo la RPI, ma non necessariamente quella macchina specifica. Comunque sì, vorrei avere a disposizione una macchina relativamente potente sotto le chiappe come requisito minimo. In questo momento il mio "gold standard" è la HP Prime. Vorrei poter fare qualcosa che sia non dico nella sua categoria (è troppo avanzata per le mie capacità), ma che sia quantomeno ispirata a questa macchina (ARM9 400Mhz, Ram mi pare 64 o forse 128MB, schermo a colori ad "alta" risoluzione, possibilità di avere un OS non banale sotto i piedi).