00:00:00 --- log: started forth/18.12.11 00:01:08 --- join: FatalNIX (~FatalNIX@caligula.lobsternetworks.com) joined #forth 00:01:49 Have to go the mall, chat again soon. Keep on Forthin' 00:02:01 --- quit: rdrop-exit (Quit: Lost terminal) 00:02:38 --- quit: FatalNIX_ (Read error: Connection reset by peer) 00:02:57 cya rdrop-exit 00:35:16 --- quit: dave9 (Read error: Connection reset by peer) 01:17:26 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 01:55:52 --- join: dave9 (~dave@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 02:03:55 --- quit: ashirase (Ping timeout: 252 seconds) 02:07:03 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:55:37 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 03:23:37 --- quit: smokeink (Ping timeout: 246 seconds) 03:32:52 --- join: smokeink (~smokeink@42-200-117-62.static.imsbiz.com) joined #forth 04:05:11 rdrop-exit, PoppaVic: Check out libdill/libmill 04:05:29 Go-style or C-idiomatic coroutines 04:05:38 using a single #include 04:08:56 cd .. 04:33:12 --- quit: smokeink (Ping timeout: 250 seconds) 04:52:52 --- quit: pierpal (Ping timeout: 268 seconds) 04:58:40 --- join: rdrop-exit (~markwilli@112.201.164.82) joined #forth 05:00:52 Wilhelm: A megabyte of code for coroutines? Holy cow! =8-O 05:17:57 --- join: smokeink (~smokeink@42-200-117-62.static.imsbiz.com) joined #forth 05:25:05 --- quit: rdrop-exit (Quit: Lost terminal) 05:38:12 --- quit: smokeink (Ping timeout: 250 seconds) 06:01:07 * Zarutian is home, sick. 06:02:12 so how would ya peeps implement an Forth VM using SIMD instructions to support quite a few VM running in 'parallel'? 06:29:25 that would be cool. i can't imagine how it would work though, forth primitives aren't atomic 06:29:44 it's not like every thread would encounter a NEXT at the same time 06:36:40 also, i was sick over thanksgiving week. i chose to spend my time much more productively: playing a lot of super metroid 06:59:06 zy]x[yz: that is why I said Forth _VM_ not just Forth. 07:01:42 but NEXT /is/ the vm, isn't it? 07:02:50 zy]x[yz: nope, it is a routine, that it often inlined, at the end of implementations of primitives 07:03:38 what would you call the vm, then? 07:05:20 the virtual ISA implementation underneath the running code. A bit like how BOCHs or snes9x emulator works. 07:06:20 oh, so you really do mean a forth running on top of a vm 07:06:59 sorry, it's confusing in the context of forth because i've seen a lot of forth people refer to the forth machine (namely, next) as a vm 07:17:06 yeah, that is an error to refer to NEXT as a vm. I would call it indirect control flow linkage 07:18:07 you're sort of talking about a forth running on top of bytecode 07:18:55 bytecode or something like the canonical dual stackmachine code from "Stackmachines The New Wave" book 07:26:20 --- quit: tabemann (Ping timeout: 268 seconds) 08:09:52 --- quit: dave0 (Quit: dave's not here) 08:11:42 --- join: Insert_Coin (~insertCoi@h081217214054.dyn.cm.kabsi.at) joined #forth 08:12:02 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 08:14:38 --- quit: MrMobius (Ping timeout: 250 seconds) 08:14:39 --- nick: [1]MrMobius -> MrMobius 08:15:45 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 08:19:34 --- quit: MrMobius (Ping timeout: 252 seconds) 08:19:35 --- nick: [1]MrMobius -> MrMobius 09:24:24 --- join: dys (~dys@tmo-123-49.customers.d1-online.com) joined #forth 10:04:47 --- quit: ncv (Remote host closed the connection) 10:17:19 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 10:19:52 --- quit: MrMobius (Ping timeout: 250 seconds) 10:19:52 --- nick: [1]MrMobius -> MrMobius 10:44:29 --- quit: Insert_Coin (Ping timeout: 240 seconds) 14:51:50 --- join: dave0 (~dave0@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 14:52:02 hi 14:59:51 --- quit: john_cephalopoda (Quit: WeeChat 2.3) 15:00:01 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 15:44:13 --- join: xek_ (~xek@apn-31-0-23-87.dynamic.gprs.plus.pl) joined #forth 15:46:40 --- quit: xek (Ping timeout: 245 seconds) 16:37:23 --- quit: john_cephalopoda (Ping timeout: 260 seconds) 16:37:43 --- join: xek__ (~xek@apn-31-0-23-80.dynamic.gprs.plus.pl) joined #forth 16:39:16 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 16:40:20 --- quit: xek_ (Ping timeout: 250 seconds) 18:15:24 --- quit: dddddd (Remote host closed the connection) 18:26:48 --- join: tabemann (~tabemann@h193.235.138.40.static.ip.windstream.net) joined #forth 18:28:54 --- join: rdrop-exit (~markwilli@112.201.164.82) joined #forth 18:34:36 Good morning Forthwrights :) 18:35:11 Hello, rdrop-exit. 18:35:40 Hi verisimilitude, how goes your CHIP-8 work 18:35:47 ? 18:35:56 I'm planning an article for 2018-12-12. 18:36:02 Or, rather, I'll have one then. 18:36:24 I've been taking CHIP-8 games submitted to VIPER magazine and documenting them in detail. 18:36:25 It's already 2018-12-12 here 18:36:43 I'm in a different timezone. 18:36:53 I assume so :) 18:38:04 Have you decided if you will implement some kind of Forth VM for CHIP-8? 18:38:51 hey guys 18:38:59 Hi tabemann! 18:39:28 That's still in the plans, yes, rdrop-exit. 18:39:44 Very cool 18:39:55 * tabemann is reading about Factor and it disgusts me - why take something small and elegant, like Forth, and turn it into a big "multi-paradigm" object oriented language 18:40:10 It will likely be a curiosity more than anything, although it may be useful for compressing a program at the cost of speed; I don't yet know. 18:41:48 Tabemann, I feel the same way about most Forth derivatives and experimental Forths I see. 18:42:55 by that, though, my Forth is probably disgusting too, considering that it has plenty of features not necessary in a small purist Forth, even though by no means does it compare with Factor 18:43:42 Your Forth only has to please you 18:45:15 I wonder what proportion of Forths are one-user Forths 18:45:34 Probably quite large, one user or one shop. 18:45:44 How many people own multiuser machines? 18:46:29 PoppaVic: I mean in the sense that only one person uses the Forth implementation 18:47:01 I should have said developer rather than user 18:47:14 tabemann: Yes, I know - but there is not much call for "multiuser" forth or systems anymore, when you can buy PC's and such far cheaper 18:47:16 like my Forth is a one user Forth because I am the only person who uses that implementaion 18:48:07 contrasted with say, gforth, which is used by many people 18:48:44 oh, you mean "POPULAR" not "multiuser" 18:48:59 I doubt gforth is used for many applications 18:49:49 gforth is handy - I always install it with mc, joe, etc - but it's a nightmare for fullblown programming.. No books/docs other than an info file. I'd use C for anything serious. 18:50:07 well, not that many, but > 1 18:50:35 PoppaVic: In fairness, it's a pretty big info file. 18:50:53 especially if you've got the development version 18:51:05 true, but the make and gcc files are even more prolific ;-P 18:51:44 I've never used gForth, I've perused the manual 18:52:12 I used to use gforth a very long time ago, when I was in high school 18:52:39 that was like 17 years ago 18:52:41 It's not very Forth-like 18:53:04 well, I think PFE is another nice forth, but I can't remember offhand the hack I had to make to the Makefile to get the damned thing to build. I did contact the author and tell him, but it's never been "fixed" 18:53:34 It's just another desktop scripting language 18:54:29 rdrop-exit: I like to plop into gforth for real quick "what if" and RPN diddling, but yeah - it's not something I'd write a serious app in 18:54:55 I get that your idea of what is Forth-like is like something requires < 64K RAM and runs on bare metal 18:55:30 no forth around should require 64K 18:55:33 Tabemann, not necessarily, no. 18:56:04 (unless yer using ginormous cell-sizes) 18:56:20 I'm using ginormous cell sizes :D 18:56:48 64K doesn't go far when your cells are 64-bit 18:57:03 One of my Forths is 64-bit and written in C for POSIX. 18:57:59 gForth makes simple things convoluted. If you can't keep the simple things simple, it's not a good example of Forth practice. 18:59:16 what's your opinion of ficl? 18:59:57 ficl always looked useful for someone. I never did get to trying it 19:00:03 Gforth does to Forth what Gnu does to UNIX and C in general, except Forth programmers aren't hypocritical to point it out. 19:00:18 I only did a quick persusal of ficl ages ago, can't recall. 19:00:56 verisimilitude: yeah, I think the only reason it still is a "package" is the G prefix. It was just an experimental and abandoned project 19:01:08 ficl seemed nice when I looked at in high school for a scripting language if you're coding in C 19:01:16 Well, there's not much to add, although it still receives updates. 19:01:55 They don't need to "add" they need to "subtract" 19:02:00 I think ANS and gForth give a very misleading idea of Forth. 19:02:05 I meant more or less how GNU software is ``bloated'' but, unlike C and UNIX, normal Forth software is actually compact and well-written, so there's a point to critiquing it beyond just not liking GNU. 19:03:43 the impression I got from reading the gforth docs is that they took ANS and made it even bigger 19:04:15 like for each page full of word docs half of them would be gforth extensions above and beyond ANS 19:04:29 Forth's traditional strengths have taken a back seat. 19:04:30 Gforth, like Emacs, includes a Tetris game. 19:04:45 does it contain a psychologist? 19:05:06 If it does, I didn't find it. 19:08:33 it's weird that by today's standards GNU Emacs is a small text editor 19:08:48 heh 19:08:53 compared to the likes of Eclipse, NetBeans, IntelliJ, etc 19:09:11 it isn't called Jaba for nuttin' 19:10:05 what I've heard is that back in the day GNU Emacs was criticized for taking eight megabytes and constantly swapping... and it still takes up eight megabytes 19:10:25 whereas now eight megabytes is a drop in the bucket 19:10:35 It's an editor that thinks it's an OS - pass 19:10:57 emacs is my operating system and linux is my device driver 19:10:57 pass as well 19:12:01 I use Gforth from Emacs. 19:12:26 I use Emacs itself or controlling other programs for most things, actually. 19:12:36 ERC is the IRC client I'm using here. 19:12:46 I mostly just use emacs for editing text 19:13:04 I use emacs to waste a chunk of drivespace 19:13:17 I don't like the ergonomics of vi, and I hate eclipse, netbeans, and intellij 19:13:35 (I tried it as a doorstop, but the door kept bashing me in the head) 19:14:10 I use emacs with slime for lisp, but otherwise tend to use vim 19:14:40 (and other than for shell scripts or configs, prefer vim over os-native vi) 19:15:25 --- quit: dave0 (Quit: dave's not here) 19:16:24 and no need for full environments if knowing how to write makefiles 19:16:42 I've come to pick up vi, though, from editing files at work when I don't want to open them up in netbeans or visual studio code (the two text editors most of us use) 19:17:09 I should just install emacs on my windows box at work 19:17:24 but I've found emacs on windows to not be completely stable 19:17:36 so I might have to go with cygwin 19:17:40 hmm not using windows... but if I did I'd consider cygwin 19:18:00 --- join: smokeink (~smokeink@42-200-116-132.static.imsbiz.com) joined #forth 19:19:08 I don't know why I haven't installed cygwin at this job 19:19:38 maybe because cmder provides many of the things I'd otherwise use cygwin for, git comes with vi too 19:19:57 it's a bit of a painful install process, to select all wanted dependencies 19:20:03 yeah 19:42:42 0 shadow Arithmetic - Miscellanea 19:42:42 1 19:42:48 ... 19:43:14 b 19:43:15 c sgn Integer signum function. 19:43:15 d 19:43:16 ... 19:43:26 0 source Arithmetic - Miscellanea 19:43:26 1 19:43:28 ... 19:43:37 b 19:43:38 c : sgn ( n -- -1|0|1 ) dup 0< swap 0> - ;inline 19:43:38 d 19:43:59 time for some pepto, eh? 19:44:40 PoppaVic: I don't get it 19:45:48 It looked like paste-diarrhea 19:46:00 ick 19:46:21 Just a random snippet for the heck of it 19:46:40 To break the ice 20:00:09 * tabemann just tried that snippet under attoforth 20:00:22 Did it work? 20:00:45 yes 20:00:51 Cool! 20:01:16 except no ;inline, because currently attoforth doesn't support inlining 20:02:05 My ;inline is non-standard, IIRC ANS doesn't have an inlining word. 20:02:56 Here's one that would require adaptation to your particular Forth: 20:03:04 0 shadow Arithmetic - Miscellanea 20:03:05 1 20:03:08 ... 20:03:16 6 abs Positive absolute value. 20:03:16 7 20:03:16 8 abso Positive absolute value, raise |xovf| on overflow. 20:03:16 9 20:03:21 ... 20:03:22 I didn't put it in because it'd be too complex to implement combined with having too little benefit, since attoforth function calls are already fast enough 20:03:31 0 source Arithmetic - Miscellanea 20:03:32 1 20:03:35 ... 20:03:50 6 : abs ( n -- +n|mnn ) nabs negate ;inline 20:03:50 7 20:03:50 8 : abso ( n -- +n ) abs 0> averts xovf ; 20:03:50 9 20:04:11 oops correction 20:04:31 no correction, I thought I had made a mistake 20:04:42 all's good 20:04:55 okay, I have to go - the coffee shop is closing - I will be on again shortly 20:05:18 Me too, have to walk the dogs, chat again soon 20:06:06 8 : abso ( n -- +n ) abs 0>= averts xovf ; 20:06:27 It did need a correction 20:06:32 after all 20:06:51 I should have tested before posting 20:07:20 Ciao 20:09:38 --- quit: tabemann (Ping timeout: 250 seconds) 20:09:50 --- quit: rdrop-exit (Quit: Lost terminal) 20:35:05 --- join: tabemann (~tabemann@2602:30a:c0d3:1890:a433:523c:27b8:b5c8) joined #forth 20:40:21 --- join: rdrop-exit (~markwilli@112.201.164.82) joined #forth 20:41:21 I'm an idiot 20:41:35 : abso ( n -- +n ) abs dup 0>= averts xovf ; 20:42:08 Without optimization, this would be faster: 20:42:24 : abso ( n -- +n ) abs dup 0>= ?; raise xovf ; 20:42:48 if you say so 20:45:17 The dangers of coding without my intravenous coffee drip hooked up 20:46:08 Thsoe years are quite far behind... I used to require at least 3 or 4 pots of coffee a day 20:46:48 I drink about 7 or 8 double espressos a day 20:48:30 I did a mug of espresso - once... decades ago.. Too hard on the heart. 20:48:49 My cardiologist wants me to cut down 20:50:06 Nowadays, I manage to get going on a cuppa tea or instant Maybe a cocoa or another coffee at work - but that's rare.. Usually when I'm freezing. 20:54:34 When I was a teenager I worked summers in cafés on the French riviera, got hooked on the stuff. 20:55:30 Gotta run, chat again soon 20:55:38 --- quit: rdrop-exit (Quit: Lost terminal) 21:18:21 --- quit: jedb (Remote host closed the connection) 21:18:35 --- join: jedb (jedb@gateway/vpn/mullvad/x-belwwnasbydpwlur) joined #forth 21:27:30 --- quit: dys (Ping timeout: 245 seconds) 22:11:49 --- quit: Zarutian (Ping timeout: 240 seconds) 22:16:30 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 22:48:21 --- join: proteusguy (~proteus-g@119-46-178-3.static.asianet.co.th) joined #forth 22:48:21 --- mode: ChanServ set +v proteusguy 22:54:22 --- quit: proteusguy (Ping timeout: 246 seconds) 23:07:21 --- join: proteusguy (~proteus-g@119-46-178-3.static.asianet.co.th) joined #forth 23:07:21 --- mode: ChanServ set +v proteusguy 23:10:26 --- quit: proteusguy (Client Quit) 23:10:35 --- join: proteusguy (~proteus-g@119-46-178-3.static.asianet.co.th) joined #forth 23:10:35 --- mode: ChanServ set +v proteusguy 23:10:51 --- quit: proteusguy (Remote host closed the connection) 23:11:06 --- join: proteusguy (~proteus-g@119-46-178-3.static.asianet.co.th) joined #forth 23:11:06 --- mode: ChanServ set +v proteusguy 23:59:59 --- log: ended forth/18.12.11