00:00:00 --- log: started forth/19.05.06 00:08:18 --- join: xek (~xek@apn-31-0-23-200.dynamic.gprs.plus.pl) joined #forth 00:26:27 --- join: pierpal (~pierpal@host57-236-dynamic.22-79-r.retail.telecomitalia.it) joined #forth 00:28:55 --- quit: dddddd (Ping timeout: 250 seconds) 00:29:37 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 01:12:41 --- quit: nighty (Quit: Disappeared in a puff of smoke) 02:01:56 --- join: nighty (~nighty@b157153.ppp.asahi-net.or.jp) joined #forth 02:37:42 --- quit: pierpal (Read error: Connection reset by peer) 02:55:58 --- join: gravicappa (~gravicapp@h109-187-242-147.dyn.bashtel.ru) joined #forth 03:37:47 --- join: pierpal (~pierpal@host57-236-dynamic.22-79-r.retail.telecomitalia.it) joined #forth 03:59:59 --- quit: proteusguy (Ping timeout: 245 seconds) 04:49:20 --- quit: dave0 (Quit: dave's not here) 06:01:34 --- join: rixard (~rixard@h-158-174-122-239.NA.cust.bahnhof.se) joined #forth 06:03:41 --- part: rixard left #forth 07:39:06 --- quit: tabemann (Ping timeout: 252 seconds) 08:57:23 --- join: proteusguy (~proteusgu@cm-58-10-154-216.revip7.asianet.co.th) joined #forth 08:57:23 --- mode: ChanServ set +v proteusguy 09:28:32 Bonjour, rdrop-exit. Ca va? 10:04:05 https://en.wikipedia.org/wiki/Method_chaining has a lot in common with Forth! 10:06:50 that's just a style of writing something 10:10:18 it's similar to how functional languages compose functions with . in haskell or |> in ocaml 10:10:33 *more similar 10:16:04 Method Chaining on DStack? 10:17:05 i don't know how to respond if you don't communicate in complete thoughts 10:19:54 Right, sorry. 10:20:22 --- quit: amuck (Quit: ZNC 1.6.5 - http://znc.in) 10:20:54 --- join: amuck (~amuck@152.243.185.35.bc.googleusercontent.com) joined #forth 10:48:46 --- quit: Deep-Thought (Quit: Leaving) 10:49:07 --- quit: amuck (Quit: ZNC 1.6.5 - http://znc.in) 10:49:40 --- join: amuck (~amuck@152.243.185.35.bc.googleusercontent.com) joined #forth 11:14:01 --- join: mark4th (~mark4th@cpe-2606-A000-808F-FD00-79A7-9C50-5F1C-3670.dyn6.twc.com) joined #forth 12:06:37 --- quit: mark4th (Read error: Connection reset by peer) 12:11:21 --- quit: chunkypuffs (Read error: Connection reset by peer) 12:30:18 --- quit: xek (Remote host closed the connection) 12:32:24 --- join: Keshl_ (~Purple@207.44.70.214.res-cmts.gld.ptd.net) joined #forth 12:35:08 --- join: chunkypuffs (~chunkypuf@2a01:4f9:2b:16d5::1) joined #forth 12:37:45 --- join: zy]x[yz_ (~corey@unaffiliated/cmtptr) joined #forth 12:39:07 --- join: dddddd_ (~dddddd@unaffiliated/dddddd) joined #forth 12:39:47 --- quit: gravicappa (Ping timeout: 248 seconds) 12:39:47 --- quit: dddddd (Ping timeout: 248 seconds) 12:39:48 --- quit: Keshl (Ping timeout: 248 seconds) 12:39:48 --- quit: zy]x[yz (Ping timeout: 248 seconds) 12:41:01 --- nick: zy]x[yz_ -> zy]x[yz 12:49:05 --- nick: dddddd_ -> dddddd 12:55:45 Hey guys. 12:57:08 Haven't really done much Forth the last 2-3 weeks. Still have the system at that point where I'm starting to code a meta-compileable system, using that "portable instruction" layer. 12:57:53 I did restore the ability to run on Mac or Linux, though. A few weeks ago I changed from static memory allocation to using mmap, and initially I Mac hard-coded that. 12:58:03 Got all that moved into my include files, so it will run both places now. 12:58:29 Anything extra fun been going on? 13:07:09 have to write a 40-odd page report on my non-Forth quasi-cpu simulator 13:07:20 due in about 8 days 13:07:23 :^) 13:10:43 How many pages have you written? 13:11:50 what are you in school? why is there a page minimum? 13:12:34 University, it's just the recommended page count for our Beng dissertation thing. 13:12:45 o 13:13:32 I've been at work, a real job, 5 days a week since the start of the year so haven't really done that much about the project, might just lie about having the honors part of the degree when I need to 13:13:59 KipIngram: six, but they're all introductory pages, abstract and summary and that. 13:14:37 :-) You sound like me - that's about where I'd be. 13:14:42 I'm a terrible procrastinator. 13:15:24 it's a curse, but a blessing on one's emotional state. 13:22:02 I agree. 13:22:13 So I've been reading up on virtualization. 13:22:30 Wondering if maybe I can work toward bare metal deployment by testing on a Virtual Box VM. 13:22:58 QEMU would probably be easier. 13:23:04 Less going on 13:23:38 how do you add peripherals to qemu though 13:23:47 i don't think there's a way to do it without recompiling 13:23:56 i've never used virtual box so it may not be any better 13:24:18 It may not be workable - what I'm trying to do. 13:24:33 What I really should do is just roll up my sleeves and design the circuit board I'm eventually going to have to design. 13:25:06 i always thought it would be cool if they could add a plugin system so you could write your own shared objects to emulate peripheral interfaces for qemu 13:25:22 I always thought qemu peripherals were like that 13:25:32 not that i'm aware of 13:25:35 didn't know they were compiled along with the main program 13:25:39 bit lame really 13:25:54 I had an idea a while back for doing efficient multi-core processing by passing the parent frame pointer to the child, and letting the child access items directly in the parent's stack (rather than having to package them up and message them). 13:26:11 But I read an article on false sharing yesterday and decided that might cause some real L1 cache inefficiencies. 13:26:21 Since stuff on the stack is inherently "close together." 13:27:02 It'd be really easy to wind up with cache lines in the stack ping-ponging from core to core. 14:02:38 --- quit: pierpal (Ping timeout: 252 seconds) 16:00:47 --- join: pierpal (~pierpal@host57-236-dynamic.22-79-r.retail.telecomitalia.it) joined #forth 16:37:43 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 16:38:19 bonjourrrr 16:50:48 --- join: tabemann (~tabemann@h193.235.138.40.static.ip.windstream.net) joined #forth 16:52:35 --- quit: john_cephalopoda (Ping timeout: 258 seconds) 16:57:04 --- quit: diginet2 (Quit: diginet has left the building) 16:57:19 --- join: diginet2 (~diginet@107.170.146.29) joined #forth 16:58:26 --- quit: lchvdlch (Ping timeout: 246 seconds) 16:58:35 --- join: lchvdlch (~nestr0@191.98.151.137) joined #forth 17:05:58 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 18:09:34 This probably has been said countless times but I think the very nature of Forth being dead simple means that you can actually write pretty safe code 18:09:53 Writing to memory is explicit, so you really couldn't trust the input to the word you can add a null check 18:10:27 And stack under/overflow checks can stop the system from going down 18:11:27 --- quit: tabemann (Ping timeout: 250 seconds) 18:11:40 Good morning Forthists 18:12:27 --- join: reepca` (~user@208.89.170.37) joined #forth 18:12:38 Good quote by Tony Hoare: Programming languages on the whole are very much more complicated than they used to be: object orientation, inheritance, and other features are still not really being thought through from the point of view of a coherent and scientifically well-based discipline or a theory of correctness. My original postulate, which I have been pursuing as a scientist all my life, is that one uses the criteria of 18:12:38 correctness as a means of converging on a decent programming language design—one which doesn’t set traps for its users, and ones in which the different components of the program correspond clearly to different components of its specification, so you can reason compositionally about it. [...] The tools, including the compiler, have to be based on some theory of what it means to write a correct program. 18:12:41 c[_] 18:12:50 Got me thinking about it 18:15:47 --- quit: reepca (Ping timeout: 250 seconds) 18:16:21 --- nick: reepca` -> reepca 18:17:45 It's somewhat surprising still that Forth is not too well known, hm. 18:20:32 Morning rdrop-exit 18:20:46 How's the weather looking over there? 18:20:47 Good morning siraben c[_] :) 18:21:03 Hot and humid as always 18:21:05 It's terribly hot here, need to turn on the AC all the time 18:21:12 Yeah 18:21:51 I don't mind, I can't stand cold weather 18:22:48 Huh, I prefer cold weather 18:22:56 You can always add more layers and take them off 18:23:00 In hot weather you don't have a choice hehe 18:23:34 rdrop-exit: how did you first learn about Forth? 18:24:18 I had a neighbor who was a Forth enthusiast 18:24:49 Ah, where was this? 18:25:00 Nice France 18:25:36 I see. Are you originally from France? 18:26:16 Born in the US, but grew up back and forth in San Francisco and Nice 18:26:28 Ah. Now you're in Manila right? 18:26:51 Yes, for the last 23 years + 18:27:09 Wow, cool. 18:29:20 --- quit: dave0 (Quit: dave's not here) 18:29:26 I have 4 kids, 2 born in San Francisco, 1 in Paris, 1 in Manila 18:30:07 All are grown up now, we're empty nesters 18:31:36 I can't even begin to comprehend the length of 23 years, just starting uni this August. 18:32:42 Time flies 18:33:28 What work do you do now? 18:34:15 --- join: tabemann (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) joined #forth 18:34:21 I've been retired for 10 years 18:34:55 I see. 18:35:52 hey guys 18:36:00 hi tabemann 18:37:29 Any work I do is motivated by the fun I can have doing it 18:37:50 hi tabemann 18:39:31 Need another cup of coffee, brb 18:43:54 --- quit: zy]x[yz (Quit: leaving) 18:45:02 back c[_] 18:46:10 --- join: zy]x[yz (~corey@unaffiliated/cmtptr) joined #forth 18:56:35 --- quit: dddddd (Remote host closed the connection) 20:15:49 --- quit: proteusguy (Ping timeout: 250 seconds) 20:25:07 --- quit: lchvdlch (Changing host) 20:25:08 --- join: lchvdlch (~nestr0@pdpc/supporter/active/lchvdlch) joined #forth 20:41:49 --- quit: pierpal (Quit: Poof) 20:42:07 --- join: pierpal (~pierpal@host57-236-dynamic.22-79-r.retail.telecomitalia.it) joined #forth 20:44:51 --- quit: rdrop-exit (Quit: Lost terminal) 21:02:32 --- join: gravicappa (~gravicapp@h109-187-242-147.dyn.bashtel.ru) joined #forth 21:54:13 --- join: proteusguy (~proteusgu@mx-ll-183.89.213-239.dynamic.3bb.co.th) joined #forth 21:54:13 --- mode: ChanServ set +v proteusguy 22:14:33 siraben, I like Hoare's thinking but forth doesn't support his idea of correctness inherently. Naturally that's what I'm trying to help address. But yeah - programming languages have TONS of useless and dangerous complexities. 22:16:26 proteusguy: what do you make of Rust? 22:17:05 I find it to be very safe and performant, at the expense of a more complex language of course 22:18:51 It's attempting to be a C++ without the baggage of C - and does a fairly decent job doing it. But yeah, I've yet to see a situation where I would prefer it over using modern C++ properly. If I'm looking at another language to adopt it's going to be one that strips out all possible complexities. 22:19:41 Right, like the "core of Rust" 22:20:01 Does that necessarily mean not having such a large standard library? 22:20:45 Part of Rust's hidden complexity (especially with strings) is that it's supposed to be unicode compatible 22:20:59 Unlike C, C++ that often just default to ASCII, IIRC 22:32:44 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 22:34:48 re 22:43:29 C++ supports utf-8 and lots of other encodings natively. You just have to use the right string with the right character type. It's as simple as a typedef in almost all cases. 22:44:41 proteusguy: ah, right. 22:45:15 If the entire standard library has to be present then that's a problem. If it is selectable as needed, which C++ has, then it just depends on the quality. 22:45:20 Seems more hyped year upon year, Rust-related articles routinely appear on HN 22:46:13 But actually I quite like it 22:46:19 I'm not against Rust, I just don't have a use for it. Just like I'm not against Ruby, but Python has always been a superior choice for me every time it's come up. 22:46:25 When I started reading the Rust Programming Language book 22:46:36 Right, it's a niche for systems related things 22:46:53 Meanwhile, you should be learning Erlang/Elixir and get your head around the Actor concurrency model. ;-) 22:47:37 I'd take Rust over go-lang any old day. But go-lang has the bigger hype due to Google. It's a horrid little language. 22:59:28 proteusguy: if only I had a use for Erlang! 23:03:01 Thought you wanted to build a forth against Webasm? The beam is even better. 23:03:45 proteusguy: huh, I'll take a look. 23:04:55 I'm not sure a Forth on BEAM would be feasible, though. It would be VERY interesting if it were, though. 23:05:53 ttmrichter, wouldn't be as low level of a forth. But this is also true for webasm. 23:06:06 ttmrichter, the original beam was a stack machine. 23:08:13 Yeah, but that's ages ago. 23:08:28 It's pretty much a register window machine now, no? Or did that change too? 23:09:26 I believe you're correct. Fit closer to the native architecture of the devices it runs on now (Intel). Sad... 23:17:56 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 23:59:59 --- log: ended forth/19.05.06