00:00:00 --- log: started forth/15.01.17 01:24:28 --- join: Bahman (~Bahman@188.159.28.90) joined #forth 02:48:56 --- join: true-grue (~grue@95-27-141-213.broadband.corbina.ru) joined #forth 02:59:47 --- quit: Bahman (Quit: Ave atque vale) 03:47:47 --- join: Bahman (~Bahman@188.159.28.90) joined #forth 03:55:02 --- join: pgomes (~pgomes@ip92347451.dynamic.kabel-deutschland.de) joined #forth 04:00:46 Hi 04:00:59 Why are the URLs in the topic message not available ? 04:48:40 isforth domain has expired but is hopefully being renewed soon. the rest should work. 05:46:22 --- join: Zarutian (~Adium@46.22.110.168) joined #forth 05:59:59 --- quit: denysonique (Ping timeout: 245 seconds) 06:07:37 --- join: denysonique (~quassel@109.144.135.168) joined #forth 06:07:38 --- quit: denysonique (Changing host) 06:07:38 --- join: denysonique (~quassel@unaffiliated/dennisonicc) joined #forth 06:09:39 forthfreak.net shows 'vm 20 ' only 06:15:09 --- quit: Zarutian (Quit: Leaving.) 06:24:03 --- quit: MrMobius (Ping timeout: 245 seconds) 08:10:21 --- quit: irsol (Ping timeout: 245 seconds) 08:11:33 --- join: saml_ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 08:13:43 --- quit: darkf (Quit: Leaving) 08:13:59 --- join: xyh (~xieyuheng@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 08:15:58 --- join: irsol (~irsol@unaffiliated/contempt) joined #forth 08:22:16 --- join: samrat (~samrat@123.236.183.195) joined #forth 08:38:48 --- join: gabriel_laddel (~user@unaffiliated/gabriel-laddel/x-9909917) joined #forth 08:52:51 --- join: Zarutian (~Adium@168-110-22-46.fiber.hringdu.is) joined #forth 08:53:39 --- quit: Zarutian (Read error: Connection reset by peer) 08:53:54 --- join: Zarutian (~Adium@168-110-22-46.fiber.hringdu.is) joined #forth 09:47:34 --- quit: xyh (Remote host closed the connection) 10:18:45 --- join: xyh (~xieyuheng@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 10:38:13 --- quit: samrat (Quit: Computer has gone to sleep.) 11:04:49 --- join: mark4_ (~mark4@cpe-68-203-183-77.tx.res.rr.com) joined #forth 11:08:31 --- quit: Zarutian (Quit: Leaving.) 11:21:09 pgomes: Any specific material you're looking for? I might help. 11:27:26 no just wanted to browse 11:27:34 know forth but did not know those sites 11:27:53 thanks anyway :P 11:29:58 :-) 11:33:39 what sites? :) 11:33:55 --- nick: mark4_ -> I440r 11:51:16 isforth.com | forthfreak.net 11:51:48 BTW is there a good forth that runs and metacompiles in a cubieboard (ARM7) that you know of ? 12:35:51 --- join: kumul (~mool@adsl-64-237-236-137.prtc.net) joined #forth 12:43:39 --- join: Zarutian (~Adium@168-110-22-46.fiber.hringdu.is) joined #forth 13:41:22 isforth.com is not active right now :( 13:41:36 i need to pay the domain reg but im working. might be able to do it in a week or 2 13:42:17 pgomes, actually i have a version of isforth that runs on ARM and I am just now putting the finishing touches on the thumb2 version of it 13:42:39 thers no assembler for it yet so no metacompiler but i already have a spreadsheet I have started for the instruction encodings 13:43:11 I don't have the cubie yet 13:43:31 both my arm forths run on my beagleboard xm 13:43:33 will get it from amazon next week 13:43:46 but NOT if you install a debian based distro 13:43:51 tho that can be fixed 13:43:53 why? 13:43:57 is is OS dependent? 13:44:04 no 13:44:24 its down to stupidity of debian devs that i have refused to fix in my code 13:44:30 though... i COULD lol 13:45:17 what is wromg? 13:45:41 i just dont like duct-taping my code for other peoples breakages 13:45:53 1: debian MOVES some of the terminfo files into /lib/terminfo 13:46:11 having them there is fine, MOVING them there from /usr/share/terminfo/* is utter fucking moronic stupidity 13:46:49 my terminfo parser does not go HUNTING for the terminfo files when the FHS states where they SHOULD BE 13:46:56 i look where they are supposed to be and no further 13:47:27 second problem. while debian distros are PAX aware, their binutils does not create elf executables with a pax header 13:47:35 my fsave assumes the pax header is there. 13:47:54 fix 1: cp -rv /lib/terminfo/* /usr/share/terminfo/ 13:48:13 fix 2: modify fsave to look at the elf headers to see if there is a pax header 13:49:17 the forth runs but unless fsave is fixed you would not be able to create a functional executable when you fsave 13:49:40 --- quit: xyh (Remote host closed the connection) 13:50:20 i put gentoo on my beagleboard, all my systems run gentoo :) 13:51:07 but i dont run out of flash, my boot is on the flash card but / is on an external usb drive 13:51:33 btw i have a GPIO module i wrote for someone with a cubie, i did not hear back from him that it worked 13:52:38 what distro were you planning on using on it :)) 13:53:02 if you have the patience i always recommend gentoo but only if you are smart with the USE flags 13:56:51 don't know yet ... what do you recommend ? 13:58:58 if you have the patience... gentoo :) 13:59:20 but... i DO recommend an external USB drive or if you have sata... 13:59:29 is isforth an ansi standard forth, I440r ? 13:59:38 i do not recommend running any full blown system off of a flash device 14:00:11 tangentstorm, im not FAR of being an ans standard forth, there are not that many differences but i am rabidly ANTI ans 14:00:33 do you see the irony there? :) 14:00:42 no!!!!!!!!! 14:00:45 lol 14:00:45 * tangentstorm knows it's probably not really irony. 14:00:54 :) 14:01:19 i do not have postpone defined. i use compile and [compile] because postpone is insanity 14:01:28 i have NOT defined. i will never define "invert" 14:01:39 i call it a VAR not a "value" 14:01:52 i have variable, constant, var, const. they are all different 14:01:58 variable and constant are as expect. 14:02:06 a var is also a constant but your allowed to modify it 14:02:14 a const is a state smart immediate word 14:02:17 10 const foo 14:02:20 foo . 10 14:02:26 : blahy... foo ... ; 14:02:58 in the blah definituion foo will execute during compilation because foo is immediate. its also state smart. because were in compile mode it will compile itself as a literal 14:04:15 i dont like the word name "value" because it is (like MANY ans words) totally undescriptive of its purpose 14:04:44 an address has a value. a number has a value etc etc 14:05:00 the name VAR is descriptive in that it suggests the item is a variable 14:05:07 10 var foo 14:05:11 also. i did not define "TO" 14:05:27 again because its TOTALLY un fucking descriptive of what it is doing 14:05:40 the word is called !> and is pronounced STORE TO 14:05:42 100 !> foo 14:05:48 50 +!> foo 14:05:50 incr> foo 14:05:52 decr> foo 14:09:59 there are other subtle differences like.. at all times i know exactly what is at the top of both my parameter stack and my return stack 14:10:18 in an ans forth you can NOT expect a words return address to be at the top of the return stack on entry into the word 14:10:23 : foo r>drop do stuff ; 14:10:32 not guaranteed to work in an ans forth 14:11:08 : asm> r> >r !> .. .. . ; <-- my assembler delay line that i use in many assemblers i write 14:11:53 mov r0, # 5 <-- allows for this instead of 5 # r0, mov which i hate 14:12:06 <--- heretic 14:12:46 I440r: AT&T style or Bell Labs style? 14:12:54 (gasm or nasm style) 14:13:07 never at&t 14:13:52 so mov r0, # 5 is moving the literal number five into register zero? 14:13:54 i do not have an x86 assembler yet, i have an 8051 assembler (slightly buggy but i fixed the bugs once but they seem to have been missplaced) and a full blown AVR assembler 14:14:06 supports ALL avr devices 14:14:18 yes loads literal 5 into register r0 14:14:35 mov eax, # 10 <--- 14:14:51 mov eax, 10 <-- thou i think i would do it this way 14:15:14 and mov eax, [ variable >body ] 14:15:35 or mov eax, ' variable >body <-- points eax at body of var as apposed to fetching the contents of the body as above 14:15:46 no need for # cluttering things up 14:15:57 its always an immediate unless you use [ ] 14:16:08 that sort of thing. i just didnt implement the assembler yet for x86 14:17:11 the x86 version of isforth is assembled with nasm 14:17:29 when i write my assembler extension i dont want to have to mess with the existing sources too much 14:17:38 perhaps I am wierd but I prefer what eForth does. Defening a few primitives and the code is mostly colon definitions. 14:18:14 Zarutian, thats GOOD if speed is not an issue and sometimes a colon definition is larger which is bad in an embedded situation 14:18:34 tho for most of the primitives in my thumb2 version of isforth its very close lol 14:18:57 but while isforth x86 is direct threaded the arm versions are both subroutine threaded 14:19:41 but then again I hate idotic cache structures on chip. Just gimme small and fast SRAM that I can address directly and a good DMA engine to fetch from main DRAM memory. 14:20:10 people who write code optimized for a chips instruction and data chache are just being stupid 14:20:29 using dma can be problematical too lol 14:20:46 tho i think i would like to implement cmove and cmove> using dma 14:21:11 on the GBA using the dma engine is SLOW. in that the fastest way is to do successive 14:21:24 ldmia and stmia instructions 14:21:52 i.e. loat the next 32 bytes into r0, r1, r2, r3. store r0, r1, r2, r3 into the next 32 bytes of the destination 14:22:02 if you can use r0-r7 that makes it all the faster 14:22:24 gba devs never use the dma engine except for fetching audio samples to be played 14:22:38 basically what I mean is having small SRAM where the code and data you are currently working on is held. Then use the DMA thing to evict and fetch whole pages (256-4096 bytes) 14:23:14 you have specific hardware you will be doing this on? 14:23:30 nope 14:23:55 just feel like some assumptions that some hardware designers did were never properly understood 14:24:30 by the hardware devs or by the software devs after? lol 14:24:38 by both 14:25:29 i think the best hardware devs are ones who are also skilled in software development. they see the problem from both sides of the coin 14:25:44 i am not a hardware guy in any way shape or form :) 14:25:59 "we need to pipeline the cpu to get more speed" <- sorry but your instruction code is shitty then and you only get more throughput 14:27:32 "we need complex caches because the memory we are fetching code and data are so much slower!" <- live within in your memory budget with onboard SRAM and keep other stuff swapped out to much bigger DRAM. 14:28:33 if you have <---> this much FAST ram and <------------> this much slow ram 14:28:51 devs are going to cram as much as they can into the faster area even if they dont need to 14:28:57 "we need branch prediction because otherwise there would be too long pipeline stalls" <- see #1 on pipelines and branch heavy code such as Forth will wreck your branch prediction tables. 14:29:16 lol forth DOES wreck them 14:30:24 --- quit: true-grue (Read error: Connection reset by peer) 14:30:53 one of my low priority hobbies is writing torture code meant to run on shared hardware (on shell hosts, VM cloud hosts and such) that does nothing but wrecking branch prediction tables, pipeline fillages and caches. 14:31:28 basically be the worst case scenario in every instance. 14:32:27 add frequent TLB flushes to that list too. 14:33:45 --- part: pgomes left #forth 14:34:04 --- join: pgomes (~pgomes@ip92347451.dynamic.kabel-deutschland.de) joined #forth 14:34:43 lol 14:35:41 heck, what I pine for is basically something like Novix 4016 core+128K sram pairs layed out as array on chip using something like GreenArrays ports to communicate with four neighbours in the cardinal directions. 14:36:59 I bet a GreenArray chip or two could easily simulate x86 bytecode by having one computer decode the instructions, while another fetches data from memory and so on. 14:37:53 would it be as fast as my 6 core lga2011 running at 4.3ghz? 14:37:58 used to run at 4.7 lol 14:38:45 depends 14:38:58 maybe it would even be faster. 14:39:29 --- quit: pgomes (Ping timeout: 252 seconds) 14:39:53 --- join: pgomes (~pgomes@ip92347451.dynamic.kabel-deutschland.de) joined #forth 15:06:28 --- quit: irsol (Ping timeout: 264 seconds) 15:08:46 --- join: irsol (~irsol@unaffiliated/contempt) joined #forth 15:10:43 --- quit: Bahman (Quit: zzZZ) 15:15:13 --- join: MrMobius (~Joey@c-68-45-16-225.hsd1.nj.comcast.net) joined #forth 15:16:03 --- quit: kumul (Quit: Leaving) 15:29:49 --- quit: pgomes (Quit: Leaving) 16:27:20 --- quit: I440r (Quit: Leaving) 16:27:35 --- nick: mark4 -> I440r 16:27:40 forgot i had this one loaded lol 16:36:18 --- quit: Zarutian (Quit: Leaving.) 18:19:26 --- quit: denysonique (Remote host closed the connection) 18:31:07 --- quit: proteusguy (Ping timeout: 246 seconds) 18:44:56 --- join: proteusguy (~proteusgu@ppp-110-168-229-30.revip5.asianet.co.th) joined #forth 18:44:56 --- mode: ChanServ set +v proteusguy 19:02:12 --- join: darkf (~darkf___@unaffiliated/darkf) joined #forth 19:05:45 --- quit: nighty-_ (Ping timeout: 264 seconds) 19:21:51 challenge: reverse the order of the first N parameters on the stack. make N a parameter (not included in the reversal :) 19:23:06 guess the only real way to do it would be to allocate N cells. move all the data into that buffer. then write the buffer back to the stack in reverse and then free the buffer 19:23:37 either that or invent a word to rotate out the Nth item on the stack... not fun lol 19:42:23 --- join: protist (~javery@63.177.69.111.dynamic.snap.net.nz) joined #forth 20:14:33 --- quit: gabriel_laddel (Ping timeout: 245 seconds) 20:15:07 --- join: kumul (~mool@adsl-64-237-238-201.prtc.net) joined #forth 20:31:42 --- quit: saml_ (Remote host closed the connection) 21:32:12 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 21:59:26 --- join: true-grue (~grue@95-27-156-193.broadband.corbina.ru) joined #forth 22:02:46 --- quit: kumul (Quit: Leaving) 23:35:08 --- quit: mnemnion (Remote host closed the connection) 23:35:36 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 23:39:43 --- quit: mnemnion (Ping timeout: 245 seconds) 23:59:59 --- log: ended forth/15.01.17