00:00:00 --- log: started forth/17.07.26 00:26:05 --- quit: dys (Ping timeout: 255 seconds) 01:08:50 --- join: dys (~dys@2003:5b:203b:100:6af7:28ff:fe06:801) joined #forth 02:02:22 --- join: leaverite1 (~Thunderbi@175.158.225.223) joined #forth 02:03:36 --- join: leaverite_ (~quassel@175.158.225.223) joined #forth 02:04:13 --- quit: leaverite (Ping timeout: 240 seconds) 02:04:43 --- nick: leaverite1 -> leaverite 02:04:52 --- quit: wa5qjh (Ping timeout: 240 seconds) 02:04:52 --- nick: leaverite -> wa5qjh 02:22:32 --- quit: groovy2shoes (Ping timeout: 276 seconds) 02:22:34 --- quit: hobbes- (Ping timeout: 255 seconds) 02:23:07 --- join: groovy2shoes (~groovy2sh@unaffiliated/groovebot) joined #forth 02:24:13 --- quit: rpcope (Ping timeout: 240 seconds) 02:26:58 --- join: rpcope (~GOTZNC@162.245.217.4) joined #forth 02:35:43 --- quit: wa5qjh (Ping timeout: 240 seconds) 02:37:24 --- quit: leaverite_ (Ping timeout: 268 seconds) 02:47:53 --- join: wa5qjh (~Thunderbi@175.158.225.196) joined #forth 02:51:56 --- quit: wa5qjh (Remote host closed the connection) 03:14:38 --- join: GeDaMo (~GeDaMo@212.225.125.110) joined #forth 03:15:12 --- quit: a3f (Quit: ZNC 1.7.x-git-775-96c92ef - https://znc.in) 03:15:34 --- join: a3f (~a3f@unaffiliated/a3f) joined #forth 04:35:53 --- nick: dzho_ -> dzho 06:05:10 --- quit: LeCamarade (Ping timeout: 240 seconds) 06:06:05 --- join: LeCamarade (~revence@139.59.111.106) joined #forth 09:20:18 it may have taken me several months working on and off during my free time, but I think I have finally conquered the x86-64 addressing modes in my forth assembler 09:26:48 --- join: gravicappa (~gravicapp@h62-133-162-65.dyn.bashtel.ru) joined #forth 09:31:41 zy]x[yz: Congratulations. 09:31:59 impressive 09:39:33 probably could come up with a better syntax, though 09:40:05 ecx 123 rbp[rcx] x2 add, 09:40:25 in at&t: add 123(%rbp,%rcx,2), %ecx 09:41:32 --- quit: dys (Ping timeout: 276 seconds) 09:53:33 --- join: dys (~dys@ip-109-44-2-206.web.vodafone.de) joined #forth 09:55:13 --- quit: LeCamarade (Ping timeout: 240 seconds) 10:14:40 --- join: Labu (~mik@mvice.pck.nerim.net) joined #forth 10:15:32 Hi 10:17:29 hello! 10:17:37 Hi. 10:29:35 How can I know simple integer precision size in Gforth (I mean in the documentation) ? 10:30:03 You want to know how big a cell is? 10:30:17 yes GeDaMo 10:30:23 1 cells . 10:30:30 ah 10:30:36 in bits ? 10:30:40 or bytes 10:30:49 Bytes 10:31:33 Or "address units" if you want to be precise 10:31:59 8bytes on a 64bits is it ? 10:32:04 Yes 10:32:06 ok 10:32:25 I just want be sure 10:32:54 but I don't find where documentaytion says that 10:35:18 ok I find it it I think 11:35:54 --- quit: Bunny351 (Quit: Bunny351) 11:53:09 --- quit: gravicappa (Ping timeout: 260 seconds) 12:08:07 --- quit: jedb (Ping timeout: 248 seconds) 12:17:27 --- quit: MrBusiness (Ping timeout: 255 seconds) 13:36:45 --- join: ACE_Recliner (~ACE_Recli@c-98-220-46-30.hsd1.in.comcast.net) joined #forth 13:58:23 --- quit: GeDaMo (Remote host closed the connection) 14:10:13 --- quit: ACE_Recliner (Ping timeout: 240 seconds) 14:14:48 --- join: ACE_Recliner (~ACE_Recli@c-98-220-46-30.hsd1.in.comcast.net) joined #forth 14:21:19 --- quit: Labu (Ping timeout: 255 seconds) 14:29:04 --- join: wa5qjh (~Thunderbi@175.158.225.202) joined #forth 14:39:02 --- quit: wa5qjh (Read error: Connection reset by peer) 14:40:19 --- join: MrSleepy (~Mr_Sleepy@2601:204:cd00:a2e0:be85:56ff:fe98:a987) joined #forth 14:42:22 --- join: wa5qjh (~Thunderbi@175.158.225.202) joined #forth 14:42:42 Hello just curious if I could get pointed towards a better explanation of variables and memory management in forth? I read this http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Tutorial.html#Tutorial and got to the memory tutorial but I didn't entirely understand everything in that section 14:42:59 this one is the memory tutorial http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Memory-Tutorial.html#Memory-Tutorial 14:43:45 I have pdf's of various forth books like starting forth and thinking forth but I haven't had time to poke around and am not sure which is the best to start with 14:45:24 also I have a bit of C/C++ and lisp experience as my point of reference 14:59:23 MrSleepy: Hi. As far as I understand there is not much to it. For example I define ``: Bytes allocate throw ; ' Bytes Alias B : Ki 10 << ; : Mi 20 << ;'' so I can do ``1 Mi B Value Ptr'' :) . 15:00:19 What are You working on? 15:00:31 I am just trying to learn the language for fun 15:01:01 We had at on a work terminal for interfacing with some fancy cards in this weird chassis that I thought was really cool 15:02:10 CORDIC, So what you just wrote lets you allocate a 1Mib pointer? 15:02:23 Yes. 15:04:39 CORDIC, what does throw do? 15:05:02 and does the pointer just get pushed onto the data stack? 15:05:16 Throws some kind of Exception if `allocate' fails. 15:05:39 ooohhh I see 15:05:55 I had to look up that values word too 15:06:09 so basically the pointer gets stored in the Ptr word 15:06:15 that's interesting 15:06:48 The guide I linked uses the variable word for variables 15:07:13 --- quit: wa5qjh (Read error: Connection reset by peer) 15:07:29 `Variable' is slightly different. 15:07:33 seems smarter to use value because the docs say it is like a constant 15:07:40 *the docs I am using 15:14:11 MrSleepy: Check out http://rosettacode.org/wiki/Hailstone_sequence :) . 15:14:52 CORDIC, checking it out now. 15:17:19 --- join: wa5qjh (~Thunderbi@175.158.225.202) joined #forth 15:22:04 CORDIC, that's some intense stuff I think I understand the jist of it though. 15:22:18 Also this has to do with the collatz conjecture right? 15:23:33 Exactly. 15:24:37 I like how close to assembly forth syntax is 15:24:53 like it reads in a similar manner but has some neat extra stuff 15:27:58 MrSleepy: `code' Word is essentialy assembly in Forth. You could be the first to solve http://rosettacode.org/wiki/Machine_code#Forth ;) . Or http://rosettacode.org/wiki/Partial_application . ``: squared 2 * ;'' is some kind of Partial Application, right? 15:35:45 CORDIC, So if I am understanding correctly, 'code' allows you to define forth words in terms of low level machine code, like when you do see on a word and it spits out the asm for that word? That machine code thing seems interesting but I don't think I know enough to do it yet haha. I thought x86 had some sort of instruction pointer that pointed at the current or maybe next instruction to run 15:36:42 Wouldn't you just need to 'poke' your special opcode into mem somewhere then advance the instruction pointer (or whatever it is called) to that new opcode run it and then move the ip back to where it stopped like a function call almost but for single opcodes? 15:36:43 I also never considered the relation between currying and stack machines... 15:37:05 I know in the red dragon book they describe a stack machine where operations are pushed to the stack above their arguments and then all are popped off and evaluated and the result is pushed to the stack 15:37:24 they never mentioned currying in that discussion I just find the relation trippy and awesome haha 16:01:26 --- join: Bunny351 (~Bunny351@p4FD2D33A.dip0.t-ipconnect.de) joined #forth 16:13:36 Yes. IMHO GForth doesn't have a useful implementation of `code'. 16:24:22 CORDIC, I fiddled with it a bit but it seemed sort of awkward and I don't think I am at the point where it is wise to jump between multiple languages from within forth. 16:35:17 MrSleepy: https://en.wikipedia.org/wiki/De_Bruijn_index reminds me of `pick'. I would rename `pick' to `Parameter' and perhaps `Alias' it to `P' :) . 16:47:00 --- quit: wa5qjh (Remote host closed the connection) 16:48:43 --- quit: MrSleepy (Quit: Leaving) 18:00:47 --- join: wa5qjh (~Thunderbi@175.158.225.202) joined #forth 18:13:15 okay, (debatably) improved my syntax a bit, although it's very att-esque about which I'm on the fence 18:13:53 %eax 123 (%rbp ,%rcx ,2) add, 18:14:37 the benefit being that rbp[rcx] and all those permutations aren't each their own words 18:15:30 instead it's composed of a smaller number of atom words 18:45:42 --- quit: wa5qjh (Remote host closed the connection) 19:49:00 --- join: jedb (~jedb@71.19.248.193) joined #forth 20:50:59 --- quit: Bunny351 (Ping timeout: 255 seconds) 21:01:31 --- join: Bunny351 (~Bunny351@p4FD2D1B7.dip0.t-ipconnect.de) joined #forth 22:08:43 --- quit: ACE_Recliner (Ping timeout: 240 seconds) 22:11:59 --- join: wa5qjh (~quassel@175.158.225.202) joined #forth 22:14:29 --- join: ACE_Recliner (~ACE_Recli@c-98-220-46-30.hsd1.in.comcast.net) joined #forth 23:31:06 --- quit: ACE_Recliner (Remote host closed the connection) 23:46:19 --- quit: wa5qjh (Remote host closed the connection) 23:59:59 --- log: ended forth/17.07.26