*** Protokolldatei gestartet *** Datum: Mi Jun 4 20:22:30 2008 [Mi Jun 4 2008] [20:22:30] Betreten Sie haben den Kanal #forth-ev betreten (~bernd@dslb-084-056-039-139.pools.arcor-ip.net). [Mi Jun 4 2008] [20:22:30] Topic Das Kanal-Topic lautet: ": hi ( -- ) 4th love? IF discuss THEN ;". [Mi Jun 4 2008] [20:22:30] Topic Das Topic wurde am 04.06.2008 20:01:36 von uho!~uho@e177193143.adsl.alicedsl.de gesetzt. [Mi Jun 4 2008] [20:22:35] Hallo! [Mi Jun 4 2008] [20:22:40] Hallo Bernd [Mi Jun 4 2008] [20:22:43] Hallo [Mi Jun 4 2008] [20:23:57] Bernd, hast Du Dir eine passende USB-Tastatur und Maus für den Mac-Mini kaufen können? [Mi Jun 4 2008] [20:24:07] Ja, gab's für lau beim Litec. [Mi Jun 4 2008] [20:24:09] Kennt einer von euch ein Forth Eclipse Modus? [Mi Jun 4 2008] [20:24:43] Ich nicht. [Mi Jun 4 2008] [20:24:54] Was die beim Java-Refactoring können, ist für Forth sicher spannend [Mi Jun 4 2008] [20:25:03] Nein - was stellst Du dir vor? [Mi Jun 4 2008] [20:25:12] Syntax Highlite? [Mi Jun 4 2008] [20:25:25] Forth-Refactoring geht ganz einfach: Codesegment ausschneiden, Namen geben, und dann suchen&ersetzen. [Mi Jun 4 2008] [20:25:34] _das_ ist ja fast noch einfach (obwohl bei Forth das auch nicht so trivial ist) [Mi Jun 4 2008] [20:25:36] Bei Java-Refactoring muss man richtig hart arbeiten. [Mi Jun 4 2008] [20:25:50] refactoring ist in Forth sehr schwer automatisch zu machen, da man ja die Syntax der Sprache ändern kann. [Mi Jun 4 2008] [20:26:22] Der Programmierer kann das besser, weil der ja sein Programm versteht. [Mi Jun 4 2008] [20:26:52] Betreten frunobulax hat den Kanal betreten (~mhx@e243118.upc-e.chello.nl). [Mi Jun 4 2008] [20:26:55] Und da ist es eben häufig copy, paste + rename [Mi Jun 4 2008] [20:26:57] Du kennst Programmierer?? ;=) [Mi Jun 4 2008] [20:26:57] Hallo Marcel [Mi Jun 4 2008] [20:27:16] Hallo Marcel [Mi Jun 4 2008] [20:27:24] Seit wann kennen die ihren Code? [Mi Jun 4 2008] [20:27:29] Hi marcel [Mi Jun 4 2008] [20:28:14] Mir viel nix besseres ein als Programmierer. Seinen Code zu kennen ist ja erste Voraussetzung um überhaupt was zielgerichtet am Programm ändern zu können. [Mi Jun 4 2008] [20:28:30] Sonst ist es eh nur rumprobieren und Daumen drücken. [Mi Jun 4 2008] [20:28:33] Ein "markieren/ausschneiden/benamsen/suchen+ersetzten im Projekt" so ganz auf Knopfdruck wäre schon hübsch [Mi Jun 4 2008] [20:28:49] Da ist Forth auch gut, weil da schnell gar nix mehr geht. [Mi Jun 4 2008] [20:29:09] Hallo, allen zusammen. [Mi Jun 4 2008] [20:29:09] Ich habe mal eine Weile QS bei Software gemacht, da hat man wohl eine andere Sicht auf die Dinge .... [Mi Jun 4 2008] [20:29:47] Es gibt sicher Leute, die ihren Code nicht kennen. [Mi Jun 4 2008] [20:29:48] Eben und das kontextfreie suchen+ersetzen geht im allgemeinen in Forth nicht, weil sich ja die Syntax des Programms im Laufe des Quellcodes ändern kann. [Mi Jun 4 2008] [20:29:51] Aber wie soll man die nennen? [Mi Jun 4 2008] [20:30:09] Codeknechte [Mi Jun 4 2008] [20:30:11] Ja, im allgemeinen geht das wohl nicht, aber meistens schon. [Mi Jun 4 2008] [20:30:22] Wir hatten man Code-Monkeys [Mi Jun 4 2008] [20:30:48] Was es Basic, was man mit Affen dritter Ordnung schreiben konnte?? [Mi Jun 4 2008] [20:31:08] Die Frage ist, wieviel von den Defining-Words und Compiling-Words soll so ein Eclipse-Mode verstehen können. [Mi Jun 4 2008] [20:32:23] Ob es je soweit kommen wird, das man aus eine Reiher von Worten einen DOES> automatisch extrahieren kann, wage ich auch mal zu bezweifeln [Mi Jun 4 2008] [20:32:47] Die automatische Umformung in Defining-Words wäre doch interessant ;-) [Mi Jun 4 2008] [20:32:51] Aber was ich bei dem Java-Code erlebt habe, war schon hübsch [Mi Jun 4 2008] [20:33:21] Beispiel: Wörter der Form : xxx tudies tudas ; [Mi Jun 4 2008] [20:33:48] refaktorieren in ein defining word tudies,tudas: Create , DOES> @ >r todies r> tudas ; [Mi Jun 4 2008] [20:34:19] Stackeffekte sollten sich auch formal ermittln lassen oder eine nette Meldung "sorry, zu kompliziert" [Mi Jun 4 2008] [20:34:20] und dann alle : xxx tudies tudas ; in tudies,tudas: xxx verwandeln [Mi Jun 4 2008] [20:35:02] Und der Compiler findet auch noch schoene Namen dazu? [Mi Jun 4 2008] [20:35:07] Außerdem kann man auch klein anfangen [Mi Jun 4 2008] [20:35:33] Die Namen muss man sogar beim Java-Refactoring noch selbst erfinden. [Mi Jun 4 2008] [20:35:43] Und klein heisst, keine Unetrstützung für Compiling- und Defining-Worte? [Mi Jun 4 2008] [20:35:44] Nee, Namen sind zu wichtig, um sie COmputern überlassen zu können ;=) [Mi Jun 4 2008] [20:36:03] Wenn es eine offensichtliche Lösung gibt, ja [Mi Jun 4 2008] [20:36:47] s/eine/keine/ sorry [Mi Jun 4 2008] [20:37:14] Schon Syntax-Highlighting wir schwierig, wenn man Compiling-Words erlaubt:: [Mi Jun 4 2008] [20:37:24] : define : ; [Mi Jun 4 2008] [20:37:39] : /define postpone ; ; immediate [Mi Jun 4 2008] [20:37:47] Es gibt aber ein Colorer Modul, das Forth meint zu kennen (von einem Russen formuliert) [Mi Jun 4 2008] [20:37:54] define : /define [Mi Jun 4 2008] [20:37:58] define ; /define [Mi Jun 4 2008] [20:38:30] und dann müssen jetzt : ; nicht besonders hervorgehoben werden, aber dafür define und /define [Mi Jun 4 2008] [20:38:44] Basiert so im wesentlichen auf ANS Worten ohne groß weiter zu gehen [Mi Jun 4 2008] [20:39:04] Und das kann mit meinem Beispiel noch umgehen [Mi Jun 4 2008] [20:39:05] ? [Mi Jun 4 2008] [20:39:27] Das sind alles so schön pathologische Fälle. [Mi Jun 4 2008] [20:39:35] Die meisten Forth-Programmierer machen das ja gar nicht. [Mi Jun 4 2008] [20:39:44] Colorer ist das/ein Syntaxfarbenmodul bei eclipse [Mi Jun 4 2008] [20:39:58] Ganz im Gegenteil: Selbst in Extensions wie meinem OOF gibt's : und ;, die gleich gehighlightet werden dürfen, aber etwas anderes tun. [Mi Jun 4 2008] [20:40:56] Betreten Martin_53 hat den Kanal betreten (-martin@p5B3844EA.dip.t-dialin.net). [Mi Jun 4 2008] [20:41:07] Und wenn es dann noch eine Anbindung an den Debugger gibt (mit gforth als backend) wäre die Entwicklungsumgebung auf der Höhe der Zeit :=)) [Mi Jun 4 2008] [20:41:13] Ich denke, es wäre sehr nützlich, wenn uns klar wäre, was geht und was eben nicht geht. [Mi Jun 4 2008] [20:41:25] guten Abend ... [Mi Jun 4 2008] [20:41:29] hi [Mi Jun 4 2008] [20:41:55] Also: inhaltliche Erweiterungen von Compiling-Words gehen, [Mi Jun 4 2008] [20:41:58] sowas wie [Mi Jun 4 2008] [20:42:33] Hallo Martin [Mi Jun 4 2008] [20:42:49] Grüß Dich Bernd .-) [Mi Jun 4 2008] [20:42:50] : : >in @ >r bl word ." defining" count type r> >in ! : ; [Mi Jun 4 2008] [20:43:06] Die "richtige" Lösung ist natürlich, den Syntax-Highlighter erweiterbar zu machen ;-) [Mi Jun 4 2008] [20:43:21] Also einen Syntax-Highlighter-Kommentar machen, etwa [Mi Jun 4 2008] [20:43:29] das nur einfach Funktionalität zu : hinzufügt. Seine Bedeutung bleibt im wesentlichen erhalten. [Mi Jun 4 2008] [20:44:01] \syntax foobar \([^ ]+\) -> foobar \1 [Mi Jun 4 2008] [20:44:27] Kommentar ( compiling-word: define ) [Mi Jun 4 2008] [20:44:27] Oder wie auch immer man das für Eclipse formulieren kann. [Mi Jun 4 2008] [20:46:01] Ja - also schauen wir zunächst einmal nach einem Syntax-Highlighter, der anhand von regulären Ausdrücken das Highlighting machen kann und der passende Definitionen im Dokument liest und verarbeitet.... [Mi Jun 4 2008] [20:46:41] Ganz so wie die Kommentare zu Steuerung der Emacs-Modes [Mi Jun 4 2008] [20:47:35] Verzeihung, aber wozu braucht man das Highlightung? Ich war zu spaet :-) [Mi Jun 4 2008] [20:48:08] [Mi Jun 4 2008] [20:48:45] Highlighting bringt Farbe nach Forth ohne deswegen zu Colorforth zu mutieren [Mi Jun 4 2008] [20:49:24] Ha, ha??! [Mi Jun 4 2008] [20:49:50] Die Diskussion begann mit der Frage nach einem Forth-Mode für Eclipse. Typische Modes für Java, C++, haben da immer Syntax-Highlighting. Die Idee ist wohl dass dann der Quellcode besser zu verstehen ist. [Mi Jun 4 2008] [20:50:15] Tatsächlich ist colorForth der ehrlichere Ansatz. Farbe trägt dann auch wirklich Bedeutung. [Mi Jun 4 2008] [20:50:30] Es ist wohl klar (jetzt) das das fuer Forth nicht gilt. [Mi Jun 4 2008] [20:51:13] Gforth bringt ja einen Emacs-Mode mit Syntax Highlighting mit. [Mi Jun 4 2008] [20:51:21] Aber natürlich ohne Erweiterbarkeit. [Mi Jun 4 2008] [20:52:23] Und der Emacs-Mode kann mit "normalem" Forth-Code umgehen, aber mit esoterischem nicht? [Mi Jun 4 2008] [20:52:43] Me too :-) Fuehr iForth hat Hanno was fuer nedit und gedit. Er ist sehr zufrieden damit. [Mi Jun 4 2008] [20:54:01] So etwa. [Mi Jun 4 2008] [20:54:15] IMHO bringt Farbe etwas mehr Übersicht in den Code. Kommentare werden dezenter (durch ein schwaches Grau), ?do/loop springt als Magenta eher ins Auge etc pp [Mi Jun 4 2008] [20:54:30] Das ist auch eine 90%-Lösung, die für 90% der Fälle völlig ausreicht. [Mi Jun 4 2008] [20:54:43] Und für die restlichen 10% kann der Nutzer ja das gforth.el von Hand anpassen, wenn er es unbedingt will. [Mi Jun 4 2008] [20:54:48] Für Syntax-Highlighting ist es ja auch nicht so schlimm, wenn das mal was falsches anzeigt. Aber bei Refactoring, macht man sich dadurch dann eben den Source-Code kaputt. Das ist nicht akzeptabel, [Mi Jun 4 2008] [20:55:57] Das Farbmodul beim eclipse schon good-enough, es kennt die Standardworte, die zudem noch ein bissel klassifiziert sind [Mi Jun 4 2008] [20:56:28] Welches Farbmodul? [Mi Jun 4 2008] [20:56:37] colorer.sf.net [Mi Jun 4 2008] [20:57:27] Wenn ich dann noch einen Codebereich markieren kann und dann via Kontextmenü sage "das wird jetzt ein eigenes Wort, machmal" ist das auch schon hilfreich (für mich) [Mi Jun 4 2008] [20:58:08] Im Prinzip sind die Regeln ja nicht so kompliziert: [Mi Jun 4 2008] [20:58:17] Ein Wort, das ein Defining word enthält, ist selbst eines. [Mi Jun 4 2008] [20:58:36] Ein Wort, das mit immediate abgeschlossen wird, ist in einer anderen Klasse. [Mi Jun 4 2008] [20:59:13] Und ein Wort, das mit restrict oder compile-only abgeschlossen wird, sollte nur innerhalb von Definitionen auftauchen (sonst fett rot) [Mi Jun 4 2008] [21:02:09] Ja - das setzt voraus, dass man immediate, restrict/compile-only als unveränderbar annimmt und das man keine Defining-Words zu normalen Worten macht (wie oben vorgeführt). Ich denke das ist eine sinnvolle Annahme. [Mi Jun 4 2008] [21:02:35] Das wird mir zu bunt hier - nee, nicht wirklich. Farbe muss ins Spiel - aber ich muss weg! Also (vielleicht) bis zum nächsten Mal. CU all [Mi Jun 4 2008] [21:02:55] Kurz und schweigsam! Gute Nacht. [Mi Jun 4 2008] [21:03:03] :-) [Mi Jun 4 2008] [21:03:15] Verlassen Martin_53 hat den Kanal verlassen. [Mi Jun 4 2008] [21:03:31] Topic uho setzt das Kanal-Topic auf ": highlite ( -- ) 4th love? IF discuss THEN ;". [Mi Jun 4 2008] [21:04:50] BTW Refactoring: [Mi Jun 4 2008] [21:05:19] Ich habe kürzlich in MINOS eine neue Textwidget-Klasse eingeführt: Floating-Point Input [Mi Jun 4 2008] [21:05:42] Die erforderte, dass die Parameterreihenfolge sich ändern musste. [Mi Jun 4 2008] [21:06:15] Weil FP-Zahlen nunmal nicht auf dem normalen Stack liegen [Mi Jun 4 2008] [21:06:52] Also kann man nicht einfach mit einem SWAP oder in diesem Fall ROT die Zahl mit dem darunterliegenden Element vertauschen. [Mi Jun 4 2008] [21:07:04] Stellen wir uns vor, ein Automat hätte die Änderung machen sollen. Wäre das gegangen? [Mi Jun 4 2008] [21:08:12] Der Automat hätte alle Aufrufe von "textfield new" suchen müssen, und die beiden Parameter vertauschen. [Mi Jun 4 2008] [21:09:50] Und die beiden Parameter zu isolieren ist doch richtig schwer. [Mi Jun 4 2008] [21:09:51] Ich bastele gerade ein sed-script, das zumindest die Theseus-generierten Files konvertiert. [Mi Jun 4 2008] [21:10:00] Da geht's ja noch. [Mi Jun 4 2008] [21:12:12] Wobei das auch nicht einfach ist, denn die "Parameter" sind Aktionen, die mehrere Zeilen lang sein können [Mi Jun 4 2008] [21:15:20] Um überhaupt eine Chance zu haben, muss man die Stackeffekte aller beteiligten Worte kennen. Und die müssen sinnvoller weise auch noch fest sein ( nicht ?DUP) . [Mi Jun 4 2008] [21:16:37] Ich meine dabei wieder den allgemeinen Fall. Für Deine spezielle Situation kann man da sicher was über Heuristiken hinbekommen. [Mi Jun 4 2008] [21:17:27] Zum Glück gibt es nur endlich viele Vorkommnisse von textfield new ;-) [Mi Jun 4 2008] [21:17:51] Also kann man das häufigste Auftreten behandeln, und den Rest von Hand machen. [Mi Jun 4 2008] [21:21:24] ich klinke mich aus. [Mi Jun 4 2008] [21:21:31] bis demnächst [Mi Jun 4 2008] [21:21:45] Beenden MatthiasT hat den Server verlassen (EOF From client). [Mi Jun 4 2008] [21:22:25] Vielleicht war das ja auch ein prima Schlusswort :-) Ich denke das Thema ist auch erstmal erschöpfen diskutiert.... [Mi Jun 4 2008] [21:22:48] Ja, also bis nächste Woche. [Mi Jun 4 2008] [21:23:05] bye [Mi Jun 4 2008] [21:24:31] Beenden frunobulax hat den Server verlassen ("a quit that really quits"). [Mi Jun 4 2008] [21:24:48] ciao [Mi Jun 4 2008] [21:25:30] Ciao