00:00:00 --- log: started forth/18.08.03 00:54:26 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 01:01:24 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 01:12:53 --- quit: ncv (Ping timeout: 256 seconds) 01:13:44 --- quit: leaverite (Remote host closed the connection) 02:00:05 siraben: I really like this project https://danthedev.com/2015/09/09/lisp-in-your-language for doing lisp-in-javascript-arrays 02:01:28 it's completely silly, but in a good way. 02:03:42 --- quit: ashirase (Ping timeout: 264 seconds) 02:06:09 --- quit: pierpal (Quit: Poof) 02:06:11 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:06:46 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 02:11:30 --- quit: siraben (Quit: ERC (IRC client for Emacs 26.1)) 02:42:49 --- quit: nighty- (Quit: Disappears in a puff of smoke) 03:24:43 --- join: nighty- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 04:35:34 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 05:16:07 --- quit: pierpal (Quit: Poof) 05:16:25 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 05:24:59 --- join: ncv (~neceve@2a02:c7d:c5c9:a900:6eaf:6ef7:3b81:d5f6) joined #forth 05:24:59 --- quit: ncv (Changing host) 05:24:59 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 06:10:31 --- join: X-Scale (~ARM@46.50.1.28) joined #forth 06:56:06 --- quit: pierpal (Quit: Poof) 06:56:26 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 08:00:45 --- quit: dave9 (Quit: one love) 08:58:32 --- join: karswell_ (~user@cust125-dsl91-135-5.idnet.net) joined #forth 09:26:48 --- quit: karswell_ (Remote host closed the connection) 09:28:06 --- join: karswell_ (~user@cust125-dsl91-135-5.idnet.net) joined #forth 09:29:15 --- quit: karswell_ (Remote host closed the connection) 09:36:39 --- quit: ncv (Remote host closed the connection) 09:36:40 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 09:38:00 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 09:57:29 --- quit: karswell (Remote host closed the connection) 10:08:32 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 10:10:53 --- quit: karswell (Read error: Connection reset by peer) 10:12:22 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 10:26:55 --- quit: karswell (Read error: Connection reset by peer) 10:27:56 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 11:05:20 At the July SV-FIG meeting Sam Falvo showed us something that I really liked. 11:05:39 Instead of stack juggler words he just added the following words D! D@ >D D> with the same functions as the words R! R@ >R R> but for the parameter stack. 11:06:59 Now instead of : SHIFTBY 1 SWAP LSHIFT ; you can just do : SHIFTBY 1 D> LSHIFT ; You also don't need to use DROP or DUP. Those words are much clearer than implicitly passing parameters at the front a word and then juggling them into place. 11:07:16 I imagine D! D@ >D D> would appear mostly in lower level words while in higher level words parameters would be passed implicitly through lower level words. 11:15:26 I don't get it. isn't 1 the TOS when D> executes? 11:21:08 or is this yet a third stack 11:21:09 zy]x[yz: I forgot to say, he also talked about compiling the constants at the end of a word (like a literal pool). He also uses a d# word to introduce a literal. https://github.com/KestrelComputer/kestrel/blob/master/software/src/bspl/examples/hello.bs 11:23:15 So I guess it should be D# 1 D> D> LSHIFT 11:24:16 I still don't understand what D> does. where does LSHIFT get its parameters from? 11:25:21 it seems like he has three stacks: the parameters stack, the return stack, and then some local working stack which becomes the parameters stack for words called in that context? 11:25:38 D> pops an item off the parameter stack, akin to R> 11:26:05 pops it to /where/ though? R> pops an item off the return stack into the parameter stack 11:27:04 Into a register https://github.com/KestrelComputer/kestrel/blob/master/software/src/bspl/bspl.fm/asm.fs#L54 11:30:19 weird 11:43:18 --- quit: fiddlerwoaroof (Ping timeout: 264 seconds) 11:53:02 These data stack words are a bit noisy though. 11:53:23 He uses RDROP to vertically factor code for his assertive programming methodology (his name for the methodology is a mouthful for me) https://docs.google.com/presentation/d/1Ko1EbK3FVLd6AldD9NIM5UUK_uQ07JZc9azAiDd2c6U/ 11:53:53 ( assertive forth code always states something that's true as it executes, and when it would try to execute something that does not read true, return early to the more general parent word so that your code says something truthful in english ) 11:54:18 So maybe there is an application of assertive programming for the data stack? Maybe through a wordset for relational (aka logic) programming? A minikanren or microkanren wordset in forth could be a good place to start? 13:08:32 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 13:47:35 --- join: Misha_B (~user@99.249.190.76) joined #forth 14:36:34 --- join: pierpa (50b5eb54@gateway/web/freenode/ip.80.181.235.84) joined #forth 14:38:59 --- quit: zy]x[yz (Ping timeout: 265 seconds) 15:19:39 --- quit: pierpal (Ping timeout: 268 seconds) 15:29:35 --- quit: karswell (Remote host closed the connection) 15:30:36 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 15:42:04 --- join: verisimilitude (~user@2604:180:2:725::698a) joined #forth 15:49:47 --- join: zy]x[yz (~corey@unaffiliated/cmtptr) joined #forth 15:55:40 --- quit: libertas (Ping timeout: 260 seconds) 16:00:57 The majority of links I've found relating to eForth have been dead or something or another. 16:01:11 I'd appreciate if any of you have an eForth link you'd recommend. 16:06:59 --- join: wa5qjh (~quassel@175.158.225.193) joined #forth 16:06:59 --- quit: wa5qjh (Changing host) 16:06:59 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 16:09:03 --- join: dave9 (~dave@90.20.215.218.dyn.iprimus.net.au) joined #forth 16:10:15 hi 16:15:28 --- quit: verisimilitude (Remote host closed the connection) 16:15:56 --- join: verisimilitude (~user@2604:180:2:725::698a) joined #forth 16:16:02 Hello, dave9. 16:16:20 hi verisimilitude 16:19:03 So, I have a word I'll be using that needs to be able to have non-local control flow behavior. 16:19:38 I noticed it would usually always be called at a certain level below where it should return to, so I figured rdropping would be the best way to achieve this behavior. 16:20:09 I figured if I ever needed a higher level than this, I could simply have a dummy word or place garbage on the return stack I later rdrop if needed. 16:21:13 I'm planning a reimplementation of some software in Forth and I figure I'll have the most issue with the file system, since everything else is rather straightforward. 16:21:32 Currently, I'm wondering what the eForth file or block interface resembles. 16:21:38 Anyway, what are you working on, dave9? 16:22:19 i'm working on a cup of coffee :-) 16:22:38 I've already had more than a pot today, which is my usual. 16:23:18 i was looking at brad rodriguez's camel forth 16:23:37 i downloaded the data sheet for z80 and 8051 16:24:08 there is also 6809 but i know that from my youth (my first computer was a coco :-) 16:24:52 those old 8 bit mcus are crazy 16:30:19 --- quit: ncv (Ping timeout: 256 seconds) 16:36:38 i like reading about the design decisions for forth for those old mcus 16:40:59 Do tell. 16:42:22 nar it's boring :-) 16:47:26 Well, alright. 16:49:25 heh 16:50:20 Is there something you would care to discuss, dave9? 16:51:02 don't know? 16:51:42 there's lots of household chores to do 16:52:13 like the cleaning of a house: it never ends 16:52:30 Sure, but you can optimize it. 16:52:45 how so? 16:56:18 There's little good reason for so many irregular shapes in a household. 16:58:48 Rectangular shapes are much easier to clean. 17:01:27 You look at the shape of a typical toilet and it's as if it was designed to be difficult to clean without specialized tooling. 17:02:25 toilets are designed for butts :-) 17:03:13 Since this is the Forth channel, you could write the same about most computers, but that's no excuse for them to be unnecessarily complicated. 17:04:46 --- quit: Misha_B (Read error: Connection reset by peer) 17:06:04 brb gotta freshen my coffee 17:10:55 i could write it in forth: house dirty? IF house clean THEN 17:12:06 my first forth program 17:28:46 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 17:39:29 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 17:43:37 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 18:07:18 --- quit: pierpal (Ping timeout: 264 seconds) 18:37:48 --- join: Misha_B (~user@99.249.190.76) joined #forth 19:12:08 --- quit: Misha_B (Ping timeout: 268 seconds) 19:27:31 --- join: lugh (~lugh@chame.co) joined #forth 19:27:32 --- nick: lugh -> Guest47580 19:30:03 --- part: Guest47580 left #forth 19:54:02 --- quit: pierpa (Quit: Page closed) 19:56:11 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 19:59:40 --- quit: verisimilitude (Remote host closed the connection) 20:00:00 --- join: verisimilitude (~user@2604:180:2:725::698a) joined #forth 20:13:24 --- quit: pierpal (Quit: Poof) 20:13:44 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 20:38:37 --- quit: wa5qjh (Remote host closed the connection) 20:46:55 --- join: wa5qjh (~quassel@175.158.225.193) joined #forth 20:46:56 --- quit: wa5qjh (Changing host) 20:46:56 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 20:59:02 --- quit: wa5qjh (Remote host closed the connection) 21:01:31 --- join: wa5qjh (~quassel@175.158.225.193) joined #forth 21:01:31 --- quit: wa5qjh (Changing host) 21:01:32 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 21:19:33 --- quit: karswell (Remote host closed the connection) 21:19:50 --- quit: pierpal (Quit: Poof) 21:20:11 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 21:20:35 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 22:08:50 --- join: dys (~dys@tmo-103-60.customers.d1-online.com) joined #forth 22:31:06 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 22:34:55 --- part: verisimilitude left #forth 22:36:06 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 22:44:30 --- quit: dave9 (Quit: one love) 23:02:46 --- quit: dys (Ping timeout: 268 seconds) 23:21:29 --- join: dys (~dys@tmo-103-58.customers.d1-online.com) joined #forth 23:26:56 --- quit: pierpal (Quit: Poof) 23:27:16 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 23:59:59 --- log: ended forth/18.08.03