00:00:00 --- log: started forth/19.01.24 00:17:35 --- join: xek (~xek@apn-31-0-23-82.dynamic.gprs.plus.pl) joined #forth 00:26:33 'been fixing spf's sourcecode files the whole day.. They use 2 different encodings, randomly , and there are even sourcefiles what use 2 different encodings at the same time (1st half uses windows-1251 , the 2nd half uses cp866 ) 01:36:22 I'm surprised it even compiled on linux... some filenames are in high caps, some in lowcaps, some are mixed (only the extension is high caps) 01:36:41 but I like it because it has many examples that use win32 API 01:46:32 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 02:03:20 --- quit: ashirase (Ping timeout: 245 seconds) 02:06:56 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:11:52 --- join: rdrop-exit (~markwilli@112.201.166.158) joined #forth 02:16:59 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 02:17:35 what does -&11 represent at this line? https://github.com/forthy42/gforth/blob/5e33536b6128177e5b9b9092667b12b9657fde18/kernel/nio.fs#L63 02:19:48 --- quit: MrMobius (Ping timeout: 240 seconds) 02:19:49 --- nick: [1]MrMobius -> MrMobius 02:20:34 The throw code it seems, perhaps & is their prefix for decimal 02:22:36 If >= returns -1 then -11 will be thrown, if >= returns 0 then 0 is thrown instead which is a no-op 02:25:46 According to the "standard" -11 is the throw code for "result out of range" 02:26:17 --- quit: jedb (Remote host closed the connection) 02:28:46 On the other hand if & is their prefix for hex, then -&11 would correspond to -17 which is the throw code for "pictured numeric output string overflow" 02:28:54 The latter seems more likely 02:30:20 Actually on second thought maybe it is decimal 11 02:30:58 See for example line 33 02:31:31 It seems there that -&17 is decimal -17 02:36:49 There is a table of throw code assignments in section 9.1 of the Forth 2012 PDF 02:39:18 thanks 02:40:49 No problem 03:29:07 --- join: jedb (jedb@gateway/vpn/mullvad/x-quvpnqmehqkaxpvm) joined #forth 03:36:02 smokeink: the different encodings aren't random, SP-Forth is Russian 03:36:28 I know it's russian, but they're mixed up 03:37:01 it doesn't use an uniform Russian encoding 03:37:39 I gave up after I observed that the files converted by iconv got broken , I'll just try to fix the help file that should be enough 03:37:53 because HELP WORD doesn't work on linux (it doesn't find any definition ) 03:38:49 only this bug I want to fix then I'll leave it as it is, it's usable, but not pretty with uniform filenames and Russian encodings.. 03:39:24 to fix it I'd have to manually go through each file again, and not use iconv , and there are many files because it has many examples (and that's a good thing) 03:40:08 with iconv I managed to batch convert many of them, but often it fails to convert the whole file, it'll just cut some code at the end 03:41:07 so the only sane way is to use a text editor that can switch between encodings, and copy (after choosing the new encoding) -> save as UTF 03:41:52 *not-uniform 03:42:02 *non-uniform 03:45:02 If the project is still active, perhaps you could create an issue on the project's page 03:45:59 https://sourceforge.net/p/spf/activity/ 03:46:12 it's not dead it seems 03:47:27 hm, the one I'm using is spf 2.40 https://sourceforge.net/projects/spf/files/sp-forth4/ last updated in 2009, but they're making commits in 2018 03:49:10 There's a Github page as well: https://github.com/rufig/spf 03:55:46 thanks, it's not a bad idea , I'll just tell them to fix all these issues 04:07:10 F'ING C OPERATOR PRECEDENCE!!!!! 04:07:53 I spent FAR TOO LONG figuring out why `x & y << z` and `x y and swap lshift` ARE NOT THE SAME THING 04:08:22 Send me back in time so I can tell Thompson and Richie to SHOVE IT 04:09:33 just go the forth / lisp route, and forget about precedence ;) 04:11:06 I always keep a C operator precedence chart nearby 04:11:23 Gonna print off a bunch of cheat sheets next I'm at the library, that's been on my todo list 04:13:08 Here's one that's not bad, even though it's from a C++ site, the chart is actually plain C: 04:13:12 https://en.cppreference.com/w/c/language/operator_precedence 04:28:41 parens yo 04:29:04 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 04:32:54 innit 06:01:21 --- join: jedb_ (jedb@gateway/vpn/mullvad/x-vrnddgkrtbqhlyrm) joined #forth 06:01:48 --- quit: jedb (Ping timeout: 244 seconds) 06:04:25 --- join: jedb__ (~jedb@116.251.60.75) joined #forth 06:04:43 --- quit: jedb__ (Remote host closed the connection) 06:06:27 --- quit: jedb_ (Ping timeout: 244 seconds) 06:20:40 --- quit: smokeink (Quit: Leaving) 06:32:07 --- quit: proteusguy (Remote host closed the connection) 06:39:04 --- quit: dddddd (Ping timeout: 246 seconds) 06:42:27 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 06:43:55 --- join: jedb__ (jedb@gateway/vpn/mullvad/x-elanwqrdwklokeuh) joined #forth 06:44:25 --- nick: jedb__ -> jedb 06:52:52 --- quit: yunfan (Quit: already be with hell) 07:12:35 --- join: proteusguy (~proteusgu@cm-58-10-155-25.revip7.asianet.co.th) joined #forth 07:12:35 --- mode: ChanServ set +v proteusguy 07:18:47 --- quit: jedb (Ping timeout: 244 seconds) 07:25:30 --- quit: rdrop-exit (Quit: Lost terminal) 07:31:54 --- join: yunfan (~roooot@unaffiliated/yunfan) joined #forth 07:35:04 --- quit: tabemann (Ping timeout: 246 seconds) 07:42:20 --- join: darithorn (~darithorn@75.174.238.174) joined #forth 08:51:14 --- join: dave0 (~dave0@193.060.dsl.syd.iprimus.net.au) joined #forth 08:51:31 hi 09:04:15 yo 09:09:35 --- quit: cheater (Ping timeout: 272 seconds) 09:48:56 --- quit: darithorn (Ping timeout: 250 seconds) 09:51:51 --- join: darithorn (~darithorn@75.174.234.76) joined #forth 10:11:36 --- join: cantstanya (~chatting@gateway/tor-sasl/cantstanya) joined #forth 10:36:59 --- join: dys (~dys@tmo-109-1.customers.d1-online.com) joined #forth 11:11:50 --- quit: logand (Read error: Connection reset by peer) 11:12:06 --- join: logand (~user@mem-185.47.220.106.jmnet.cz) joined #forth 11:34:29 --- quit: gravicappa (Ping timeout: 240 seconds) 11:54:01 --- quit: logand (Remote host closed the connection) 12:43:26 --- quit: xek (Read error: Connection reset by peer) 12:44:06 --- join: xek (~xek@apn-31-0-23-82.dynamic.gprs.plus.pl) joined #forth 13:51:07 hello forth gang 13:51:14 what's up 14:09:34 --- join: jedb (jedb@gateway/vpn/mullvad/x-uzymyogppyzelvkb) joined #forth 14:13:46 hey :) 15:03:38 --- quit: Zarutian (Read error: Connection reset by peer) 15:04:52 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 15:06:18 --- quit: dys (Ping timeout: 240 seconds) 15:36:18 rain1: hello 15:36:53 doing anything cool? 15:38:03 not really, i was having fun reading about how parsing can be done by partial evaluation though 15:38:08 what about you? 15:39:23 googling "partial evaluation" 15:41:59 WilhelmVonWeiner: an the three futamura transforms? 15:52:18 the who whats? 15:54:06 sorry, the three projections of Dr Futamura 15:54:09 blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html 15:58:11 will read, thanks 16:17:24 * Zarutian is off to bed 16:47:42 Dr. Futurama? interesting 17:24:31 --- join: tabemann (~tabemann@rrcs-162-155-170-75.central.biz.rr.com) joined #forth 17:25:54 --- join: rdrop-exit (~markwilli@112.201.166.158) joined #forth 17:37:27 Magandang umaga Forthwrights :) 17:40:57 good evening 17:41:11 Hi crc 17:44:27 I'm still stuck home with the flu. Trying to figure out how to get the new Reddit to list the most recent comments in the Forth subreddit. 17:45:36 hey guys 17:45:49 Hi tabemann 17:45:58 hi tabemann 17:46:28 I wish I had a way of capturing the moment at which one of my Forth words is being overwritten by nulls 17:47:20 amazingly it doesn't crash per se - it just suddenly exits because if it attempts to execute a null it traps it and exits 17:47:59 This is on you TTC VM? 17:48:04 yes 17:48:25 this multitasker is proving maddening 17:49:00 I usually assign the 0 token to be the nop op 17:49:08 it's also executing code that's supposed to be in the main task in the alternate task 17:49:43 I intentionally made nulls make it exit so I could track down when it attempted to execute them 17:53:41 Get the simplest possible multitasker working before you add any "improvements" 17:57:59 it's not exactly the simplest, but it could be more complex - and I don't think it's necessarily the complex parts that are causing the problems 18:00:19 I just commented out the whole complex part - problem still happens 18:00:51 (by complex part I mean the part that puts the system to sleep when all the tasks are waiting on IO) 18:02:08 tabemann: put a write watchpoint on it? 18:02:11 --- quit: darithorn (Quit: Leaving) 18:02:53 gdb is not aware of the internals of my forth 18:03:03 you don't need anything 18:03:11 just put a watch on the memory location 18:03:23 what I mean is I don't know what that memory location is 18:04:01 instead of exiting, call abort when you execute a zero 18:04:19 then you know the memory location 18:04:29 then you put the watchpoint and run again 18:04:46 I integrated a trace feature into hashforth so it outputs a list of each word executed and the stack trace at that time when activated 18:05:05 so you do know the address 18:05:28 I don't abort() because that doesn't output the most recent output, which defeats trace 18:05:45 but abort will break in gdb 18:07:22 --- join: darithorn (~darithorn@75.174.234.76) joined #forth 18:10:13 how do you watch a fixed address in gdb 18:10:24 I tried doing just watch
and it's not liking it 18:10:45 I also tried doing watch (hf_token_t*)
and it also doesn't like it 18:10:51 maybe watch *(int*)addr 18:10:57 or watch {int}addr? 18:12:59 yea 18:13:02 watch {long}addr 18:14:23 --- join: X-Scale` (~ARM@83.223.243.194) joined #forth 18:14:57 --- quit: X-Scale (Ping timeout: 244 seconds) 18:15:03 --- nick: X-Scale` -> X-Scale 18:18:01 thanks 18:21:10 found the cause? 18:23:12 --- join: cheater (~cheater@unaffiliated/cheater) joined #forth 18:30:36 --- quit: tabemann (Ping timeout: 268 seconds) 18:41:38 --- join: tabemann (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) joined #forth 18:53:38 --- quit: darithorn (Ping timeout: 250 seconds) 18:57:10 --- join: darithorn (~darithorn@75.174.234.76) joined #forth 18:58:49 --- join: nighty- (~nighty@b157153.ppp.asahi-net.or.jp) joined #forth 18:58:50 --- join: smokeink (~smokeink@185.189.254.154) joined #forth 19:17:46 --- quit: dddddd (Remote host closed the connection) 19:18:05 is there a forth for this chip? www.yonan.org/publications/pdfs/iot_tutorial.pdf 19:20:49 AVR? Yeah, there's Forths for the AVR. 19:21:29 Honestly, though, you can get a more capable 32-bit MCU these days for cheaper. 19:32:01 ok, good to know 20:04:28 hey guys 20:04:44 there's lots of really cheap 32-bit ARMs out there 20:05:02 and by really cheap I mean you can easily get an ARM that is < $1 20:05:33 mind you one of those really cheap ARMs will have very little RAM on board 20:08:00 --- join: mark4 (~mark4@12.41.103.244) joined #forth 20:08:12 it also depends on if you want to be able to breadboard things and then stick the chip on a circuit board when you are done 20:08:28 pic32 is probably the fastest thing you can get for that 20:09:00 if you go with ARM you dont have anything in dip unless you want to buy a board and include it in your project 20:15:48 There's DIP ARMs, but ... yeah, very limited. 20:16:13 But there's plenty of breadboard-oriented STM32 boards, like the "blue pill" I hear it's called? 20:16:43 They give you more than enough RAM and Flash to do serious work and are small enough to incorporate into projects. 20:22:47 I've heard of the blue pill and the discovery boards 20:23:26 I don't know about PIC32, but I know that some of the PIC chips are really hard to work with 20:23:57 and really you'd only use them if you want to really drive prices down - like if you're making a product that has to be as cheap as possible 20:32:44 ttmrichter, do you mean the lpc1114? they quit making those a while ago. I dont think there is anyting else in DIP now 20:33:27 apparentally the 8 and 16 bit pics were a real pain but pic32 is MIPS, so a completely different architecture 20:34:39 it has cache and single cycle execution with 32 bit registers. very impressive for something in DIP 20:56:56 --- quit: dave0 (Quit: dave's not here) 21:03:20 PIC32s are nice, but pricey last I looked at them. 21:03:55 MrMobius: Yeah, I think that was the chip. And I suspect they stopped making them because they were kind of lame. :D 21:03:57 Pic.. Here, buy another programmer. 21:04:20 * ttmrichter has luckily dodged the entire PIC thing. 21:04:23 whereas if you want 32-bit there's some damn cheap ARMs out there 21:04:42 Yep. The blue pill is dirt cheap and reasonably capable. 21:05:12 Hell, even just going with the Nucleo-32 line gives you a bunch of breadboardable things. 21:05:43 ESP32 has spawned a bunch of impressive boards too, that are still (albeit BARELY) breadboardable. 21:06:29 So if you want a single chip that's a dual-core, 32-bit, 240MHz MCU with baked-in WiFi and BLE ... 21:07:02 the Samd stuff is looking decent - adafruit boards are affordable and neat. 21:09:48 --- join: gravicappa (~gravicapp@h109-187-28-67.dyn.bashtel.ru) joined #forth 21:31:40 --- quit: smokeink (Ping timeout: 245 seconds) 22:05:41 --- quit: darithorn (Quit: Leaving) 22:08:43 --- join: smokeink (~smokeink@185.189.254.154) joined #forth 22:49:52 --- join: dys (~dys@tmo-119-65.customers.d1-online.com) joined #forth 23:08:49 --- quit: smokeink (Ping timeout: 240 seconds) 23:23:20 --- quit: dys (Ping timeout: 245 seconds) 23:25:46 --- join: smokeink (~smokeink@185.189.254.154) joined #forth 23:59:59 --- log: ended forth/19.01.24