00:00:00 --- log: started forth/17.04.05 00:05:49 --- quit: proteusguy (Remote host closed the connection) 00:07:10 --- join: proteusguy (~proteus-g@180.183.129.35) joined #forth 00:07:11 --- mode: ChanServ set +v proteusguy 00:13:19 --- quit: z0d (Ping timeout: 240 seconds) 00:24:54 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:853b:1663:612:16a6) joined #forth 00:25:02 doo dee doo 00:25:06 how goes it with you 00:25:33 DGASAU: 00:26:43 zy]x[yz: nerfur pointfree 00:26:57 sorry? 00:28:46 aloha 00:29:21 dat forth doe 00:29:32 aint it so smoov 00:30:14 aint forth just the best language ever or no? 00:31:09 there is no silver bullet and we already talk about that 00:31:40 there are certain problems to which forth is a good solution 00:31:51 for example if you want a really really tiny shell 00:32:48 welcome to home computers of 80's ) BASIC rules, but some of them used Forth 00:34:05 --- join: z0d (~z0d@unaffiliated/z0d) joined #forth 00:54:44 I think forth deserved that spot way more than basic 00:58:56 maybe 01:01:08 forth would have created a more flexible system than basic for sure 01:01:16 and something like basic could have been put on a forth 01:14:11 --- join: gravicappa (~gravicapp@ppp83-237-169-90.pppoe.mtu-net.ru) joined #forth 01:15:59 John[Lisbeth]: Basic and Forth have very different goals 01:16:10 you can't really compare them 01:24:31 I think I can compare them and would say that forth is alot more versatile and lightweigh than basic 01:25:25 Basic was conveived to be suitable for people with no programming background 01:25:31 Forth wasn't 01:25:46 what do you mean by lightweight? basic was educational 01:26:01 (z0d was faster :-D) 01:27:24 --- join: wa5qjh (~Thunderbi@121.54.90.132) joined #forth 01:28:24 I don't see how forth could be harder to learn than basic 01:34:11 John[Lisbeth]: then look harder 01:34:29 most people don't have a conception of pointers and/or memory addresses 01:34:42 and have problems with postfix notation 01:57:49 --- join: leaverite (~Thunderbi@121.54.90.132) joined #forth 01:57:52 --- quit: wa5qjh (Ping timeout: 258 seconds) 01:57:53 --- nick: leaverite -> wa5qjh 02:07:42 thats the thing 02:07:47 you have to abstract that from them 02:07:58 but you don't want to make it so that they don't still have access to it 02:57:34 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 03:13:50 --- quit: dual (Ping timeout: 240 seconds) 03:15:39 --- join: dual (~bonafide@subzeroup.core.rzwireless.net) joined #forth 03:24:49 --- quit: dual (Ping timeout: 240 seconds) 03:26:26 --- join: dual (~bonafide@subzeroup.core.rzwireless.net) joined #forth 03:31:30 --- join: smokeink (~smoke@175.20.93.41) joined #forth 03:51:28 --- join: nighty-- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 05:02:14 --- quit: DocPlatypus (Ping timeout: 246 seconds) 05:05:25 --- join: DocPlatypus (~skquinn@2601:2c2:c300:ff70:2054:42f5:96ff:bfdf) joined #forth 05:22:11 --- quit: wa5qjh (Ping timeout: 246 seconds) 05:34:33 --- join: wa5qjh (~Thunderbi@121.54.90.132) joined #forth 05:50:08 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 05:58:50 --- quit: ACE_Recliner (Ping timeout: 260 seconds) 06:11:01 --- quit: ricky_ricardo (Remote host closed the connection) 06:44:00 --- quit: John[Lisbeth] (Remote host closed the connection) 06:49:12 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 06:53:10 --- quit: proteusguy (Remote host closed the connection) 06:58:19 --- quit: dual (Ping timeout: 240 seconds) 07:23:29 --- quit: Zarutian (Quit: Zarutian) 07:26:59 Hey, i've got this routine about which i feel it is not efficient because it tucks that address twice because ! will eat it from the stack. Is there a way to use inline assembly or something in order to define a word that works like ! but lets the addr on the stack? Something like : my! ( val addr -- addr ) ; ? http://pastecode.ru/34d9b5 07:27:36 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 07:30:49 :my! dup ! ; like this ? ) 07:31:59 --- join: GeDaMo (~GeDaMo@212.225.127.213) joined #forth 07:33:10 sure, does your forth have an assembler? 07:33:23 i think it has, it's win32forth 07:34:16 : my! tuck ! ; 07:34:21 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 07:34:22 Why assembler? 07:34:23 nerfur: i want to avoid dupping or tucking , because i use that buffer address three times 07:34:46 >r and r@ 07:34:49 why should i dup it and delete it 3 times 07:34:49 I wouldn't even name ``tuck !''. 07:34:50 smokeink: why? 07:35:09 i just want to have it there and use it 3 times , for efficiency reasons 07:36:02 is this approach wrong? is my idea of efficiency wrong, and dup/tucks should be the way to go and not assembly? 07:36:21 I don't think it is efficiency reasons, more "personal taste", but don't forget to share your solution if you find it, I'm curious 07:36:47 sure 07:38:37 * smokeink tried something like this but it crashes: cfa-code mycode nop c; mycode cfa-comp, <- just trying to find a way to execute some assembly without crashing 07:38:59 I missed the start, what's the problem? 07:39:30 GeDaMo: i've got this routine about which i feel it is not 07:39:30 efficient because it tucks that address twice because ! will 07:39:31 eat it from the stack. Is there a way to use inline assembly 07:39:31 or something in order to define a word that works like ! but 07:39:31 lets the addr on the stack? Something like : my! ( val addr 07:39:32 -- addr ) ; ? http://pastecode.ru/34d9b5 07:39:50 Thanks 07:41:47 Are you sure that word works correctly? You store a cell with ! but only add 1 to the address 07:43:25 Are r g b bytes or cells? 07:43:58 haven't tested it yet, but that's secondary, i can fix it if it doesn't work. +1 to the address is supposed to mean the next byte , so addr gets blue addr+1 gets green addr+2 gets red value 07:44:18 i should use c! i think 07:44:28 thanks for pointing that out 07:44:29 If they're bytes, you could combine them into a cell and do a single ! 07:44:46 Although it would depend on the size of a cell and endianness 07:45:08 that'd work i think, yeah 07:49:50 but it's just 3 bytes, a cell would disturb the 4th byte in the buffer 07:50:22 a pixel is just 3 bytes in this particular situation 07:50:31 That's annoying 07:51:03 You address calculation is unlikely to be correct in that case 07:51:42 If a pixel is 3 bytes, you need to multiply x by 3 07:53:11 hm there might also be a 4th alpha byte , i forgot about it. so yeah x should be multiplied by 4 07:56:33 I've just noticed, rot rot doesn't do what you think it does 07:56:55 oh, 07:56:57 1 2 3 4 5 rot rot .s <5> 1 2 5 3 4 ok 07:57:08 yeah you're right on this as well 07:57:16 rot only affects the top 3 items 07:57:57 * smokeink fixing :) 08:00:01 If you can fit r g b into a cell, I'd have an rgb>pixel or just >pixel word 08:00:27 : >pixel ( r g b -- pixel ) ... ; 08:01:23 sounds fair 08:04:49 I'd probably also have a xy>address word or similar for the buffer address calculation : xy>address (x y -- address) ... ; 08:26:02 Even better would be xy>offset 08:26:25 Which you could add to a base address, that would make it easier to use multiple buffers 08:30:29 : -rot rot rot ; 08:30:45 though some argue if you need -rot you have worse probelms. 08:30:47 problems* 08:36:19 --- quit: ACE_Recliner (Ping timeout: 240 seconds) 08:36:38 and I did something like that >pixel word when writing code to make graphics using the memory after pad 08:44:00 thanks for the tips guys 08:44:20 * smokeink gtg now, laterz 08:44:27 --- quit: smokeink (Quit: leaving) 08:44:42 --- quit: neceve (Quit: Konversation terminated!) 08:49:04 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 08:50:34 --- quit: koz_ (Ping timeout: 260 seconds) 10:27:41 --- join: dys (~dys@p57A9FC18.dip0.t-ipconnect.de) joined #forth 10:35:06 --- quit: ACE_Recliner (Remote host closed the connection) 11:19:39 --- join: dual (~bonafide@cpe-74-75-153-119.maine.res.rr.com) joined #forth 12:16:23 --- quit: dual (Quit: Now if you will excuse me, I have a giant ball of oil to throw out my window) 12:16:37 --- join: dual (~bonafide@cpe-74-75-153-119.maine.res.rr.com) joined #forth 12:17:33 --- quit: dual (Client Quit) 12:20:30 --- join: dual (~bonafide@cpe-74-75-153-119.maine.res.rr.com) joined #forth 12:36:22 --- quit: dual (Quit: Hard work pays off in the future, laziness pays off now) 12:36:38 --- join: dual (~bonafide@cpe-74-75-153-119.maine.res.rr.com) joined #forth 12:57:51 --- join: vsg1990 (~vsg1990@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 13:09:28 --- join: koz_ (~koz@121.99.240.58) joined #forth 13:31:29 --- quit: MrBismuth (Ping timeout: 246 seconds) 13:33:11 --- join: MrBusiness (~ArcMrBism@104-50-90-48.lightspeed.brhmal.sbcglobal.net) joined #forth 13:33:54 --- quit: GeDaMo (Remote host closed the connection) 14:37:08 --- quit: gravicappa (Ping timeout: 268 seconds) 14:51:06 --- join: reepca (~user@std-001.cune.edu) joined #forth 15:48:08 --- quit: true-grue (Read error: Connection reset by peer) 16:09:44 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 17:10:59 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 17:11:47 --- quit: Zarutian (Read error: Connection reset by peer) 17:12:28 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 17:17:36 --- join: neceve (~ncv@86.125.247.109) joined #forth 17:17:36 --- quit: neceve (Changing host) 17:17:36 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 17:26:50 --- join: ricky_ricardo (~quassel@99-52-170-91.lightspeed.cicril.sbcglobal.net) joined #forth 17:33:41 --- quit: DocPlatypus (Ping timeout: 246 seconds) 17:34:01 --- join: nighty-- (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 17:48:47 --- join: DocPlatypus (~skquinn@2601:2c2:c300:ff70:80da:762d:7612:de1d) joined #forth 18:57:28 --- quit: wa5qjh (Read error: Connection reset by peer) 18:59:12 --- join: wa5qjh (~Thunderbi@121.54.90.132) joined #forth 19:20:21 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 19:30:46 --- quit: ricky_ricardo (Remote host closed the connection) 19:33:38 --- join: smokeink (~smoke@175.20.93.41) joined #forth 19:54:51 --- quit: neceve (Quit: Konversation terminated!) 20:15:52 --- quit: Zarutian (Quit: Zarutian) 21:03:13 --- join: leaverite (~Thunderbi@121.54.90.132) joined #forth 21:11:07 --- quit: wa5qjh (*.net *.split) 21:11:09 --- nick: leaverite -> wa5qjh 21:15:47 --- quit: Keshl (Read error: Connection reset by peer) 21:16:04 --- join: Keshl (~Purple@24.115.181.94.res-cmts.gld.ptd.net) joined #forth 21:20:27 --- quit: vsg1990 (Quit: Leaving) 21:46:56 --- join: coelebs (viileppi@gateway/shell/blinkenshell.org/x-bhezmzmmycdrkwog) joined #forth 22:24:16 --- quit: smokeink (Ping timeout: 260 seconds) 23:28:27 --- join: smokeink (~smoke@175.20.93.35) joined #forth 23:36:49 --- quit: dys (Ping timeout: 240 seconds) 23:42:56 --- join: gravicappa (~gravicapp@ppp83-237-170-195.pppoe.mtu-net.ru) joined #forth 23:59:59 --- log: ended forth/17.04.05