00:00:00 --- log: started forth/19.11.12 00:58:33 --- join: dys joined #forth 01:10:18 --- join: xek_ joined #forth 01:20:45 rdrop-exit: yeah i find syntax highlighting distracting too 01:38:22 --- quit: Jookia (Remote host closed the connection) 01:49:30 --- join: Jookia joined #forth 02:38:22 --- join: iyzsong joined #forth 02:47:25 --- quit: phadthai (Quit: brb) 02:49:41 --- join: phadthai joined #forth 02:58:35 back 02:59:28 c[] 03:13:20 --- quit: xek_ (Ping timeout: 268 seconds) 03:35:46 --- join: f-a joined #forth 03:36:20 https://controlaltbackspace.org/efficiency/rpn/ it is spreading111!!! 03:40:03 :) 03:40:56 ugh python ... howd they convince it to do RPN ? 03:52:21 On a sidenote, dc is considered "the oldest surviving Unix language" 03:52:29 https://en.wikipedia.org/wiki/Dc_(computer_program) 03:55:23 I still have a soft spot for my trusty old HP calculators 04:00:33 --- join: dddddd joined #forth 04:33:04 --- join: proteus-guy joined #forth 04:39:10 --- quit: siraben (Remote host closed the connection) 04:39:22 --- quit: nonlinear[m] (Read error: Connection reset by peer) 04:39:35 --- quit: jimt[m] (Write error: Connection reset by peer) 04:39:39 --- quit: alexshpilkin (Read error: Connection reset by peer) 05:07:14 --- quit: rdrop-exit (Quit: Lost terminal) 05:21:38 --- quit: f-a (Quit: leaving) 05:37:32 tp: oh, ok, thanks! 06:00:21 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 06:02:56 --- quit: inode (Quit: ) 06:07:47 --- join: xek_ joined #forth 06:13:02 --- join: jimt[m] joined #forth 06:13:02 --- join: alexshpilkin joined #forth 06:13:02 --- join: nonlinear[m] joined #forth 06:13:02 --- join: siraben joined #forth 06:54:56 --- quit: dave0 (Quit: dave's not here) 07:36:37 --- quit: tabemann (Ping timeout: 250 seconds) 07:39:31 --- join: f-a joined #forth 08:04:02 --- quit: f-a (Quit: leaving) 08:04:24 --- quit: ryke (Ping timeout: 268 seconds) 08:48:46 --- quit: gravicappa (Read error: Connection reset by peer) 08:50:54 --- join: gravicappa joined #forth 08:52:32 --- quit: gravicappa (Read error: Connection reset by peer) 08:53:14 --- join: gravicappa joined #forth 08:55:15 --- quit: gravicappa (Read error: Connection reset by peer) 08:55:45 --- join: gravicappa joined #forth 08:57:15 --- quit: gravicappa (Read error: Connection reset by peer) 08:57:55 --- join: fftww joined #forth 08:59:27 --- join: gravicappa joined #forth 08:59:36 --- quit: gravicappa (Read error: Connection reset by peer) 09:01:08 --- join: ryke joined #forth 09:06:31 --- quit: ryke (Remote host closed the connection) 09:06:42 --- join: ryke joined #forth 09:06:52 --- join: gravicappa joined #forth 09:06:56 --- quit: gravicappa (Read error: Connection reset by peer) 09:09:23 --- join: gravicappa joined #forth 09:42:19 --- quit: ryke (Ping timeout: 240 seconds) 09:42:43 --- quit: dys (Ping timeout: 250 seconds) 10:05:24 --- quit: remexre (Ping timeout: 265 seconds) 10:08:30 --- join: remexre joined #forth 10:14:06 --- quit: remexre (Ping timeout: 265 seconds) 10:22:02 --- join: remexre joined #forth 10:35:37 --- quit: X-Scale (Ping timeout: 240 seconds) 10:35:50 --- join: inode joined #forth 10:36:56 --- join: X-Scale` joined #forth 10:37:16 --- nick: X-Scale` -> X-Scale 11:19:37 --- quit: gravicappa (Ping timeout: 240 seconds) 12:17:19 --- join: gravicappa joined #forth 12:31:11 --- join: X-Scale` joined #forth 12:32:02 --- quit: X-Scale (Ping timeout: 268 seconds) 12:32:03 --- nick: X-Scale` -> X-Scale 12:52:35 cheater, I summed it up in a anti bluepill rant I made a while back https://mecrisp-stellaris-folkdoc.sourceforge.io/rants.html?highlight=rant#quick-grab-a-bargain-not 13:25:30 --- quit: gravicappa (Ping timeout: 265 seconds) 13:31:51 --- quit: xek_ (Ping timeout: 268 seconds) 13:41:12 --- quit: Jookia (Remote host closed the connection) 13:42:41 --- join: Jookia joined #forth 13:44:17 --- quit: inode (Quit: ) 14:01:50 --- join: TonySidaway joined #forth 14:04:44 --- join: ryke joined #forth 14:11:13 --- quit: ryke (Ping timeout: 240 seconds) 14:33:44 --- join: ryke joined #forth 14:39:58 --- join: WickedShell joined #forth 14:52:33 --- quit: TonySidaway (Ping timeout: 276 seconds) 15:08:29 --- join: TonySidaway joined #forth 15:27:47 --- quit: ryke (Ping timeout: 268 seconds) 15:33:55 tp: hah! 15:33:56 nice 15:34:33 --- quit: WickedShell (Remote host closed the connection) 15:36:53 --- join: WickedShell joined #forth 15:42:20 that's a cool read tp 15:42:21 thanks 15:43:37 cheater, welcome! 15:44:28 cheater, it's probably not as bad as I make out but any forther trying to configure the STM32F103 GPIO ports is going to *hate* it 15:45:25 then they will waste weeks trying to invent a strategy that makes it simpler, then when they try a cortec-m0, they will find all that work was wasted 15:48:14 Got a link for those who had to reconnect and missed links to intresting reads? 15:50:23 tp, I've seen a lot of those STM3F103 boards on eBay. Thanks for writing that article 15:50:58 TonySidaway, it was just a rant because that one board has so many things wrong with it 15:51:56 then of course, because the boards are under $2 and "such a incredible bargain" what segment of the 'maker' people went nuts over it .... Arduino users 15:52:34 I'm still interested in AVR, but one day I'll probably want to play with an Arm board. I'm exactly the kind of person who would have been taken in. 15:54:19 WickedShell, I had only posted a rant : https://mecrisp-stellaris-folkdoc.sourceforge.io/rants.html?highlight=rant#quick-grab-a-bargain-not 15:54:54 TonySidaway, youd probably have been fine, providing the board actually worked 15:55:24 TonySidaway, I have a friend who bought 7 of them and counldnt get one to work 15:58:38 If I bought an AVR board and it didn't work, I'd be shocked. At my level you can waste weeks trying to get dud hardware to work. I rely on the hardware guys getting it right. 16:01:34 The manuals are difficult enough. Debugging hardware requires skills I just don't have an an uninterested in acquiring (I'm 63 so it's a bit too late to start unless it was a primary goal.) 16:03:47 tp was STM32F015 supposed to be STM32F105? I have much the same complaint with the entire Arduino ecoystem :) And boards that cheap have always terrified me 16:04:22 --- join: dave0 joined #forth 16:05:20 WickedShell, hmm, I wonder if thats a bad typo on my part 16:05:34 TonySidaway, then Im glad you didnt get a blue pill 16:06:10 tp I was just curious, I sorta try to loosely track the STM32 families and that was just a very different numbering scheme :) 16:06:12 TonySidaway, because there are a billion "blue Pills" out there, Ive made a couple of projects for them, here's one: https://mecrisp-stellaris-folkdoc.sourceforge.io/project-stm32f103-lmt01.html#stm32f103-lmt01 16:07:19 WickedShell, did you see "STM32F015" on my site ? 16:07:23 yeah 16:07:29 In the linked article 16:07:35 oh oh, bad dyslexia 16:10:01 WickedShell, I just grepped all my doc and this is done ONCE, in the rants ! 16:10:09 it should be STM32F051 ! 16:10:23 which is the MCU I use all the time in my projects 16:10:38 there are better ones now for sure 16:11:03 any stm32F0xx series is fine, and usually pretty cheap 16:11:13 I paid $0.56 for mine in 2014 16:11:35 when I bought 480 of them from Avenet in the USA 16:11:39 heh, see a family I didn't know about at all :D 16:12:28 --- quit: TonySidaway (Quit: TonySidaway) 16:13:39 I've corrected the doc but sourceforge doesnt update all projects instantly 16:14:17 WickedShell, the stm32F0xx series was announced in 2009, 5 years after the STM32F103 16:14:34 and there are a lot of improvements 16:15:05 but every series has it's pros and cons. The later stm32f0+ was better again 16:15:08 My daily stuff is either a F427, or their H7's 16:15:26 ahh, speed daemons! 16:16:09 I have a F407 and plan to benchmark it with my Forth stuff at 250MHz sometime 16:16:41 * WickedShell is stuck using stuff that outgrew Arduino boards and is worked on by non embedded people 16:16:50 mainly so I can use it to increase the emulation speed of the Mecrisp-Across project 16:17:07 To be fair it does have some actual work to do (it's running all the sensor fusion for three sets of IMU's and doing vehicle control) 16:17:40 critical safety stuff at all ? 16:17:53 and not Forth I guess ? 16:20:01 It should be critical but isn't... 16:20:02 I *really* *really* wish it was 16:20:18 But you can't push that to hard on them or "it turns to many people away who might contribute" 16:20:45 Which drives me crazy. If you can't write to high standards for autopilots then why are you? 16:20:51 And yeah it's C/C++ 16:23:02 I'd love for it to be Ada/Spark 16:29:44 WickedShell, so it's a OSS project ? 16:29:59 radio contred aircraft ? 16:30:03 controlled 16:33:11 Yeah. I use it all as autonmous stuff 16:33:26 ArduPilot https://github.com/ArduPilot/ardupilot/ 16:33:45 nice! 16:34:47 I sent Tridge a couple of antennas way back when he started doing the Outback Challence 16:34:51 Challenge 16:48:18 --- join: rdrop-exit joined #forth 16:58:18 lol small world :) 17:00:15 yeah, awesome project btw 17:00:30 do you fly fixed or rotary wing yourself ? 17:08:07 In unmanned stuff fixed wing 17:08:22 Actually really fixed wing with vertical lift motors for takeoff/landing 17:08:30 In the manned world both? 17:11:54 in the manned world ? 17:12:47 I have flown a Robinson R22 rotary, I took several lessons with a friend who owned one, it was the most amazing fun ever 17:13:47 I learnt to hover and fly around fields, plus mostly level flight, but I never did any takeoffs or landings 17:15:34 tp, yeah I got my private license in ones of those :) 17:16:32 --- join: tabemann joined #forth 17:16:47 awesome! 17:17:00 c[] good morning forthwrights 17:17:34 rdrop-exit, good morning Zen Forth Master and hater of syntax colouring 17:18:01 hey guys 17:18:36 Hi Master Highlighter 17:18:48 hi tabemann 17:19:02 one advantage of having a forth that is close enough to ANS is that you can then take the syntax highlighter for emacs that came with gforth, add your own words to it, and voila! 17:19:44 Forth has no syntax 17:19:49 tabemann, I'm still using vim 17:20:20 rdrop-exit, thats not a very colourful statement ;-) 17:20:44 I'm just being forthright 17:20:57 rdrop-exit, Id call "rot", "dup", "r>" syntax ? 17:21:00 that's forthunate 17:21:54 I wouldn't, they're operators 17:22:04 lets see if rdrop-exit has any more snippets forthcoming ? 17:22:33 I hesitate to come forth 17:22:43 but all operator names are syntatic ? 17:22:44 I'm trying hard not to laugh out loud 17:22:59 :) 17:23:42 rdrop-exit, is often quite forthfull with his opinions 17:23:52 tp, not in the traditional computer science sense 17:24:33 and so forth 17:24:35 I would call them simply words; Forth doesn't have syntax or operators in the traditional sense 17:25:31 In computer science, the syntax of a computer language is the set of rules that defines the combinations of symbols that are considered to be a correctly structured document or fragment in that language.[1] This applies both to programming languages, where the document represents source code, and to markup languages, where the document represents data. 17:25:55 "the set of rules" 17:26:26 I have rules that define how I can use "rot", "dup", "r>" 17:26:34 tabemann, it has operators in the ISA sense 17:27:08 the only syntax Forth has is lookup the next snippet of text - if it turns out to be a word, execute it or compile it - if it turns out to be a number, push it on the stack or compile a literal, etc. 17:27:25 tp, you may have rules, but Forth doesn't 17:27:32 I know! because Forth is 'write only' no one can actually read any syntax in it, whether it's there or not ? 17:27:55 tabemann, that's semantics rather than syntax 17:28:11 rdrop-exit, rules are for other Forths ! 17:29:30 the thing about Forth also is the user can define whatever syntax they want on the fly 17:29:40 so it really has no fixed syntax at all 17:29:46 --- join: lemonpepper24 joined #forth 17:29:49 correct 17:30:07 and all the "syntax" words are just words, nothing more 17:30:50 Forth is more like an extensible instruction set than a language 17:31:31 You can make your Forth more language like, but it isn't inherently so 17:32:24 my Forth e.g. is really implemented in TTC code generated by an assembler; the core runtime implements very little of the language 17:33:26 I could rip out the Forth layer and implement something else on top of it 17:34:06 For example if make your Forth throw an exception if an IF is not followed by a THEN before the end of the definition, you have added syntax (and syntax checking) to your Forth 17:34:11 mind you it is suited to Forth in that it supports two stacks, but that does not inherently mean on must use it to run a Forth 17:34:52 but again, that would be part of the IF word, not part of the runtime 17:35:20 It does not matter where you put it 17:35:22 --- join: ryke joined #forth 17:35:56 Having two stacks is the secret sauce 17:36:37 okay, yeah, you could add code for balancing IF's, ELSE's, and THEN's to the interpreter, but that seems so... unforthy 17:37:35 yes, syntax is unforthy 17:38:22 I've come forth to highlight that fact 17:38:30 ;) 17:38:34 lol 17:39:45 henceforth I will not belabor the that fact 17:39:49 that's very forthcoming of you 17:42:03 I shall return forthwith, I need another coffee 17:42:28 c[] 17:42:55 I have a stupid opinion question - I know you're not a fan of OO, but should I make my Forth's OO layer use metaclasses or not 17:44:57 i wonder if thats his fourth coffee for the day ? 17:47:47 I usually drink three or four large cups of coffee in a day, or many more smaller cups 17:47:49 second so far 17:48:43 mine are double-expressos 17:49:40 tabemann, I'm out of touch with the OO worldview 17:51:30 to me metaclasses seem like just a means to make things more complex, with the minor bonus that (due to the fact that in my OO layer methods can be added after the fact) that methods can be arbitrarily added to all classes 17:53:50 I find the whole concept of an OO layer for Forth unneccessary 17:54:15 I add unnecessary features to my Forth out of boredom 17:55:21 tasks and multitasking functionality, basic datastructures, math routines, OO, being able to recover from crashes and print out a usable backtrace, etc. 17:55:44 a real line editor... 17:56:06 I rarely ever actually use these things 17:56:23 You have acute featuritus 17:56:50 some of these things are actually quite useful, though 17:57:25 like being able to recover from crashes, see a rstack trace, look up the address on the rstack in the corresponding word with SEE 17:57:48 it makes debugging so much easier 17:58:14 oh, and the rstack trace actually prints out each word each rstack entry points to 18:00:02 The useful features will tend to be the ones borne out of your real needs, as seems to be the case with your debugging features 18:00:35 The more "abstractly" useful features, tend to be a waste of time 18:01:26 "academics think in abstractions, not implementations" -- Michael Abreash 18:01:34 * Abrash 18:02:21 it depends - a lot of these start out at "oooh this would be nice to have" - and only later it turns out that "hey, this is useful" - e.g. my vector and intmap datastructures 18:05:04 tabemann, "perfection is obtained, not when there is left nothing to add, but when there is nothing left to take away" :) 18:05:18 Antoine de Saint-Exupery 18:05:23 bingo 18:06:16 I read all his books as a kid 18:06:18 but .. I'm with tabemann on some of this (not oo tho) because to me the beauty of Forth is I can add anything I like 18:07:14 I can change anything I like 18:07:26 to me a lot of what I like about Forth is that I get to build anything I want, how I like it, and because it's my Forth I don't really give a crap about standards and whatnot 18:07:46 if I want a line editor, I build it 18:07:52 exactly, all it has to do is work for YOU and YOU alone 18:08:33 You'll hear no argument from me on that count 18:09:11 As I said before, Forth is the Burger King of programming environments 18:09:13 I really built the multitasker for a blinky 18:09:18 "Have it your way" 18:09:22 lol 18:09:40 so that when I port it to my DISCOVERY board 18:09:50 it's the Forth most popular burger at Burger King 18:09:51 I can make that LED blink while I enter Forth code over serial 18:10:16 tabemann, nice 18:10:38 but yeah, here on Linux I have had very few uses for multitasking 18:11:38 okay, I do need to go - gotta have dinner 18:11:50 Bon appetit tabemann 18:11:54 tabemann, when it comes to microprocessors there is massive variety, some have 144 'computers' so dont need multitasking 18:12:06 tabemann, cya 18:12:11 see ya guys later 18:14:18 rdrop-exit, I've had 27 downloads in 6 days of my Forth powered bootable STM32F103 binary image for arduino users to test the boards that their systems dont work on :) 18:15:15 very cool 18:15:28 it's a whopping 29.9 kB download so has probably caused Internet slowdowns the last week 18:16:45 --- quit: tabemann (Ping timeout: 268 seconds) 18:16:57 And here I thought it was my acoustic coupler modem 18:18:05 My LaTeX documentation project is going to take forever 18:18:30 Documentation is so much more tiring than coding 18:23:19 and I barely just got started 18:42:01 --- quit: lemonpepper24 (Ping timeout: 240 seconds) 18:43:53 hahaha 18:44:23 having any trouble with the SyNtaX ? 18:45:11 that too :) 18:46:12 I think it's the documentation process rather than latex 18:46:20 I'm trying to do most of the illustrations first, so the explanations are less wordy 18:46:31 good doc is hard work and entails 10ee99 edits 18:46:43 ahh 18:47:24 you cant hand draw them, take a pic with the cellphone and turn it into a EPS with the gimp 18:47:28 ? 18:47:57 My hand drawing skills are limited to stick figures 18:51:38 Currently doing the illustrations for child words of CREATE and its variants 18:52:17 the illustrations of the internals that is 18:53:40 This is for the bytecoded VM based host-side Forth 18:55:07 ever see that Gary Larson cartoon with the stick figure family 18:55:09 ? 18:55:19 Don't recall it 18:56:12 the child is hand painting a mona lisa type portrait and the parents are shaking their heads sadly 18:56:15 --- quit: dave0 (Quit: dave's not here) 18:57:51 lol 18:59:21 because their child cant paint for nuts 19:04:49 can you remind me waht the url of that temporary upload webite, I want to upload a sample from the draft 19:08:22 looking 19:12:45 I use wgetpaste-2.29 and it uses heaps of different ones 19:13:43 ok thanks, I'll check my web history too 19:15:28 then it's as easy as 19:15:44 tp@gronk:~/mecrisp-stellaris/library% wgetpaste ./ms8.fs 19:15:45 Your paste can be seen here: http://dpaste.com/230K3J1 19:15:48 tinyupload.com was that it? 19:16:06 I think thagt was the one 19:16:07 wget paste just uses whats available 19:16:13 ah 19:16:18 ok here goes 19:17:10 http://s000.tinyupload.com/index.php?file_id=59868689221719822888 19:17:17 see if that works 19:19:11 very very preliminary draft 19:19:20 --- join: tabemann joined #forth 19:19:59 looks good 19:20:30 thanks 19:20:37 I've seen a few latex timing diagram similar class files 19:20:44 over the years 19:20:52 did you design your own ? 19:21:58 I'm using the tikz package and laying out the diagrams by hand so to speak 19:22:16 painstaking is the word 19:24:17 it would be 19:25:00 hey guys 19:25:14 wb tabemann 19:25:49 check out the sample documentation pages I uploaded a few minutes ago 19:25:56 link? 19:26:06 http://s000.tinyupload.com/index.php?file_id=59868689221719822888 19:27:08 This is for a bytecoded VM based host-side Forth 19:28:03 super-preliminary draft, mostly learning LaTeX 19:28:36 nice 19:28:41 thanks 19:29:01 this Forth doesn't have separated headers 19:29:16 yeah, my Forth has separated headers 19:29:34 particularly because tokens are indices into tables 19:30:05 this does have the disadvantage of that there is an absolute maximum number of tokens 19:30:14 except 19:30:20 Since this is for the PC-hosted side of a tether, I felt no need to have separated headers 19:30:25 if the token table got full I could reallocate it somewhere else 19:31:23 The Forth that runs on the bytecoded VM is using subroutine threading with optional inlining 19:33:16 That's why I show on those diagrams the code that will be inlined by chidren of create and variable 19:36:02 --- quit: fftww (Quit: WeeChat 2.6) 19:37:48 hopefully the diagrams are understandable 19:40:09 The possible padding on the left of each header is because I keep headers aligned on 32-bit boundaries 19:42:55 The padding for a variable's data depends on the defining word used, byte/16-bit/32-bit/64-bit aligned depending on the defining word used (cell size is 64 bits) 19:42:56 I didn't bother with different options for alignment of created words 19:43:06 I just made all words cell-aligned 19:43:13 well, all created words 19:43:22 all : words I made token-aligned 19:44:41 Since my cell-size is 64 bits, it would have wasted too much space to do otherwise 19:45:41 I'm using 32-bit for addresses, 64 for cells 19:47:49 Note that this Forth just runs my development environment on the PC side of the tether, it's not for targets. 19:49:12 * it's not for running on targets 19:52:49 I think I will document exception handling next, since that's a tough one to explain 19:54:52 I opted for the exception handling system you suggested, where the exception is just an xt, and if the exception is uncaught, it executes the xt 19:55:18 I however, modified that slightly and made it, in the even that it is uncaught, print an exception trace starting at the point it was raised 19:55:58 Cool, I find that approach much nicer (and simpler) than the ANS approach 19:56:15 it makes it really easy to define new exceptions 19:56:38 cool :) 19:57:26 I really like the backtraces because they make it so easy, combined with SEE, to see where the exception was actually raised 19:58:14 very nice 19:59:25 brb 20:15:53 --- join: dave0 joined #forth 20:17:11 lunch awaits, catch you later :) 20:38:07 --- join: gravicappa joined #forth 22:33:30 --- quit: dddddd (Remote host closed the connection) 22:36:52 --- join: inode joined #forth 23:30:28 --- quit: WickedShell (Quit: Leaving) 23:31:03 i don't use syntax highlighting in C and other languages either because it's often confusing 23:42:20 --- join: SysDsnEng joined #forth 23:44:50 --- quit: SysDsnEng (Remote host closed the connection) 23:45:07 --- join: SysDsnEng joined #forth 23:59:59 --- log: ended forth/19.11.12