00:00:00 --- log: started forth/18.11.05 00:03:24 --- nick: TheCephalopod -> john_cephalopoda 00:04:24 --- quit: dys (Ping timeout: 252 seconds) 00:37:57 --- quit: jedb (Ping timeout: 252 seconds) 01:44:20 --- join: jedb (~jedb@116.251.60.75) joined #forth 01:48:58 --- quit: jedb (Ping timeout: 246 seconds) 01:49:49 Oooh, a QR code generator in Forth would be a fun project. 01:52:05 --- join: jedb (~jedb@116.251.60.75) joined #forth 01:59:07 --- quit: jedb (Ping timeout: 246 seconds) 01:59:28 --- join: jedb (jedb@gateway/vpn/mullvad/x-uujipdhwirldbaqz) joined #forth 02:04:28 --- quit: ashirase (Ping timeout: 260 seconds) 02:08:39 --- quit: jedb (Ping timeout: 244 seconds) 02:12:14 --- join: jedb (~jedb@116.251.60.75) joined #forth 02:13:30 --- quit: jedb (Client Quit) 02:19:13 --- join: jedb (~jedb@199.66.90.113) joined #forth 02:25:24 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:28:50 --- quit: john_cephalopoda (Quit: Trees can see into your soul.) 02:29:06 --- join: pierpal (~pierpal@host210-193-dynamic.245-95-r.retail.telecomitalia.it) joined #forth 02:54:42 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 03:29:38 --- join: nighty- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 03:40:08 --- quit: wa5qjh (Remote host closed the connection) 04:28:45 Yeah, that would be pretty straightforward. 04:29:07 Encoding is pretty easy - there's some heavy theory behind it, but once you have it all figured out the algorithm is not really a big deal. 04:29:35 Decoding is harder, I think, but the class is just now coming to decoding BCH and Reed-Solomon codes. 04:36:43 John: To encode, you need routines to do some arithmetic (numbers and polynomials) over Galois fields. Beyond that, though, there's just a "magic matrix" you use - the bulk of this class has been about WHY that matrix is magic. But using it to generate code words from your message packets is really just "following a recipe." 04:46:05 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 05:00:54 Print it as a Farbfeeeeeld 05:01:15 even though farbfeld would be bloat since QR is black and white 05:06:18 I could print it as XPM 05:11:12 I mean 05:11:39 PBM is just the width, height, then 1s and 0s 05:16:31 I have to think if I really want to write that program or if I rather do something more useful. 05:19:08 Is there some hub dedicated to Forth programs? Some GNU project but for Forth-programs? 05:19:55 http://theforth.net/ has some stuff. 05:21:24 There's a package that is literally ": -rot ( x1 x2 x3 -- x3 x1 x2 ) rot rot ;" 05:22:22 it's not included in a lot of Forths. 05:25:04 WilhelmVonWeiner: Yeah, but that's one line of code. If you neeed it, it shouldn't be tooo hard to write it yourself. 05:25:14 I'm just saying 05:25:27 I mean I would just write "rot rot" 05:26:15 Hmm, all in all it would be best to have some nice, maintained, mostly-ANS Forth OS. 05:27:40 Ciforth is bootable off a floppy and implements most of core and extended core 05:28:51 and has Linux, OSX, DEC Alpha, Motorola 6809, and Wangblows ports 05:29:54 WilhelmVonWeiner: dont you mean MicroSoft Windows 2010 ports for the last one? 05:30:24 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 05:30:55 It writes "DFW" in qemu for me, then stops. 05:31:01 I don't know much about MicroCock Wangturd 05:31:15 so I don't provide information about what does and doesn't work on it 05:31:20 * Zarutian is shamelessly trying to get Windows 10 to mean Windows '10 which is short for Windows 2010 so people will start thinking it is well past it halfmark to End Of Life. 05:35:36 Well, I guess I'll try to set up a cross-compiler and write my own OS with FORTH integration. 05:36:02 Bbiab 05:36:07 --- quit: john_cephalopoda (Quit: Trees can see into your soul. They lurk everywhere.) 05:36:41 write a Forth in C for OpenBSD. 05:40:24 Unless your Forth OS is running with TCP/IP and whatever, what's the difference between running on the Linux kernel and on Hardware 05:40:53 it'll be faster I guess, seems like the only advantage 05:42:24 No "Forth OS" is going to unite all the Forthers into a unified monolith with relevancy 05:48:39 I don't even spend time thinking about Forth being a mainstream language anymore. 05:48:47 I just use it for whatever I want to use it for. 05:48:56 That ship sailed a long time ago. 05:49:01 Nah 05:49:10 It can be done, just needs the right Forth 05:49:29 I think too many people in the biz admire complexity instead of simplicity. 05:50:06 Sort of a "the more complicated it is, the cooler I'll look" mentality. 05:50:28 look at Elm 05:51:17 wait let me grab the link 05:51:47 https://elm-lang.org/blog/how-to-use-elm-at-work 05:52:08 It wouldn't be exactly the method of infiltration but good points are made 05:52:26 A Forth on BEAM would be perfect in this age of microservices 05:53:04 KipIngram (IRC): If you're writing programs for yourself, any language will do. 05:53:17 Haven't written a program with others yet so I have nothing to worry about currently. 05:53:34 Even a language you invented will do fine :-) 06:00:44 Right, and if I invent it I will know exactly how it wors, all the way down to the metal. 06:00:53 I seem to attach significant value to that. 06:11:53 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 07:12:46 --- quit: tabemann (Ping timeout: 268 seconds) 07:13:03 --- quit: smokeink (Ping timeout: 260 seconds) 07:33:57 --- quit: pierpal (Quit: Poof) 07:34:14 --- join: pierpal (~pierpal@host210-193-dynamic.245-95-r.retail.telecomitalia.it) joined #forth 08:51:04 --- join: proteusguy (~proteus-g@cm-134-196-84-236.revip18.asianet.co.th) joined #forth 08:51:05 --- mode: ChanServ set +v proteusguy 10:05:57 --- join: dys (~dys@tmo-104-49.customers.d1-online.com) joined #forth 11:10:14 --- join: xek_ (~xek@apn-31-0-23-80.dynamic.gprs.plus.pl) joined #forth 11:13:16 --- quit: xek (Ping timeout: 268 seconds) 11:21:27 --- quit: dys (Ping timeout: 252 seconds) 12:41:12 --- join: Mat4 (~eh@ip5b409c40.dynamic.kabel-deutschland.de) joined #forth 12:45:29 --- quit: Mat4 (Client Quit) 12:53:53 --- join: dys (~dys@tmo-106-195.customers.d1-online.com) joined #forth 12:58:32 --- join: izabera (~izabera@unaffiliated/izabera) joined #forth 12:58:36 hey there 12:58:40 i'm writing a simple forth 12:58:56 does someone want to try it? 12:59:14 i got functions conditionals and loops working in like half an hour of coding 13:15:19 Sure 13:21:28 --- quit: dys (Ping timeout: 240 seconds) 13:49:32 izabera: What have you written it in? And on what platform? 13:53:14 izabera: Hey 14:36:08 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 14:39:22 --- quit: MrMobius (Ping timeout: 244 seconds) 14:39:22 --- nick: [1]MrMobius -> MrMobius 14:58:27 --- join: smokeink (~smokeink@185.189.254.154) joined #forth 15:00:13 --- join: wa5qjh (~quassel@175.158.225.218) joined #forth 15:00:13 --- quit: wa5qjh (Changing host) 15:00:13 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 15:22:18 --- join: xek__ (~xek@apn-31-0-23-80.dynamic.gprs.plus.pl) joined #forth 15:24:50 --- quit: xek_ (Ping timeout: 250 seconds) 15:31:50 --- quit: wa5qjh (Remote host closed the connection) 15:32:43 --- quit: john_cephalopoda (Ping timeout: 252 seconds) 15:32:49 --- join: TheCephalopod (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 15:42:22 --- quit: TheCephalopod (Quit: Trees can see into your soul.) 15:42:32 --- quit: nighty- (Quit: Disappears in a puff of smoke) 16:10:30 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 16:53:05 --- join: dave0 (~dave@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 16:53:35 hi 17:23:17 --- join: tabemann (~tabemann@h193.235.138.40.static.ip.windstream.net) joined #forth 17:35:50 --- join: nighty- (~nighty@kyotolabs.asahinet.com) joined #forth 17:39:42 --- quit: smokeink (Remote host closed the connection) 17:40:03 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 17:42:19 --- quit: smokeink (Remote host closed the connection) 17:42:49 --- join: smokeink (~smokeink@42-200-116-228.static.imsbiz.com) joined #forth 18:05:32 --- quit: moony (Remote host closed the connection) 18:06:48 --- quit: tabemann (Ping timeout: 252 seconds) 18:07:02 --- join: moony (moony@unaffiliated/moonythedwarf) joined #forth 18:11:29 Hi Dave. 18:16:11 hi KipIngram 18:16:15 how are you? 18:17:19 Good. It's not Friday, though. :-( 18:17:37 it's the start of the week, not the end heh 18:17:45 --- quit: siraben (Ping timeout: 250 seconds) 18:18:01 --- quit: bb010g (Ping timeout: 276 seconds) 18:18:03 --- quit: pointfree[m] (Ping timeout: 260 seconds) 18:18:39 --- quit: jimt[m] (Ping timeout: 276 seconds) 18:19:33 the weather's a bit strange today, it was hot this morning, now it's grey and miserable 18:20:01 i did laundry cos i thought it would dry quick 18:27:06 --- quit: dne (Ping timeout: 276 seconds) 18:27:11 Oh, guess that didn't work out too well. 18:27:23 --- join: dne (~dne@jaune.mayonnaise.net) joined #forth 18:35:28 --- quit: smokeink (Ping timeout: 240 seconds) 18:39:23 damn weather lol 18:45:40 --- join: jimt[m] (jimtmatrix@gateway/shell/matrix.org/x-xiqplcqedtxdgjzi) joined #forth 18:47:11 --- join: pointfree[m] (pointfreem@gateway/shell/matrix.org/x-dbdbigtvccinxout) joined #forth 18:48:40 --- join: siraben (sirabenmat@gateway/shell/matrix.org/x-rgzvidikprxpncvh) joined #forth 18:49:03 --- join: bb010g (bb010gmatr@gateway/shell/matrix.org/x-hmedrxbxidewmalf) joined #forth 19:39:17 --- quit: jimt[m] (Ping timeout: 252 seconds) 19:39:39 --- quit: bb010g (Ping timeout: 250 seconds) 19:39:46 --- quit: siraben (Ping timeout: 252 seconds) 19:39:55 --- quit: pointfree[m] (Ping timeout: 276 seconds) 19:47:08 --- join: tabemann (~tabemann@2602:30a:c0d3:1890:1870:3255:3792:ba89) joined #forth 19:50:20 --- join: rdrop-exit (~markwilli@112.201.162.180) joined #forth 20:04:47 --- quit: dave0 (Quit: dave's not here) 20:30:07 --- join: pointfree[m] (pointfreem@gateway/shell/matrix.org/x-mabbfjpqlqqnajgd) joined #forth 20:33:24 --- join: jimt[m] (jimtmatrix@gateway/shell/matrix.org/x-ktfvsixnpntfvben) joined #forth 20:34:00 --- join: bb010g (bb010gmatr@gateway/shell/matrix.org/x-kbwgaocsprlknnfp) joined #forth 20:34:44 --- quit: wa5qjh (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 20:35:26 --- join: siraben (sirabenmat@gateway/shell/matrix.org/x-valucxdudnlymyae) joined #forth 20:35:59 it's a forth written in bash 20:36:42 should work in any modern bash on any platform 20:43:29 izabera (IRC): Is it publicly available? 20:44:52 --- quit: ncv (Ping timeout: 252 seconds) 20:50:29 i was trying to push it on github but github says that my gpg key has been compromised 20:50:36 sorta panicking right now 20:50:38 will push asap 20:56:28 GPG key compromised? Does it have a passphrase? 21:07:08 https://github.com/izabera/forth it's here 21:07:17 it was just my password on github that was compromised 21:07:45 strings are ." mind the space " 21:07:54 1 is true 21:08:40 --- quit: proteusguy (Remote host closed the connection) 21:09:18 I like that convention for 1 = true 21:10:40 izabera (IRC): Looks like a good start. I would add the ability to read/write to a heap 21:10:57 i.e. works like ! @ CMOVE HERE C! C@ and more 21:10:59 words like* 21:11:47 thanks for the feedback 21:13:07 izabera (IRC): Take a look at https://github.com/Bushmills/Bashforth/blob/master/bashforth 21:13:19 Makes organization quite clear 21:13:34 ugh 3600 lines 21:14:10 A lot of it is whitespace, don't worry. 21:14:13 It's quite readable. 21:15:52 izabera (IRC): I would write it in a lower level language because it's actually easier that way. 21:16:28 seems easy enough 21:16:29 izabera (IRC): I wrote mine in assembly: https://github.com/siraben/ti84-forth/blob/master/forth.asm 21:16:54 yours is also 3k lines 21:17:03 If you wrote it for a x86 it would be easier, I wrote mine for the Z80 so there were some pain points 21:17:15 Like implementing 16-bit multiplication 21:17:21 izabera (IRC): Also readable :) 21:17:57 200ish lines ought to be enough 21:18:31 Lines of code shouldn't deter you 21:18:57 Heck, look at the winning IOCCC programs 21:19:45 i don't have the patience to write 3k lines for this 21:21:01 Mine's pretty full featured hence the 3K lines 21:21:33 But again, I write one instruction per line 21:22:02 but can it run crysis 21:23:33 --- quit: siraben (Changing host) 21:23:33 --- join: siraben (sirabenmat@unaffiliated/siraben) joined #forth 21:23:33 --- quit: siraben (Changing host) 21:23:33 --- join: siraben (sirabenmat@gateway/shell/matrix.org/x-valucxdudnlymyae) joined #forth 21:39:15 back 21:39:27 I thought of implementing Forth in Haskell 21:39:50 after a bit of thought, I decided it was a bad idea, and that implementing it in C would be a far better idea 21:41:58 --- quit: dddddd (Remote host closed the connection) 21:49:21 --- quit: pierpal (Quit: Poof) 21:49:46 --- join: pierpal (~pierpal@host210-193-dynamic.245-95-r.retail.telecomitalia.it) joined #forth 21:51:24 tabemann (IRC): Why would it be a bad idea? 21:51:45 Technically possible, I suppose. 21:51:56 because Forth requires in practice access to an actual memory space 21:52:01 imperative access 21:52:03 Right, which you could emulate 21:52:14 and in Haskell you'd have to implement it with something like an IOArray 21:52:16 By way of a State monad 21:52:19 which'd be slow 21:52:31 Right, either way it'd be very slow 21:53:04 You'd also have to emulate the stack 21:53:12 you'd get no advantage and you'd have to do a lot of extra work to get something that performs far more slowly 22:12:08 c is better than haskell qed 22:51:18 c is a sorry mess of loose pointers and undefined behavior which doesn't give you direct access to the stack. haskell's c-- gives you at least the last 23:04:40 --- join: dave0 (~dave@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 23:05:19 re 23:11:32 https://cminusminus.org 23:11:47 Windows? 23:13:19 no, https://en.wikipedia.org/wiki/C-- 23:14:13 unfortunately (whenever it is unfortunate is an opinion) it didn't met wide adoption as a portable assembler outside GHC 23:19:01 I see 23:19:45 --- join: proteusguy (~proteus-g@110.164.126.166) joined #forth 23:19:45 --- mode: ChanServ set +v proteusguy 23:20:35 (no pun intended) 23:28:09 I missed a pun??? 23:28:34 I see – iC – C – C-- 23:37:47 --- part: proteusguy left #forth 23:37:50 --- join: proteusguy (~proteus-g@110.164.126.166) joined #forth 23:37:50 --- mode: ChanServ set +v proteusguy 23:37:52 Too bad it didn't take off, I'll check out the language spec PDF. 23:40:45 * proteusguy just caught up on the bespin clog... C-- seems rather interesting. Funny that I was never aware of it. C, properly used, is really a platform independent assembly language. C-- appears to be an attempt to formalize this even further. 23:41:50 Probably would be a good language to implement a forth-ish language in. Although, if someone really understands C++ and its templates, it can probably be even more efficiently done. 23:42:15 "C, properly used, is 23:42:17 really a platform independent assembly language." 23:43:04 it was, I'm not sure it still is. 23:54:37 It can't be. 23:54:40 proteusguy: it has a serious limitation which disqualify it from being an assembly. two examples come to mind: you can't implement trampolines (i.e tail recursion); you can't implement portable precise GC 23:55:08 function doesn't have access to its own call stack 23:55:20 It has no natural capacity for dealing with modern multi-core hardware either. You have to break out of C to implement anything parallel. 23:55:23 you can't embed procedures (you have to open-code functions which you will treat like procedures) 23:55:37 implementing closures requiers passing environments all over the place 23:55:56 Basically the closer your hardware is to a PDP-11 the more like a portable assembler C is. 23:56:22 Which means for any core made in the past ... I'm going to say 15 years, but it may be closer to 25 ... C is not a very good assembler. 23:59:59 --- log: ended forth/18.11.05