Rekneme, ze bysme se zbavili textu (at uz ASCII nebo unicode) jako vyrazoveho prostredku pro psani programu a misto toho pouzili nejake abstrahovane symboly (konec koncu, prekladac ten text stejne musi prechroustat na neco pouzitelnejsiho). Zobrazeni kodu by pak bylo plne v kompetenci editoru a z prekladacu by se dala vyhodit cast syntakticke analyzy. Zmizely by problemy s tim, ze nekdo pouziva jine formatovaci znaky (whitespace, odradkovani, etc). Diff by nebyl rozdilem mezi dvema kusy textu, ale mezi dvema retezci symbolu, ktere maji /vyznam/ -- tim by se taky dalo z kodu vytahnout lepsi statistiky. Text by pak uz byl urcen jen pro skutecne retezce a pro editor, aby se s nim dalo domluvit pomoci klavesnice.
Doufam, ze se toho dockam a nebudu to muset udelat sam :P
"Zobrazeni kodu by pak bylo plne v kompetenci editoru a z prekladacu by se dala vyhodit cast syntakticke analyzy."
Takové nápady tu už byly. Má to podstatné problémy:
* můžeš použít jen jeden editor pro daný jazyk
* přijdeš o možnost automatické úpravy kódu --- např. ve vim, emacsu nebo třeba i ms wordu si můžeš psát makra --- jenomže jak si napíšeš makro ten tvůj editor pracující se syntaktickým stromem?
cast tohoto problemu resi treba fortress pomoci stylesheetu. kod lze psat i v ascii i s vyuzitim specialnich znaku, aby se kod vice podobal matematickemu zapisu. v podstate se jedna jen o ruzna zobrazeni daneho programu, takze lze mezi jednotlivymi mody jednoduse prepinat a je na editoru, ktere zobrazeni si vybere.
No jo, když proti lispovým makrům se prostě nedá argumentovat :-)
Tohle je, aspoň jak to chápu já, pokus dostat psaní "překladačů" na trochu vyšší stupeň abstrakce -- namísto gramatik, atributovaného překladu, tabulek symbolů atd. se vytváří komponovatelné "koncepty"... Prostě takový mírný pokrok v mezích zákona.
Lispaři musí pochopit, že mainstreamové jazyky sice konvergují k Lispu, ale nikdy se jím nestanou :-)