00:00:00 --- log: started forth/20.04.20 00:08:35 crc: Please ping me when you add docs on the [ ] , would be interested 00:10:52 tabemann: "relying on sites such as github to give more functionality" git was designed for patching by email, it can do that. So technically it doesn't rely, people have just decided to adopt things like github anyway 00:11:38 And if you say that using the email client is like relying on something then, well, I can probably find a few programs or libraries any SCM relies on. Nobody told me you had to write it all yourself ;) 00:22:44 --- join: dys joined #forth 00:23:48 --- join: merkc1 joined #forth 01:02:44 --- quit: merkc1 (Ping timeout: 256 seconds) 01:06:05 --- join: xek joined #forth 01:11:07 --- join: reepca` joined #forth 01:11:17 --- quit: reepca (Read error: Connection reset by peer) 03:06:16 --- quit: proteus-guy (Ping timeout: 256 seconds) 03:18:40 --- join: proteus-guy joined #forth 03:20:06 --- join: TCZ joined #forth 04:46:14 --- quit: patrickg (Remote host closed the connection) 04:57:23 --- join: patrickg joined #forth 05:00:12 --- join: dddddd joined #forth 05:03:26 --- quit: dave0 (Quit: dave's not here) 05:03:45 --- quit: patrickg (Remote host closed the connection) 05:06:50 --- join: patrickg joined #forth 06:19:03 --- quit: mtsd (Quit: Leaving) 06:21:28 --- quit: patrickg (Remote host closed the connection) 06:24:23 --- join: patrickg joined #forth 06:41:54 --- quit: TCZ (Quit: Leaving) 06:47:13 --- quit: rdrop-exit (Quit: Lost terminal) 07:05:28 --- quit: iyzsong (Ping timeout: 246 seconds) 07:14:50 --- quit: reepca` (Read error: Connection reset by peer) 07:15:11 --- join: reepca` joined #forth 07:40:31 --- quit: gravicappa (Ping timeout: 250 seconds) 07:50:35 --- join: X-Scale` joined #forth 07:52:26 --- quit: X-Scale (Ping timeout: 265 seconds) 07:52:26 --- nick: X-Scale` -> X-Scale 07:58:36 --- join: X-Scale` joined #forth 08:00:00 --- quit: X-Scale (Ping timeout: 264 seconds) 08:00:00 --- nick: X-Scale` -> X-Scale 08:02:26 --- join: gravicappa joined #forth 08:02:26 --- quit: reepca` (Read error: Connection reset by peer) 08:02:47 --- join: reepca` joined #forth 08:05:01 --- quit: reepca` (Read error: Connection reset by peer) 08:05:22 --- join: reepca` joined #forth 08:07:14 --- join: TCZ joined #forth 08:08:10 veltas: http://forth.works/chapters/techniques/quotes.html 08:32:40 --- quit: cheater (Ping timeout: 256 seconds) 08:45:48 --- join: cheater joined #forth 09:29:39 crc: That is really fantastic, very nice 09:29:52 And should definitely be in the guide 09:32:17 I'm sure that would be obvious to some people but it cleared up the idea in my head nicely and got me more interested in retro 09:41:05 veltas: you'e got a slight typo near the end of that page "ande" 09:41:32 crc: ^ 09:42:10 oops, yeah, sorry 09:46:57 --- quit: gravicappa (Ping timeout: 260 seconds) 09:47:37 --- join: gravicappa joined #forth 09:50:24 --- quit: TCZ (Quit: Leaving) 09:53:59 --- quit: dys (Ping timeout: 250 seconds) 09:54:51 --- quit: arrdem (Ping timeout: 245 seconds) 09:55:01 --- join: arrdem joined #forth 10:11:41 --- quit: Zarutian_HTC (Ping timeout: 260 seconds) 11:15:16 --- quit: jsoft (Ping timeout: 240 seconds) 11:28:49 --- join: Zarutian_HTC joined #forth 11:30:24 tp: https://colorforth.github.io/1percent.html 11:30:33 Chuck Moore wrote this I think 11:30:38 You might find it interesting 11:31:18 thanks veltas 11:31:35 I'm of too get some zzzz, bbl 11:31:41 nn 11:33:51 --- quit: pareidolia (Ping timeout: 256 seconds) 11:37:40 dzho: fixed the typo 11:50:05 :-) 12:33:01 --- join: mark4 joined #forth 12:33:38 --- join: pareidolia joined #forth 12:45:35 --- quit: mark4 (Remote host closed the connection) 12:45:55 --- join: mark4 joined #forth 12:52:29 --- quit: mark4 (Quit: Leaving) 13:00:35 --- join: WickedShell joined #forth 13:09:33 --- quit: gravicappa (Ping timeout: 256 seconds) 13:24:42 I think that Chuck Moore knows how important documentation is because of all the manuals, articles, presentations he's authored 13:24:49 Even if he doesn't like 'comments' 13:28:49 --- join: f-a joined #forth 13:33:45 --- quit: xek (Ping timeout: 260 seconds) 13:46:27 --- quit: f-a (Read error: Connection reset by peer) 13:50:37 --- join: f-a joined #forth 13:54:07 --- quit: crab1 (Quit: WeeChat 2.8) 14:05:17 --- quit: boru (Read error: Connection reset by peer) 14:05:33 --- join: boru joined #forth 14:56:23 --- join: TCZ joined #forth 14:58:34 --- quit: f-a (Ping timeout: 256 seconds) 15:07:15 --- quit: TCZ (Read error: Connection reset by peer) 15:07:35 --- join: TCZ joined #forth 15:07:39 --- join: dave0 joined #forth 15:59:12 --- quit: TCZ (Quit: Leaving) 16:28:53 --- join: TCZ joined #forth 16:35:05 back 16:35:07 hey guys 16:47:00 hi tabemann 16:57:43 why do I continue to use IF ELSE THEN with zeptoforth when zeptoforth has quotations (it calls them lambdas) and combinators to use with them? 16:59:26 habit? 17:00:55 probably 17:03:43 you can do things like : larger > [: ." larger" ;] [: ." not larger" ;] choose ; 17:08:00 are te if/else/then forms more efficient than using quotations in zeptoforth? 18:31:43 --- join: rdrop-exit joined #forth 18:31:52 --- join: jsoft joined #forth 18:34:19 --- join: boru` joined #forth 18:34:22 --- quit: boru (Disconnected by services) 18:34:25 --- nick: boru` -> boru 18:38:31 good morning Forthwrights c[] 18:38:52 morning Forthlings 18:41:54 tabemann, I assume the reason you continue to use IF is that it's more efficient both in space and speed 18:42:05 --- join: iyzsong joined #forth 18:42:21 rdrop-exit: that too 18:42:23 I have a question, it's regarding Mecrisp-Stellaris so may not be answerable: Ive made a simple scheduler, all it does is run a word every 1000 tics in a endless loop. Is there a simple way to pass control to the terminal during the time it isnt running the word. Must I use a multitasker ? 18:42:40 hi tp 18:42:53 g'day Zen Guru of Forthiness 18:42:59 hey guys 18:43:13 g;day tabemann 18:43:28 I don't know about mecrisp-stellaris, but doing that in zeptoforth requires a multitasker 18:44:06 of course the zeptoforth idiom is to have two tasks, one for the REPL and one for the asynchronous stuff, which all goes in a single scheduler 18:44:44 like I have a blinky demo that has two task but eight different asynchronous actions all sharing one of those two tasks 18:44:56 veltas, I agree with a lot Chuck's C sentiments, but I'm not into color Forth as I can still read 12 pt text on a large hires screen 18:46:10 tabemann, so the terminal is just a normal Forth task in a non multitasking system ? 18:47:07 tabemann, and this gets back to what you said the other day re not being able to read the TIB any old time ? 18:47:41 in zeptoforth the REPL is the first task that is created, and is only special in that dictionary space is stolen from it each time another task is created 18:48:27 the issue with the TIB is that you can't write into it at any given time, because the REPL may be reading from it at that time 18:48:49 which is why the USART interrupt can't inject data directly into the TIB 18:49:24 aha 18:49:57 (I just realized a way that zeptoforth is different from Mecrisp-Stellaris - it supports interrupts and sleeping right out of the box) 18:50:56 Mecrisp-Stellaris supports interrupts right out of the box 18:51:24 it also has some additional sleeping words 18:51:33 that arent part of the core 18:53:15 at least from what I gathered mecrisp-stellaris doesn't use interrupt-driven IO in the kernel itself (which is also true of zeptoforth) 18:53:44 however, is there extra code the user can load which enables it? 18:53:59 I didn't see any for stm32l476 18:55:15 no interrupts are needed for any default Mecrisp-Stellaris although they are enabled. You can turn interrupts off and Mecrisp-Stellaris runs normally 18:56:34 cortex-m doesn't have a "interrupt-driven IO" facility afaik, the closest to that would be MSP430 18:56:55 and "mecrisp" can use that for the USART 18:57:36 tabemann, do you mean 'USART' when you say " interrupt-driven IO" ? 18:58:12 I mean IO driven by the USART interrupt 18:58:39 tabemann, "IO" in the hardware sense refers to *any* peripheral 18:59:20 well yes 18:59:44 tabemann, typically "IO" is used by programmers in a very limited sense in my experience 19:00:13 I only mention it as the use of "IO" is very ambiguous to hardware people 19:00:29 in this case I mean serial IO 19:01:22 tabemann, in that case, no, Mecrisp-Stellaris has no facility for USART interrupts as default and I'm not aware of any 19:02:06 tabemann, probably because matthias leaves that to the users and only provides the basics as he hates cortex-m 19:02:54 tabemann, I think I may have see a user contributed serial interrupt contribution for one of the many cortex-m variants 19:03:17 --- quit: TCZ (Quit: Leaving) 19:03:43 tabemann, there is ethernet terminal access for the M4 Ti-Tiva and it is flawless 19:03:58 I specifically implemented interrupt-driven serial IO in the code packaged with zeptoforth because it resolves problems I was seeing with IO with multitasking 19:04:00 thats as standard 19:04:29 and also because it enables sleeping 19:04:34 tabemann, and I think thats fantastic, I wish Mecrisp-Stellaris had it out of the box 19:05:04 the problem was that if one of the tasks was a bit too slow, serial IO'd get all fucked up 19:05:24 I've noticed that with Mecrisp-Stellaris multitasking myself 19:05:38 whereas by handling serial IO in an interrupt handler, serial IO is much smoother and far less error-prone 19:05:58 and that makes perfect sense 19:06:20 maybe i'll copy your code into Mecrisp-Stellaris :) 19:06:26 lol 19:07:48 tabemann, as the serial stuff is slow, does it take up a big slice of interrupt handler time ? 19:08:32 hmm; Oil prices in the US have crashed below zero for the first time in history as demand for energy plummets amid the coronavirus pandemic. The plunge into negative territory led to a bizarre situation where traders were being paid more than $40 to buy a barrel of oil. 19:08:56 yeah I heard about that 19:08:57 I could handle that, being paid to fill up my car! 19:16:12 I'd be worried what that'd do to the economy though 19:16:21 beyond what's already going on 19:17:26 yeah, I'm only jesting 19:17:58 tabemann, I'll have to have a look at your code now, re interrupt driven IO 19:18:41 tabemann, I remembered you needed a buffer but eventually were able to do with a smallish one ? 19:18:59 I decided to go for a bigger one, to give slow tasks more leeway 19:19:48 if one wants to save memory though one can always shrink the buffers 19:25:18 okay, more documentation on lambdas and combinators has been committed... 19:29:36 --- join: Zarutian_HTC| joined #forth 19:29:37 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 20:08:25 forth going functional 20:12:36 --- quit: rdrop-exit (Quit: Lost terminal) 20:13:24 --- join: rdrop-exit joined #forth 20:16:36 It's like deja vu all over again -- Yogi Berra 21:22:03 --- quit: dddddd (Ping timeout: 256 seconds) 21:29:31 --- quit: dave0 (Quit: dave's not here) 21:41:13 --- join: jedb_ joined #forth 21:44:09 --- quit: jedb (Ping timeout: 256 seconds) 21:44:36 --- quit: reepca` (Ping timeout: 240 seconds) 22:17:37 --- join: gravicappa joined #forth 23:12:13 --- quit: jsoft (Ping timeout: 265 seconds) 23:36:17 --- quit: rdrop-exit (Ping timeout: 256 seconds) 23:50:32 --- join: mtsd joined #forth 23:51:10 --- join: rdrop-exit joined #forth 23:54:12 --- join: ntry joined #forth 23:59:59 --- log: ended forth/20.04.20