*** Protokolldatei gestartet *** Datum: Mi. Apr 11 19:56:32 2012 [Mittwoch, 11. April 2012] [19:56:32] Betreten Sie haben den Kanal #forth-ev betreten (-bernd@p5DCD622D.dip0.t-ipconnect.de). [Mittwoch, 11. April 2012] [19:56:34] : ;fsm ] ; immediate [Mittwoch, 11. April 2012] [19:56:34] Modus Kanalmodi: [Mittwoch, 11. April 2012] [19:56:44] Ok, ich probier das gleich mal. [Mittwoch, 11. April 2012] [19:56:44] Hi Bernd [Mittwoch, 11. April 2012] [19:56:47] Hallo Bernd! [Mittwoch, 11. April 2012] [19:57:19] Und ob das auch in gforth so funktioniert (was ich eigentlich erwarte) [Mittwoch, 11. April 2012] [19:57:40] (ok, es gibt ein paar Stolperstellen. 2 allot etc) [Mittwoch, 11. April 2012] [19:58:02] Hallo! [Mittwoch, 11. April 2012] [20:00:55] > : bla: create , ] does> ; [Mittwoch, 11. April 2012] [20:00:55] ok [Mittwoch, 11. April 2012] [20:00:55] > : ;bla ] ; immediate [Mittwoch, 11. April 2012] [20:00:55] ok [Mittwoch, 11. April 2012] [20:00:58] > $55 bla: fasel @i ;bla [Mittwoch, 11. April 2012] [20:01:02] ok <-- da bleibt's stecken. Da fehlt noch was [Mittwoch, 11. April 2012] [20:01:05] [Mittwoch, 11. April 2012] [20:01:10] Ah, nochn ; [Mittwoch, 11. April 2012] [20:01:33] Und dann ist das Wort auch gleich inder Wortliste. Na das ist doch die bessere Lösung ... [Mittwoch, 11. April 2012] [20:01:57] Flasche Klammer [Mittwoch, 11. April 2012] [20:02:20] mea culpa [Mittwoch, 11. April 2012] [20:02:42] Jezz seh ich's auch :-) [Mittwoch, 11. April 2012] [20:08:44] Hmmmm. muß in das ;bla nicht noch ein postpone exit oder sowas? [Mittwoch, 11. April 2012] [20:12:48] > $44 bla: fasel2 noop noop noop ;bla ; [Mittwoch, 11. April 2012] [20:12:48] ok [Mittwoch, 11. April 2012] [20:12:48] > fasel2 .s [Mittwoch, 11. April 2012] [20:12:48] 2752 ok [Mittwoch, 11. April 2012] [20:12:51] > dup @i .s [Mittwoch, 11. April 2012] [20:12:56] 68 2752 ok [Mittwoch, 11. April 2012] [20:12:59] > hex .s [Mittwoch, 11. April 2012] [20:12:59] 44 AC0 ok [Mittwoch, 11. April 2012] [20:13:03] [Mittwoch, 11. April 2012] [20:13:30] hmm [Mittwoch, 11. April 2012] [20:15:08] ; bastelt ein EXIT mit rein und schaltet dann erst den Compile-Mode aus [Mittwoch, 11. April 2012] [20:15:41] Und fängt dann an, die Wordlisten zu verlinken, sofern das erforderlich ist [Mittwoch, 11. April 2012] [20:16:10] Jedenfalls muß ich nach ;bla noch ein ; spendieren, bevor ich den prompt wiederkriege :-? [Mittwoch, 11. April 2012] [20:18:49] Dann bleib lieber bei deinem funktionierendem Code ;) [Mittwoch, 11. April 2012] [20:19:42] Das überzeugt mich jetzt aber nich ... [Mittwoch, 11. April 2012] [20:20:15] Mich auch nicht, aber eine bessere Idee hab ich derzeit nicht :( [Mittwoch, 11. April 2012] [20:22:09] Weiter hinten in dem paper ist diese Stelle [Mittwoch, 11. April 2012] [20:22:11] : CASE: CREATE ] DOES> ( n -- ) OVER + + @ EXECUTE ; [Mittwoch, 11. April 2012] [20:22:11] : ;CASE [COMPILE] ; ; IMMEDIATE ( or just use ; ) [Mittwoch, 11. April 2012] [20:22:11] [Mittwoch, 11. April 2012] [20:22:25] und da ist ein " [compile] ; " drin. [Mittwoch, 11. April 2012] [20:22:52] jo, da hab ich einen branch hier [Mittwoch, 11. April 2012] [20:23:08] da gibts ein [compile] und ein compile, drin. [Mittwoch, 11. April 2012] [20:23:22] Der ist aber noch mit der heissen Nadel gestrickt [Mittwoch, 11. April 2012] [20:24:58] Aha. Dann lassen wir den mal abhängen und ich schreib halt noch was in den Text, daß man das *eigentlich* auch mit " fsm: ... ;fsm " stricken könnte. So als Idee halt. [Mittwoch, 11. April 2012] [20:24:59] ich bin aber optimistisch, das der bald im master zweig landet und dann seinen Weg nach Sourceforge nimmt [Mittwoch, 11. April 2012] [20:25:41] Aber wer weiß, vielleicht kann ich das entsprechend überarbeiten bevor das Heft 2 entsteht. [Mittwoch, 11. April 2012] [20:25:56] die VD 2012-01 ist ja auch nciht so recht weitergediehen. [Mittwoch, 11. April 2012] [20:32:59] Vielleicht sollte ich mit Heft 2 schon mal anfangen, um ein bisschen Druck auf Ulli zu machen ;-) [Mittwoch, 11. April 2012] [20:35:01] tät wahrscheinlich nixx schaden ... Ich wöllt' ja noch was zur neuen mailing Liste schreiben, aber die gibt's ja leider auch noch nicht. [Mittwoch, 11. April 2012] [20:58:04] Ich verwende bei sowas, was ihr da oben diskutiert, immer ein Paar :noname vorne und postpone ; hinten. [Mittwoch, 11. April 2012] [20:58:34] Wobei ich zum Teil dann in Gforth noname : lastxt verwende, damit das XT gleich direkt im Create-Teil schon griffbereit ist. [Mittwoch, 11. April 2012] [21:01:19] Na, keiner mehr da? [Mittwoch, 11. April 2012] [21:01:26] Ich hab den Noble Artikel über finite state machines ausgegraben und nachprogrammiert. [Mittwoch, 11. April 2012] [21:02:40] Und da ist halt gleich wieder 'ne Ungereimtheit aufgefallen: das mit " fsm: bla " neu definierte Wort bla fand sich nicht in der Wortliste. [Mittwoch, 11. April 2012] [21:03:13] Der hat bis amforth 4.2 sogar funktioniert. Erst damit hab ich die Worte, die : schafft temporär unsichtbar gemacht. [Mittwoch, 11. April 2012] [21:03:25] Wobei fsm: den compiler einschaltet und den Rest der Definition bis zum abschließenden Semikolon parse-t und einkompiliert. [Mittwoch, 11. April 2012] [21:03:31] Klassische regression ;) [Mittwoch, 11. April 2012] [21:03:51] Ja, das hab ich mir schon gedacht, daß es an der "Schönheit" hing :-) [Mittwoch, 11. April 2012] [21:05:18] Wobei ich mir noch nicht so ganz klar darüber bin, ob man Worte, die nur ein CREATE am Anfang haben, mit ; auch beenden darf [Mittwoch, 11. April 2012] [21:07:07] ": fsm: ... create ... ;" und danach dann "fsm: foo .... ;" machen darf/soll [Mittwoch, 11. April 2012] [21:07:41] create produziert halt kein colon-sys ... [Mittwoch, 11. April 2012] [21:08:54] Das ist in dem Fall ja auch gewollt. Zwar werden massig xt s aufgehoben, aber aufgerufen werden nur zwei nach allerhand Akrobatik. [Mittwoch, 11. April 2012] [21:09:29] Siehe oben, eigentlich musst du die tatsächliche Defintion mit :noname einleiten. [Mittwoch, 11. April 2012] [21:09:41] Und das xt dann in das mit CREATE erzeugte Wort 'reinschreiben. [Mittwoch, 11. April 2012] [21:09:57] :noname darfst du mit ; beenden. [Mittwoch, 11. April 2012] [21:11:43] Erich, ich glaube, Du erklimmst den Forth-Olymp. Bugs bei den Gurus zu finden ist nicht trivial ;) [Mittwoch, 11. April 2012] [21:12:41] @Bernd: ich schick Dir auch grad den Artikel (draft). Von mir aus kann man den Code schon noch frisieren. [Mittwoch, 11. April 2012] [21:12:48] Noble's Code hätt ich nicht so ohne weiteres hinterfragt .. [Mittwoch, 11. April 2012] [21:13:05] Ooooch, doofe Fragen stellen ist doch eine meiner Lieblingsbeschäftigungen :-) [Mittwoch, 11. April 2012] [21:13:39] Ist auch toll, dass Du ihr fröhnst 8) [Mittwoch, 11. April 2012] [21:13:42] Code von den Gurus ist ja normalerweise auch lehrreich --- außer mann versteht nixx. [Mittwoch, 11. April 2012] [21:13:44] Ist in der Inbox. [Mittwoch, 11. April 2012] [21:15:59] Echte Gurus können sich verständlich ausdrücken. [Mittwoch, 11. April 2012] [21:18:47] Das paper ist von 1994/95. Seit da ist ja schon ein wenig Zeit in's Land gegangen, und die Gewohnheiten haben sich ja möglicherweise geändert ... [Mittwoch, 11. April 2012] [21:19:24] Und das mit dem ] und später EXECUTE machen klappt mit amForth? [Mittwoch, 11. April 2012] [21:19:35] Das sollte überhaupt nicht gehen :-) [Mittwoch, 11. April 2012] [21:19:55] Der Code im Artikel funktioniert. [Mittwoch, 11. April 2012] [21:21:41] Das, was du da mit ] erzeugst ist eine Tabelle aus xts. [Mittwoch, 11. April 2012] [21:21:48] Funktioniert nur bei threaded code. [Mittwoch, 11. April 2012] [21:21:52] Da aber dann schon :-). [Mittwoch, 11. April 2012] [21:22:02] amforth ist ITC [Mittwoch, 11. April 2012] [21:22:49] Das kann sein. Das steht sogar in dem paper" [Mittwoch, 11. April 2012] [21:22:52] Here CREATE makes a new header in the dictionary, , stores the top [Mittwoch, 11. April 2012] [21:22:52] number on the stack in the first cell of the parameter field, and ] [Mittwoch, 11. April 2012] [21:22:52] switches to compile mode. The run time code computes the address of [Mittwoch, 11. April 2012] [21:22:52] the cell containing the vector to the desired action, fetches that vector [Mittwoch, 11. April 2012] [21:22:56] and executes the action. [Note: This simple and elegant implementation [Mittwoch, 11. April 2012] [21:22:59] only works with indirect-threaded Forths. An ANS Standard alternative is [Mittwoch, 11. April 2012] [21:23:03] provided in the Appendix.] [Mittwoch, 11. April 2012] [21:23:04] [Mittwoch, 11. April 2012] [21:23:11] indirect threaded. [Mittwoch, 11. April 2012] [21:23:22] Und da dacht' ich wahrscheinlich "Glück gehabt" :-) [Mittwoch, 11. April 2012] [21:24:24] Das klappt schon mit Gforth nicht, wegen primitive centric. [Mittwoch, 11. April 2012] [21:24:36] Gforth-ITC und ' , IS compile, könnte helfen... [Mittwoch, 11. April 2012] [21:25:16] Was macht denn PERFORM? [Mittwoch, 11. April 2012] [21:25:45] @i execute [Mittwoch, 11. April 2012] [21:25:58] ah ja [Mittwoch, 11. April 2012] [21:26:23] Da war mir die "Erfindungshöhe" zu gering. Das hab ich wegrationalisiert :-) [Mittwoch, 11. April 2012] [21:29:17] for the records: http://www.forth.org/literature/noble.html [Mittwoch, 11. April 2012] [21:32:09] Ich hab' in bigForth einen eigenen Table-Compiler implementiert für solche Fälle, der mit T] angeschaltet wird (und mit [ beendet werden muss) [Mittwoch, 11. April 2012] [21:36:02] ich zieh mich zurück. bis neulich [Mittwoch, 11. April 2012] [21:36:09] Beenden MatthiasT hat den Server verlassen (""). [Mittwoch, 11. April 2012] [21:40:29] Ansonsten kann man einfach : ', ' , ; definieren, und vor jedes Wort ', schreiben. [Mittwoch, 11. April 2012] [21:40:32] Das tut's auch. [Mittwoch, 11. April 2012] [21:41:34] Mag schon sein, aber ich fand ] aufrufen und "fertig" schon sehr beeindruckend. Eben keine anderen Zeichen dazwischen nötig. [Mittwoch, 11. April 2012] [21:42:55] Ja, funktioniert aber eben dann nur bei ITC. [Mittwoch, 11. April 2012] [21:43:25] ein T] [ definieren oder mit noname: rumkaspern sind ja noch zwei Richtungen. Am Ende will ich eigentlich die Aufgabe von Stephen Pelc lösen: die Morsetabelle "deklarativ" mit " s ... " hinzuschreiben. [Mittwoch, 11. April 2012] [21:44:21] Im Appendix ist ja noch 'ne " ... fsm: ... ;fsm " Lösung aufgezeigt, aber die funktioniert so, wie sie da steht, wahrscheinlich auch erst mal nicht. [Mittwoch, 11. April 2012] [21:45:29] Na, dann wünsch ich mal gut's Nächtle. [Mittwoch, 11. April 2012] [21:45:33] Gute Nacht! [Mittwoch, 11. April 2012] [21:45:37] * BerndPaysan macht das Licht aus [Mittwoch, 11. April 2012] [21:45:51] Verlassen erwaelde hat den Kanal verlassen (bye).