2018-07-19T17:49Z Erich: Moin! 2018-07-19T17:50Z Erich: Heft ist angekommen :-) 2018-07-19T17:55Z Matthias: Moin 2018-07-19T17:55Z Matthias: Bei mir auch ! :=) 2018-07-19T17:55Z Erich: Hallo Matthias! 2018-07-19T17:55Z Matthias: Hallo Erich 2018-07-19T17:56Z Matthias: amforth auf dem risc-v hat Fortschritte gemacht 2018-07-19T17:56Z Matthias: amforth RISC-V 32 IM 2018-07-19T17:56Z Matthias: Do 19. Jul 17:32:16 CEST 2018* 2018-07-19T17:56Z Matthias: endlosschleife eines TYPE's 2018-07-19T17:57Z Erich: Jezz guck Adorno! 2018-07-19T17:57Z Erich: Respekt! 2018-07-19T17:58Z Matthias: Der Code im Repository kann sogar compiliert werden... 2018-07-19T17:59Z Matthias: rev 2288 2018-07-19T18:00Z Matthias: Zusammen mit den Tools von https://www.sifive.com/products/tools/ (as, objdump, openocd, etc) 2018-07-19T18:00Z Erich: Da muss ich ja mal gschwind einen svn up machen, weil mein Zeugs ist bei ref 2272 :-) 2018-07-19T18:00Z Matthias: Hast Du einen Chip? 2018-07-19T18:01Z Erich: Ja, ich hab doch auch das Bördchen im arduino Formfaktor. 2018-07-19T18:02Z Erich: Es gibt jetzt ein neues Unterverzeichnis in meiner working copy. :-) 2018-07-19T18:02Z Bernd: Hallo! 2018-07-19T18:02Z Erich: Hallo Meister! 2018-07-19T18:02Z Matthias: Das ist prima zum debuggen. Bunte LED und einen seriellen Port 2018-07-19T18:02Z Matthias: Hallo Bernd 2018-07-19T18:02Z Erich: hifive1, genau so heisst das. 2018-07-19T18:02Z Bernd: Ich habe heute noch gar nicht in den Briefkasten geguckt... 2018-07-19T18:03Z Matthias: mich würd ja mal interessieren, ob das Uploaden bei Dir auch funktioniert. Sooo ganz trivial ist das mit dem gdb und dem openocd ja nicht 2018-07-19T18:03Z Bernd: Gforth ist seit gestern Nacht ein Mann https://en.wikipedia.org/wiki/Man_or_boy_test 2018-07-19T18:04Z Bernd: : A {: k x1 x2 x3 x4 x5 | B :} recursive 2018-07-19T18:04Z Erich: @Matthias gibt's in dem Baum ein miniHowTo, wie man den risc-v verarztet? 2018-07-19T18:04Z Bernd: k 0<= IF x4 execute x5 execute f+ ELSE 2018-07-19T18:04Z Bernd: addr B addr k x1 x2 x3 x4 2018-07-19T18:04Z Matthias: OMG. 2018-07-19T18:05Z Bernd: Ich paste das mal lieber im normalen TUI... 2018-07-19T18:05Z Bernd: : A {: k x1 x2 x3 x4 x5 | B :} recursive 2018-07-19T18:05Z Bernd: k 0<= IF x4 execute x5 execute f+ ELSE 2018-07-19T18:05Z Bernd: addr B addr k x1 x2 x3 x4 2018-07-19T18:05Z Bernd: [{: w! B w! k x1 x2 x3 x4 :}L -1 +to k 2018-07-19T18:05Z Bernd: k B x1 x2 x3 x4 A ;] dup to B 2018-07-19T18:05Z Bernd: execute THEN ; 2018-07-19T18:05Z Bernd: : man-or-boy? ( n -- ) [: 1e ;] [: -1e ;] 2dup swap [: 0e ;] A f. ; 2018-07-19T18:06Z Bernd: Jetzt kann man den ganzen funktionalen Krempel auch machen, wenn man will ;-) 2018-07-19T18:06Z Matthias: @Erich: http://amforth.sourceforge.net/TG/recipes/Hifive1.html 2018-07-19T18:06Z Erich: Der Meister ist heute etwas abgehoben? 2018-07-19T18:06Z Matthias: Ich glaub, er hat das falsche Kraut am Bahndamm aufgelesen und geraucht ;) 2018-07-19T18:07Z Bernd: Anton hat für die EuroForth ein Paper geschrieben, wie man Closures in Forth machen könnte. 2018-07-19T18:07Z Bernd: Ich hab' mir dann mal überlegt, wie man das minimalistisch umsetzt. 2018-07-19T18:08Z Matthias: Mir reichen Quotations. Locals halte ich für unsportlich. 2018-07-19T18:08Z Erich: @Matthias die HiFile1 Quell-Datei ist nicht im svn? 2018-07-19T18:08Z Matthias: doch sollte schon. Im appl/hifiv1 mal make starten 2018-07-19T18:09Z Matthias: der upload sollte mit "make upload" passieren. Die ganzen Tools im PATH vorausgesetzt 2018-07-19T18:09Z Matthias: Das Rezept ist schon etwas älter... Da hab ich noch gelernt, wie das geht 2018-07-19T18:10Z Matthias: Also, doch die Kurzfassung 2018-07-19T18:10Z Matthias: im appl/hifive1 make ausführen. 2018-07-19T18:10Z Matthias: dann make upload machen 2018-07-19T18:10Z Erich: OffTopic: sonst vergess ich das. Ist mir heute zugespielt worden: https://skyriddles.wordpress.com/2018/01/21/nasas-long-dead-image-satellite-is-alive/ 2018-07-19T18:10Z Matthias: und dann im usb1 bei 38400 8N1 den Text sehen. 2018-07-19T18:11Z Erich: Ja, da muss ich erstmal s' Werkzeug zusammensuchen ... bin dran ... 2018-07-19T18:12Z Matthias: nimm die pre-build binaries von sifive. Mit selbst compilieren bin ich gescheitert. Die Binaries waren nicht für das Board zu benutzen. 2018-07-19T18:12Z Matthias: Fehlten wohl irgendwelche devel-libs 2018-07-19T18:17Z Matthias: re Euroforth: Den Recognizer RFD habe ich nach dem Treffen in Essen noch etwas verfeinert und debuggt. Ich schau da noch mal drüber die Tage und verkünde dann den CfV. 2018-07-19T18:19Z Matthias: Ist da noch die yahoo-Gruppe für aktuell? 2018-07-19T18:20Z Bernd: Eigentlich soll ja so viel wie möglich über den forth-standard.org laufen, aber ob der schon CfVs kann, musst du Gerald Wodni fragen. 2018-07-19T18:21Z Erich: @Matthias also auf Debian unstable gibts die riscv toolchain auch in Paketformat: gcc-8-riscv64-linux-gnu et al. 2018-07-19T18:21Z Matthias: Ok, schaun wir mal 2018-07-19T18:21Z Matthias: debian ist ja mal richtig aktuell ;) (hab ich aber nicht) 2018-07-19T18:22Z Matthias: Dann musst Du am Makefile schrauben. Die Binaries heissen subtil anders. riscv64-unknown-elf-as etc 2018-07-19T18:23Z Erich: Schon klar. Eine meiner leichtesten Übungen :-) 2018-07-19T18:23Z Erich: Hallo Martin! 2018-07-19T18:23Z Matthias: :) Dacht' ich mir 2018-07-19T18:23Z Bernd: Hallo Martin! 2018-07-19T18:23Z Matthias: Hallo Martin! 2018-07-19T18:24Z Martin: Ich geh mal wieder zurück zum Reisebüro. 2018-07-19T18:25Z Wolfgang: guten Abend, die Herren 2018-07-19T18:25Z Matthias: Hallo Wolfgang 2018-07-19T18:25Z Bernd: Hallo @Wolfgang 2018-07-19T18:27Z Erich: Hallo Wolfgang. 2018-07-19T18:28Z Erich: Auf dem Bild in der VD von der Tagung gibts 4 Gestalten, die mir so gar nixx sagen ... 2018-07-19T18:29Z Erich: z.B. der ganz rechts neben Ewald. 2018-07-19T18:29Z Matthias: -> wost 2018-07-19T18:30Z Erich: Aha, und der li neben Hans Eckes? 2018-07-19T18:30Z Martin: Der hat kein Auto ... 2018-07-19T18:31Z Erich: Ok, den hab ich nie getroffen. 2018-07-19T18:31Z Erich: Und dann der zwischen Claudia und Thomas Prinz 2018-07-19T18:31Z Martin: Jörg 2018-07-19T18:32Z Erich: Jörg Funktionsmodellbau. 2018-07-19T18:32Z Martin: Genau! 2018-07-19T18:32Z Wolfgang: Jau 2018-07-19T18:32Z Erich: Und li von Elisabeth 2018-07-19T18:32Z Martin: Es ist immer fraglich: Zeigt ein Fot die Wahrheit - oder entstellt es? 2018-07-19T18:33Z Erich: Es zeigt natürlich die Wahrheit. 2018-07-19T18:33Z Wolfgang: Erhard Marschke 2018-07-19T18:33Z Erich: Den Namen hab ich noch nicht gehört. Spannend. Danke. 2018-07-19T18:34Z Wolfgang: Er war nur am Sonntag da (das erste Mal seit 10 Jahren) 2018-07-19T18:34Z Martin: Zwischen Hans E. und Bernd P. könnte das Storjohann sein? 2018-07-19T18:34Z Erich: ja, wurde oben schon so getippt. 2018-07-19T18:35Z Matthias: Dem Manfred über die Schulter schaut, ja 2018-07-19T18:35Z Erich: s/Manfred/Bernd/ oder? 2018-07-19T18:36Z Matthias: Ok, Manfred schaut Jens über den Kopf und der dann Bernd über die Schulter.... 2018-07-19T18:36Z Bernd: Genau. 2018-07-19T18:36Z Erich: :-) 2018-07-19T18:37Z Martin: Und auch 'wem' ist richtig! Denn es ist da tief! 2018-07-19T18:37Z Erich: @Matthias diese toolchains sind nicht gerade lätta-sparsam, oder? 2018-07-19T18:38Z Matthias: Ne, die sind sogar richtig fett. 2018-07-19T18:38Z Wolfgang: Och. Die 11 GB. Lächerlich 2018-07-19T18:38Z Matthias: Nicht dieses seltsame Studio runterladen, das taugt nix 2018-07-19T18:40Z Martin: @Wolfgang Hast Du schon Glasfaser? 2018-07-19T18:40Z Wolfgang: Ich wollte mit dem Studio Mecrisp flashen. Hat nicht geklappt... 2018-07-19T18:41Z Wolfgang: Nee. Hat sich beim compilieren aufgeblasen. 2018-07-19T18:41Z Matthias: Das flashen von dem Board ist aber auch ausnehmend kompliziert. Erst einen OCD starten, dann einen gdb parallel laufen lassen ist schon seltsam 2018-07-19T18:42Z Matthias: Da bleibt schon mal gerne ein Prozess übrig, wenn was nicht funktioniert... 2018-07-19T18:42Z Wolfgang: Der Author von muForth will es nur mit OCD gemacht haben. Habe ich aber nicht verstanden. 2018-07-19T18:43Z Erich: Muss man dem risc64... Zeug nicht noch was sagen von "Ausgabeformat 32bit, pleez"? 2018-07-19T18:43Z Matthias: machst Du doch in den Parametern 2018-07-19T18:44Z Matthias: -march=rv32im 2018-07-19T18:44Z Matthias: Interessieren tut das ja nur den Assembler 2018-07-19T18:45Z Erich: ok, einverstanden. 2018-07-19T18:45Z Martin: Gibt es auch ein -july=rv32im? 2018-07-19T18:45Z Erich: ew@metis:..trunk/appl/hifive1 29 > riscv64-linux-gnu-ld -o hifive1.elf -T memmap hifive1.o -m elf32lriscv 2018-07-19T18:45Z Erich: riscv64-linux-gnu-ld: hifive1.o:(.text+0x0): relocation truncated to fit: R_RISCV_JAL against `PFA_COLD' 2018-07-19T18:46Z Erich: Schade, oder? 2018-07-19T18:47Z Erich: Dann muss ich wohl die 11 Gigabait mal sezieren ... 2018-07-19T18:49Z Matthias: hmm. das ist seltsam. Welche Version hast Du erwischt? 2018-07-19T18:49Z Matthias: riscv64-unknown-elf-ld -v 2018-07-19T18:49Z Matthias: GNU ld (GNU Binutils) 2.28.0.20170505 2018-07-19T18:50Z Erich: w@metis:~/tmp.riscv 40 > riscv64-linux-gnu-ld --version 2018-07-19T18:50Z Erich: GNU ld (GNU Binutils for Debian) 2.31.1 2018-07-19T18:51Z Erich: Wär gcc-7 vielleicht besser gewesen??? 2018-07-19T18:51Z Matthias: vielleicht das das Problem... Matthias' mecrisp habe ich mit dem 2.29 binutils nicht übersetzt bekommen, mit dem 2.28 aber schon 2018-07-19T18:51Z Matthias: Und so bin ich bei der Version geblieben... 2018-07-19T18:53Z Matthias: gcc habe ich nicht installiert (für den risc-v), ich überlege aber, ob nicht der cpp eine sinnvolle Sache wäre.. 2018-07-19T18:57Z Erich: iscv64-unknown-elf-ld -o hifive1.elf -T memmap hifive1.o -m elf32lriscv 2018-07-19T18:57Z Erich: hifive1.o:(.text+0x0): relocation truncated to fit: R_RISCV_JAL against `PFA_COLD' 2018-07-19T18:57Z Erich: riscv64-unknown-elf-ld: final link failed: Symbol needs debug section which does not exist 2018-07-19T18:57Z Erich: make: *** [Makefile:52: hifive1.bin] Error 1 2018-07-19T18:57Z Erich: ew@metis:..trunk/appl/hifive1 51 > type riscv64-unknown-elf-ld 2018-07-19T18:57Z Erich: riscv64-unknown-elf-ld is /home/ew/tmp.riscv/riscv64-unknown-elf-gcc-2018.07.0-x86_64-linux-ubuntu14/bin/riscv64-unknown-elf-ld 2018-07-19T18:57Z Bernd: AFK, muss was essen 2018-07-19T18:57Z Martin: Guten Appetit! 2018-07-19T18:57Z Erich: der ld aus den sifive ubuntu tools motzt auch :-( 2018-07-19T18:58Z Matthias: https://github.com/riscv/riscv-gnu-toolchain/issues/284 ? 2018-07-19T19:02Z Erich: Hmmmm. Das ist mir für heute abend zu kompliziert. Aber das werde ich mir dann halt doch mal ansehen. 2018-07-19T19:03Z Erich: Zeit für'n Radler. 2018-07-19T19:03Z Matthias: Ich seh mal zu, dass ich die binaries mal zusammenstelle und zum Download irgendwo ablege. Die Versionen sind mir auch zu "hackig" 2018-07-19T19:04Z Matthias: So ein Assembler ist eigentlich ein ziemlich dummes tool. das ist nicht kompiliziert genug für Probleme 2018-07-19T19:05Z Martin: Je dümmer das Gegenüber, desto mehr Verstand braucht man selbst. 2018-07-19T19:08Z Matthias: Damti hab ich kein Problem ;) 2018-07-19T19:09Z Martin: BTW: ich wiederhole meine Frage: Was sind HINTs in Opcodes? 2018-07-19T19:10Z Erich: k.A. 2018-07-19T19:10Z Matthias: Keine Ahnung. 2018-07-19T19:10Z Martin: katholische Anarchie 2018-07-19T19:13Z Matthias: Im Befehlssatz des risc-v sind irgendwelche Hints/Branch Predictions vorgesehen. Der macht wohl auch sowas wie pre-fetching und wundert sich dann lange, wenns nicht geklappt hat 2018-07-19T19:13Z Matthias: Details muss ich aber schuldig bleiben. So tief bin ich in den Prozessor noch nciht eingestiegen 2018-07-19T19:15Z Martin: Das passt dazu: NOP im ARM ist ein Hint, eine ausführungszeit kann nicht garantiert werden, weil er im Prefeetch eliminiert werden kann. 2018-07-19T19:15Z Martin: Ich nähere mich ... 2018-07-19T19:16Z Matthias: Wann können wir den VD Artikel dafür bewundern? ;) ;) 2018-07-19T19:16Z Martin: Dan wären hinnts eine Art 'tips' an den Prefetch/Branch prediction Mechanismus ... 2018-07-19T19:17Z Martin: Wieß ich jetzt schon, ob es stimmt? 2018-07-19T19:17Z Matthias: Vermutlich sollen die besser vorhersagen können, welcher Weg derjenige ist, der öfter genommen wird 2018-07-19T19:17Z Martin: s/Wieß/Wieß/ 2018-07-19T19:17Z Martin: s/Wieß/Weiß/ 2018-07-19T19:20Z Martin: Spectre! 2018-07-19T19:20Z Matthias: Da heisst die Gegenmaßnahme übrigens 007 ;) 2018-07-19T19:20Z Martin: (Hätte von mir sein können.) 2018-07-19T19:21Z Martin: Meltdown. 2018-07-19T19:23Z Bernd: Bin wieder da 2018-07-19T19:23Z Erich: Mahlzeit. 2018-07-19T19:25Z Martin: @Bernd hint? 2018-07-19T19:29Z Bernd: @Martin ein Hinweis an die CPU, wie der Befehl schneller verarbeitet werden kann. 2018-07-19T19:30Z Bernd: Bei Sprüngen kann man z.B. bei Fehlerausgängen den Hint „wird wahrscheinlich nicht genommen” dransetzen, weil man will, dass die normale Ausführung schnell ist. 2018-07-19T19:30Z Bernd: Hints sind Sachen, die so ein wenig Richtung Spekulative Ausführung gehen. 2018-07-19T19:32Z Bernd: Wenn eine CPU vollspekulativ ist wie ein Intel Core i7, dann sind Hints überflüssig. 2018-07-19T19:32Z Bernd: Die CPU weiß eh alles selber besser. 2018-07-19T19:34Z Bernd: Man könnte aber mit solchen Hints Spectre vermeiden. Etwa, indem man sagt „Dieser Sprung wird sicher nicht genommen“, und die CPU den dann nur nimmt, wenn sie sich sicher ist, dass er doch genommen wird. 2018-07-19T19:34Z Martin: So was hat es in meiner Jugend nicht gegeben ... 2018-07-19T19:35Z Bernd: In einer Cray vielleicht ;-) 2018-07-19T19:37Z Martin: Nur zum Schluss: Setze ich die hints aktiv, oder macht das Assembler? 2018-07-19T19:37Z Martin: Wohl eher ich oder? 2018-07-19T19:37Z Bernd: Du. 2018-07-19T19:37Z Bernd: Woher soll der Assembler wissen, wie häufig du einen Sprung machen wirst? 2018-07-19T19:39Z Martin: Nee das wird mir zu zwischenmenschlich: Eigentlich sollst Du da lang, aber *zwinker* *zwinker* es geht auch anders. 2018-07-19T19:43Z Bernd: Bei einem bedingten Sprung ist ja nicht von vornherein klar, in welche Richtung es wohl weitergeht. 2018-07-19T19:43Z Bernd: Üblicherweise sind z.B. Rückwärtsspränge recht wahrscheinlich, während Vorwärtssprünge aus einer Schleife heraus unwahrscheinlich sind. 2018-07-19T19:44Z Matthias: Bei den risc-v dingern ist da irgendeine Logik eingebaut. Ein Sprung rückwärts ist plausibler, wenn <>0 oder so 2018-07-19T19:44Z Matthias: Vorwärts ist das anders 2018-07-19T19:44Z Bernd: Vorwärtssprünge in einer IF-Abfrage können aber trotzdem recht wahrscheinlich sein, etwa Fehler-Abfragen. 2018-07-19T19:44Z Bernd: Da wird in der Regel um die Fehlerbehandlung herumgesprungen. 2018-07-19T19:44Z Martin: true exit 2018-07-19T19:45Z Matthias: Die Lektüre der CPU's sind schon spannend, aber mitunter seltsam trocken... 2018-07-19T19:45Z Matthias: Ich freu mich jedenfalls, die CPU kennenzulernen. 2018-07-19T19:45Z Martin: Wenn's man denn versteht :-( 2018-07-19T19:46Z Martin: Das gönn' ich Dir! ;-) 2018-07-19T19:47Z Matthias: Mecrips wäre jedenfalls um einiges schneller, wenn Matthias die Macros nicht benutzen würde, die er selbst definiert hat. Ach je, da gibts soviel Optimierungspotential. Auch ohne Register Allokator und Konstantenfalter ;) 2018-07-19T19:48Z Matthias: z.B. wenn man den Code auflöst kommt öfter mal sowas wie addi x4,x4,4 gefolgt von einem addi x4,x4,4 2018-07-19T19:49Z Matthias: das kann man gleich als addi x4,x4,8 schreiben. Wenn man keine Makros benutzt, die die Codedopplung verschleiern 2018-07-19T19:49Z Martin: oder ldr= wird zu bl (addr) 2018-07-19T19:49Z Matthias: Aber ich will ihm doch Respekt zollen. Ohne seine Arbeit könnte ich nichts erreichen 2018-07-19T19:50Z Matthias: Aber sein Code nehme ich doch eher als Anregung denn als Dogma ;) 2018-07-19T19:50Z Martin: Aber ich finde seinen Assemble tool, weil er ein Mix von High-level und low-level erlaubt. Mit dem einen Nachtel, des gemeinsamen Namespaces. 2018-07-19T19:51Z Bernd: Tja, das übliche Problem ist, dass Macro-Assembler ziemlich doof gestrickt sind. 2018-07-19T19:51Z Martin: soll Assembler toll heißen. 2018-07-19T19:52Z Bernd: Sonst könnte man für so Push/Pop-Sequenzen ja Regeln machen, dass der Stackpointer pro Primitive genau einmal upgedatet werden muss. 2018-07-19T19:52Z Martin: (Autovervollständigung). Da muss Bernd noch dran arbeiten ;-) 2018-07-19T19:54Z Bernd: Na, wenigstens für die Kommandos gibt es Tab-Completion. 2018-07-19T19:55Z Matthias: Ich bin kein Freund von mixed code. 2018-07-19T19:55Z Matthias: Das bringt nichts und macht es nur schwerer den Code zu pflegen. 2018-07-19T19:55Z Matthias: ein "call swap" ist genauso schnell und genau so groß wie der COde für swap direkt 2018-07-19T19:56Z Matthias: vermutlich ist der call sogar langsamer 2018-07-19T19:56Z Matthias: wegen der Sprünge 2018-07-19T19:56Z Martin: Eben. 2018-07-19T19:57Z Matthias: Aber sowas wie ACCEPT muss man nicht in Assembler schreiben. Das sind dann eh nur viele call's nach irgendwohin. 2018-07-19T19:57Z Matthias: Aber ich bin eh ein Fan von ITC, was Matthias macht ist mir zu kompliziert.. 2018-07-19T19:58Z Martin: Das kann ich so akzeptieren. (Wird schon spät) 2018-07-19T19:58Z Matthias: Stimmt. 2018-07-19T19:58Z Matthias: ich ziehe mich dann auch mal zurück 2018-07-19T19:58Z Matthias: schönen Abend noch und bis neulich 2018-07-19T19:59Z Bernd: Ciao! 2018-07-19T20:00Z Martin: Ich schließ mich an - einiges gelernt heute! Schönen Abend noch! 2018-07-19T20:01Z Bernd: macht das Licht aus 2018-07-19T20:01Z Bernd: Gute nacht! 2018-07-19T20:01Z Erich: Ciao. 2018-07-19T20:01Z Wolfgang: Dann bis nächstens. Muss jetzt ARM Assenbler lernen... 2018-07-19T20:01Z Erich: wieso ARM? 2018-07-19T20:01Z Bernd: Auch wenn keiner meine Closures gewürdigt hat ;-9 2018-07-19T20:01Z Erich: risc-v ist doch dran. 2018-07-19T20:01Z Erich: Das mit den clojures imponiert mir sehr. 2018-07-19T20:02Z Wolfgang: Ja, dass mit den konkurrierenden Projekten... 2018-07-19T20:02Z Erich: Tüpfel das mal auf mit einem netten Beispiel ... 2018-07-19T20:02Z Martin: Closures? Mehr! 2018-07-19T20:02Z Bernd: Tja, das Man-or-Boy-Beispiel ist arg abartig ;-) 2018-07-19T20:02Z Bernd: Das tut gar nichts sinnvolles. 2018-07-19T20:03Z Erich: Gibt's so ein Beispiel auch für das "objekt-orientiert"? Ich hab mich zwar nie drum geschert. aber es kann Eindruck schinden. 2018-07-19T20:03Z Martin: Ups - das Licht ist ja wieder an! 2018-07-19T20:03Z Bernd: macht das Licht an 2018-07-19T20:03Z Martin: Ahh! 2018-07-19T20:03Z Bernd: Closures braucht man, wenn man Funktionen übergeben muss, aber Objekte übergeben will. 2018-07-19T20:03Z Erich: Martin, Du bist halt wie das Kind, das durch's Schlüsselloch guckt :-))))) 2018-07-19T20:04Z Erich: Kannst Du damit mein Lieblingsbeispiel implementieren: 2018-07-19T20:05Z Erich: Lauf durch einen Baum. an jedem Knoten tue dies, an jedem Blatt tue das. 2018-07-19T20:05Z Erich: Konkret, an jeder Datei gib die Größe aus, an jedem Verzeichnis gibt die Summe von hier abwärts aus. 2018-07-19T20:05Z Erich: Oder so. 2018-07-19T20:06Z Martin: Google suche: forth paysan closures man or boy --> Curious Myths of the Middle Ages 2018-07-19T20:06Z Bernd: https://www.telegraph.co.uk/news/2017/10/01/17-year-old-boy-charged-m3-closure/ 2018-07-19T20:06Z Bernd: Das ist alles bislang noch komplett im Darknet ;-) 2018-07-19T20:07Z Bernd: Anton will da einen Vortrag zur EuroForth halten. Den gibt es jetzt auch nur als Draft. 2018-07-19T20:07Z Bernd: Bäume durchwandern und an den entsprechenden Stellen passende xts aufrufen geht erst mal ohne Closure. 2018-07-19T20:08Z Bernd: Die Closure wird erst interessant, wenn du die xts mit einem Zustand haben willst, den sie ändern können. 2018-07-19T20:08Z Martin: m3 - hab' ich wenig mit zu tun (nur bei den Cortex Kernel Funktionen) ... 2018-07-19T20:10Z Erich: Hmmm, wenn Dus sachst. 2018-07-19T20:11Z Erich: Meister, hol mal die Luftpumpe ... :-) 2018-07-19T20:11Z Bernd: Irgendwas stimmt grad nicht ;-) 2018-07-19T20:11Z Erich: Naja, ich mach mich dann auch vom Acker. Noch ist nicht Wochenende. 2018-07-19T20:11Z Martin: WLAN-Kabel läuft aus ... 2018-07-19T20:11Z Erich: Machetsgut. 2018-07-19T20:11Z Bernd: Gute Nacht dann! 2018-07-19T20:11Z Martin: OK! CU all! 2018-07-19T20:11Z Erich: Ciao. 2018-07-19T20:11Z Bernd: macht das Licht aus 2018-07-19T20:12Z Martin: schon wieder dunkel?