00:00:00 --- log: started forth/19.06.09 00:06:16 --- quit: chunkypuffs (Quit: ZNC 1.7.1 - https://znc.in) 01:05:24 --- join: chunkypuffs (~chunkypuf@static.203.112.216.95.clients.your-server.de) joined #forth 02:03:35 --- quit: ashirase (Ping timeout: 244 seconds) 02:10:24 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:21:11 --- quit: dddddd (Remote host closed the connection) 02:24:51 --- join: tabemann_ (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net) joined #forth 02:25:04 --- quit: tabemann (Ping timeout: 248 seconds) 03:47:52 --- quit: proteusguy (Ping timeout: 246 seconds) 04:00:16 --- join: proteusguy (~proteusgu@cm-58-10-154-77.revip7.asianet.co.th) joined #forth 04:00:16 --- mode: ChanServ set +v proteusguy 05:58:38 --- quit: dys (Ping timeout: 258 seconds) 07:00:44 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 07:28:13 --- join: dys (~dys@tmo-104-24.customers.d1-online.com) joined #forth 07:42:08 --- quit: dave0 (Quit: dave's not here) 08:33:30 --- join: gravicappa (~gravicapp@h109-187-238-210.dyn.bashtel.ru) joined #forth 08:36:58 --- quit: ashirase (Quit: ZNC - http://znc.in) 09:42:41 --- join: xek (~xek@188.147.33.249.nat.umts.dynamic.t-mobile.pl) joined #forth 09:52:15 --- join: john_metcalf (~digital_w@host86-161-79-249.range86-161.btcentralplus.com) joined #forth 10:42:13 --- quit: pareidolia (Ping timeout: 248 seconds) 10:50:47 --- join: pareidolia (~pareidoli@87.213.124.143) joined #forth 11:49:57 --- quit: gravicappa (Ping timeout: 248 seconds) 12:56:38 --- quit: xek (Remote host closed the connection) 12:56:59 --- join: xek (~xek@188.147.33.249.nat.umts.dynamic.t-mobile.pl) joined #forth 13:26:08 --- quit: xek (Remote host closed the connection) 13:26:30 --- join: xek (~xek@188.147.33.249.nat.umts.dynamic.t-mobile.pl) joined #forth 13:34:38 --- quit: xek (Remote host closed the connection) 13:35:23 --- join: xek (~xek@188.147.33.249.nat.umts.dynamic.t-mobile.pl) joined #forth 14:30:40 --- join: xek_ (~xek@188.147.33.249.nat.umts.dynamic.t-mobile.pl) joined #forth 14:31:47 --- quit: xek (Read error: Connection reset by peer) 15:25:25 --- quit: xek_ (Ping timeout: 248 seconds) 15:27:33 --- quit: tabemann_ (Ping timeout: 248 seconds) 15:40:26 --- quit: jedb (Ping timeout: 244 seconds) 15:43:05 --- join: jedb (~jedb@103.57.72.31) joined #forth 16:17:47 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 16:26:52 hi 16:34:38 --- join: tabemann_ (~travisb@h193.235.138.40.static.ip.windstream.net) joined #forth 16:35:21 --- nick: tabemann_ -> tabemann 16:38:23 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 16:45:52 --- quit: john_cephalopoda (Ping timeout: 252 seconds) 16:46:43 --- quit: ashirase (Quit: ZNC - http://znc.in) 16:59:17 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 18:03:06 Zarutian: The passive diode bridge memristor really does appear to behave like a genuine memristor. http://www.0xff.in/bin/diode-bridge-memristor.highlow-freq.png Low freq changes its resistance, high freq not so much. Yay!?! 18:03:06 So I could send low freq pulses to it to change its resistance as needed. 18:07:35 I feel like a heretic for working on actual data structures using ALLOCATE in Forth 18:08:10 e.g. I have both ALLOTed and ALLOCATEd versions of my vectors 18:08:31 (the ALLOCATEd ones can be automatically expanded, the ALLOTed ones cannot) 18:09:05 as, after all, true Forthers aren't supposed to use ALLOCATE 18:09:44 I feel slightly better considering that I'm using a heap I wrote all by myself (i.e. not malloc()/realloc()/free()) 18:12:47 and that heap is written in Forth (i.e. on top of ALLOT) 18:15:56 has anyone here written an arm forth? I'm wondering what people do with all the "extra" registers vs an x86 forth 18:26:38 extra state juggling by primitives? 18:27:26 state juggling? 18:27:59 more complex primitives can take advantage of those registers 18:28:33 e.g. in addition to the TOS register, a three-argument primitve can load the other two arguments into registers 18:28:55 actually, I think, on ARM it would have to, since ARM has a load-store architecture 18:29:02 yeah 18:29:11 I was assuming TOS would be a register already 18:30:37 in which case it'd be only 3 instructions anyway 18:31:48 (possibly 2? I'm new to arm asm, and I /think it might/ have a load-and-increment instruction) 18:34:07 UM* and UM/MOD used lots of registers 18:34:36 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 18:35:09 back 18:35:35 actually, I think ARM does support load-and-increment and store-and-increment 18:35:41 i used some temporary space on the stack 18:36:22 afaik ARM doesn't have a native multiply or divide 18:36:37 dave0: more than 2 or 3? I mean, I'm gonna have 31 registers... 18:36:44 I thought it had hardware multiply 18:36:56 ah maybe, i'm not sure 18:37:09 yes, it does http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFADHJ.html 18:37:24 ah ok 18:37:39 I definitely know that nobody uses hardware division in practice 18:38:14 actually, ARM has 37 registers, but only r0 through r14 are accessible by all instructions 18:38:27 (I think this count is included registers stored in interrupted states) 18:38:49 remexre: my UM* for amd64 uses 6 registers 18:39:16 no wait that's UM/MOD 18:39:24 --- join: lisbeths (~user@2601:601:8300:1fff:2930:2892:d896:1b6) joined #forth 18:39:33 UM* uses 5 18:40:01 huh, ok 18:40:17 so far that's the most registers i've had to use in a word 18:40:21 tabemann: is that pre-ARMv8 or post-/including? 18:41:25 I think I have 6 or 7 in mine (and I haven't actually implemented multiplication or division at all yet), because some parsing stuff is in assembly for no good reason 18:41:35 not wanting to debug nasm macros, I guess is the reason 18:44:35 idk, I guess in theory if I want /perfect/ utilization, I would want to write an inliner+register allocator 18:44:48 which would be a fun engineering project for next summer :P 18:48:58 back 18:50:13 I don't know about how many exact registers each different version of the ARM arch has, but I remember when I was working on an ARM project ages ago that it had r0-r15 visible to the user, but r0 and r15 being special, and extra copies of the registers existed which were normally hidden from the user for use during interrupt/exception handling 18:52:44 I think 32-bit ARM has 0-15 still, with 0 = /dev/zero and 15 = instruction pointer (and 14 = return addr) 18:52:59 yeah, that's what I remember 18:52:59 and the extras sound plausible, yeah 18:53:09 64-bit adds 15 more from the looks of it 18:59:12 I'm disappointed that the designers of x86-64 didn't take the opportunity to expand the register file to 32 rather than to 16 registers 19:04:29 yeah... probably some part has quadratic space use/transistor count w/ number of architectural registers 19:10:03 but if ARM64 can do it... 19:10:28 and just about every arch after 68K and 32-bit ARM 19:11:07 I remember from my Mac days that PPC had 32 GPRs and 32 float point registers 19:12:20 Yeah, I mean something peculiar to amd64 (or even the current AMD microarch at the time) 19:15:50 my guess is something to do with the register renaming system 19:28:54 tabemann, nothing wrong with ALLOCATE so long as it's used once or twice at the start and never again! ;-) haha 19:30:02 we don't need more registers - just better stacks! 19:32:32 --- quit: proteusguy (Remote host closed the connection) 19:53:22 --- quit: dave0 (Quit: dave's not here) 20:07:35 --- quit: tabemann (Ping timeout: 272 seconds) 20:07:56 --- quit: dddddd (Remote host closed the connection) 20:20:31 --- join: tabemann (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net) joined #forth 20:24:00 --- quit: lisbeths (Ping timeout: 248 seconds) 20:51:45 --- join: gravicappa (~gravicapp@h109-187-238-210.dyn.bashtel.ru) joined #forth 21:00:47 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 21:03:43 re 21:06:19 st 21:17:22 hey 22:56:57 --- join: xek_ (~xek@188.147.33.249.nat.umts.dynamic.t-mobile.pl) joined #forth 23:25:50 --- join: proteusguy (~proteusgu@180.183.132.99) joined #forth 23:25:50 --- mode: ChanServ set +v proteusguy 23:32:17 --- quit: proteusguy (Remote host closed the connection) 23:56:12 --- join: rdrop-exit (~markwilli@112.201.174.189) joined #forth 23:59:59 --- log: ended forth/19.06.09