Słyszałem, że wyrażeń S można przedstawić jako drzewa; na przykład (f 1 (g 2) 3)
jakoCzy istnieje "Edytor struktury drzewa" dla Lispa?
.
. . . .
f 1 . 3 [first level]
g 2 [second level]
Czy istnieje edytor (najlepiej za darmo) do edycji tego rodzaju struktury bezpośrednio? To byłoby
- Unikać „wszystkie te nawiasy”
- wykazują elegancja Byłem zrozumienie Lisp.
Chyba programu Pascala może być przydatna, jeśli mogę dowiedzieć się, jak włączyć go do Emacsa. Nie jest to jednak edytor drzewa, którego szukałem, więc myślę, że powinienem pozostawić pytanie na razie otwarte. Przyznaję, że tak naprawdę nie rozumiem Interlisp nawet po przeszukaniu go; czy to był system operacyjny dla Lisp Machines?(Niestety, to prawdopodobnie by nie pomogło bardzo! :) – scarlet
Tak, Interlisp działał na Lisp Machines i był jednym z systemów używanych przed Common Lisp. Jednak Common Lisp był silniej uzależniony od Maclispa, a użycie edytorów struktury nie przysnęło. Nawet jeśli to nie "bardzo pomaga", dobrze jest wiedzieć, że edycja konstrukcji nie jest nowym pomysłem, ale była już używana kilka dekad temu. (Pamiętam o tym na cll, więc możesz chcieć wyszukać ten temat w grupach google.) – danlei
Jeśli naprawdę chcesz napisać tryb Emacsa na coś takiego, może mógłbyś także rozważyć tryb, który po prostu zmienia sposób kod jest reprezentowany i edytowany, zamiast zmieniać bezpośrednio sekst, jak robi to kod Pascala. (Takie jest podejście narzędzi XML, takich jak Oxgen). Wtedy możesz uniknąć ewentualnych problemów z komentarzami w kodzie i łatwiej będzie wymienić kod z innymi, którzy nie używają edycji struktury. – danlei