Closed tajmone closed 6 years ago
Ma figurati, hai fatto bene! Quando avrò finito la 1.0.7 che supporta unicode direttamente, PolyEscapist sarà obsoleto, ma pazienza insomma. Intanto funziona ed è utile!
Il giorno 24 gennaio 2018 11:51, Tristano Ajmone notifications@github.com ha scritto:
Ciao @alvisespano https://github.com/alvisespano ,
Ho appena rilasciato la prima release di PolyTools, una collezione di strumenti per lavorare con Polygen:
https://github.com/alvisespano/Polygen/blob/master/PolyTools-windows_2018- 01-24.zip
Allo stato attuale, vi è un solo strumento, PolyEscapist, che converte stringhe Unicode in sequenze escape UTF-8 per Polygen. Semplifica molto la creazione di grammatiche contenenti caratteri non-Ascii: basta fare il copia e incolla e inserire la stringa cone escpaes nel sorgente della grammatica.
Spero di non aver fatto male ad averlo inserito nel repository. Si tratta di uno zippato davvero piccolo, ed ho pensato fosse in linea con quello già disponibile per i binari Polygen per Windows.
Ho creato uno zippato indipendente perché prevedo vari aggiornamenti a breve, sto per creare una nuova GUI per Polygen — una versione moderna di PolyGUI, ma dedicata all'uso delle grammatiche (non all'editing).
Per la homepage di PolyTools, ho pensato di usare una pagina nei nostri Wiki:
- homepage italiana https://github.com/tajmone/Polygen/wiki/PolyTools
- homepage inglese https://github.com/alvisespano/Polygen/wiki/PolyTools
Oggi vedrò di creare i contenuti delle pagine, con qualche istruzione e screenshot.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alvisespano/Polygen/issues/15, or mute the thread https://github.com/notifications/unsubscribe-auth/ACcZxkjsfuY_KLGSmjs4GEWRiXncEzcPks5tNws5gaJpZM4RrEEC .
Perché obsoleto scusa? PolyEscapist semplica l'escaping facendolo in automatico, anziché doverlo fare a mano in un editor. Inoltre, molti editor hanno problemi a gestire lingue bidirezionali (p.es., non supportano operazioni di copia e incolla in arabo).
Riguardo l'italiano, PolyEscapist è un modo facile per creare stringhe con lettere accentate: si può digitare il testo con gli accenti e poi incollarlo nel sorgente della grammatica.
E comunque, quando avrai implementato l'Unicode mi basterà ritoccare un po' PolyEscapist per supportare anche gli unicode escapes.
Mi puoi ragguargliare su come funzionerà l'Unicode escape? Intendo dire, l'output di Polygen sarà in UTF-8? P.es., datto l'Unicode escape \u0200
(per È
), nell'output finale sarà rappresentato in UCS-2 o in UTF-8?
Perdonami, forse allora ho capito male cosa fa PolyEscapist. Non ho avuto un minuto per vederlo. Devo ancora capire come farò il supporto unicode perché devo ancora capire che libreria OCaml usare, però nella mia testa sarà una cosa così:
1) sarà possibile scrivere caratteri utf-8 direttamente nella grammatica; e l'output è sempre uft-8 2) gli escape univoce come \u0200 diventano UTF-8
C'è qualcosa che mi sfugge?
Alvise
Il giorno 24 gennaio 2018 12:38, Tristano Ajmone notifications@github.com ha scritto:
Perché obsoleto scusa? PolyEscapist semplica l'escaping facendolo in automatico, anziché doverlo fare a mano in un editor. Inoltre, molti editor hanno problemi a gestire lingue bidirezionali (p.es., non supportano operazioni di copia e incolla in arabo).
Riguardo l'italiano, PolyEscapist è un modo facile per creare stringhe con lettere accentate: si può digitare il testo con gli accenti e poi incollarlo nel sorgente della grammatica.
E comunque, quando avrai implementato l'Unicode mi basterà ritoccare un po' PolyEscapist per supportare anche gli unicode escapes.
Mi puoi ragguargliare su come funzionerà l'Unicode escape? Intendo dire, l'output di Polygen sarà in UTF-8? P.es., datto l'Unicode escape \u0200 (per È), nell'output finale sarà rappresentato in UCS-2 o in UTF-8?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alvisespano/Polygen/issues/15#issuecomment-360104614, or mute the thread https://github.com/notifications/unsubscribe-auth/ACcZxqdZDrf8yxGkIilR2cLuuCzZJd08ks5tNxZIgaJpZM4RrEEC .
C'è qualcosa che mi sfugge?
No, per nulla; è solo che non mi avevi illustrato i dettagli.
L'UTF-8 è il formato ideale, sia per i sorgenti delle grammatiche che per l'ouput — quanto ai casi d'uso anomali (code pages, ecc) esistono applicazioni per filtrare (iconv, e simili).
Devo ancora capire come farò il supporto unicode perché devo ancora capire che libreria OCaml usare
Immagino che internamente le stringhe verranno rappresentate in UCS-8, e che UTF-8 verrà usato solo per la lettura dei sorgenti e per l'output. Mentre mi documentavo su OCaml, ho il vago ricordo di aver letto (o capito) che da una certa versione in poi OCaml supporti Unicode nativamente.
Perdonami, forse allora ho capito male cosa fa PolyEscapist. Non ho avuto un minuto per vederlo.
Sono convinto che PolyEscapist sarà sempre utile — inoltre, ho in mente altre funzionalità da implementare, che lo renderanno più interessante. Certo, quando con Polygen 1.0.7 le grammatiche sorgenti supporteranno caratteri UTF-8, sarà possibile usare direttamente i caratteri accentati italiani e altri caratteri Unicode accessibili da tastiera o da Alt-codes.
Ma PolyEscapist tornerà pur sempre comodo per convertire caratteri e lingue esotici (simboli e dingbats, lingue asiatiche e semitiche). A parte Notepad++, quasi tutti gli altri editor di codice che ho sul sistema non riescono a gestire operazioni con testo arabo o ebraico (incasinano la direzione, perdono le vocali, e altre mostruosità).
Inoltre, tieni conto che questo è un prototipo che, in futuro, farà parte di una Polygen GUI a cui sto lavorando. Però mi sono posto obbiettivi intermedi, ossia che prima creo piccoli applicazioni independenti:
Dopodiché avrò già pronto il grosso del codice per poter creare un'applicazione unificata in cui far confluire il tutto sotto un'unica interfaccia, e aggiungergi anche un editor di gramamtiche. Ho ritenuto meglio questo approccio, che consente di condividere subito dei piccoli strumenti, che non imbarcarmi subito in un mega-progettono in cui per mesi non vi è nulla di fruibile.
Fremo per la nuova version 1.0.7!
PS: pubblica da qualche parte delle note su come attrezzare Win 10 per la compilazione OCaml (al momento non ci si capisce niente in rete, tanti articoli vecchi e/o contradditori, anche sui siti ufficiali).
Sto ancora impazzendo con il supporto di OCaml per VSCode. Per ora mi sto accontentando di una mezza via: ho un ambiente di lavoro che funziona male e talvolta devo compilare da shell; in pratica ogni tanto VSCode mi fa da IDE, altre solo da editor. Pazienza, ma non ho neanche voglia di passare il resto della mia vita a configurare sto aggeggio.
Se fai il Polygen GUI sei un grande! Mi piace lo sviluppo a piccoli tool: è uno stile "unixiano", che si usava molto una volta, facendo fare ad ogni comandino qualcosa di semplice, chiaro e isolato, per poi scrivere il main behaviour praticamente come una pipeline di tali strumenti.
E sono sicuro che PolyEscapist sarà utile anche in futuro. Tra l'altro: ora ho colto appieno il perché ti piaceva "PolyGen", perché tutta la toolchain ha Poly come prefisso, e quindi la G maiuscola di Gen avrebbe semplicemente reso il PolyGen uno dei vari strumenti. Capisco il senso, ma vedila così: Polygen è il nome del progetto complessivo ed anche del motore principale. "Poly" è il soprannome, che usiamo come prefisso. Sarebbe strafigo dare nomi buffi e tutti diversi, come se fossero generati, ai vari tool: tipo "FolpyGUI" o "PolpyEscapist". E' divertente ma è contrario ai miei principi di eleganza, quindi rimane solo una battuta tra me e te :D
Il giorno 24 gennaio 2018 14:27, Tristano Ajmone notifications@github.com ha scritto:
C'è qualcosa che mi sfugge?
No, per nulla; è solo che non mi avevi illustrato i dettagli.
L'UTF-8 è il formato ideale, sia per i sorgenti delle grammatiche che per l'ouput — quanto ai casi d'uso anomali (code pages, ecc) esistono applicazioni per filtrare (iconv, e simili).
Devo ancora capire come farò il supporto unicode perché devo ancora capire che libreria OCaml usare
Immagino che internamente le stringhe verranno rappresentate in UCS-8, e che UTF-8 verrà usato solo per la lettura dei sorgenti e per l'output. Mentre mi documentavo su OCaml, ho il vago ricordo di aver letto (o capito) che da una certa versione in poi OCaml supporti Unicode nativamente.
Perdonami, forse allora ho capito male cosa fa PolyEscapist. Non ho avuto un minuto per vederlo.
Sono convinto che PolyEscapist sarà sempre utile — inoltre, ho in mente altre funzionalità da implementare, che lo renderanno più interessante. Certo, quando con Polygen 1.0.7 le grammatiche sorgenti supporteranno caratteri UTF-8, sarà possibile usare direttamente i caratteri accentati italiani e altri caratteri Unicode accessibili da tastiera o da Alt-codes.
Ma PolyEscapist tornerà pur sempre comodo per convertire caratteri e lingue esotici (simboli e dingbats, lingue asiatiche e semitiche). A parte Notepad++, quasi tutti gli altri editor di codice che ho sul sistema non riescono a gestire operazioni con testo arabo o ebraico (incasinano la direzione, perdono le vocali, e altre mostruosità).
Inoltre, tieni conto che questo è un prototipo che, in futuro, farà parte di una Polygen GUI a cui sto lavorando. Però mi sono posto obbiettivi intermedi, ossia che prima creo piccoli applicazioni independenti:
- una GUI per organizzare la propria collezione di grammatiche ed eseguirle con anteprime html, ecc. (come PolyGUI, ma senza editor)
- vari strumenti utili (come PolyEscapist)
Dopodiché avrò già pronto il grosso del codice per poter creare un'applicazione unificata in cui far confluire il tutto sotto un'unica interfaccia, e aggiungergi anche un editor di gramamtiche. Ho ritenuto meglio questo approccio, che consente di condividere subito dei piccoli strumenti, che non imbarcarmi subito in un mega-progettono in cui per mesi non vi è nulla di fruibile.
Fremo per la nuova version 1.0.7!
PS: pubblica da qualche parte delle note su come attrezzare Win 10 per la compilazione OCaml (al momento non ci si capisce niente in rete, tanti articoli vecchi e/o contradditori, anche sui siti ufficiali).
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alvisespano/Polygen/issues/15#issuecomment-360132755, or mute the thread https://github.com/notifications/unsubscribe-auth/ACcZxvTa3WBvTDlay248ASZMFyWvUEpHks5tNy_BgaJpZM4RrEEC .
Tristano, te lo chiedo esplicitamente perché mi sta facendo dannare l'anima: hai voglia di cimentarti un po' nel seguire questa guida per VSCode e OCaml? https://github.com/reasonml/reasonml.github.io/issues/195
Mi piacerebbe che provassi anche tu a crearti l'ambiente di sviluppo - non tanto perché pretendo che sviluppi, ma perché io non riesco a capire come cazzo farlo funzionare e vorrei avere un confronto con te. Io sono arrivato ad avere, come dicevo prima, VSCode che mi builda ocaml e tutto, ma il problem reporting non funziona bene; e neanche il go-to-definition. Nel branch dev trovi i file di configurazione di VSCode e di tutti i cazzi e mazzi che le plugin producono (scusa ma sono fuori di me, non ho mai visto un casino del genere in tutta la mia vita). Spero possano aiutarti a configurarlo: se riesci a riprodurre lo stesso ambiente che ho io (e che, per ora, non riesco nemmeno io a riprodurre sul mio secondo computer) magari in due riusciamo a venirne fuori. Se hai voglia eh :)
ora ho colto appieno il perché ti piaceva "PolyGen", perché tutta la toolchain ha Poly come prefisso, e quindi la G maiuscola di Gen avrebbe semplicemente reso il PolyGen uno dei vari strumenti.
infatti. Questo tool in origine doveva chiamarsi "PolyStringer" (doveva generare anche escapes XML). "PolyStringer" era un gioco di parole che si sarebbe rifatto a "stringer", il termine americano per i reporter "sciacalli" che corrono a filmare incidenti, sparatorie, e altri fatti di cronaca nera. Ma poi ho deciso separare i due tool per XML e UTF-8 escapes, e mi sono imbattuto nel termine "escapist" (ancor migliore di "Stringer") come alternativa al più (informaticamente) ovvio "escaper". Dal dizionario de la Repubblica:
escapismo [e-sca-pì-ṣmo] s.m.
PSICOL — Condizione psicologica caratterizzata dalla tendenza alla fuga dalla realtà, dai problemi, dalle responsabilità
... ora, se questo non è ottimo resoconto degli aspetti ludici del Polygen, cos'altro lo è?
Sarebbe strafigo dare nomi buffi e tutti diversi, come se fossero generati, ai vari tool: tipo "FolpyGUI" o "PolpyEscapist". E' divertente ma è contrario ai miei principi di eleganza, quindi rimane solo una battuta tra me e te :D
concordo con l'eleganza, e confido altresì che il nocciolo duro dei PolyGeniani sia linguisticamente avvezzo a certi giri tortuosi di parole sì da non farsi sfuggiere le implicite possibilità ludiche a cui si presta il nome Polygen (con o senza "G" maiuscola) — come dire, non è certo quel tipo di PolyGente a cui sfuggirebbe il potenziale del «punto G».
Tristano, te lo chiedo esplicitamente perché mi sta facendo dannare l'anima: hai voglia di cimentarti un po' nel seguire questa guida per VSCode e OCaml? reasonml/reasonml.github.io#195
Certo! Dammi solo un po' di tempo per leggere il tutto con calma e poi ti aggiorno.
Ho spostato la discussione su OCaml e VSCode in Issue #16 (OCaml Setup Windows 10)
Ciao @alvisespano ,
Ho appena rilasciato la prima release di PolyTools, una collezione di strumenti per lavorare con Polygen:
https://github.com/alvisespano/Polygen/raw/master/PolyTools-windows_2018-01-24.zip
Allo stato attuale, vi è un solo strumento, PolyEscapist, che converte stringhe Unicode in sequenze escape UTF-8 per Polygen. Semplifica molto la creazione di grammatiche contenenti caratteri non-Ascii: basta fare il copia e incolla e inserire la stringa cone escpaes nel sorgente della grammatica.
Spero di non aver fatto male ad averlo inserito nel repository. Si tratta di uno zippato davvero piccolo, ed ho pensato fosse in linea con quello già disponibile per i binari Polygen per Windows.
Ho creato uno zippato indipendente perché prevedo vari aggiornamenti a breve, sto per creare una nuova GUI per Polygen — una versione moderna di PolyGUI, ma dedicata all'uso delle grammatiche (non all'editing).
Per la homepage di PolyTools, ho pensato di usare una pagina nei nostri Wiki:
Oggi vedrò di creare i contenuti delle pagine, con qualche istruzione e screenshot.