00:00:00 --- log: started forth/18.08.04 00:01:42 --- join: ncv (~neceve@2a02:c7d:c5c9:a900:6eaf:6ef7:3b81:d5f6) joined #forth 00:01:42 --- quit: ncv (Changing host) 00:01:42 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 00:47:49 --- quit: pierpal (Quit: Poof) 00:48:08 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 01:16:37 --- quit: Keshl (Read error: Connection reset by peer) 01:16:42 --- join: Keshl_ (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 01:24:08 --- quit: Keshl_ (Read error: Connection reset by peer) 01:24:22 --- join: Keshl_ (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 01:55:38 --- quit: karswell (Read error: Connection reset by peer) 01:56:01 --- join: karswell_ (~user@cust125-dsl91-135-5.idnet.net) joined #forth 02:03:52 --- quit: ashirase (Ping timeout: 265 seconds) 02:07:06 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:23:21 --- join: libertas (~libertas@a95-94-50-210.cpe.netcabo.pt) joined #forth 04:02:44 --- join: Misha_B (~user@99.249.190.76) joined #forth 04:09:10 I'm glad Chuck dropped "THEN" from if statements in colorForth 04:09:39 I think it was a big inspiration for good combinators 04:10:26 so like Retro would just have `house dirty? [ clean ] if` which is nicer 04:25:47 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 04:30:38 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 04:31:27 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 04:32:47 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 04:33:48 --- quit: fiddlerwoaroof (Excess Flood) 04:35:11 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 04:35:56 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 04:36:18 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 04:37:31 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 04:38:59 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 04:39:01 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 04:50:00 --- quit: proteusguy (Remote host closed the connection) 04:51:07 --- join: proteusguy (~proteus-g@cm-134-196-84-236.revip18.asianet.co.th) joined #forth 04:51:07 --- mode: ChanServ set +v proteusguy 05:01:56 --- quit: wa5qjh (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 05:03:25 --- join: dave9 (~dave@90.20.215.218.dyn.iprimus.net.au) joined #forth 05:48:48 --- quit: X-Scale (Ping timeout: 240 seconds) 05:50:27 --- join: X-Scale (~ARM@46.50.1.137) joined #forth 05:56:34 WilhelVorWeiner: I'm finding that I use very few IF THENs in my Forth. I've added conditional return words, and I find that normal factoring often places the "conditional" stuff at the end of a definition, so I just conditionally return on the logically opposite condition to what would have taken the IF code. 05:56:58 Makes the definitions a good bit shorter - when you're trying to keep them as short as I am IF THEN occupies a fair bit of space. 05:58:31 What with that and optimized tail recursion for looping I'm starting to agree with CM that a whole suite of looping constructs isn't very necessary. 05:59:09 I've developed a word I call ME 05:59:27 It compiles a jump to the most recently defined name in the dictionary. 05:59:41 So I can use it at the end of a definition and get the same effect as tail recursion. 06:00:00 But the neat thing about ME is that it can be used anywhere in the definition and it will produce a jump, whereas just using that name would make a recursive call. 06:00:29 I suspect I will wind up doing "conditinoal ME" words too. 06:00:42 I thought about calling it SELF but ME is shorter. 06:01:25 I haven't actually added it to my code yet, but I've used it in source comments for hte assembly and hand compiled it. 06:38:41 --- quit: pierpal (Quit: Poof) 06:41:04 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 06:41:12 --- quit: pierpal (Client Quit) 06:43:10 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 06:53:05 --- join: gravicappa (~gravicapp@h62-133-162-127.dyn.bashtel.ru) joined #forth 07:26:26 --- quit: dave9 (Quit: one love) 08:19:52 --- join: NoNumber (~NoNumber@75.161.249.28) joined #forth 08:23:34 --- quit: libertas (Ping timeout: 248 seconds) 08:25:55 --- quit: pierpal (Quit: Poof) 08:26:16 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 08:35:42 --- nick: Keshl_ -> Keshl 09:41:30 --- quit: NoNumber (Remote host closed the connection) 10:14:56 --- quit: dys (Ping timeout: 240 seconds) 10:21:45 --- join: netytan (~marksmith@78-23-60-22.access.telenet.be) joined #forth 10:22:12 Hi all, how does on align to 32-bit's on 64-bit gforth? 10:22:26 I can write the 32-bit align myself but it seems strangely missing. 10:22:46 4 alinged maybe? 10:23:24 (just guessing; I don't use gforth myself) 10:23:49 Apparently aligned is ( addr - addr) in gforth (and ANSI forth) 10:25:43 There is an naligned :-) prefect, thanks for the suggestion. 10:25:51 np 10:27:43 --- part: netytan left #forth 10:28:44 --- quit: ncv (Read error: Connection reset by peer) 10:31:18 --- quit: dave0 (Ping timeout: 269 seconds) 10:35:14 --- join: malyn_ (~malyn@unaffiliated/malyn) joined #forth 10:38:09 --- quit: malyn (Ping timeout: 256 seconds) 10:38:11 --- nick: malyn_ -> malyn 10:45:07 --- quit: lf94 (Ping timeout: 256 seconds) 10:45:14 --- join: lf94 (~lf94@138.197.174.95) joined #forth 10:45:14 --- quit: lf94 (Changing host) 10:45:15 --- join: lf94 (~lf94@unaffiliated/lf94) joined #forth 11:04:48 --- quit: gravicappa (Ping timeout: 240 seconds) 11:24:22 --- quit: pierpal (Quit: Poof) 11:24:43 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 11:49:01 --- join: ncv (~neceve@2a02:c7d:c5c9:a900:6eaf:6ef7:3b81:d5f6) joined #forth 11:49:01 --- quit: ncv (Changing host) 11:49:01 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 12:14:53 --- join: dys (~dys@tmo-103-58.customers.d1-online.com) joined #forth 12:24:13 KipIngram: `me` is an interesting idea. I'll do some experiments with it in retro. 12:24:25 :me (-) d:last compile:jump ; immediate 12:31:24 --- join: dave0 (~dave@90.20.215.218.dyn.iprimus.net.au) joined #forth 13:16:18 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 13:18:56 --- quit: MrMobius (Ping timeout: 240 seconds) 13:18:56 --- nick: [1]MrMobius -> MrMobius 13:50:37 --- join: wa5qjh (~quassel@175.158.225.221) joined #forth 13:50:37 --- quit: wa5qjh (Changing host) 13:50:37 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 13:57:08 Nice. I'm finding it very useful. 14:00:03 --- quit: pierpal (Ping timeout: 256 seconds) 14:13:35 --- join: MickyW (~MickyW@p4FE8C979.dip0.t-ipconnect.de) joined #forth 14:17:50 --- join: libertas (~libertas@a95-94-50-210.cpe.netcabo.pt) joined #forth 14:39:40 --- join: leaverite (~quassel@175.158.225.220) joined #forth 14:39:40 --- quit: leaverite (Changing host) 14:39:40 --- join: leaverite (~quassel@freebsd/user/wa5qjh) joined #forth 14:42:33 --- quit: wa5qjh (Ping timeout: 256 seconds) 14:49:15 I'm about to work on numeric output, I think. Have any of you run into a language that handled that in a way you found particularly impressive? 14:55:35 --- quit: leaverite (Ping timeout: 256 seconds) 14:56:47 --- join: wa5qjh (~quassel@110.54.213.158) joined #forth 14:56:47 --- quit: wa5qjh (Changing host) 14:56:47 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 15:01:35 --- quit: wa5qjh (Remote host closed the connection) 15:05:01 --- join: wa5qjh (~quassel@175.158.225.200) joined #forth 15:05:01 --- quit: wa5qjh (Changing host) 15:05:01 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 15:17:17 --- quit: wa5qjh (Remote host closed the connection) 15:20:11 --- join: wa5qjh (~quassel@110.54.229.34) joined #forth 15:20:12 --- quit: wa5qjh (Changing host) 15:20:12 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 15:36:56 --- quit: epony (Ping timeout: 240 seconds) 15:48:39 --- join: pierpa (50b5eb54@gateway/web/freenode/ip.80.181.235.84) joined #forth 16:03:12 --- quit: wa5qjh (Remote host closed the connection) 16:05:48 --- join: wa5qjh (~quassel@175.158.225.204) joined #forth 16:05:49 --- quit: wa5qjh (Changing host) 16:05:49 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 16:09:58 --- quit: dys (Ping timeout: 244 seconds) 16:15:26 --- quit: X-Scale (Ping timeout: 240 seconds) 16:38:19 --- quit: libertas (Remote host closed the connection) 17:13:50 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 17:15:40 crc: KipIngram: `:sum #0 swap _sum ; :_sum 0; dup rot add swap n:dec me ;` 17:15:50 tail recusrive sum using `me` 17:16:39 `add` should be `+`, i like to :add + ; 17:22:18 --- quit: pierpal (Ping timeout: 244 seconds) 17:29:10 So does retro drop the space between : and ? 17:29:20 I toyed with that idea quite a lot. 17:29:24 Well, in my head. 17:29:58 I was thinking of having something along the lines of :, and : would just have the null string as a handler. 17:30:18 So var: const: : voc: etc. 17:30:32 So anything with an embedded : would add a word to the dictionary. 17:30:43 And ALL words added would have an embedded : like that. 17:30:51 It's not dropping anything really, that's not the way to look at it 17:31:09 it's prepending the type of token with a siginifier for the parser 17:31:16 I guess what I meant is that you don't require : to be a fully space-separated word? 17:31:28 Ok - that sounds very similar to what I was contemplating. 17:31:30 nope, because it's not a word, it's a prefix 17:31:46 I wound up not pursuing it, mostly because I just didn't think I had it thought through well enough when I started this round. 17:32:00 Retro uses prefixes a lot, similar to colorForth's colours 17:32:14 Got it. I think they offer a lot of utility/power. 17:32:49 so ' is for a string, and ! is a store... ` 'text !variable_a ` stores string "text" at variable_a 17:33:02 makes coding fun again 17:35:32 I mean it doesn't change *a lot* or even that much, but it adds a lot of expressiveness and simplifies the parser implementation afaik 17:35:52 Oh, you know, I had reason to do some Python coding for work over the last few days. And I realized that I tend to make a LOT of syntax mistakes in Python. On the other hand, I tend not to do that in Forth. 17:36:09 With C I'm somewhere in between - my error level seems sort of "normal" to me. 17:36:17 I don't know what it is about Python that causes me to flake out. 17:37:19 I did realize that one of the things happening was that my iTerm2 cursor wasn't blinking. And very often it would "hide" a character under it. 17:37:29 So I'd wind up with two colons at the end of if and for statements. 17:37:44 I dug around online and figured out how to make the cursor blink. 17:37:55 There was a setting - rather thoroughly hidden away, but there. 17:40:09 --- join: X-Scale (~ARM@83.223.240.191) joined #forth 17:42:49 --- quit: MickyW (Quit: Leaving. Have a nice time.) 18:15:03 --- quit: ncv (Ping timeout: 256 seconds) 18:18:55 KipIngram: Speaking of python, I really like the convenience of mixing python and forth inline in jupyter notebooks. Now I can use forth with any of the gazillion python libraries for physics stuff. https://github.com/hcchengithub/peforth +1 to the author of peforth. 18:25:05 --- join: epony (~epony@unaffiliated/epony) joined #forth 18:30:20 --- join: dave9 (~dave@90.20.215.218.dyn.iprimus.net.au) joined #forth 18:31:13 hi 18:47:35 Oh, interesting. 18:48:33 hi KipIngram 18:50:51 Evening. 19:15:48 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 19:29:20 --- quit: pierpa (Quit: Page closed) 19:31:36 --- join: TheBlueWizard (6c3848db@gateway/web/freenode/ip.108.56.72.219) joined #forth 19:38:58 --- join: Misha_B` (~user@99.249.190.76) joined #forth 19:39:05 --- quit: Misha_B` (Client Quit) 19:40:46 --- quit: Misha_B (Ping timeout: 244 seconds) 19:57:19 --- quit: pierpal (Quit: Poof) 19:57:39 --- join: pierpal (~pierpal@host84-235-dynamic.181-80-r.retail.telecomitalia.it) joined #forth 20:23:31 --- quit: dave9 (Quit: one love) 22:29:40 --- quit: jedb (Ping timeout: 260 seconds) 22:30:28 --- join: siraben (~user@184.22.230.138) joined #forth 22:33:25 --- quit: epony (Quit: QUIT) 22:49:49 --- part: TheBlueWizard left #forth 22:52:54 --- join: epony (~epony@unaffiliated/epony) joined #forth 23:07:00 --- join: dave9 (~dave@218.215.20.90) joined #forth 23:07:10 hi 23:12:56 --- join: dys (~dys@tmo-103-58.customers.d1-online.com) joined #forth 23:46:14 --- quit: amuck (Ping timeout: 248 seconds) 23:47:06 --- join: amuck (~amuck@152.243.185.35.bc.googleusercontent.com) joined #forth 23:54:26 --- quit: reepca-laptop (Remote host closed the connection) 23:56:37 --- join: reepca-laptop (~user@208.89.170.250) joined #forth 23:59:59 --- log: ended forth/18.08.04