*** Protokolldatei gestartet *** Datum: Mi. Nov 23 19:57:14 2011 [Mittwoch, 23. November 2011] [19:57:14] Betreten Sie haben den Kanal #forth-ev betreten (-bernd@p5DCD67C2.dip0.t-ipconnect.de). [Mittwoch, 23. November 2011] [19:57:17] Modus Kanalmodi: [Mittwoch, 23. November 2011] [19:58:13] Betreten MatthiasT hat den Kanal betreten (~mt@dslb-094-220-170-080.pools.arcor-ip.net). [Mittwoch, 23. November 2011] [19:58:17] Hallo! [Mittwoch, 23. November 2011] [19:58:24] Hallo Bernd! [Mittwoch, 23. November 2011] [19:58:26] Der erste Nicht-Zombie rührt sich ;-) [Mittwoch, 23. November 2011] [19:58:56] Eigentlich sollte "mein" Account erst jetzt erschienen sein.... [Mittwoch, 23. November 2011] [19:59:09] Isser auch. [Mittwoch, 23. November 2011] [19:59:33] GottSeiDank, keine KI unter meinem Label ;) [Mittwoch, 23. November 2011] [20:01:42] Kennst Du sourceforge.net/projects/androidforth/ ? [Mittwoch, 23. November 2011] [20:02:18] Oder (vermutlich das glieche) http://www.ptaisp.co.za/androidforth/ [Mittwoch, 23. November 2011] [20:04:03] Ich guck' mir das an. *** Protokolldatei gestartet *** Datum: Mi. Nov 23 20:11:07 2011 [Mittwoch, 23. November 2011] [20:11:07] Betreten Sie haben den Kanal #forth-ev betreten (-bernd@p5DCD67C2.dip0.t-ipconnect.de). [Mittwoch, 23. November 2011] [20:11:08] Modus Kanalmodi: [Mittwoch, 23. November 2011] [20:11:21] Ups, Konversation hat sich beendet... [Mittwoch, 23. November 2011] [20:12:01] Nebel in München macht die WLANs schlechter? [Mittwoch, 23. November 2011] [20:12:12] Nein, das WLAN war die ganze Zeit stabil ;-) [Mittwoch, 23. November 2011] [20:12:42] Beide URLs gehen zu dem J2EE-Forth. [Mittwoch, 23. November 2011] [20:12:51] Das ist mehr ein Java mit Forth-Syntax als ein Forth. [Mittwoch, 23. November 2011] [20:13:27] Ich bin nur dieser tage drüber gestolpert. Und da mich Java so rein gar nicht interessiert, wollt ich es Dir zumindest kundtun [Mittwoch, 23. November 2011] [20:13:43] Ja, so sonderlich interessiert mich Java auch nicht ;-) [Mittwoch, 23. November 2011] [20:14:09] Android ist doch Java (in Abwandlung)... [Mittwoch, 23. November 2011] [20:14:21] Naja, Android ist ein Linux und eine JVM obendrauf. [Mittwoch, 23. November 2011] [20:14:41] Als Zwischenschicht gibt's ein Userland mit C. [Mittwoch, 23. November 2011] [20:14:59] Mit etwas busybox sieht das ungefähr so aus wie die üblichen Embedded-Linux-Systeme. [Mittwoch, 23. November 2011] [20:15:03] Gibts das wirklich oder ist das nur bei ge-rooteten Geräten verfügbar [Mittwoch, 23. November 2011] [20:15:19] IIRC solls doch nur Dalvik geben [Mittwoch, 23. November 2011] [20:15:28] Bei gerooteten Geräten ist das der Standard, ansonsten muss man die Busybox im androidterm installieren. [Mittwoch, 23. November 2011] [20:16:13] Dalvik ist die Umgebung der Wahl, wenn man Google glaubt. [Mittwoch, 23. November 2011] [20:16:54] Gabs nicht auch ein Forth in JavaScript? (Förtchen oder so) [Mittwoch, 23. November 2011] [20:17:09] dann könnte man HTML und CSS dazupacken [Mittwoch, 23. November 2011] [20:17:11] Kann schon sein. [Mittwoch, 23. November 2011] [20:17:14] und schon läufts überall [Mittwoch, 23. November 2011] [20:17:54] Mir ist bei Forth immer wichtig, dass ich die Interaktivität behalte. [Mittwoch, 23. November 2011] [20:18:07] Bei HTML+CSS+JavaScript+Forth-in-JavaScript ist da nichts interaktiv. [Mittwoch, 23. November 2011] [20:18:18] http://forthfreak.net/jsforth80x25.html [Mittwoch, 23. November 2011] [20:18:54] Nett ;-) [Mittwoch, 23. November 2011] [20:19:05] Sieht so richtig retro aus :=) [Mittwoch, 23. November 2011] [20:19:39] Der Zeileneditor kann kein Backspace, so retro war's auch 1970 nicht ;-) [Mittwoch, 23. November 2011] [20:20:03] Kommt aber dem schon ziemlich nahe, was man heutzutage unter retro versteht ;) [Mittwoch, 23. November 2011] [20:20:43] Bei mir geht Backspace wie erwartet [Mittwoch, 23. November 2011] [20:22:03] see gibt den javascript Quellcode aus. Nicht schlecht ;) [Mittwoch, 23. November 2011] [20:22:25] see fcos [Mittwoch, 23. November 2011] [20:22:27] function forthfcos() { // fcos [Mittwoch, 23. November 2011] [20:22:29] ftos = Math.cos(ftos) ; [Mittwoch, 23. November 2011] [20:22:31] } [Mittwoch, 23. November 2011] [20:23:40] Naja, ich verwende Chrome, da wird wohl nicht alles exakt so sein wie im Firefox. [Mittwoch, 23. November 2011] [20:28:36] Ja, wenn man Backspace drückt, dann gibt der Chrome das nicht an "key" durch. [Mittwoch, 23. November 2011] [20:28:41] Dann kann das nicht funktionieren. [Mittwoch, 23. November 2011] [20:29:23] Ist schon schön, wie man mit Forth selbt solche Sachen debuggen kann ;-) [Mittwoch, 23. November 2011] [20:29:32] :) [Mittwoch, 23. November 2011] [20:30:24] Ich stell' mir eine Entwicklungsumgebung für Web-Seiten ungefähr so vor: [Mittwoch, 23. November 2011] [20:31:02] Man hat eine schmale Forth-Konsole, und kann da interaktiv mit seinem Browser kommunizieren. [Mittwoch, 23. November 2011] [20:32:24] Das DOM sollte abbildbar sein. Sonst findet man sich nicht mehr zurecht [Mittwoch, 23. November 2011] [20:32:45] Auf das sollte man interaktiv zugreifen können, und es auch inspizieren können. [Mittwoch, 23. November 2011] [20:32:53] Also sowas wie ein "words" auf das DOM machen und so. [Mittwoch, 23. November 2011] [20:32:58] btw: Das wäre mal eine interessante Idee: Einen Baum als Datenstack [Mittwoch, 23. November 2011] [20:33:12] Dann hat man Kinder und Siblings [Mittwoch, 23. November 2011] [20:33:53] Push macht Kinder und Clone die Geschwister [Mittwoch, 23. November 2011] [20:33:57] oder so [Mittwoch, 23. November 2011] [20:36:21] Neben Push (neues Child) und Pop (Childs entfernen) muss es da schieben nach links/rechts geben. [Mittwoch, 23. November 2011] [20:36:36] Und natürlich einfügen. [Mittwoch, 23. November 2011] [20:36:59] Das ist schon eine sehr nette Idee, weil Baummanipulation immer ein ziemlicher Krampf ist. [Mittwoch, 23. November 2011] [20:36:59] klar [Mittwoch, 23. November 2011] [20:37:32] Wenn man dann noch mal eben so die Wurzel umhängen kann... (ok, frei assoziiert) [Mittwoch, 23. November 2011] [20:37:46] Swap ;-) [Mittwoch, 23. November 2011] [20:38:56] Das ist ja ein Binärbaum, sondern ein Baum mit beliebigem Fanout. [Mittwoch, 23. November 2011] [20:39:19] Wenn ich Swap mache, dann schiebe ich den aktuell am TOS befindlichen Knoten eins nach unten, und seine Kinder landen auf der aktuellen Ebene. [Mittwoch, 23. November 2011] [20:39:44] Das vorherige Wurzelelement wird das aktuelle Element. [Mittwoch, 23. November 2011] [20:39:57] Dessen andere Kinder wandern eine Ebene tiefer in den Baum. [Mittwoch, 23. November 2011] [20:40:37] Ist das dann aber noch Forth? Das lebt doch vom "einfachen" LiFo Stack [Mittwoch, 23. November 2011] [20:40:52] Naja, das wäre ja ein extra Baum-Stack. [Mittwoch, 23. November 2011] [20:41:09] Extra zum Floating-Point Stack? [Mittwoch, 23. November 2011] [20:41:12] Genau. [Mittwoch, 23. November 2011] [20:41:32] Das dient ja nur dazu, Bäume so zu manipulieren wie den Rest vom Forth-System. [Mittwoch, 23. November 2011] [20:41:38] Baum Stack klingt eher nach Forest [Mittwoch, 23. November 2011] [20:41:49] Aber abgeholzt ;-) [Mittwoch, 23. November 2011] [20:41:53] ;) [Mittwoch, 23. November 2011] [20:43:22] Grundprinzip bei Forth ist, möglichst wenig Daten auf dem Stack herumfliegen zu lassen. [Mittwoch, 23. November 2011] [20:43:40] Also etwa durch implizite States zu ersetzen. [Mittwoch, 23. November 2011] [20:43:52] Der Baum-Stack wäre natürlich schon so eine Art Pointer in einen echten Baum im Speicher. [Mittwoch, 23. November 2011] [20:43:54] hmm [Mittwoch, 23. November 2011] [20:44:18] Ich habe es bislang so verstanden dass eigentlich alles auf dem Stack transportiert wird. [Mittwoch, 23. November 2011] [20:44:31] Ja, transportiert schon. [Mittwoch, 23. November 2011] [20:44:37] Aber es soll da nicht persisent herumliegen. [Mittwoch, 23. November 2011] [20:44:38] Und nur das, was wirklich woanders liegen muss, kommt auch da an [Mittwoch, 23. November 2011] [20:45:07] Beispiel: Turtle-Grafik, das ist viel forthiger als alle Punkte erst auf den Stack legen und dann ein Polygon zeichnen. [Mittwoch, 23. November 2011] [20:45:13] Was auch für mich der Grund war, warum es sowenig Datenstrukturen gibt, Alles ist eine Zelle.... [Mittwoch, 23. November 2011] [20:45:27] Änlich wie ich TCL alles ein String ist [Mittwoch, 23. November 2011] [20:46:51] Ich glaube, der Grund, warum es so wenig Datenstrukturen gibt, ist, dass die mit plain-Forth so unhandlich sind. [Mittwoch, 23. November 2011] [20:47:21] Wenn man ein OOP mit aktuellem Objekt hat, dann werden sie erheblich handlicher. [Mittwoch, 23. November 2011] [20:47:25] Deswegen wäre ein Baum-Stack nicht irgendwo im Speicher und der Forth-Lifo Stack addressiert den, sondern der Baumstack wäre Forth selbst [Mittwoch, 23. November 2011] [20:47:33] Da fliegt nämlich nicht der Pointer auf die Datenstruktur lose auf dem Stack herum. [Mittwoch, 23. November 2011] [20:48:20] Im Zweifel auch außerhalb des mit @/! adressierbaren Raumes [Mittwoch, 23. November 2011] [20:48:39] Ja, das kann durchaus auch ein Register sein oder sowas. [Mittwoch, 23. November 2011] [20:50:26] Ein Knoten in einem solchen Baum-Forth hätte einen Pointer auf "up" (nach oben), ein Blatt und ein Array von Zweigen. [Mittwoch, 23. November 2011] [20:51:13] TopOfStack wäre eine Liste von Elementen, einige davon könnten Verweise auf andere Listen haben. [Mittwoch, 23. November 2011] [20:51:38] Arithmetik wäre interessant, die operiert gleich auf Vektoren [Mittwoch, 23. November 2011] [20:52:09] Der Optimierer im Compiler hätte auch gleich richtig was zu tun [Mittwoch, 23. November 2011] [20:53:00] Aber ein Forth wäre das nicht mehr. [Mittwoch, 23. November 2011] [20:53:15] Ich meine auch, dass das nicht den normalen Datenstack ersetzt. [Mittwoch, 23. November 2011] [20:53:25] doch doch, genau das [Mittwoch, 23. November 2011] [20:53:34] Das ist nur die Frage: Was mache ich mit so etwas wie dem DOM, wenn ich das in Forth programmiere. [Mittwoch, 23. November 2011] [20:54:29] DOM hat mich eigentlich nur auf die Idee mit den alternativen Stacklayout gebracht. [Mittwoch, 23. November 2011] [20:54:39] Eigentlich beisst sich das. [Mittwoch, 23. November 2011] [20:54:45] Ja, die Idee ist auf alle Fälle nett. [Mittwoch, 23. November 2011] [20:54:52] DOM hat einen Wurzelknoten und der bleibt konstant [Mittwoch, 23. November 2011] [20:55:14] Das ist ein Stack, wo man laufend neue Knoten anlegt# [Mittwoch, 23. November 2011] [20:55:38] Zumindest habe ich derzeit so meine Probleme, mir das vorzustellen [Mittwoch, 23. November 2011] [20:55:58] Ja, da muss man ein paar Experimente machen. [Mittwoch, 23. November 2011] [20:57:20] der TOS ist zumindest nicht der Root des Baums [Mittwoch, 23. November 2011] [20:57:39] eher eine Art aktuelle Ebene [Mittwoch, 23. November 2011] [20:57:41] Nein, das ist der aktuelle Knoten im Baum, wo man gerade herumklettert. [Mittwoch, 23. November 2011] [20:57:54] Deshalb muss es auch sowas wie up/down/left/right geben. [Mittwoch, 23. November 2011] [20:58:11] Die durchaus sagen können "hier geht's nicht mehr weiter" [Mittwoch, 23. November 2011] [20:58:52] Es sollte dann auch möglich sein, ohne Rekursion durch den ganzen Baum zu gehen. [Mittwoch, 23. November 2011] [20:59:37] Also erst versuchen, nach up zu gehen, und wenn das nicht klappt, nach right und wenn man da am Ende ist, eins down, eins right. [Mittwoch, 23. November 2011] [21:00:29] up ist einfach: ein Synonym für drop [Mittwoch, 23. November 2011] [21:00:43] Nein, drop würde das aktuelle Element aus dem Baum entfernen. [Mittwoch, 23. November 2011] [21:00:50] Samt seiner Kinder. [Mittwoch, 23. November 2011] [21:01:10] Na, ich seh schon, wir sind einer Meinung ;) [Mittwoch, 23. November 2011] [21:01:33] Ich gebe es aber zu: die Idee ist absolut unausgegoren [Mittwoch, 23. November 2011] [21:01:51] DOM ist ja nur der Aufhänger. [Mittwoch, 23. November 2011] [21:02:14] Vektoren sind sicher auch ein interessanter Use-Case [Mittwoch, 23. November 2011] [21:02:16] Ideen fallen nicht fertig vom Himmel. [Mittwoch, 23. November 2011] [21:02:53] Im Ergebnis dürfte TOS einfach nur eine komplexere Struktur als bislang haben [Mittwoch, 23. November 2011] [21:03:13] Aber erheblich. [Mittwoch, 23. November 2011] [21:03:21] und die VM weiss das angemessen zu würdigen, indem sie einige Primitiva bereitstellt. [Mittwoch, 23. November 2011] [21:04:18] links/rechts/hoch/runter sind sicher immer vonnöten [Mittwoch, 23. November 2011] [21:04:59] vorwärts/rückwärts macht die nächste Dimension erreichbar [Mittwoch, 23. November 2011] [21:06:03] Tja, weiß nicht, 3D-Bäume haben wir in der Vorlesung nicht gehabt ;-) [Mittwoch, 23. November 2011] [21:06:37] 4D Bäume werden unübersichtlich ;) [Mittwoch, 23. November 2011] [21:07:08] Da heißt die Navitagion dann "vorher/nachher", oder? [Mittwoch, 23. November 2011] [21:07:15] aber eine n-dimensionale Baumstruktur.... Sind sowas nicht Faktale ? [Mittwoch, 23. November 2011] [21:07:21] Kann man bei Dateisystemen mit Snapshot-Strutkur sicher gebrauchen. [Mittwoch, 23. November 2011] [21:07:27] jo [Mittwoch, 23. November 2011] [21:07:42] Fraktale haben in der Dimension Nachkommastellen. [Mittwoch, 23. November 2011] [21:07:47] Juhu [Mittwoch, 23. November 2011] [21:08:46] Wenn dann noch Fuzzy Logic dazukommt, haben wir die Weltformel komplett [Mittwoch, 23. November 2011] [21:09:25] Ich glaube, neuronale Netze kann man damit leichter implementieren. [Mittwoch, 23. November 2011] [21:09:44] Und das müssen auch nicht Bäume sein, das können auch Graphen sein. [Mittwoch, 23. November 2011] [21:10:18] Ist das eine Idee, die VM auf einem graph laufen zu lassen? [Mittwoch, 23. November 2011] [21:11:17] Das macht das alles bestimmt noch komplizierter ;-) [Mittwoch, 23. November 2011] [21:11:48] Dafür tut man sich vielleicht leichter, wenn man den Optimizer schreibt, weil Graphen kommen im Compilerbau öfter mal vor. [Mittwoch, 23. November 2011] [21:11:49] Womöglich inkl. Loops. Das würde das Dictionary sicher vereinfachen, wenn die Schleifen nicht mehr im dort sondern im Datenbereich laufen [Mittwoch, 23. November 2011] [21:13:54] Auf jeden Fall braucht man auch so Operationen wie "für alle Blätter auf der aktuellen Ebene mache x" [Mittwoch, 23. November 2011] [21:14:51] Im Graphen gibt es m.W. keine Ebenen [Mittwoch, 23. November 2011] [21:15:18] Nur Nachbarn [Mittwoch, 23. November 2011] [21:15:29] Ja, das macht die Navigation schwierig. [Mittwoch, 23. November 2011] [21:15:51] Der Iterator wäre dann "für alle direkten Nachbarn"... [Mittwoch, 23. November 2011] [21:16:22] Na, das Durchlaufen eines Graphen ist nicht so einfach, da muss man auch sagen können "außer denen, die ich schon besucht habe" [Mittwoch, 23. November 2011] [21:17:13] Besuchen ist ok, solange es auch ein "ignorier mich" Flag gibt. [Mittwoch, 23. November 2011] [21:17:39] Schleifen sollten in grenzen möglich sein [Mittwoch, 23. November 2011] [21:18:04] Ist nur die Frage, wer das Flag hat: Der Iterator oder der Knoten [Mittwoch, 23. November 2011] [21:18:42] Eher der Iterator. [Mittwoch, 23. November 2011] [21:19:08] 60:40 [Mittwoch, 23. November 2011] [21:19:58] parallel agierende Iteratoren könnten sich auch dafür interessieren [Mittwoch, 23. November 2011] [21:20:39] (vor allem Sub-Iteratoren des Master-Iterators) [Mittwoch, 23. November 2011] [21:20:47] aber ich hör lieber auf [Mittwoch, 23. November 2011] [21:21:15] Ich glaub', für heute war das eine Menge Brainstorming ;-) [Mittwoch, 23. November 2011] [21:21:30] Anregend wars auf jeden Fall [Mittwoch, 23. November 2011] [21:21:45] Bis neulich dann [Mittwoch, 23. November 2011] [21:21:49] Ciao. [Mittwoch, 23. November 2011] [21:21:53] * BerndPaysan macht das Licht aus [Mittwoch, 23. November 2011] [21:21:57] Beenden MatthiasT hat den Server verlassen ("").