00:00:00 --- log: started forth/19.01.04 01:10:29 --- join: xek_ (~xek@37.109.33.109) joined #forth 01:58:24 --- join: proteusguy2 (~yaaic@2001:44c8:428e:444c:1:2:ecee:4c79) joined #forth 02:00:59 --- quit: proteusguy (Ping timeout: 258 seconds) 02:03:38 --- quit: ashirase (Ping timeout: 246 seconds) 02:07:05 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:07:46 --- join: proteusguy (~yaaic@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 02:07:46 --- mode: ChanServ set +v proteusguy 02:11:12 --- quit: proteusguy2 (Ping timeout: 250 seconds) 02:17:07 --- join: proteusguy2 (~yaaic@2001:44c8:4290:235d:1:2:ed10:8676) joined #forth 02:18:03 --- quit: proteusguy (Ping timeout: 244 seconds) 02:19:04 --- quit: proteusguy2 (Read error: Connection reset by peer) 02:19:17 --- join: proteusguy (~yaaic@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 02:19:17 --- mode: ChanServ set +v proteusguy 03:01:38 --- join: proteusguy2 (~yaaic@2001:44c8:4290:235d:1:2:ed10:8676) joined #forth 03:02:55 --- quit: proteusguy (Ping timeout: 245 seconds) 03:35:44 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 03:43:58 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 03:48:17 --- quit: pierpal (Ping timeout: 246 seconds) 04:30:48 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 04:34:08 --- quit: pierpal (Client Quit) 04:34:25 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 04:35:53 --- join: proteusguy (~yaaic@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 04:35:53 --- mode: ChanServ set +v proteusguy 04:38:34 --- quit: proteusguy2 (Ping timeout: 252 seconds) 04:52:59 --- quit: pierpal (Read error: Connection reset by peer) 05:13:34 --- join: proteus-guy (~proteus-g@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 05:30:33 --- join: proteusguy2 (~yaaic@2001:44c8:414d:1cd4:1:1:e364:e708) joined #forth 05:31:20 --- quit: proteusguy (Ping timeout: 250 seconds) 05:32:49 --- quit: proteus-guy (Ping timeout: 268 seconds) 05:33:13 --- quit: proteusguy2 (Read error: Connection reset by peer) 05:33:27 --- join: proteusguy (~yaaic@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 05:33:27 --- mode: ChanServ set +v proteusguy 05:33:44 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 05:45:30 --- join: proteus-guy (~proteus-g@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 05:58:44 --- quit: rdrop-exit (Quit: Lost terminal) 06:25:56 --- join: Kumool (~Khwerz@adsl-64-237-235-152.prtc.net) joined #forth 06:39:17 --- quit: Kumool (Ping timeout: 258 seconds) 06:40:29 ok - i know this is a weird project anyway, but the current approach with rpany is that vocabs are registered in a central repo, and stack instances can request which vocabs they want (so if they only need basic arithmetic, that's all they need to ask for) 06:40:59 and the vocabs themselves are defined in the headers or in the source 06:41:09 https://gitlab.com/lilo_booter/rpany/blob/master/include/rpany/vocab/stack.hpp 06:41:17 --- join: Kumool (~Khwerz@adsl-64-237-233-69.prtc.net) joined #forth 06:44:17 words are either functions which take a stack reference as an arg and have a void return, or they're a list of tokens (of different types) 06:47:27 --- quit: pierpal (Quit: Poof) 06:47:48 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 06:50:57 --- quit: dave0 (Quit: dave's not here) 07:21:40 --- quit: Kumool (Ping timeout: 246 seconds) 07:23:40 --- join: Kumool (~Khwerz@adsl-64-237-237-150.prtc.net) joined #forth 07:27:36 --- quit: Kumool (Client Quit) 07:40:57 --- quit: tabemann (Ping timeout: 250 seconds) 07:43:05 --- quit: pierpal (Quit: Poof) 07:43:34 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 07:46:52 --- join: Kumool (~Khwerz@adsl-64-237-232-56.prtc.net) joined #forth 07:50:24 --- quit: Zarutian (Read error: Connection reset by peer) 07:50:51 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 08:04:10 --- quit: Kumool (Ping timeout: 245 seconds) 08:06:36 --- join: Kumool (~Khwerz@adsl-64-237-239-19.prtc.net) joined #forth 08:11:25 --- join: dys (~dys@tmo-103-124.customers.d1-online.com) joined #forth 08:12:46 --- quit: Zarutian (Read error: Connection reset by peer) 08:12:47 --- join: Zarutian_2 (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 08:13:11 --- nick: Zarutian_2 -> Zarutian 08:50:45 when do you use '? 08:50:55 ' ? 08:51:02 The tick character right? 08:51:05 does it ever make sense to use ' in compilation? 08:51:06 yes 08:51:10 Yeah it does 08:51:24 is it immediate? 08:51:30 No 08:51:32 aha 08:51:49 I use it when I write jump tables 08:52:00 can you give an example? 08:52:05 i'm being daft 08:52:14 i have this: 08:52:30 : CREATE 08:52:30 ALIGN HERE ( nlink ) 08:52:30 LAST @ , ( nlink H: next ) 08:52:32 PARSE WORD, 08:52:34 ALIGN HERE ( nlink xt ) 08:52:36 ' doCREATE CODE, 08:52:39 POSTPONE EXIT 08:52:42 ; 08:52:47 one sec lemme crack one out 08:52:50 but i don't think i want ' 08:52:54 i think i want ['] 08:52:57 ...an example I mean 08:53:09 Oh sorry I'm not a forth implementer 08:53:22 I don't know how doCREATE and doCOLON and whatever work 08:53:26 ok 08:53:40 well i just want to assemble my header 08:53:42 do you want to store the xt of doCREATE inside CREATE? 08:53:50 then you might want ['] 08:54:09 CODE, stores a jump and the target address from the stack 08:54:19 which compiles the next word in the definition, not the input stream 08:54:25 yes 08:54:27 thanks 09:18:49 --- quit: X-Scale (Ping timeout: 240 seconds) 09:36:27 2020 is the year of Forth 09:36:52 How do we get Chuck to run for president so he can strip the US Government barebones 09:37:04 Replace the fed with stacks (of cash) 09:39:16 --- quit: Kumool (Quit: EXIT) 09:39:24 WilhelmVonWeiner: But how many stacks? 09:43:55 how do you implement LEAVE? 09:44:30 i need to keep track of the locations to update, but there might be other stuff on the stack 09:48:33 john_cephalopoda: END THE FED, so preferably none 09:48:47 * john_cephalopoda . o O ( You have to call REFERENDUM before LEAVE ) 09:48:58 corecode: I thought LEAVE for loops was all on the return stack 09:50:00 --- quit: proteusguy (Ping timeout: 245 seconds) 09:50:15 --- join: proteusguy (~yaaic@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 09:50:15 --- mode: ChanServ set +v proteusguy 09:50:41 WilhelmVonWeiner: not during compilation? 09:51:22 or do you mean pushing an extra return address 09:51:35 which is past the loop 09:51:48 but then UNLOOP EXIT wouldn't work 09:52:11 or UNLOOP would remove the return address as well 09:52:13 --- quit: proteus-guy (Ping timeout: 250 seconds) 09:52:17 then LEAVE wouldn't include UNLOOP 09:52:23 i can try that 09:53:47 http://forth-standard.org/standard/core/LEAVE 10:05:50 --- quit: xek_ (Ping timeout: 245 seconds) 10:23:43 yea, but that doesn't tell you how to implement it :) 10:24:43 --- join: X-Scale (~ARM@46.50.6.89) joined #forth 11:05:23 any hints for debugging compiler output? 11:13:29 corecode: Of which compiler? 11:13:50 --- quit: gravicappa (Ping timeout: 268 seconds) 11:32:27 my metacompiler 11:56:02 hm how do i parse a negative number 12:00:08 parse as normal and negate when done 12:02:13 heh, it just occurred to me that a very forthy thing to do would be to write negative numbers with the unary minus as a suffix: 123- 12:02:57 that way instead of having to remember, you can just negate it when you encounter the - 12:05:15 Overflows would give you the wrong number 12:15:47 overflows will give you the wrong number no matter what 12:20:07 not if you want an overflow for whatever reason 12:48:22 zy]x[yz: a quick & dirty implementation: https://forthworks.com/share/e97ac72cd860aadfef2461b1c68235c3 12:54:39 siraben: just saw your z80 stuff! Love it!! 13:30:15 --- join: nonlinear (~nonlinear@unaffiliated/discrttm) joined #forth 13:59:44 --- quit: nonlinear (Ping timeout: 246 seconds) 14:00:08 --- join: xek (~xek@37.109.33.136) joined #forth 14:42:46 --- join: mahmudov (~milisman@5.176.12.195) joined #forth 14:46:21 hm, am i allowed to change the return stack in DO? 14:46:36 yes. 14:46:38 aha 14:47:27 DO uses the return stack for the index and limit 14:49:39 R:( limit index -- limit index+1 ) 14:50:12 Is there any sane notation for showing stack effects for Return and F stack? 14:55:39 What's not sane about what you just typed? 14:57:09 The R is on the inside of the left parenthesis 14:57:53 ( R: --) 15:05:09 why not invent a control-stack? ;-) 15:06:00 : >R ( a - R: - a) 15:06:52 the "insane" is the wtf-newfangled "run time vs execution-time" crap like you find in gforth.. 15:09:30 --- quit: xek (Ping timeout: 258 seconds) 15:11:58 compile/execute: 15:12:34 interpret/compile even 15:27:01 --- join: nonlinear (~nonlinear@unaffiliated/discrttm) joined #forth 16:11:17 --- quit: john_cephalopoda (Ping timeout: 252 seconds) 16:13:08 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 16:13:16 --- join: Kumool (~Khwerz@adsl-64-237-239-19.prtc.net) joined #forth 16:21:36 --- join: dave0 (~dave0@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 16:22:47 --- quit: dne (Remote host closed the connection) 16:23:05 hi 16:38:58 --- join: proteus-guy (~proteus-g@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 16:42:01 rain1: thanks! 16:48:05 --- join: dne (~dne@jaune.mayonnaise.net) joined #forth 16:56:57 --- quit: dne (Remote host closed the connection) 16:58:55 --- join: dne (~dne@jaune.mayonnaise.net) joined #forth 17:13:16 --- join: dave69 (~dave0@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 17:16:46 --- quit: dave0 (Ping timeout: 258 seconds) 17:37:17 --- join: tabemann (~tabemann@adsl-69-213-179-113.dsl.milwwi.ameritech.net) joined #forth 17:41:40 --- nick: dave69 -> dave0 17:43:29 --- quit: proteus-guy (Ping timeout: 240 seconds) 17:54:57 --- quit: Kumool (Ping timeout: 250 seconds) 17:55:54 --- join: Kumool (~Khwerz@adsl-64-237-237-187.prtc.net) joined #forth 18:09:22 --- join: rdrop-exit (~markwilli@112.201.166.158) joined #forth 18:11:41 --- quit: pointfree[m] (Quit: removing from IRC because user idle on matrix for 30+ days) 18:21:08 hey 18:22:02 Hi Tabemann 18:22:52 I've got hashforth to the point that it should be usable, at least in a very modest fashion, once I get it to compile and get the bugs out 18:23:05 Cool 18:23:26 it's not very complete, but it's got the REPL and all implemented 18:23:52 but completeness isn't really a goal at this point 18:23:59 it's a proof of concept after all 18:24:45 now the hard part... getting it to compile and actually work 18:26:07 (one thing that annoys me about my day job is my boss and I have an important disagreement on a major point of software development - he thinks that something is "done" when the code is implemented - testing can occur later - whereas I consider something "done" when it is not only written but is tested and works 18:26:49 the code is "done" when it successfully compiles :-p 18:27:33 Didn't realize you were implementing a full blown Forth, thought you were implementing an assembler for your VM instruction set. 18:29:14 it's not a full blow forth, it's a small forth 18:29:40 I implemented an assembler for my VM instruction set so I could put together the user-facing runtime of the forth 18:31:42 You already have a VM implementation to execute the VM instruction set? 18:31:55 yes 18:32:20 it's not a practical implementation, though 18:32:29 it's not written for efficiency's sake 18:33:34 right 18:34:27 Is the VM a standalone executable? 18:34:33 yes 18:34:50 great 18:36:28 it's written in C, largely so that it can be easily configured for different cell sizes and like, and also so that what it actually does is obvious to the everyday reader without having to know a given arch's instruction set and like 18:36:50 a practical implementation would be cell-size specific and written in assembly 18:37:23 What memory alignment and endianess did you settle on? 18:37:53 only that the system has to not have alignment restrictions 18:39:32 I see 18:42:44 making it not have alignment restrictions requires two things 18:42:53 the token size and cell size have to be the same 18:43:09 ? 18:43:20 and that in inline data embedded in code, the inline data has to be padded to align the following code 18:43:50 rdrop-exit: let's say with 8/16-bit tokens and 32-bit cells 18:43:56 I thought there were no alignment restrictions? 18:44:07 whoops 18:44:17 I meant to work on systems with alignment restrictions 18:44:21 anyways 18:44:49 with 32-bit cells which require alignment and 8/16-bit tokens, the problem is that inline cells within the code won't be aligned 18:44:54 So your @ can fetch a cell from any byte address? 18:44:54 potentially 18:45:06 yes 18:45:35 it could be easily modified to have word addressing however 18:50:54 okay, gonna leave for a bit 18:51:05 gonna head home (which is not far away) 18:52:33 See ya 18:55:37 --- quit: tabemann (Ping timeout: 250 seconds) 19:10:31 --- join: tabemann (~tabemann@2602:30a:c0d3:1890:7d04:1e92:6395:7db) joined #forth 20:01:59 "It is highly unusual for tropical storms and typhoons to make landfall in Thailand. The last time a tropical storm made landfall in Thailand was in 1962, when Tropical Storm Harriet claimed 900 lives. The only typhoon ever to make landfall in the Southeast Asian nation was Typhoon Gay in 1989." 20:02:07 Looks like my hua hin trip is cancelled lol 20:05:16 --- quit: moony (Read error: Connection reset by peer) 20:10:11 Typhoons make landfall here all the time, it's the Super Typhoons that are scary as hell. 20:10:56 https://edition-m.cnn.com/2019/01/04/asia/thailand-tropical-storm-pabuk-preparations-intl/ 20:11:03 This isn't even a category one 20:22:43 The Super Typhoon that hit us in 2013 was the strongest landfall in recorded history. My Dutch friend headed the international relief efforts for 4 months, they were still finding bodies when he left. Scary times. 20:23:10 Super Typhoon Yolanda IIRC 20:26:55 https://en.wikipedia.org/wiki/Typhoon_Haiyan#/media/File:Comparison_between_Haiyan_and_Katrina.png 20:27:36 --- quit: dave0 (Quit: dave's not here) 20:28:32 Hayan was the international name 20:32:11 Gotta walk the dogs, catch you all later. Keep on Forthin' 20:32:17 --- quit: rdrop-exit (Quit: Lost terminal) 20:33:37 --- join: proteus-guy (~proteus-g@cm-58-10-154-246.revip7.asianet.co.th) joined #forth 20:53:15 --- join: gravicappa (~gravicapp@h109-187-254-198.dyn.bashtel.ru) joined #forth 21:02:33 --- quit: dddddd (Remote host closed the connection) 21:04:28 --- join: moony (moony@hellomouse/dev/moony) joined #forth 21:11:24 --- quit: proteus-guy (Remote host closed the connection) 21:21:49 --- quit: proteusguy (Ping timeout: 240 seconds) 21:23:05 --- join: proteusguy (~yaaic@2001:44c8:43a1:234a:1:2:852f:c631) joined #forth 21:23:05 --- mode: ChanServ set +v proteusguy 21:43:08 --- quit: Kumool (Ping timeout: 244 seconds) 21:43:38 --- quit: proteusguy (Read error: Connection reset by peer) 21:43:45 --- join: proteusguy (~yaaic@2403:6200:88a6:3546:1de9:ef8a:1ae8:1089) joined #forth 21:43:45 --- mode: ChanServ set +v proteusguy 21:45:26 --- join: Kumool (~Khwerz@adsl-64-237-234-106.prtc.net) joined #forth 22:13:56 --- join: dave0 (~dave0@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 22:14:09 re 22:25:36 --- join: rdrop-exit (~markwilli@112.201.166.158) joined #forth 22:27:45 --- quit: proteusguy (Ping timeout: 268 seconds) 22:28:22 --- join: proteusguy (~yaaic@2001:44c8:451f:fc4b:1:0:9ad:39f0) joined #forth 22:28:23 --- mode: ChanServ set +v proteusguy 22:45:05 --- quit: proteusguy (Read error: Connection reset by peer) 22:45:21 --- join: proteusguy (~yaaic@2403:6200:88a6:329f:1de9:ef8a:1ae8:1089) joined #forth 22:45:21 --- mode: ChanServ set +v proteusguy 22:46:49 --- join: proteus-guy (~proteusgu@2403:6200:88a6:329f:f850:f7ae:6b9e:f3d5) joined #forth 22:55:27 --- join: proteus-ws (~proteus-g@2403:6200:88a6:329f:99e7:8282:e28f:adf2) joined #forth 23:15:28 --- quit: Kumool (Quit: EXIT) 23:48:03 --- quit: proteusguy (Ping timeout: 260 seconds) 23:48:14 --- join: proteusguy (~yaaic@2001:44c8:4187:3783:1:1:cdc8:de1) joined #forth 23:48:14 --- mode: ChanServ set +v proteusguy 23:55:05 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 23:58:07 --- quit: MrMobius (Ping timeout: 258 seconds) 23:58:07 --- nick: [1]MrMobius -> MrMobius 23:58:11 --- quit: pierpal (Quit: Poof) 23:58:30 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 23:59:33 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 23:59:59 --- log: ended forth/19.01.04