*** Protokolldatei gestartet *** Datum: Do. Dez 11 20:01:02 2014 [Donnerstag, 11. Dezember 2014] [20:01:02] Betreten Sie (-bernd@p4FC54093.dip0.t-ipconnect.de) haben den Kanal #forth-ev betreten. [Donnerstag, 11. Dezember 2014] [20:01:08] Modus Kanalmodi: [Donnerstag, 11. Dezember 2014] [20:01:10] Hallo! [Donnerstag, 11. Dezember 2014] [20:01:21] Hallo [Donnerstag, 11. Dezember 2014] [20:15:20] So, Tagesschau fertig. [Donnerstag, 11. Dezember 2014] [20:15:56] Betreten martin_53 (-quassel@pD9E47E87.dip0.t-ipconnect.de) hat diesen Kanal betreten. [Donnerstag, 11. Dezember 2014] [20:16:01] Moment noch. Telefon [Donnerstag, 11. Dezember 2014] [20:16:02] Hallo Martin! [Donnerstag, 11. Dezember 2014] [20:16:13] Grüße! [Donnerstag, 11. Dezember 2014] [20:17:48] @Bernd: Ich habe mein Launchpad-Programm gefunden, das einen Weihnachtsbaum auf dem Oszi malt. Hättest Du verwendung dafür (31c3)? [Donnerstag, 11. Dezember 2014] [20:18:29] Ja, kann man verwenden. [Donnerstag, 11. Dezember 2014] [20:18:50] Dann muss ich noch ein kleines Programm schreiben, das die Stellaris-Launchpads-Daten auswertet als XY-Scope. [Donnerstag, 11. Dezember 2014] [20:20:02] Schade, ich wäre gerne dabai. Aber es wird ja wohl noch einen 32c3 geben. [Donnerstag, 11. Dezember 2014] [20:20:42] Wenn der CCC bis dahin nicht als Terrororganisation verboten ist, ja ;-9 [Donnerstag, 11. Dezember 2014] [20:24:40] Ich wollte heute soetwas ähnliches http://www.aliexpress.com/item/10pcs-Test-Hooks-Clips-for-Logic-Analyzers-Logic-Test-Clip-5-Colors-Red-Black-Yellow-Green/1971283113.html [Donnerstag, 11. Dezember 2014] [20:24:40] bei Conrad bestellen, habe es dort aber nicht gefunden. Wie würdest du 'Testclip' auf deutsch übersetzen? Prüfklemme? [Donnerstag, 11. Dezember 2014] [20:26:07] Bestell' es einfach bei Alibaba. [Donnerstag, 11. Dezember 2014] [20:27:21] Bei Conrad dürfte eine einzige Klemme so viel kosten, wie bei den Chinesen 10 oder 25. [Donnerstag, 11. Dezember 2014] [20:27:43] Jau! BTW Wie kommt so ein Chinese zu einem arabischen Namen? [Donnerstag, 11. Dezember 2014] [20:29:31] http://en.wikipedia.org/wiki/Alibaba_Group#Founding [Donnerstag, 11. Dezember 2014] [20:29:46] Der hat alle möglichen Leute auf der Welt gefragt, ob sie den Namen "Alibaba" kennen, und überall kannte man ihn. [Donnerstag, 11. Dezember 2014] [20:30:54] Sie haben auch "Alimama" registriert ;-) [Donnerstag, 11. Dezember 2014] [20:31:13] Alimama find ich auch gut ... falls uns eine heiraten will :-) [Donnerstag, 11. Dezember 2014] [20:31:45] 1,5 Finger Tippsystem ist langsam. [Donnerstag, 11. Dezember 2014] [20:33:59] Einer meiner Söhne mesinte ich solle mich mal hiermit beschäftigen WiFi Serial Transceiver Module w/ ESP8266 [Donnerstag, 11. Dezember 2014] [20:34:16] Sodele, bin wieder da [Donnerstag, 11. Dezember 2014] [20:34:40] Was sagt ihr auf einen ersten Blick dazu? [Donnerstag, 11. Dezember 2014] [20:35:00] Ich kenn das Ding nicht. [Donnerstag, 11. Dezember 2014] [20:36:59] http://www.mikrocontroller.net/articles/ESP8266 [Donnerstag, 11. Dezember 2014] [20:40:05] Ach ja, die Klemmen: Von Hirschmann, bei Conrad: http://www.conrad.de/ce/de/product/101095/Abgreifklemme-Steckanschluss-064-mm-CAT-I-Rot-SKS-Hirschmann-Micro-KLEPS/?ref=search&rt=search&rb=1 [Donnerstag, 11. Dezember 2014] [20:40:22] Da kostet eine so viel wie bei den Chinesen 30. [Donnerstag, 11. Dezember 2014] [20:40:41] Und meine Erfahrung: Hirschmannklemmen sind echt Murx. [Donnerstag, 11. Dezember 2014] [20:42:36] Ich habe ja viel Zeit zum Überlegen - es sei denn, jemand leiht mir 'ne echt gute dritte Hand. [Donnerstag, 11. Dezember 2014] [20:43:00] Dann könnt ich schon eher etwas basteln. [Donnerstag, 11. Dezember 2014] [20:43:36] Du kannst die Zeit auch benutzen, die Wartezeit zu überbrücken. Die chinesische Post ist sehr langsam, dafür auch extrem billig. [Donnerstag, 11. Dezember 2014] [20:43:53] Ich habe gerade ein Pfund Plätzchen nach China geschickt: 3,45€. [Donnerstag, 11. Dezember 2014] [20:44:04] Die sind dann 2-3 Wochen unterwegs. [Donnerstag, 11. Dezember 2014] [20:44:10] Das ist eine wichtige Information! Danke! [Donnerstag, 11. Dezember 2014] [20:45:00] Vom Grobmotoriker-Gebastel her: Kauf' lieber ein vorkonfiguriertes Kabel mit den Klemmen [Donnerstag, 11. Dezember 2014] [20:45:03] http://www.aliexpress.com/item/Wholesale-10PCS-Quality-test-of-the-quality-test-hook-clip-Logic-analyzer-test-folder-For/1589745185.html [Donnerstag, 11. Dezember 2014] [20:45:32] Da hast du dann 10 Klemmen mit Flachbandkabel und Stecker für die Pins auf der anderen Seite. [Donnerstag, 11. Dezember 2014] [20:45:45] Stimmt. [Donnerstag, 11. Dezember 2014] [20:48:32] Ich hätte mal eine Forthige Frage (wenns grad passt) [Donnerstag, 11. Dezember 2014] [20:48:53] Ja! [Donnerstag, 11. Dezember 2014] [20:49:13] Im F2012 werden Name Tokens eingeführt, die man im traverse-wordlist benutzen kann. [Donnerstag, 11. Dezember 2014] [20:49:32] Sonst bekommt man die eher nicht zu fassen [Donnerstag, 11. Dezember 2014] [20:49:42] Genau. [Donnerstag, 11. Dezember 2014] [20:49:57] Dafür kann man mit name>interpret/>compile/>string durchaus nützliches damit anstellen. [Donnerstag, 11. Dezember 2014] [20:50:07] Ja. [Donnerstag, 11. Dezember 2014] [20:50:28] Meine Idee ist nun, dasss man ein find-name erschafft, dass ähnlich wie find arbeitet [Donnerstag, 11. Dezember 2014] [20:50:28] In Gforth kann man mit FIND-NAME ( addr u -- nt/0 ) auch danach suchen. [Donnerstag, 11. Dezember 2014] [20:50:33] nur hald moderner [Donnerstag, 11. Dezember 2014] [20:50:39] addr/len -- nt| 0 [Donnerstag, 11. Dezember 2014] [20:50:47] ah ja. Ok. [Donnerstag, 11. Dezember 2014] [20:51:09] Zusätzlich wäre noch ein name>flags nützlich, damit man so Sachen wie IMMEDIATE abfragen kann [Donnerstag, 11. Dezember 2014] [20:51:27] Ne, kannst du mit NAME>COMPiLE [Donnerstag, 11. Dezember 2014] [20:51:44] Die Idee dazu kam mir zum einen beim Basteln mit den Konstantenfaltern und den ganzen flags dort [Donnerstag, 11. Dezember 2014] [20:51:49] Wenn dir das ein ' execute als TOS zurückgibt, ist es immediate, bei ' COMPILE, nicht. [Donnerstag, 11. Dezember 2014] [20:52:10] Klar kannst du für solche Flags dann auch ein eigenes NAME>FLAGS bauen. [Donnerstag, 11. Dezember 2014] [20:52:43] Aber auch solche Hints für den Optimierer [Donnerstag, 11. Dezember 2014] [20:53:19] "name>flags immediate?" oder "name>flags foldable_2?" etc pp [Donnerstag, 11. Dezember 2014] [20:53:25] Wobei ich die Hints für den Optimizer eher vom xt aus zugänglich machen würde. [Donnerstag, 11. Dezember 2014] [20:53:48] Weil der Optimizer im Inneren von COMPILE, stecken sollte. [Donnerstag, 11. Dezember 2014] [20:54:12] In bigForth sind alle Optimizer-Hints vom XT aus zugänglich. [Donnerstag, 11. Dezember 2014] [20:55:23] Hmm. das ist ein Argument. "Dagegen" spricht, dass die Flags bei den Systemen, die ich mir so angeschaut habe, in gleichen Byte liegen wie IMMEDIATE [Donnerstag, 11. Dezember 2014] [20:55:52] Ja, das kann man ja machen, aber das Byte sollte halt dann auch vom xt aus zugänglich sein. [Donnerstag, 11. Dezember 2014] [20:56:00] OK, mecrisp mag nicht typisch sein, aber inspirerend ist es [Donnerstag, 11. Dezember 2014] [20:56:31] Also etwa, ein Wort ist link count flags | cfa body [Donnerstag, 11. Dezember 2014] [20:57:08] Im aktuellen Git-Gforth (bald 0.8.0) ist der Header ja eh so aufgebaut, dass xt=nt [Donnerstag, 11. Dezember 2014] [20:57:30] Parallel bin ich noch am Studium vom camelforth, da sind ein paar Flags (hidden etc) auch parallel im "Flagfleld" aka Längenwort des Headers drin [Donnerstag, 11. Dezember 2014] [20:58:02] Und die haben allesamt nt != xt [Donnerstag, 11. Dezember 2014] [20:58:48] Traditionell ist nt != xt, aber es ist schwierig, alle Operationen dann korrekt zu implementieren. Insbesondere >NAME ( xt -- nt ) macht echte Schwierigkeiten. [Donnerstag, 11. Dezember 2014] [20:59:26] >name ist eher eine Suche denn ein Zeigen. [Donnerstag, 11. Dezember 2014] [21:00:52] Ich mag jetzt aber auch nicht die Headerstruktur der ganzen Worte vereinheitlichen (wollen). So wie ich es im amforth gemacht habe, ist die Suche im Dictionary ziemlich geradlinig. Prüfe String, wenn nicht, nimm die nächste Zelle und mach da weiter. [Donnerstag, 11. Dezember 2014] [21:02:11] Die Zusammenfassung von count und flags ist auch eher pragmatisch, eine Zelle hat 16bit, so lange Worte "wirds nie geben". sic [Donnerstag, 11. Dezember 2014] [21:02:50] Ja. [Donnerstag, 11. Dezember 2014] [21:03:18] Deswegen war ja meine Idee, das man das Nametoken etwas mehr lieb hat und ausgehend von diesem alle Informationen bereitstellt [Donnerstag, 11. Dezember 2014] [21:03:22] Bei Gforth auf 64-Bit-Systemen ist das Count+Flag 64 Bits lang, so lange Wörter gibt's echt nicht ;-) [Donnerstag, 11. Dezember 2014] [21:04:08] gforth hat eh zuviel Speicher zur Verfügung. Da fallen ein paar Bits doch gar nicht auf [Donnerstag, 11. Dezember 2014] [21:05:31] Das Name-Token ist schon bei TRAVERSE-WORDLIST auf einigen Widerstand gestoßen. [Donnerstag, 11. Dezember 2014] [21:05:33] "Mein" Find-Name ist bislang eher eine Kopie vom FIND, nur dass es addr/len als Input nimmt. [Donnerstag, 11. Dezember 2014] [21:06:18] NAME>COMPILE darf durchaus komplexere Operationen durchführen. [Donnerstag, 11. Dezember 2014] [21:06:20] Ich habs auch nicht verstanden, warum man das eingeführt hat. Jetzt wo es nunmal da ist, kann und sollte man es auch nutzen. [Donnerstag, 11. Dezember 2014] [21:06:48] Dazu gehört IMHO, dass man es auch außerhalb von traverse-wordlist auffinden kann. [Donnerstag, 11. Dezember 2014] [21:06:52] Für Traverse-Wordlist war es notwendig, das einzuführen. [Donnerstag, 11. Dezember 2014] [21:07:20] Ja, wir können uns dem FIND-Problem widmen, indem wir jetzt Gforth's FIND-NAME als Standard vorschlagen. [Donnerstag, 11. Dezember 2014] [21:07:30] NAME>COMPILE und NAME>INTERPRET sind ja schon da. [Donnerstag, 11. Dezember 2014] [21:07:41] Genau. [Donnerstag, 11. Dezember 2014] [21:08:31] NAME>FLAGS würden da IMHO ganz gut mit reinpassen. Der Interpreter liest dann sowas wie IMMEDIATE oder HIDDEN aus, der Compiler hat andere Flags [Donnerstag, 11. Dezember 2014] [21:10:11] Dann wären ausgehend vom Namen alls Informationen über ein Wort direkt zugreifbar. [Donnerstag, 11. Dezember 2014] [21:11:14] Der Interpreter muss nur NAME>INTERPRET machen, der Compiler nur NAME>COMPILE. Mehr müssen die über die internen Details nicht wissen. [Donnerstag, 11. Dezember 2014] [21:11:23] Nur zum Verständnis: " ... traversing a WORDLIST and obtaining basic information about each node." NODE ist hier der Verweis auf _ein_ word und nicht auf eine Verzweigung hinter der sich noch mehr words verbergen? [Donnerstag, 11. Dezember 2014] [21:11:35] Node ist ein Wort. [Donnerstag, 11. Dezember 2014] [21:11:43] Gut. [Donnerstag, 11. Dezember 2014] [21:12:19] (Ich war in Baumstrkturen verfangen.) [Donnerstag, 11. Dezember 2014] [21:13:02] Der Konstantenfalter muss nicht mal im Compiler drinstecken. Manche Dinge kann auch der Interpreter ausbügeln [Donnerstag, 11. Dezember 2014] [21:13:46] Genauer gesagt: NAME>COMPILE macht der Text-Interpreter beim Compilieren. [Donnerstag, 11. Dezember 2014] [21:13:57] Wenn du da dein Konstantenfalten einbaust, dann ist das ok. [Donnerstag, 11. Dezember 2014] [21:14:36] Ich würde es aber in COMPILE, einbauen, weil das die Schnittstelle für Anwendungen ist, die selbst was compilieren wollen. [Donnerstag, 11. Dezember 2014] [21:14:47] Also Macros und so. [Donnerstag, 11. Dezember 2014] [21:15:21] Das Thema werde ich erst vertiefen, wenn ich mit der 430er Portierung soweit bin, dass der auch Recognizer kann. Fehlt nicht mehr viel, aber ein bissel Arbeit ists schon noch. [Donnerstag, 11. Dezember 2014] [21:16:03] Vielleicht findet Matthias ja vorher noch Zeit, mal schauen [Donnerstag, 11. Dezember 2014] [21:16:17] Wahrscheinlich zu simpel gedacht: nfa zeigt auf cfa (mit allen flags). Warum nicht einen Zeiger bei cfa definieren, der wiederum auf nfa zeigt. Oder bin ich da im Mittelalter? [Donnerstag, 11. Dezember 2014] [21:16:41] Zeiger kosten Platz. Den haben nur die gforth-PC'ler ;) [Donnerstag, 11. Dezember 2014] [21:16:54] Aha! [Donnerstag, 11. Dezember 2014] [21:18:05] Gforth baut den Header jetzt einfach so, dass alles, was feste Länge hat, direkt vor dem XT ist. [Donnerstag, 11. Dezember 2014] [21:18:19] Also count vtable link | cfa body [Donnerstag, 11. Dezember 2014] [21:18:26] Äh [Donnerstag, 11. Dezember 2014] [21:18:36] count link vtable | cfa body [Donnerstag, 11. Dezember 2014] [21:18:42] Die vtable kommt direkt vor der CFA. [Donnerstag, 11. Dezember 2014] [21:19:08] vtable könntest du weglassen, das ist für embedded overkill. [Donnerstag, 11. Dezember 2014] [21:19:16] Schreibt mal darüber was in der VD. Macros Konstantenfalten ... [Donnerstag, 11. Dezember 2014] [21:19:19] Aber der Rest ist in der Anordnung auch nicht größer als konventionell. [Donnerstag, 11. Dezember 2014] [21:19:41] Matthias Koch wird darüber im ARM-Sonderheft was schreiben. [Donnerstag, 11. Dezember 2014] [21:19:42] ich hab count|flags name link cfa body [Donnerstag, 11. Dezember 2014] [21:19:56] Scön. [Donnerstag, 11. Dezember 2014] [21:20:07] link geht aufs nächste count|flags. [Donnerstag, 11. Dezember 2014] [21:20:20] Einfach die count|flags nach hinten ziehen, dann kannst du nt=xt machen. [Donnerstag, 11. Dezember 2014] [21:20:31] Und damit bekommt COMPILE, einfachen Zugang zu den Flags. [Donnerstag, 11. Dezember 2014] [21:21:10] camelforth hat link count|flags name cfa body [Donnerstag, 11. Dezember 2014] [21:21:50] wenn ich count vorne habe, weiss ich einfach, wie lang name ist. Andersrum muss ich suchen [Donnerstag, 11. Dezember 2014] [21:22:21] Nein, wenn der Count hinten ist, weißt du, wie lange der Name ist. Du kommst ja von hinten. [Donnerstag, 11. Dezember 2014] [21:22:38] Link zeigt dann nicht auf name, sondern z.B. auf cfa. [Donnerstag, 11. Dezember 2014] [21:22:41] hmm. Stimmt auch wieder. [Donnerstag, 11. Dezember 2014] [21:22:43] Oder das nächste link. [Donnerstag, 11. Dezember 2014] [21:23:08] Es gibt einfach zwei Dinge mit variabler Länge bei einem Forth-Wort: Der Code und der Name. [Donnerstag, 11. Dezember 2014] [21:23:19] Der Code läuft vom XT aus vorwärts, der Name vom XT aus rückwärts. [Donnerstag, 11. Dezember 2014] [21:23:41] Beim Code braucht man die Länge nicht angeben (außer für Inlining, da ist das wieder sinnvoll). [Donnerstag, 11. Dezember 2014] [21:23:44] Ich sag mal Tschüss - lass aber den Rechner weiter laufen. wg Logdatei und weil die Diskussion so interresant ist. Ich komme dann später wieder und mach das Licht aus. [Donnerstag, 11. Dezember 2014] [21:23:48] Ciao! [Donnerstag, 11. Dezember 2014] [21:23:56] CU [Donnerstag, 11. Dezember 2014] [21:24:18] cu [Donnerstag, 11. Dezember 2014] [21:24:30] warum hat man dann den NT überhaupt in den Standard aufgenommen? [Donnerstag, 11. Dezember 2014] [21:24:58] Ja, weil die überwiegende Mehrheit der Systeme ein eigenständiges NT *hat*, welches nicht identisch mit dem xt st. [Donnerstag, 11. Dezember 2014] [21:25:18] Ich habe das mit dem NT=XT auch erst als Folge der Diskussion eingebaut. [Donnerstag, 11. Dezember 2014] [21:26:19] Damit hat man auch zwei Flag-Gruppen: EIne für den Interpreter und eine für den Compiler. Der eine geht vom NT aus, der andere vom XT [Donnerstag, 11. Dezember 2014] [21:27:13] Wie organisiert man einen Optimierer überhaupt? Der müsste doch jede Menge Wissen über die Worte haben [Donnerstag, 11. Dezember 2014] [21:27:50] Gibt verschiedene Ansätze, je nachdem, wo du hinwillst. [Donnerstag, 11. Dezember 2014] [21:28:03] In bigForth habe ich einen Peephole-Optimizer. [Donnerstag, 11. Dezember 2014] [21:28:07] Wenn ich das gforth richtig verstanden habe, kombiniert ihr jede Menge Wortsequenzen in ein eigenes Wort [Donnerstag, 11. Dezember 2014] [21:28:30] DUP IF etc werden mit speziellen Worten "abgefangen" [Donnerstag, 11. Dezember 2014] [21:28:58] Nein, wir kopieren die Teile der Wörter ohne NEXT in einen anderen Speicherbereich, und machen daraus eine "dynamische Superinstruction" [Donnerstag, 11. Dezember 2014] [21:29:23] Also DUP besteht aus sowas wie push TOS, NEXT [Donnerstag, 11. Dezember 2014] [21:29:56] Also ein DUP-IF dupliziert trotzdem TOS auch wenn das IF gleich danach wieder ausliest? [Donnerstag, 11. Dezember 2014] [21:30:09] Wo quasi ein MOV ausreichen würde? [Donnerstag, 11. Dezember 2014] [21:30:11] Ja. [Donnerstag, 11. Dezember 2014] [21:30:31] Ok, das hatte ich anders vermutet [Donnerstag, 11. Dezember 2014] [21:30:40] Da können bei Gforth nur statische Superinstruktionen helfen, die können mehr optimieren. [Donnerstag, 11. Dezember 2014] [21:30:56] Davon haben wir nicht sehr viele, so Sachen wie literal + und so, die helfen viel. [Donnerstag, 11. Dezember 2014] [21:31:09] Ich dachte, ihr entdeckt die DUP IF Sequenzen und nehmt anstelle der Sequenz ein eigenes DUP-IF, das quasi vor-optimiert ist [Donnerstag, 11. Dezember 2014] [21:31:23] Ja, wenn das so vorgesehen ist. [Donnerstag, 11. Dezember 2014] [21:32:05] \ super24 = dup ?branch [Donnerstag, 11. Dezember 2014] [21:32:08] Das ist auskommentiert. [Donnerstag, 11. Dezember 2014] [21:32:14] in peeprules.vmg [Donnerstag, 11. Dezember 2014] [21:33:42] Entweder bringt's nix, oder es kollidiert mit dem gforth-native-Versuch von Anton, der aber zur Zeit nicht aktiv gepflegt wird. [Donnerstag, 11. Dezember 2014] [21:33:43] Ok, das war jetzt ein willkürliches Beispiel. [Donnerstag, 11. Dezember 2014] [21:34:05] Aber in peeprules.vmg kannst du nachgucken, welche Beispiele es tatsächlich als statische Superinstructions gibt. [Donnerstag, 11. Dezember 2014] [21:34:53] Aber mal angenommen der DUP IF würde was bringen. Das kann doch nur der Interpreter erkennen und passend zusammenfassen ?! (so ähnlich wie der Konstanten falten könnte) [Donnerstag, 11. Dezember 2014] [21:35:23] der compile, sieht doch nur DUP und irgendwann später IF. Das eine "normal" das andere immediate [Donnerstag, 11. Dezember 2014] [21:35:50] Der compile, sieht das IF gar nicht, der sieht das ?BRANCH innerhalb des IFs. [Donnerstag, 11. Dezember 2014] [21:35:56] Wie soll der compile, da was optimieren können? [Donnerstag, 11. Dezember 2014] [21:36:15] DUP ist lange vorbei, der Code ist geschrieben [Donnerstag, 11. Dezember 2014] [21:36:24] Na, er merkt sich, was beim letzen Mal gekommen ist. War's ein DUP, dann kann er das mit dem ?BRANCH ggf kombinieren. [Donnerstag, 11. Dezember 2014] [21:36:39] Wir schreiben auf unseren PCs ins RAM ;-) [Donnerstag, 11. Dezember 2014] [21:36:45] Wir können das jederzeit wieder ändern... [Donnerstag, 11. Dezember 2014] [21:36:55] Pah, Warmduscher ;) [Donnerstag, 11. Dezember 2014] [21:37:02] Du kannst auch einfach die Sachen, die sich noch ändern können, in einen Puffer schreiben. [Donnerstag, 11. Dezember 2014] [21:37:36] Dann muss aber der ?branch wissen, was DUP für einen Code hinterlassen hat um dann aus dem push ein MOV machen zu können [Donnerstag, 11. Dezember 2014] [21:38:08] RAM Zugriffe vs Register-Schubsen. Letzteres ist IIRC dramatisch schneller [Donnerstag, 11. Dezember 2014] [21:38:41] Das ?branch ist nichts, was ich pflegen würde wollen. [Donnerstag, 11. Dezember 2014] [21:39:48] In bigForth gibt's eine Tabelle, die für verschiedenen typischen Code Pattern zum Kombinieren hat. [Donnerstag, 11. Dezember 2014] [21:40:25] Das ist abstrakter wie "Wort pusht TOS am Ende" und "Wort popt TOS am Anfang", die dann als Kombination natürlich "nix tun" haben. [Donnerstag, 11. Dezember 2014] [21:41:01] Genau sowas zu erkennen, das kann compile, ? [Donnerstag, 11. Dezember 2014] [21:41:12] Das sieht doch nur den grade aktuellen XT [Donnerstag, 11. Dezember 2014] [21:42:12] Dazu muss COMPILE, natürlich einen eigenen, internen Zustand haben. [Donnerstag, 11. Dezember 2014] [21:43:16] hmm. Den hat doch schon der Interpreter? (ok, ketzerisch, ich meine auch nicht STATE, sondern die Konstantenfalte etwas allgemeiner) [Donnerstag, 11. Dezember 2014] [21:43:58] Der kann DUP IF's genauso erkennen wie 1 2 + als 3 [Donnerstag, 11. Dezember 2014] [21:44:37] Der Interpreter zu früh dran. [Donnerstag, 11. Dezember 2014] [21:44:53] Der weiß nicht, wenn der Nutzer ein Wort mit POSTPONE ?BRANCH definiert, dass das auch springen kann. [Donnerstag, 11. Dezember 2014] [21:45:18] Oder wenn der Nutzer ein Wort macht, dass postpone literal postpone + macht. [Donnerstag, 11. Dezember 2014] [21:45:29] Das ist dann ja auch "2 +", sieht der Interpreter aber nicht. [Donnerstag, 11. Dezember 2014] [21:46:13] da kann man signalisieren, dass postpone "böse" ist und nicht optimierbar ist. Oder sowas in der Art. Mir gehts erst mal nur ums allgemeine Verständnis. [Donnerstag, 11. Dezember 2014] [21:46:40] Die Konstantenfalter sind da ein schöner Einstieg [Donnerstag, 11. Dezember 2014] [21:47:17] Ich bitte auch um Nachsicht, ich bin kein Informatiker ;) [Donnerstag, 11. Dezember 2014] [21:47:31] Ne, mach' das einfach in COMPILE, - das ist der richtige Platz dafür. [Donnerstag, 11. Dezember 2014] [21:47:55] POSTPONE ist nicht böse. [Donnerstag, 11. Dezember 2014] [21:48:00] Dein Rat ist wertvoll, den Preis werd ich rausfinden ;) [Donnerstag, 11. Dezember 2014] [21:48:20] Für heute ists genug. [Donnerstag, 11. Dezember 2014] [21:48:28] Ok, dann gute Nacht! [Donnerstag, 11. Dezember 2014] [21:48:32] * Bernd macht das Licht aus [Donnerstag, 11. Dezember 2014] [21:48:36] SChönen Abend noch [Donnerstag, 11. Dezember 2014] [21:48:42] Verlassen MatthiasT (~mt@dslb-146-060-152-046.146.060.pools.vodafone-ip.de) hat diesen Kanal verlassen.