00:00:00 --- log: started forth/19.11.27 00:04:57 --- join: mtsd joined #forth 00:11:39 --- join: smokeink joined #forth 00:22:08 --- quit: WickedShell (Remote host closed the connection) 00:51:53 --- join: Jookia joined #forth 00:51:59 oops i disappeared 01:22:01 hi. what do you call this kind of graphic? https://academy.stratisplatform.com/_images/Full-Node-Overview.svg 01:25:06 diagram, flowchart,graph ? 01:25:24 thanks 01:25:28 component diagram maybe? 01:25:59 --- quit: smokeink (Ping timeout: 265 seconds) 01:26:16 not sure, graphviz has a lot of info on the different types, but that doesnt look like graphviz generated it 01:28:07 --- quit: siraben (Write error: Connection reset by peer) 01:28:08 --- quit: alexshpilkin (Remote host closed the connection) 02:07:59 --- quit: jsoft (Ping timeout: 240 seconds) 02:12:01 --- join: smokeink joined #forth 02:33:15 --- join: iyzsong joined #forth 02:45:14 --- join: alexshpilkin joined #forth 02:45:14 --- join: siraben joined #forth 02:45:14 --- join: jimt[m] joined #forth 02:45:14 --- join: nonlinear[m] joined #forth 02:47:51 --- quit: Jookia (Remote host closed the connection) 02:48:24 --- join: Jookia joined #forth 03:14:26 --- join: inode joined #forth 03:30:33 --- join: rdrop-exit joined #forth 04:18:59 --- quit: ryke (Ping timeout: 240 seconds) 04:23:37 --- quit: smokeink (Remote host closed the connection) 04:25:19 --- join: smokeink joined #forth 04:34:44 --- quit: rdrop-exit (Quit: Lost terminal) 05:02:20 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 05:35:39 --- quit: smokeink (Ping timeout: 240 seconds) 06:03:11 --- quit: inode (Quit: ) 06:52:10 --- quit: mtsd (Quit: Leaving) 08:10:12 I made a #Forth advent of code 2019 leaderboard. 634542-747a8b09 08:10:17 https://adventofcode.com/ 08:10:50 proteusguy: could this go in the motd? 08:14:37 WilhelmVonWeiner, what's the background on this? 08:15:40 Advent of Code? 08:15:45 yes 08:15:53 it's a yearly programming event 08:16:05 every day there's a new challenge like an advent calendar 08:16:10 they get progressively harder 08:16:49 Ah ok. Interesting... 08:17:20 So this leaderboard will be across all technologies or just forth implementations? 08:18:04 Well the leaderboard is all programming languages 08:18:19 but there are private leaderboards you can create, that just list everyone you invited 08:18:35 the proof of Forthness in this case is just honor system I suppose. 08:18:39 Are we anticipating a significant forth participation?? 08:19:09 Not unless you have a mind-control Forth laser to switch people to using Forth instead of Rust for every problem 08:19:40 haha well I ask because I'm trying to measure its relevance to #forth 08:20:44 Not the event itself but the act of solving it in Forth 08:21:15 just means people can join the advent of code event and see how long it took other Forthers to come up with their solutions 08:21:32 How do we see who is using forth? 08:22:40 lol, you don't. The leaderboard focused on #Forth would just be an honor system that they were solving things in Forth? 08:22:52 then you say "show me the code!!!" and they say "ok" 08:24:56 I feel I'm missing something obvious here... but I don't see any way that this relevant to #forth or promotes forth or forth programmers.... what am I missing? 08:25:28 i'll try and explain it in a reddit post in a sec. 08:25:33 ok 08:25:57 sorry if I'm being dense... been working on some presentations the last two days. 08:26:10 I can see where the confusion would lie 08:29:39 https://www.reddit.com/r/Forth/comments/e2ifg6/advent_of_code/ 08:47:37 --- join: dddddd joined #forth 09:09:18 --- quit: dave0 (Quit: dave's not here) 09:13:34 --- join: ryke joined #forth 09:41:56 --- quit: ryke (Remote host closed the connection) 09:42:15 --- join: ryke joined #forth 09:56:58 --- quit: retroforth-bot (Ping timeout: 250 seconds) 10:22:41 --- join: jsoft joined #forth 10:40:57 --- join: tpbsd joined #forth 10:40:57 --- quit: tp (Read error: Connection reset by peer) 10:46:57 --- nick: tpbsd -> tp 11:17:12 --- join: WickedShell joined #forth 11:45:47 --- quit: gravicappa (Ping timeout: 268 seconds) 11:51:26 --- join: retroforth-bot joined #forth 11:58:52 --- join: inode joined #forth 12:01:00 --- join: dys joined #forth 12:15:36 --- join: andrei-n joined #forth 12:18:07 --- quit: andrei-n (Client Quit) 12:27:26 good afternoon 13:04:08 crc, good morning 13:14:30 I'm looking forward to the end of work today; I have the next four days off :) 13:17:05 * tp finally got his iHex 04 extended addressing mode working properly 13:17:27 crc, awesome 13:22:02 i can now generate iHex records for a full 32 bits, so should cortex-m chips ever come out with 4GB flash ... I'm covered ;-) 13:33:31 --- quit: retroforth-bot (Remote host closed the connection) 13:33:41 --- join: retroforth-bot joined #forth 13:36:14 --- quit: retroforth-bot (Remote host closed the connection) 13:46:49 --- join: retroforth-bot joined #forth 13:49:09 * crc added retro-describe: queries to the retroforth-bot 13:49:24 retro-describe: n:put 13:49:25 http://sprunge.us/7HEzGx 13:50:04 wow, retro is quite something else! 13:51:58 I'll have it use my own pastebin in the future, but I want to make some revisions to that first 13:59:47 * crc wonders if he can implement a block editor that'd be usable over irc... 14:04:15 crazy! 14:04:25 ircforth 14:07:57 that would be interesting for sure 14:08:49 hey ryke, hows the 6502 Forth going ? 14:09:38 Pretty good, I've got REFILL working properly 14:10:06 next step is PARSE and then making a dumb version of QUIT without any support for compiling (yet) 14:12:00 file operations ? 14:12:27 what are the files on, a cassette tape ? 14:22:10 --- quit: dys (Ping timeout: 250 seconds) 14:26:44 virtual floppy disks atm 14:26:53 I'm not going to bother with that until later though 14:28:49 ahh, much easier to develop with 14:29:36 REFILL is only aware of keyboard input right now, although I guess it wouldn't be too hard to add support for disk input 14:29:45 since most of those details are in the KERNAL 14:31:14 --- join: jedb_ joined #forth 14:31:24 writing the code on a 6502 emulator on a pc ? 14:33:50 --- quit: jedb (Ping timeout: 265 seconds) 14:34:12 --- quit: jedb_ (Remote host closed the connection) 14:38:54 --- join: jedb joined #forth 14:55:53 C64 emulator, yeah 15:25:39 --- join: smokeink joined #forth 15:32:20 --- quit: ryke (Ping timeout: 245 seconds) 15:36:22 --- quit: WickedShell (Remote host closed the connection) 16:04:35 --- quit: inode (Quit: ) 16:07:50 --- join: regularcommonlis joined #forth 16:08:10 --- join: ryke joined #forth 16:11:02 Good day to you all. I've been using Forth for a while during my spare time and have begun thinking about various optimization techniques found in other langs. Are there any particularly difficult parts of the Forth machine model that you believe hinders optimization that do not exist in other langs? 16:12:48 Saturation of register usage on cpus with vast register banks appears at first glance to be something difficult to account for in Forth, and perhaps pipelining of instructions. But I'd like to hear more experienced opinions than mine. 16:36:33 --- join: dave0 joined #forth 17:26:48 --- quit: jsoft (Ping timeout: 268 seconds) 17:36:14 --- join: jedb_ joined #forth 17:38:48 --- quit: jedb (Ping timeout: 252 seconds) 18:29:10 --- quit: cheater (Ping timeout: 276 seconds) 18:36:06 --- join: cheater joined #forth 18:38:41 --- quit: dave0 (Quit: dave's not here) 18:51:48 regularcommonlis: The return stack may be used as temporary storage, that might affect optimization. 18:54:54 As you already noticed, not being able to saturate registers is difficult, if at all possible. 18:56:13 I've been considering a third stack for a Forth I've started writing with named variables to help with that (if/when it's needed of course). 18:57:42 With regards to pipelining, my understanding fades a bit because I *think* Forth's flow creates dependencies - but the book "Stack Machines A New Wave" seem to say otherwise. 18:58:07 I'm not familiar with that book, how is it and what are the main topics? 18:59:15 Mostly covers hardware stack machines 18:59:22 Wrt. optimization, I think it may be necessary to constrain the language slightly to be able to do more aggressive optimizations. As it stands, you can seriously manipulate control flow and jump around in a way that makes it impossible to optimize things. 18:59:29 (essentially, it's assembly) 18:59:59 Of course, not that any reasonable Forther would do that, but optimizations should work across the board. 19:00:36 Interesting, looks like GForth performs peephole optimization; https://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Performance.html 19:10:59 --- join: jsoft joined #forth 19:15:33 hey guys 19:17:40 hey tabemann 19:17:50 I don't worry about optimizations until they are needed. Generally all I do is drop to hand coded assembly when necessary. 19:19:57 --- quit: jsoft (Ping timeout: 265 seconds) 19:20:14 the only optimizations I have done in hashforth are space optimizations, as opposed to performance ones 19:20:41 and I've done some anti-optimizations (e.g. adding padding to promote alignment) 19:21:24 I'm not a premature optimizer - I was just wondering from a CS theory/engineering point of view. RISC for example generally fetches instructions, then decodes them and the register selects, then select register paths and finally execute. 19:22:03 While a stack machine would probably be MISC and not have to determine register paths and spend time decoding the register bits. 19:22:45 How this affects pipelining wrt Forth, I'm not entirely sure - so decided to put the discussion on the table :] 19:41:48 tabemann, re stack sensitive color prompt, ots interesting watching the prompt change color as I upload programs, seeing how long the stack is busy etc 19:41:56 ots = it's 19:57:28 --- quit: remexre (Quit: WeeChat 2.6) 20:02:57 --- join: remexre joined #forth 20:26:50 --- join: gravicappa joined #forth 20:36:08 back 20:36:36 I'm trying to debug an issue where if I get rid of the garbage that's put on the stack, the build script crashes 20:37:57 (I only found out about this garbage because of the red ok) 20:39:45 yep, you've taken the "red prompt" 20:44:20 --- quit: dddddd (Remote host closed the connection) 20:56:55 y e s 20:56:59 fixed that bug 21:00:16 awesome! 21:01:44 it was two different bugs really - one which was leaving garbage on the stack, another which was causing underflow, combined with a design misfeature that when INCLUDE is executed it stores data on the parameter stack 21:02:11 so if I got rid of the garbage, it would underflow 21:02:11 two for the price of one ? 21:02:21 more like one bug hiding another 21:02:35 both of which had to be fixed 21:02:46 symbiotic bugs ? 21:02:58 also, I switched INCLUDED to store its data on the return stack 21:03:10 yeah 21:06:02 there still is a bug though that you can't build twice in a single session 21:11:00 everyones got bugs! 21:11:31 I've got a but right now with my new iHex 04 extended address inserter word 21:11:34 bug 21:12:59 regularcommonlis: I'm still working on understanding compilers myself, the complicated, non-Forth kind ;) 21:13:13 Optimization is a tricky beast 21:16:08 okay, gonna hit the sack 21:16:24 night tabemann 21:20:00 cya tabemann 21:28:24 --- join: rdrop-exit joined #forth 21:29:01 --- quit: proteus-guy (Ping timeout: 265 seconds) 21:35:24 :) 21:38:22 --- part: regularcommonlis left #forth 22:11:11 --- quit: smokeink (Remote host closed the connection) 22:39:02 --- quit: tp (Remote host closed the connection) 22:39:16 --- join: tp joined #forth 22:39:16 --- quit: tp (Changing host) 22:39:16 --- join: tp joined #forth 22:40:58 --- join: jsoft joined #forth 22:44:09 c[] :) 22:44:55 g'day Zen Forth Master ! 22:45:47 likewize Forth Master Technician! 22:53:36 --- quit: jsoft (Ping timeout: 265 seconds) 22:58:00 g'day Forth Master Mind 22:59:34 hi presiden! 23:00:02 You mean the Forth Hive Mind 23:05:49 that too 23:59:59 --- log: ended forth/19.11.27