00:00:00 --- log: started forth/21.05.12 02:54:45 --- join: LispSporks joined #forth 02:54:45 --- quit: LispSporks (Client Quit) 03:17:19 --- quit: andrei-n (Quit: Leaving) 04:53:17 --- join: tech_exorcist joined #forth 05:14:51 --- quit: dave0 (Quit: dave's not here) 05:31:19 --- join: Zarutian_HTC1 joined #forth 05:31:21 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 05:37:12 --- join: zolk3ri joined #forth 05:39:47 --- quit: spoofer (Read error: Connection reset by peer) 05:42:07 --- join: spoofer joined #forth 06:04:17 --- join: f-a joined #forth 06:23:33 --- quit: Zarutian_HTC1 (Ping timeout: 240 seconds) 07:01:43 --- join: Zarutian_HTC joined #forth 07:40:19 remexre: turns out there's a volume 6: separation logic foundations https://deepspec.github.io/sf/slf-current/toc.html 07:47:43 --- join: pbaille joined #forth 08:31:37 --- join: LispSporks joined #forth 08:35:47 --- quit: LispSporks (Ping timeout: 250 seconds) 08:36:58 --- quit: joe9 (Quit: joe9) 09:17:24 --- quit: ecraven (Ping timeout: 252 seconds) 09:18:08 --- join: ecraven joined #forth 09:24:31 --- join: joe9 joined #forth 09:26:18 I just got set up with VICE and have been playing with 64Forth on Commodore64 09:27:41 how was it 09:27:43 so far a good experience, except I'm having some confusion about figuring out where some special C64 keys map to on my real keyboard 09:28:40 to go into insert mode in the block editor, you have to press something like Shift-Insert on the C64 which doesn't seem to map to the same keys on my real keyboard 09:29:19 but, I figured out anyway how to save normal definitions to a disk image, and load them 09:29:28 compiled definitions 09:30:30 I might have made more progress but got a bit distracted playing M.U.L.E. for C64 09:32:23 siraben: ooh, nice; adding it to my list 09:34:23 been reading thru http://www.itu.dk/people/sestoft/pebook/ for the last couple of days; doesn't seem easy to apply it to Forth, but cool stuff nonetheless 09:39:07 how would you do partial evaluation in Forth? you would need some kind of special operator, wouldn't you, to hold the applied values? 09:42:56 siraben would probably agree that the way to go is to write an Haskell compiler in Forth 09:43:02 *agree with me 09:47:23 f-a: to implement partial evaluation? 09:48:12 and to use Haskell :P 09:48:52 I am not sure I can link Forth to PE 09:48:55 evaluate what? 09:48:57 stuff on the stack? 09:49:12 Forth doesn't really have a notion of closure, is that required for PE? 09:49:13 you can for sure short circuit and and friends 09:50:16 remexre: nice, for a second I thought that cover was AoP haha 09:50:57 I haven't looked too deeply into PE, but PLF has a chapter on it https://deepspec.github.io/sf/plf-current/PE.html 09:51:54 oh huh; yeah, I'm checking it out in the context of the calculating-compilers stuff 09:52:43 I'm thinking if I wanna do a JIT, I could do the same sorta "partial evaluation as a consequence of polymorphic inline caching" that graalvm does 09:53:04 but my advisor's like "you should actually read any of the partial evaluation literature lol it's probably not /that/ bad to do it statically" 09:53:49 f-a: I was actually strongly contemplating translating ben lynn's lazy λ-calculus VM into Forth 09:53:54 esp because the calculated exec function is structurally recursive 09:54:23 f-a: the closest I got to that was an SKI machine running on EVM 09:54:24 https://gist.github.com/siraben/cbf698c0455f55d41c01c14177e8d90a 09:54:40 (EVM = ethereum virtual machine, which is stack based but I extended it with my assembler to have subroutines) 09:55:26 lol one of the words is 09:55:27 rot dup sp@ cels mem + dup dup4 swap d! cell+ rot swap d! cells sp d@ + cell- sp d! sp d@ d! exit 09:55:33 (gotta love stack juggling) 09:55:51 --- quit: f-a (Ping timeout: 246 seconds) 09:57:41 --- join: f-a joined #forth 10:07:27 --- quit: joe9 (Quit: joe9) 10:14:42 --- join: joe9 joined #forth 10:15:38 --- quit: Lord_Nightmare (Quit: ZNC - http://znc.in) 10:18:40 --- join: Lord_Nightmare joined #forth 10:41:13 Stack juggling has more or less vanished from my code. 10:41:21 The stack frames dealth with it. 10:42:01 The purists hate it, but I've decided that being able to treat the top few elements of the stack as a small array, and having a variety of words that operate on them, is the way to go. 10:42:16 Not just fetch and store, but also +! and other such. 10:42:41 I'm looking at the operations my 41 CV allowed. It provided a rich library of commands to operate on all four elements of the stack. 10:42:47 THEY. HELP. 10:43:31 I'm actually naming my top four elements x, y, z, t like in that calculator. That's the top elements of the actual stack, whereas the stack frame is a more fixed thing. So it's really two separate mechanisms. 10:44:03 I'm sold on both things - any future Forth I do will have them. 10:49:18 KipIngram: that's well and good, but that routine had to be as efficient as possible and factoring would have added too much overhead 10:49:35 this is because I'm faking subroutine calls as well, the EVM doesn't actually have it 10:49:47 Fair enough. 10:50:08 bbl, sleep 10:50:08 Well, I do factor a lot these days, but the frame and the stack access words aren't really "factoring related." 10:50:23 They're just more primitives, particularly the HP-stolen ones. 10:51:33 In fact, some of them would boost efficiency - things like store and recall arithmetic. HP would have called RCL* Z for example - for me that would be z@* 10:55:21 We already had SWAP - I added x<>z and x<>t. Store and recall arithmetic for all four basic operations. Increment and decrement, by 1, 2, 4, and 8. 10:55:35 For all four elements, that is. 10:56:13 On the other hand, the stack frame only provide words to give you the address of the frame elements (the first few - 0 through 4). Then you use that like any other address. 11:03:05 I would say that the overhead of opening a stack frame, and closing it when you're done, would be similar to the overhead of calling and returning from a factored word, so that's a fair comparison. 11:03:27 The HP words are just "there," though - no cost to use them, and they combine operations that would otherwise have to be done separately. 11:03:37 Their "cost" is just a fatter dictionary. 11:05:28 --- quit: tech_exorcist (Ping timeout: 268 seconds) 12:10:40 --- join: tech_exorcist joined #forth 12:17:13 --- quit: pbaille (Remote host closed the connection) 12:18:03 --- quit: tech_exorcist (Remote host closed the connection) 12:18:26 --- join: tech_exorcist joined #forth 12:30:34 --- quit: gravicappa (Ping timeout: 268 seconds) 12:55:33 --- join: pbaille joined #forth 13:11:09 --- join: actuallybatman joined #forth 13:28:10 --- quit: lispmacs[work] (Remote host closed the connection) 13:30:00 --- quit: mtsd (Remote host closed the connection) 13:30:23 --- join: mtsd joined #forth 13:38:00 --- join: neuro_sys joined #forth 13:38:44 --- quit: mtsd (Ping timeout: 265 seconds) 13:47:52 --- quit: f-a (Quit: leaving) 13:50:17 --- join: f-a joined #forth 13:53:03 --- quit: f-a (Read error: Connection reset by peer) 13:56:52 --- join: f-a joined #forth 14:04:22 --- quit: pbaille (Remote host closed the connection) 14:04:58 --- join: pbaille joined #forth 14:07:23 --- quit: neuro_sys (Read error: Connection reset by peer) 14:33:42 --- join: lispmacs[work] joined #forth 14:43:00 --- join: dave0 joined #forth 14:48:10 maw 15:02:40 --- quit: f-a (Quit: leaving) 15:04:07 --- quit: tech_exorcist (Ping timeout: 268 seconds) 15:11:46 wam 15:14:49 :-) 15:37:33 --- quit: pbaille (Remote host closed the connection) 15:38:09 --- join: pbaille joined #forth 15:42:57 --- quit: pbaille (Ping timeout: 265 seconds) 15:59:57 --- quit: dave0 (Quit: dave's not here) 16:38:34 --- join: pbaille joined #forth 16:49:54 somebody please find me a new job 16:52:57 we've got an opening for night parts clerk. I think it pays a dollar or two above minimum wage 16:53:06 you would need to move to Alaska 17:00:25 i was thinking something more software related 17:03:09 have research or security experience? 17:03:15 or nlp or planning 17:05:42 cmtptr, where are you located? 17:08:28 georgia 17:08:47 and so are you 17:09:10 i work for an agency, when they place me i generally make 50+ an hour and half of that is tax free (im back in NC now tho). 17:09:22 oh 17:09:25 if you are willing to travel for contract work i can put you in contact with my agency 17:09:37 i don't want to move though 17:09:42 dont have to MOVE 17:09:44 or travel 17:09:57 oh. thats not helpful :) 17:10:09 i want my dream employment to come to me 17:10:26 in fact could you just pay me to do whatever i want to do 17:11:48 --- quit: pbaille (Ping timeout: 240 seconds) 17:12:22 mark4, do you spend most of your time writing new code, or do you spend a lot of time in existing codebases that suck 17:15:52 mostly the latter lol 17:15:57 but 50+ an hour man 17:31:04 i make that doing what i'm doing now 17:32:35 what do you do now? 17:32:43 and when i earn it half of it is not taxed 17:32:45 cant be taxed 17:33:38 i'd be willing to take some pay cut, but i don't ever want to have to fix some poorly designed pos written by an inferior developer with more responsibility in the last weeks before release 17:33:44 again 17:34:13 dodging the taxes is nice 17:34:43 right now i work for a telecom equipment vendor 17:35:37 we make the things that send you netflix via lasers 17:37:34 lol 17:38:00 how do you watch netflix with your eyesa burned out! 17:41:06 very quickly 17:43:38 lol 17:50:21 cmtptr: terrestrial links? 18:01:03 versus? 18:01:38 we don't put fiber in space if that's what you're asking 18:04:23 --- quit: pareidolia (Ping timeout: 260 seconds) 18:04:44 --- join: LispSporks joined #forth 18:05:15 we have products that are deployed to transmit over submarine fibers, i guess 18:24:40 --- quit: zolk3ri (Quit: Lost terminal) 18:40:56 --- join: boru` joined #forth 18:40:59 --- quit: boru (Disconnected by services) 18:41:01 --- nick: boru` -> boru 18:48:59 --- join: pareidolia joined #forth 19:05:17 --- join: dave0 joined #forth 19:07:20 maw 19:12:47 --- quit: LispSporks (Quit: My MacBook has gone to sleep. ZZZzzz…) 19:21:53 --- quit: Zarutian_HTC (Ping timeout: 252 seconds) 19:25:03 --- quit: sts-q (Ping timeout: 240 seconds) 19:37:13 --- join: sts-q joined #forth 20:16:47 --- join: lispmacs joined #forth 20:44:22 --- join: gravicappa joined #forth 20:45:19 --- join: Zarutian_HTC joined #forth 21:48:36 --- join: mtsd joined #forth 22:08:38 --- quit: dave0 (Ping timeout: 245 seconds) 22:10:40 --- join: dave0 joined #forth 22:18:51 --- join: pbaille joined #forth 22:22:34 --- quit: cmtptr (Ping timeout: 268 seconds) 22:50:53 --- quit: gravicappa (Ping timeout: 252 seconds) 23:14:15 --- join: cmtptr joined #forth 23:51:32 --- quit: MrMobius (Read error: Connection reset by peer) 23:59:59 --- log: ended forth/21.05.12