00:00:00 --- log: started forth/18.07.29 00:00:00 --- quit: pierpal (Remote host closed the connection) 00:20:33 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 00:26:09 --- join: verisimilitude (~user@2604:180:2:725::698a) joined #forth 00:26:43 Hello there. 00:27:00 I'm wondering what Forth projects you all are working on. 00:28:37 hmm, could someone check how many times your input to gforth gets echoed back after a return in an emacs < 26.1? 00:29:07 I'm using 25.3.1, if that would be useful information. 00:29:20 It's only echoed once, for me. 00:30:02 To give an example: 00:30:02 1 .s 00:30:02 1 .s <1> 1 ok 00:30:24 What's your particular issue? 00:31:36 for me it's echoed twice 00:31:54 That's odd; what's your configuration like? 00:32:02 1 .s 00:32:02 1 .s1 .s <1> 1 ok 00:32:02 00:32:22 I've not customized gforth.el at all. 00:32:31 happens in M-x shell as well 00:33:02 which gforth version are you using? 00:33:19 I'm using gforth 0.7.3. 00:33:28 Have you tested this with your .emacs and all of that disabled? 00:33:50 I doubt my .emacs is causing it, but I could try it. What's the incantation again? 00:34:15 You're thinking of emacs -q. 00:34:45 ah, yes, thanks 00:34:47 If it still persists, I'd recommend trying emacs -Q next. 00:34:50 That disables more. 00:35:26 If it still persists, I'd recommend checking the mailing list for this flaw and just updating your Emacs and seeing if that fixes it. 00:38:29 still persists through both of them, haven't seen this flaw mentioned on the gforth mailing lists 00:39:26 I meant the Emacs mailing list. 00:39:48 Then again, you could likely just use the Emacs channel on this IRC network. 00:40:47 It's amusing to discuss this in the context of a Forth channel; I'm using GuixSD and I have an issue where graphical Emacs crashes immediately every time; the solution I found is to use terminal Emacs. 00:41:18 aha, turns out using 0.7.3 the problem doesn't occur 00:41:21 so I guess it is a gforth thing 00:41:24 I'd be interested to know what Forth programs you're working on, reepca-laptop, if that's something you'd want to discuss. 00:41:35 Well, it also happens with M-x shell, you wrote. 00:42:03 I mean the change happened with the gforth version changing, not the emacs one 00:42:32 I understand; I simply meant that you seemed to be having an identical issue elsewhere, which to me points to a larger problem. 00:42:43 Regardless, I'm glad I was able to help with the information I provided. 00:42:47 aye, thanks 00:43:22 right now I'm tinkering with python-forth interaction through the C python interface and gforth's C interface. 00:43:42 Well, that's quite the indirection. 00:43:45 What for? 00:43:48 because my brother is about as stubborn about not using "weird languages" as I am about using them 00:44:04 Would you happen to use APL? 00:44:29 not much, I've just gone through a bit of documentation and experimented a bit 00:44:35 You should try it; it's a pleasant and concise language; GNU has an implementation written in C++, although it has its issues. 00:44:56 The GNU APL page also links to where you can find a copy of the ISO 13751 standard document. 00:45:03 it's a really interesting syntax, it doesn't feel as limiting or inconsistent as infix usually does 00:45:26 That's because it has lacks odd precedence rules. 00:45:36 s/has// 00:46:00 Since it's all right-to-left, you don't have the issues infix normally causes in other languages. 00:46:40 It has its peculiarities, though; Forth is more flexible in several ways. 00:47:08 --- join: dave9 (~dave@90.20.215.218.dyn.iprimus.net.au) joined #forth 00:47:12 I was going to use APL for a project, one related to my current Forth project, but it lacked I/O primitives I needed; APL I/O is line-based. 00:47:21 So, that's one example of why you'd prefer a Forth in some cases. 00:48:02 hi 00:48:09 Hello, dave9. 00:48:17 one of the cooler aspects of APL to me is how instead of using "longer" symbols, it just uses more varied symbols. Makes it very dense, and especially mathematical constructs are a lot easier to express that way that in english. 00:48:27 I'm inquiring about Forth programs people here are working on; would you want to discuss any of yours, dave9? 00:48:35 hi verisimilitude, reepca-laptop 00:49:01 I agree, reepca-laptop; I'd like to go into more detail, but I don't want to overwhelm this channel with APL discussion. 00:49:18 verisimilitude: i'm a newbie 00:49:28 it's just too bad you can't really define your own operators, as far as I understand. That's why lisp and forth appeal to me more overall 00:49:30 Have you read Leo Brodie's books? 00:49:57 Well, that's actually what I was going to dig into, reepca-laptop; we think alike, then. 00:50:33 verisimilitude: I'm not surprised, I'm also using GuixSD 00:51:06 In the case you've not, dave9, I highly recommend ``Starting Forth'' and then later ``Thinking Forth'', both by that author. 00:51:20 They're very good references and the latter applies to programming in general. 00:51:36 verisimilitude: i downloaded them as pdfs :-) 00:51:41 I want to very much stress that I believe the latter is something you should read; it's available freely online. 00:51:43 --- quit: lchvdlch (Ping timeout: 264 seconds) 00:51:44 Alright then. 00:51:46 --- join: eponym (~nym@79-100-130-129.ip.btc-net.bg) joined #forth 00:52:13 --- quit: eponym (Remote host closed the connection) 00:52:25 So, do you want to go into more detail with your interworking project, reepca-laptop? 00:53:37 Right now it's in the very beginning stages - I actually just today finished packaging my gforth-python interface. I imagine the actually challenging stuff is mostly to come 00:54:04 Also, since you're playing with gforth internals more than I, is there a convenient way to make the cell size sixteen bits; this is what I want to use for my project, but I've not yet reached the point where this is an issue. 00:54:41 --- quit: epony (Ping timeout: 256 seconds) 00:54:52 I want to restrict my program to a simple ANSI Forth CORE subset and this is one aspect I'd like to harden. 00:55:24 It's either that or using a machine Forth that's reasonably consistent across machines, which would be more work at this stage. 00:55:58 do they still make apl programs? 00:56:07 for example, exposing forth words to python. Doing that through the C interface means I need to have a C callback for each forth word, which could be a bit of a headache. 00:56:07 I do, anyway, dave9. 00:56:36 verisimilitude: is there a free interpreter? 00:56:44 https://gnu.org/s/apl 00:57:20 ah gnu has everything gnu forth gnu apl 00:57:44 GNU is quite the system, yes. 01:03:00 --- quit: wa5qjh (Remote host closed the connection) 01:04:28 verisimilitude: from what I can tell it would take some work to make 16-bit gforth work; CELL_TYPE in gforth is assumed to be as long as a pointer 01:04:39 --- join: wa5qjh (~quassel@175.158.225.202) joined #forth 01:04:40 --- quit: wa5qjh (Changing host) 01:04:40 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 01:04:43 I appreciate the help. 01:04:47 Well, that's unfortunate. 01:05:22 I suppose I'll simply need to use the cell words and be inefficient, for now. 01:06:27 you could try modifying the primitives so that ones that take an address will first add some base address to the cell, as long as you can live with a 65536-byte address space 01:07:14 I can; what I'll likely do is just get Jonesforth to compile correctly and then trim that down, once I reach that point. 01:07:28 Well, assemble is the proper term here. 01:09:36 you could use a dos forth? i think they're 16 bit 01:09:47 I suppose you could also just throw in '65535 MOD' after every non-address computation 01:10:18 purely for testing purposes 01:10:19 What I want, dave9, is to have a very small Forth subset I can use reasonably well across at least a few different machine types; I've yet to define and verify the subset I'll need, however. 01:10:44 Would any of you be curious as to what I'll be writing? 01:10:53 Or, rather, have already started writing. 01:11:08 sure 01:11:41 For over the past year now, I've been developing and refining an older idea of mine for a nice machine code development tool. 01:12:38 What I've done so far is write an implementation in Common Lisp, with its own customization language; however, I also want to have a Forth version that lacks the customization, as I question its usefulness in this very particular instance of the tool; I think it will be nice and simple, with the refining I've been doing. 01:13:19 Due to my design, the Forth version can largely work with simple power of two tables, which also makes it easy to customize directly, if one is familiar enough with Forth. 01:13:37 If you're interested, I have an article I've written detailing this tool, which includes a short video demonstration. 01:14:16 Currently, my Forth is less than two hundred lines and I don't expect it to get particularly large; I believe it will fit nicely in, say, less than five hundred lines, self-contained. 01:14:42 I am indeed interested 01:15:09 You can find it here: http://verisimilitudes.net/2017-07-07 01:15:18 I've just recently rewritten this article. 01:16:01 Feel free to tell me what you think. 01:16:49 Ignore the 33554432 hyperlink; it is an older article and, for the purposes of the tool, is irrelevant. 01:17:31 There is also a typo below the video I've yet to correct. 01:18:43 --- join: lchvdlch (~nestr0@191.98.151.137) joined #forth 01:51:31 --- join: leaverite (~quassel@175.158.225.202) joined #forth 01:51:31 --- quit: leaverite (Changing host) 01:51:32 --- join: leaverite (~quassel@freebsd/user/wa5qjh) joined #forth 01:55:00 --- quit: wa5qjh (Ping timeout: 260 seconds) 02:03:45 --- quit: ashirase (Ping timeout: 260 seconds) 02:05:35 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:19:15 --- join: epony (~nym@79-100-130-129.ip.btc-net.bg) joined #forth 02:23:32 --- join: ncv (~neceve@90.207.222.160) joined #forth 02:23:33 --- quit: ncv (Changing host) 02:23:33 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 02:23:37 verisimilitude, nice tool concept! I like it. 02:24:24 You flatter me. 02:24:50 I intend to have an article detailing the targeting I've been working on so far, targeting CHIP-8, on 2018-08-08. 02:25:35 Since CHIP-8 is too weak to support itself in this manner, I defined a Meta-CHIP-8, but than then loses several of the important qualities and so that's why I'm considering a Forth version. 02:26:02 Since I've already solidified everything, a Forth version is rather simple to write and I could likely get it working well in a day if I needed to, but I procrastinate. 02:26:12 What have you been working on in Forth lately, proteusguy? 02:26:16 reminds me of when I used to code 6502 org directly to my Apple ][ by using the monitor program. Of course yours is far more friendly! 02:27:04 In all of my research, I've found nothing resembling my tool. A machine code monitor is the closest such thing, but still leagues away, I think. 02:27:20 verisimilitude, playing around with some small vm concepts that are more forth-ish than forth. 02:27:28 Do tell. 02:27:45 verisimilitude, I've never seen anything like it either. Seeing the video demo it seems so obvious now, right? :-) 02:28:37 I suppose. The idea first came about when I was bored and considering a machine code that I realized wouldn't work well with an assembler, so it was then just a case of thinking of alternative methods to create machine code, which over years led to what I now have. 02:28:47 verisimilitude, really mostly concept stuff. Like I'd like to make a minimal vm necessary to support the Elm functional programming language and get it out of the browser. I think a forth-ish vm is likely to be ideal for supporting first class functions and currying. 02:29:17 Currying is rather trivial on stack machines, yes. 02:29:43 I'm aware of someone working on a stack machine with first class functions and whatnot. 02:30:07 They've intended for this to be a virtual machine for an abstract language they've designed for use in a particular game. 02:30:17 I don't believe they've written in great detail about it, however. 02:30:26 If you're interested, I'll tell you where you can find this fellow. 02:30:51 mostly I'm trying to align the impedence mismatch between a developer's mental model and how the machine actually executes code. I want those to be more aligned and believe a) it would greatly optimize code speed & size, and b) a forth-ish dual (or more) stack model is probably far superior than these large register models. That's my intuition anyways. 02:31:04 This virtual machine doesn't have minimalism as a goal, I don't think, though. 02:31:26 The SECD machine is a model for this. 02:32:04 If they're publishing code and design then I'm interested. Right now I'm working through execution model ideas to see how much overhead I can kick out. 02:32:48 Alright. I'm usually at lainchan.org:6697 #programming, which is where you can find this fellow, who goes by the name umbraa there. 02:33:14 I'm not currently there, however, as my only connection method has been blocked by the network. 02:33:20 That's another irc service? 02:33:23 Yes. 02:33:30 Cool I'll check it out. 02:34:03 Alright; if the connection method is unblocked, I may see you there, at some point. 02:34:21 Also, I believe this fellow is just about finished with his implementation of this virtual machine. 02:35:05 Right now there are efforts to turn Elm into a WebAssembly compiler. Still early stages. This guy wrote an interesting article about how he might implement a elm -> wasm compiler and his implementation of currying strongly reminds me of how a forth word dictionary could work. https://dev.to/briancarroll/elm-functions-in-webassembly-50ak 02:35:18 Again, though, minimalism isn't the goal with this; there are separate instructions for functions and closures, as an example, although that was with my suggestion to do so. 02:36:09 I don't have particularly high hopes for web assembly. 02:36:42 Likely, it will simply be another layer of complexity that helps prevent anyone else from implementing a WWW browser that is capable of displaying most common pages. 02:38:50 I agree re:wasm - I think it's a half baked idea in its best case. 02:39:05 --- quit: karswell_ (Ping timeout: 256 seconds) 02:39:21 But I loath javascript so happy to see anything that will help displace it. 02:39:23 It may help accelerate WWW browsers collapsing under their own weight, though, which is nice. 02:39:29 yep! ;-) 02:39:43 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 02:42:33 lainchan keeps saying "Connected. Now logging in." then quickly goes to disconnected. 02:42:47 That's odd. 02:43:03 It's encryption only. 02:43:20 I didn't explain that earlier. 02:43:38 If you still can't connect, well we're in the same boat, then. 02:47:14 Ah ssl works. 02:47:23 I figured that was all that was wrong. 02:47:36 Also, as a warning, you'll want to just stay in #programming. 02:47:42 The other channels are horrible. 02:48:02 haha thanks. I'll lurk and see what's what. 02:48:11 It's no issue. 02:51:03 verisimilitude, you out of Atlanta? 02:51:18 I'm not in the state of Georgia, no. 02:51:33 Ah ok whois gots you routed through there. 02:51:59 Oh; that's because I'm using the website server to connect here. 02:52:38 I usually connect through Tor, which Freenode doesn't allow without an account and which Lainchan's IRC has recently blocked due to some issue I'm unaware of. 02:52:58 oic 02:53:39 It's rather bothersome, but being on IRC less is for the better. Of course, I'm writing that here, which lessens its impact. 02:58:47 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 03:01:58 --- quit: MrMobius (Ping timeout: 248 seconds) 03:01:58 --- nick: [1]MrMobius -> MrMobius 04:44:28 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 05:19:13 --- quit: mtsd (Quit: Leaving) 05:38:31 --- quit: X-Scale (Ping timeout: 264 seconds) 06:04:20 --- quit: leaverite (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 06:37:20 --- join: X-Scale (~ARM@46.50.3.21) joined #forth 06:46:17 --- quit: dave9 (Quit: one love) 06:46:59 --- quit: FatalNIX (Disconnected by services) 06:47:38 --- join: FatalNIX (~FatalNIX@caligula.lobsternetworks.com) joined #forth 06:47:47 --- quit: FatalNIX (Disconnected by services) 06:48:08 --- join: FatalNIX_ (~FatalNIX@caligula.lobsternetworks.com) joined #forth 07:29:27 verisimilitude: had a look at eForth? 07:33:55 --- quit: Zarutian (Read error: Connection reset by peer) 07:34:06 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 07:49:22 --- quit: lf94 (Quit: bbl) 08:15:00 --- quit: ncv (Ping timeout: 265 seconds) 08:55:05 --- quit: nighty- (Quit: Disappears in a puff of smoke) 09:16:55 --- quit: tusj (Ping timeout: 264 seconds) 09:52:00 --- quit: Zarutian (Read error: Connection reset by peer) 09:52:11 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 10:07:44 --- quit: verisimilitude (Remote host closed the connection) 10:29:59 --- quit: dys (Ping timeout: 256 seconds) 11:13:15 --- join: tusj (~tusj@185.176.245.13) joined #forth 11:17:55 --- quit: tusj (Ping timeout: 260 seconds) 11:30:04 --- join: verisimilitude (~user@2604:180:2:725::698a) joined #forth 11:30:13 I've not, Zarutian. 11:33:09 --- join: tusj (~tusj@185.176.245.13) joined #forth 11:39:56 --- quit: tusj (Ping timeout: 240 seconds) 12:16:30 --- join: tusj (~tusj@185.176.245.13) joined #forth 12:20:15 --- join: dys (~dys@tmo-109-164.customers.d1-online.com) joined #forth 12:21:14 --- quit: tusj (Ping timeout: 268 seconds) 12:21:21 --- join: MickyW (~MickyW@p4FE8CEE5.dip0.t-ipconnect.de) joined #forth 12:28:28 --- join: tusj (~tusj@185.176.245.13) joined #forth 12:32:57 --- quit: tusj (Ping timeout: 256 seconds) 12:37:34 I'll certainly look into it, now, though. 12:40:31 --- quit: pierpal (Quit: Poof) 12:40:49 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 12:51:18 --- join: tusj (~tusj@185.176.245.13) joined #forth 13:03:29 --- quit: pierpal (Quit: Poof) 13:03:46 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 13:06:46 --- quit: tusj (Ping timeout: 248 seconds) 13:12:46 --- join: tusj (~tusj@185.176.245.13) joined #forth 13:54:02 --- quit: verisimilitude (Remote host closed the connection) 13:56:35 --- quit: MickyW (Quit: Leaving. Have a nice time.) 14:25:19 --- quit: dys (Ping timeout: 264 seconds) 15:30:38 --- quit: tusj (Ping timeout: 256 seconds) 15:32:12 --- join: wa5qjh (~quassel@175.158.225.202) joined #forth 15:32:12 --- quit: wa5qjh (Changing host) 15:32:12 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 15:49:10 --- quit: pierpal (Ping timeout: 260 seconds) 15:49:35 --- join: pierpa (50b5eb54@gateway/web/freenode/ip.80.181.235.84) joined #forth 17:16:51 --- quit: X-Scale (Ping timeout: 256 seconds) 17:17:18 --- join: nighty- (~nighty@kyotolabs.asahinet.com) joined #forth 17:55:35 --- join: X-Scale (~ARM@46.50.3.21) joined #forth 17:58:49 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 18:05:40 --- quit: pierpal (Ping timeout: 260 seconds) 18:07:46 --- join: johnmark_ (~johnmark@64.53.247.121) joined #forth 18:16:26 --- quit: dddddd (Remote host closed the connection) 18:23:02 --- join: tusj (~tusj@185.176.245.13) joined #forth 18:27:52 --- join: dave9 (~dave@90.20.215.218.dyn.iprimus.net.au) joined #forth 18:28:11 hi 18:30:48 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 19:03:53 --- quit: dave9 (Quit: one love) 19:09:02 --- quit: tusj (Ping timeout: 244 seconds) 19:51:25 --- join: dave9 (~dave@90.20.215.218.dyn.iprimus.net.au) joined #forth 20:24:58 --- quit: pierpa (Quit: Page closed) 20:59:58 --- quit: pierpal (Quit: Poof) 21:00:18 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 21:50:22 --- join: dys (~dys@tmo-109-164.customers.d1-online.com) joined #forth 22:12:21 --- quit: dave9 (Quit: one love) 22:14:25 --- nick: rodarmor_ -> rodarmor 22:22:29 --- quit: dys (Ping timeout: 268 seconds) 22:23:00 --- quit: pierpal (Read error: Connection reset by peer) 22:26:12 --- join: dys (~dys@tmo-104-217.customers.d1-online.com) joined #forth 22:34:27 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 22:48:55 --- quit: Labu (Quit: WeeChat 2.0.1) 23:05:18 --- quit: dys (Ping timeout: 265 seconds) 23:39:03 --- quit: reepca-laptop (Remote host closed the connection) 23:59:59 --- log: ended forth/18.07.29