00:00:00 --- log: started forth/20.01.05 00:09:47 --- join: gravicappa joined #forth 00:32:24 --- join: ryke joined #forth 02:34:18 --- join: dddddd joined #forth 03:01:14 --- quit: dave9 (Quit: dave's not here) 03:13:34 --- join: rdrop-exit joined #forth 04:09:30 --- quit: rdrop-exit (Ping timeout: 265 seconds) 04:09:45 --- join: rdrop-exit joined #forth 04:39:56 --- quit: gravicappa (Ping timeout: 268 seconds) 05:03:10 --- quit: iyzsong-x (Ping timeout: 260 seconds) 05:16:41 --- quit: rdrop-exit (Ping timeout: 265 seconds) 05:20:20 --- join: rdrop-exit joined #forth 05:28:31 --- quit: rdrop-exit (Ping timeout: 260 seconds) 05:33:55 --- join: rdrop-exit joined #forth 06:00:00 --- quit: jsoft (Ping timeout: 258 seconds) 06:05:39 --- quit: ryke (Ping timeout: 268 seconds) 06:25:29 --- join: gravicappa joined #forth 07:09:30 --- quit: rdrop-exit (Quit: Lost terminal) 07:55:48 --- quit: WickedShell (Remote host closed the connection) 09:25:41 --- quit: inode (Ping timeout: 246 seconds) 10:30:37 --- join: ryke joined #forth 10:54:36 --- quit: gravicappa (Ping timeout: 260 seconds) 11:11:39 --- join: jsoft joined #forth 12:16:53 --- quit: jsoft (Ping timeout: 268 seconds) 13:00:34 G'day Forthlings 13:15:11 --- quit: ryke (Ping timeout: 260 seconds) 13:39:18 --- join: dave9 joined #forth 13:43:29 --- join: jedb_ joined #forth 13:46:18 --- quit: jedb__ (Ping timeout: 268 seconds) 14:14:56 --- join: learning joined #forth 15:05:13 --- join: ryke joined #forth 15:35:57 --- quit: learning (Remote host closed the connection) 15:43:26 --- join: learning joined #forth 16:03:48 --- join: learning_ joined #forth 16:04:21 --- quit: learning (Ping timeout: 265 seconds) 16:05:20 --- join: jsoft joined #forth 16:24:12 --- join: dave0 joined #forth 16:24:30 --- quit: tabemann (Ping timeout: 260 seconds) 16:37:37 --- quit: learning_ (Remote host closed the connection) 16:46:24 --- quit: ryke (Ping timeout: 265 seconds) 16:51:49 --- join: tabemann joined #forth 17:47:16 --- quit: dave0 (Quit: dave's not here) 18:14:19 --- join: smokeink joined #forth 18:16:20 --- join: jedb__ joined #forth 18:19:29 --- quit: jedb_ (Ping timeout: 268 seconds) 18:26:00 tpbsd: how are ya 18:26:24 I'm good crab1, you ? 18:27:24 good, might be getting a free oscilloscope :) 18:27:43 I've just added another page to my doc site: https://mecrisp-stellaris-folkdoc.sourceforge.io/ihex-32bit.html the marvels of Intel Hex extended addressing 18:27:51 awesome! 18:28:36 there are a lot of very impressive DSO's about these days, some are really cheap compared to what they used to cost 18:29:41 my HP is ancient but I prefer it to cheaper faster Chinese scopes 18:31:57 The one I'd be getting would be an older one, my father said he had it when he used to work at Motorolla 10 years ago and it was old then, so it's only older now 18:32:17 I believe it's two channels, but I don't know the brand or anything 18:32:34 he would know exactly what is a good scope 18:33:27 I would have asked more, but I think he had to go eat dinner 18:33:30 mine was made in 1993, so it's 27 years old 18:34:24 I bought a new 300Mhz, 2GS/s Rigol about 2 years ago for $1200 AUD, but I hated it, and sold it after a year 18:34:57 what was wrong with it? 18:35:11 I couldnt understand the menues, I couldnt drive it easily, I found it so hard to use 18:35:47 the old HP Digital Storage Oscilliscope is so easy to use I dont have to think about it 18:36:40 Ive written a GUI program, I write tons of Forth programs, Perl, C, Shell, I know them all (to some degree) but that Rigol and I just didnt get along 18:37:15 oh, plus the bloofy thing took forever to boot, it was painful 18:37:28 my OLD hp boots almost instantly 18:38:36 the Rigol had tons better resolution LCD, color, mega faster, but the menues were a POS 18:39:17 HP used to have a whole department just for designing the UI, maybe Rigol will one day 18:40:41 Well, one person is probably enough to design the UI of an oscilloscope, if you got the right person 18:40:48 was it really that bad? 18:41:03 it was horrible to me 18:41:16 I would think that the people designing oscilloscopes are people that use oscilloscopes, and would know better than to make shitty menus 18:41:27 I think that UI design is probably one of the hardest jobs ever 18:42:06 the menu wasnt 'shitty' I just didnt think like the designer did 18:42:38 I spent 12 months trying to like it but was using the HP most of the time because ... easy 18:43:28 Hmm maybe UI is harder to design than I think 18:43:56 I know my UI design skills are abysmal 18:44:30 my first and only GUI app really looks horrible, but it's functional 18:44:55 I used it over the last 15 years every day until the start of last year 18:45:23 was just GTK widgets and Perl doing the work 18:47:22 well I will definitely say that 95% of UIs I run into are stupid as fuck, I end up needing to work things a way where I can manage UI myself 18:47:44 it's definitely a skill! 18:48:18 I enjoy the ACME editor for consistent UI across programs 18:48:52 but ACME only lives up to its name if you run it inside plan9, unfortunately 18:50:23 And then ACME can't be your UI for an oscilloscope :( 18:51:03 I heard plan9 was good, Ive never seen it, but I'm not that much into computing, Im a electronics tech 18:51:45 --- join: X-Scale` joined #forth 18:52:58 I enjoy it, but it doesn't like my wifi card and I can't use ethernet at the moment, so OpenBSD it is 18:53:24 --- quit: X-Scale (Ping timeout: 268 seconds) 18:53:24 --- nick: X-Scale` -> X-Scale 18:53:31 yeah old software and modern hardware rarely get along 18:53:55 what window manager do you use ? 18:54:03 9front is actively used and developed, but the group is small and they all have ThinkPads 18:54:33 I use cwm, it ships with OpenBSD, I find it does a good job of staying out of the way 18:54:37 I hear the FreeBSD devs all use mac laptops 18:54:46 and I love the little application menu cwm has 18:54:49 I have used icewm the last 20 years 18:54:55 maybe longer 18:55:52 it has a bar by default, doesn't it? 18:56:19 yeah, I'm a virtual desktop addict 18:56:32 I use about 47 of them 18:56:42 I do not like the bar 18:56:46 but I hate icons so dont use them 18:57:13 I want the screen empty besides whatever programs I'm running, I find myself running out of space as it is 18:57:14 cwm looks pretty good to me, very functional 18:57:26 yeah, it's always a issue 18:57:50 i do consider a second monitor from time to time 18:58:06 I may add one soon 18:58:18 just for stuff I cant fit on the one screen 18:58:38 I was going with just my laptop's monitor for a while, which is 17" so pretty good size laptop, but I have my monitor back now and I really did miss the second screen 18:58:58 ahh 18:59:31 Often it's "Do things on this screen, read things on second screen," but if I have acme on my system I will do one screen for acme and the other for everything else 18:59:39 I tried 2 screens a few years ago and found it was too wide, but Ive changed since then I think 18:59:57 yeah, thats a bit like what I had in mund 19:00:00 mind 19:01:05 I'd recommend giving it another try 19:01:19 I will 19:01:48 I'm upgrading the OS on this box in a few weeks and will set up a second screen then 19:01:57 do it all together 19:02:05 to what OS? 19:02:12 same os, FreeBSD 19:02:23 just a later version 19:02:57 I can't leave FreeBSD now, Im a ZFS and jail addict 19:03:19 if I did it would be to openindiana 19:03:22 ah, I have encountered your kind before 19:03:30 addicts ? 19:04:00 specifically the ZFS and jail sorts 19:04:23 yeah, hard core addicts on the really strong drugs! 19:05:10 FreeBSD starts you on the soft drugs like jails, then slowly gets you hooked on the strong stuff like ZFS 19:06:49 --- quit: tabemann (Ping timeout: 240 seconds) 19:07:32 --- quit: jedb__ (Ping timeout: 265 seconds) 19:07:45 I feel like an immense amount of effort goes into making the terminology used by mathematicians sound as intelligent as possible 19:07:51 --- join: jedb joined #forth 19:08:14 probably not just mathematicians 19:08:28 look at lawyers and Latin ? 19:08:41 That's true too 19:09:09 i can understand the reason for latin tho, everyone should probably learn it 19:09:15 doctors also lean it 19:09:36 plus the language kind of defines the technology ? 19:09:47 how many romans were mathematicians ? 19:10:06 with no concept of zero, probably not many 19:11:17 concept of zero is actually a quite unintuitive jump, though it may seem simple 19:11:30 lots of maths can be done without a concept of zero 19:11:41 true 19:11:42 perhaps even most maths 19:11:56 the romans managed without it 19:13:07 --- quit: X-Scale (Ping timeout: 258 seconds) 19:13:27 this is true 19:13:57 --- join: X-Scale` joined #forth 19:15:02 --- nick: X-Scale` -> X-Scale 19:15:18 but then they didnt build spacecraft or 2nm transistors 19:15:31 all tech gets us only so far 19:17:51 tech is our salvation! 19:18:19 absolutely 19:19:12 sadly tho, and Im not complaining, I feel as tho I have lived at 0.0000000000000000000000000000000000000001% of the tech era I really want 19:20:07 I want to live in a era when the unified field theory is complete and understood by children 19:20:17 --- join: rdrop-exit joined #forth 19:20:48 when a 100kw fusion generator is the size of a USB stick, perfectly safe and lasts for 100 years 19:21:25 but hey, if it's already been done, you get less of a role in the achievement 19:21:55 i was never after fame, only understanding 19:22:42 i dont care now, nor have I ever cared, if zero people in the world know of me 19:23:09 not the fame, but the discovery 19:23:14 discovery is great fun 19:23:17 being alive with a working brain is all I care about 19:23:25 Good morning Forthwrights 19:23:29 maybe you prefer understanding to discovery, but I like discovery 19:24:01 ello rdrop 19:24:11 there will *always* be tons of understanding to be acquired by every individual. The fact you may understand calculus doesnt mean I do 19:24:15 hi crab1 19:24:20 gday rdrop-exit ! 19:24:58 Likewise Master Forth Technician (tm) and Youtube celebrity 19:25:18 crab1, this is my opinion on 'reinventing the wheel: https://mecrisp-stellaris-folkdoc.sourceforge.io/rants.html?highlight=rant#reinventing-the-wheel 19:25:30 thank you, Zen Forth Guru! 19:25:59 rdrop-exit, yes, I'm famous now, I have 43 subscribers on my Forth channel! 19:26:11 we are not worthy 19:26:23 one is a alien as there are only 42 Forth users in the world 19:26:33 I'm one of those 43 19:26:55 Even though I don't speak Australian 19:26:56 really ? remove yourself immediately, my channel is not worthy! 19:27:12 :) 19:27:42 I have a new page and it's about your *favorite* thing !!! Intel Hex ;-) 19:27:57 :)) 19:28:11 link please 19:28:24 I have mastered Intel Hex Extended Addressing type 04! 19:28:33 ooh!!! 19:28:45 https://mecrisp-stellaris-folkdoc.sourceforge.io/ihex-32bit.html#ihex32 19:29:22 yes, I can clone a onforth image of up to 4GB now, should 4GB flash ever become common on small MCU's 19:29:38 onforth = Forth on mcu 19:29:50 Reinventing something is a great way to gain a deep understanding, that's how Feynman worked 19:30:04 so I guess I wont need to modify it for at least another couple of years ? 19:30:11 oh I agree 19:30:40 I see reinventing the wheel as a absolute right of passage for everyone who designs 19:31:22 All that ihex stuff is unecessary ;) 19:32:24 so you have said, many times 19:32:45 however it's necessary here 19:32:52 My tether bias is showing again 19:33:11 well there are alternatives, but I love doing as much as I can *on chip* 19:33:17 I like that you have an example that literally uses a wheel 19:33:37 it is, you are certainly tethered to you anti ihex bias :) 19:34:00 crab1, at my age one has plenty of real life experience to draw upon 19:34:34 and I cant really convey the sense of utter loss that mums plastic wheel engendered in me 19:34:41 wheels 19:35:15 we kids had the worlds strongest, most bulletproof motorised go-cart with the metal wheels 19:36:49 the feeling I had when driving it was exactly the same as if *right now* a man from Aglient knocked on your door and delivered a 10Ghz, 100GS/s, 10 channel digital scope to you for free 19:37:28 and it still had the $1 million USD price tag on the box 19:39:47 I wouldn't have a clue what to do with it lol 19:40:08 resell it for $0.5M 19:40:30 true 19:40:50 that wouldn't change the emotion of having it there, of imagining the possibilities ? 19:41:00 hahah 19:41:21 and buy a $1000 Rigol with brain killing menues ? 19:41:48 don't worry, you wouldn't like the menus on the million dollar one either 19:42:20 Aligent is what HP used to be 19:42:44 Im pretty sure the menues would be *exactly* what Id like 19:43:09 even if they were the same ones I have now in my 1994 HP Digital Storage Oscilliscope 19:44:20 One nice thing about the RISC-V compressed instructions is that they are an extension of the ISA rather than an alternative ISA (unlike Thumb and MIPS16) 19:44:42 OH ? 19:44:48 (getting ready to write assembler words for the compressed ISA) 19:44:51 well thats really nice to hear 19:45:28 I know matthias said that although his latest Mecrisp-Quintus for RISC-V uses compressed isa, that one can use either 19:45:35 at the same time 19:45:59 RISC-V is sounding better all the time 19:46:57 It's funky but nice 19:47:07 I havent yet set up hardware handshaking and 108Mhz clock on the GD32VF103 but I think it will be pretty nice 19:48:04 it's not bad at 16mhz 19:48:09 RISC-V is delicious 19:48:25 crab1, it's still expensive 19:48:46 the GD32VF103 is a real PITA to program the GPIOs 19:48:51 But should get cheaoer, I think 19:48:56 cheaper* 19:49:19 I think that RISC-V could well alter the face of embedded in time 19:49:44 in the same way that Linux pretty much chopped Windows off at the knees 19:49:44 not only embedded 19:50:14 Im only do embedded, so I'll leave prophecies in otehr areas to the experts like you :) 19:50:21 "expert" 19:50:26 well more than me 19:50:34 I lead a sheltered embedded life 19:50:49 I like $0.50 SMT cortex-m0's 19:51:01 Now that I mentioned it earlier I want plan9 again :( 19:51:13 plan9 lust ... 19:51:29 have to ask my landlord if I can get ethernet down here 19:51:57 wifi no good ? 19:52:33 plan9 doesn't like my wifi card, and the wifi signal is often poor 19:53:34 there are other options (to quote rdrop-exit ) 19:53:59 "RV32I instructions are indistinguishable in RV32IC. 19:53:59 Thumb-2 is actually a separate ISA with 16-bit instructions plus 19:53:59 most but not all of ARMv7." 19:54:01 simple options? 19:54:02 never use a wifi card anyway 19:54:32 crab1, use 2 wifi units connected via ethernet at either end 19:54:58 as in extend the wifi signal 19:55:21 crab1, as in extend the network, pretend the wifi part is just a long lan cable 19:55:52 crab1, using two wifi AP's in bridge mode and you have a 'intelligent' lan cable alternative 19:56:05 I think it would be better to just get an ethernet cable run down here 19:56:19 rdrop-exit, thats amazing, you have made me hungry to get back to the RISC-V 19:56:41 crab1, absolutely, only use wifi where cable isnt possible 19:57:56 I really like that, the 16-bit instructions are just extra instructions you can choose to use, rather than a completely alternate ISA 19:58:12 oh me too! 19:58:39 You just need to make sure the chip supports RV32IC, not just RV32I 19:58:43 and the latest mecrisp using compressed is only 18kB, the 32 bit version was 28.8kB 19:59:03 you can even mix and match the two, right? 19:59:05 the GD32VF103 does as I have both versions for it 19:59:16 crab1, seems so 19:59:55 crab1, I have no RISC-V assembly experience yet 20:00:33 crab1, you always have RV32I, the C gives you compressed 16-bit instructions in addition to the normal 32-bit ones, and relaxes the alignment requirements 20:00:50 now, 20:01:17 how to run 40ft of ethernet through my landlord's kitchen and down the steps without him noticing 20:01:36 crab1, hence my wifi suggestion 20:02:01 but then I need extra hardware 20:03:04 think out of the box, do you really need a landlord? 20:03:27 ;) 20:03:30 :) 20:04:53 That's good thinking, I'll move out to the woods, and communicate with the world via HAM radio 20:04:57 * tpbsd has a landlord 20:05:47 IP over carrier pigeons 20:06:14 https://en.wikipedia.org/wiki/IP_over_Avian_Carriers 20:06:40 RFC 1149 20:08:12 I think the simplest, most Forthy solution to your problem is to bump off the landlord 20:08:43 --- join: tabemann joined #forth 20:08:52 tpbsd, you should let him go soon then 20:08:58 I think they have Internet in prison now ? 20:09:21 MrMobius, I will when I retire next october 20:09:51 MrMobius, my ex wife has a very nice 8.5 acres all paid for :) 20:10:17 is she your landlord? 20:10:30 no 20:10:44 pretty unlikely 20:11:02 as I was the one who paid for her land and home 20:11:17 ouch 20:11:21 at least you know what youd be getting if you rented from her 20:11:42 which is why I dont :) 20:11:42 this carrier pigeon idea seems good, but for IM it may not be practical 20:12:32 oh well 20:21:51 --- quit: crab1 (Quit: WeeChat 2.6) 20:22:23 Lots of bit scrambling in RISC-V's compressed instruction formats, e.g. offset[11|4|9:8|10|6|7|3:1|5] 20:22:57 funky stuff 20:23:11 I'm very confused by that 20:23:52 please explain it in 10 words or less ? 20:24:17 Let's say you have a 12 bit offset, offset[19:0] 20:24:30 offset[11|4|9:8|10|6|7|3:1|5] shows how it would be encoded in the instruction 20:24:51 i.e., the bits are redistributed all over the place 20:25:35 I guess I have a long learning curve with RISC-V assy ahead of me then! 20:25:47 "The immediate fields are scrambled in the instruction formats instead of in sequential order so that as many bits as possible are in the same position in every instruction, thereby simplify- ing implementations." 20:26:08 sounds fair 20:26:37 More trouble for the assembler writer, less trouble for the H/W implementer 20:27:38 oops the above should be, let's say you have a 12 bit offset, offset[11:0] ... 20:28:47 It won't affect application programmers, just assembler/disassembler writers 20:29:30 hey 20:30:01 makes it harder to eyeball an instruction in hex and mentally disassemble it though 20:30:32 end up cross-eyed 20:31:24 hi tabemann! 20:31:44 ugh that'd be a fuckin pain to implement my compiler for, were I to write a compiler for RISC-V 20:32:12 it's pretty easy to deal with 20:33:27 just write some words to pack the format 20:33:29 rdrop-exit, makes sense, the hardware is a million times harder to design 20:33:54 the thing is that this kind of thing smells like premature optimization to me 20:34:04 rdrop-exit, as you say, no one writes in machine code except Forth designers :) 20:34:25 tabemann, less complaining, more doing! 20:34:41 tabemann, why? they're just making the hardware simple 20:34:50 Thumb-2 is annoying enough 20:34:58 and it's not nearly as bad as that 20:35:01 it sure is 20:35:34 rdrop-exit, what have you started ? 20:35:51 rdrop-exit: it's like archs that have a branch delay slot; sure, in the hardware of that age it sped things up, but it was not helpful in the future 20:36:03 tabemann, matthias seems to have managed it somehow ? 20:36:07 But as I mentioned before you got here, they were really smart about making the compressed instructions just an extension, unlike thumb 20:36:58 tpbsd: Thumb-2 isn't really that bad, it's just slightly annoying when it has discontinuous immediate fields 20:37:02 tabemann, that's different, the branch delay slot in MIPS was something the application programmer had to deal with 20:37:17 --- join: ryke joined #forth 20:37:41 Untested draft code ahead: 20:37:45 source RISC-V - RV32I - Instruction Formats - J-type 20:37:46 31 bit constant %j.imm[20] 20:37:46 30 21 bits constant %j.imm[10:1] 20:37:46 20 bit constant %j.imm[11] 20:37:46 19 12 bits constant %j.imm[19:12] 20:37:48 : +j.imm[20:0] ( sx[20:0] 32b -- 32b' ) 20:37:50 over 31 21 bits and triggers ximm 20:37:53 over 0 bit and triggers xoddimm 20:37:55 tabemann, I have programmed thumb-1 a small degree, I'm ok with it 20:37:55 over 20 bit and %j.imm[20] pack 20:37:58 over 19 12 bits and %j.imm[19:12] pack 20:38:00 over 11 bit and %j.imm[11] pack 20:38:03 swap 10 1 bits and %j.imm[10:1] pack ; 20:38:11 SPAMMER! 20:38:30 where did my blank lines go? IRC eliminated them 20:38:43 tpsd: Thumb-2 is better than Thumb-1 though in that it greatly simplifies long literals 20:38:50 rdrop-exit, why paste Japanese text here ? 20:39:23 because in Thumb-2 a long literal is just two 32-bit instructionsthat are very simple 20:39:34 domo arigato Mr. Roboto 20:39:36 tabemann, definitely not my favorite ISA but I can use it ok 20:39:57 hi wakalimasta! 20:40:13 whereas in Thumb-1 if one wants a 32-bit literal you need a long series of MOVS, LSLS, and ORRS or ADDS instructions 20:40:34 --- join: crab1 joined #forth 20:40:42 BAck 20:40:47 forth 20:40:48 tabemann, only if you cant write a macro or dont have a Forth that deals with it 20:41:03 crab1, welcome back! 20:41:18 welcome forth, crab1! 20:41:24 hey crab1 20:41:44 tabemann, I have 'registerliteral,' that takes care of that stuff 20:41:55 tpbsd: the difference is that one is guaranteed to use at most 8 bytes to represent a 32-bit number, whereas the other may use more bytes than that 20:43:10 I imagine that the former also executes faster 20:43:13 tabemann, yeah but things usually average out I guess ? 20:43:18 tabemann, I bet you'll find RISC-V cleaner than Thumb 20:43:30 Who here has made a forth 20:43:37 * tabemann raises hand 20:43:41 but it seems that RISC-V offers us the best of both worlds now 20:43:41 guilty 20:43:58 crab1, not me 20:44:17 crab1, I'm just a Forth user 20:44:33 Well I am trying to devise a forth, and something is troubling me 20:44:34 tb, for now, never say never 20:46:23 rdrop-exit, it's unlikely, and I have other things of higher priority 20:46:32 but as you say ... 20:46:47 crab1, what is troubling you ? 20:48:07 take the couch and tell us your problem 20:49:25 Dr rdrop-exit is listening ... 20:49:52 wee have ways of making you better 20:49:54 Well, I want my forth to support recursion, but I don't want to do TCO, and I don't want to have a word like -; as in colorForth, and I'm not sure if there's anything I can do 20:51:08 explicitly branch back to the beginning to the word, i.e. explicit tail recurion 20:51:13 * recursion 20:51:37 then every word with recursion would have extra stuff 20:51:38 although TCO is trivial in Forth, might as well have it 20:52:06 what extra stuff? 20:52:28 the explicit tail recursion 20:52:51 e.g. in SRT, you're replacing a ret with a relative jump back to the beginning of the word 20:53:04 yeah that's what you do 20:53:22 : recur { -- }( -- ) myself jmpi, ; directive 20:53:56 (that code is old, I need to replace it with a relative jump someday) 20:56:05 TCO: 20:56:16 : curtail; ()( r: ra1 ra2 -- ra1| ) 20:56:16 call| a@ here <> ?; 20:56:16 encoded jmpi address 1+ here \- b! 20:56:16 bail; ; compiled 20:56:46 (also old code, that needs updating to a relative jump) 20:57:07 would a threading technique that's like subroutine threading but explicitly pushes and jumps instead of calling be bad? because then recursion is just "don't push before you jmp" 20:57:18 I don't know if push jmp ret is slower than call ret 20:58:29 or if call is superior to jmping everywhere 20:59:13 --- quit: smokeink (Ping timeout: 240 seconds) 20:59:31 TCO is just replacing the final call with a jmp 21:00:06 I know, I'm just asking if it would be bad to ALWAYS jmp instead of call 21:01:26 that's basically what you do with RISCs, where a call is synthesized 21:03:17 and then recursion is free, instead of needing a word recurse or -; or adding in TCO 21:03:46 what do you mean recursion is free? 21:04:53 --- join: smokeink joined #forth 21:05:13 tail recursion is just a jump 21:05:40 I mean a word with its name in its defintion works without anything extra, instead of needing to change from calling as usual to jumping 21:06:03 forth can do what it does as usual instead of needing to account for recursion will fill the stack 21:06:07 nothing in life is free! 21:07:12 tpbsd: BOGO sales are a lie! 21:08:26 I'm not getting what you're saying, tail recursion is a special case that just lays down a jump instead of a call, normally in Forth it's done with RECURSE or RECUR or a similarly named word 21:09:12 TCO is done by replacing the final call with a jump 21:09:19 I understand all that 21:09:36 I just don't like tail recursion being a special case, I don't feel like it should be 21:10:20 but I'm crazy and everyone has told me the same about this specific issue of mine 21:10:29 it continues to bother me though 21:10:31 The reason we use a word such as RECURSE is we don't want to mask older versions of the word 21:10:54 old version of test: 21:10:57 I also really do not like RECURSE 21:11:08 : TEST blah blah ; 21:11:23 new version of test: 21:11:42 : TEST bing TEST bang boom ; 21:12:09 With you solution how wouuld you implement the second version of TEST? 21:12:47 the second version is supposed to call itself or the first version? 21:13:00 it calls the first version 21:13:16 presumably they're in different vocabularies 21:14:02 when you add the second vocabulary to your search order you get an "enhanced" test 21:15:29 That's why we have RECURSE instead of just using the name directly, to avoid masking previous versions 21:15:36 --- quit: smokeink (Read error: Connection reset by peer) 21:16:51 I don't like having multiple words with the same name though, besides even in yours if you created a TEST after that that also references TEST it would just mean the second TEST and the first would be lost at that point, right? 21:17:39 not lost, I can remove the vocabulary from the search order, my old test is still there 21:19:40 You manage your namespaces in Forth via the search order mechanism (i.e. vocabularies) 21:19:48 then in this case, all you can't do is use the same name word from another vocabulary in your definitions that doesn't seem too bad to me honestly, I feel like : TEST bing TEST bang boom ; meaning "use the OLD test" is confusing anyway 21:20:36 in ": TEST bing TEST bang boom ;" TEST looks like its calling itself to me, unless I already know there's some other TEST in existence I guess 21:21:26 it's just like bing bang and boom, look up the existing definition of bing and compile it, same with boom, same with TEST, etc... 21:22:29 it's consistent, look up name in search order, compile it 21:23:09 Normally the word that is currently under construction is not yet part of the search order 21:23:12 and right after ": TEST" my intuition says that now a new definition should exist 21:23:34 It doesn't exist until it is completed 21:24:28 errors may happen while you're compiling it, you don't commit it until it's done 21:26:10 it feels very uncomfortable to me idk why, this is the one part of forth that has struck me as 'this part is wrong' 21:26:19 I understand your reasons, but it feels wrong 21:26:43 --- join: smokeink joined #forth 21:29:34 weigh the advantages and disadvantages, experiment, maybe your way is more practical for your needs, I can't say 21:31:15 See if you can back up your gut feeling, with an explicit list of pros and cons 21:33:32 There are infinite varions on the Forth theme 21:33:59 * variations 21:34:10 Lunch is ready, catch you all later 21:34:18 --- quit: rdrop-exit (Quit: Lost terminal) 21:34:25 buh bye 22:11:58 --- quit: dddddd (Ping timeout: 268 seconds) 22:31:03 --- join: rdrop-exit joined #forth 22:31:07 c[] 22:47:13 --- join: gravicappa joined #forth 22:50:46 c[] 23:01:33 Hi crab1 23:34:47 --- join: dys joined #forth 23:51:43 --- join: proteus-guy joined #forth 23:53:35 --- quit: patrickg (Remote host closed the connection) 23:53:44 --- join: patrickg joined #forth 23:59:59 --- log: ended forth/20.01.05