00:00:00 --- log: started forth/17.04.13 01:11:41 --- quit: Keshl (Ping timeout: 260 seconds) 01:25:54 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:3970:7b46:d53c:f5ab) joined #forth 01:29:51 zy]x[yz: u awaek? 01:29:54 --- quit: dys (Read error: Connection reset by peer) 01:34:48 I gotta write some forth code 02:09:35 --- join: Keshl (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 02:12:59 do it 02:24:23 it is sometimes pretty painful to read "night"(for my TZ) logs of this channel 02:30:53 --- join: leaverite (~Thunderbi@121.54.90.135) joined #forth 02:32:11 --- quit: wa5qjh (Ping timeout: 260 seconds) 02:32:11 --- nick: leaverite -> wa5qjh 02:39:57 --- quit: proteusguy (Ping timeout: 240 seconds) 02:42:07 --- join: proteusguy (~proteus-g@180.183.96.83) joined #forth 02:42:08 --- mode: ChanServ set +v proteusguy 02:44:31 lol 02:44:39 sorry got distracted looking for jobs almost done 02:56:01 --- join: GeDaMo (~GeDaMo@212.225.127.213) joined #forth 02:59:11 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 03:02:24 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 03:24:50 --- join: Riviera (Riviera@2a03:b0c0:1:d0::10:b001) joined #forth 03:28:42 --- quit: fiddlerwoaroof (Ping timeout: 260 seconds) 03:30:31 --- quit: proteusguy (Ping timeout: 260 seconds) 03:30:57 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 04:06:25 sorry I got really distracted and actualy applied to 3 jobs 04:06:33 but I mean you can't blame me amirite? 04:08:01 Basically I have to finish this datatype by actually adding strings to the metadata 04:08:09 or rather pointers to strings 04:08:28 but to do that I have to first make the words to operate on the datastructure I just made 04:12:39 --- join: smokeink (~smoke@175.20.93.48) joined #forth 04:33:16 okie now I've got a version of push for a typed linked list 05:18:54 now I've got typed pop 05:26:09 --- quit: rprimus (Quit: Lost terminal) 05:59:29 --- join: MrBusiness (~ArcMrBism@104-50-90-48.lightspeed.brhmal.sbcglobal.net) joined #forth 05:59:58 now I've got my string datatype 06:50:29 --- join: neceve (~ncv@86.125.247.109) joined #forth 06:50:30 --- quit: neceve (Changing host) 06:50:30 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 07:21:05 --- quit: wa5qjh (Remote host closed the connection) 07:26:07 you don't need to update us every time you write a line of code 07:26:40 --- join: Uniju (~frog_styl@cpe-74-78-4-232.mass.res.rr.com) joined #forth 07:27:52 --- quit: smokeink (Quit: leaving) 07:29:43 that is not a false statement 07:37:04 --- join: nighty-- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 07:50:01 ha now I've got ints 07:50:03 I should have done those first 08:05:33 --- join: dograt_ (~dograt@unaffiliated/dograt) joined #forth 08:05:43 --- join: ggherdov`_ (sid11402@gateway/web/irccloud.com/x-zkznegemuacnfczt) joined #forth 08:06:05 --- join: phadthai_ (mmondor@ginseng.pulsar-zone.net) joined #forth 08:10:02 --- join: carc_ (~carc@unaffiliated/carc) joined #forth 08:10:12 --- join: sigjuice_ (~sigjuice@107.170.193.86) joined #forth 08:11:11 --- quit: dograt (*.net *.split) 08:11:11 --- quit: phadthai (*.net *.split) 08:11:11 --- quit: jeremyheiler (*.net *.split) 08:11:11 --- quit: ggherdov` (*.net *.split) 08:11:11 --- quit: carc (*.net *.split) 08:11:12 --- quit: sigjuice (*.net *.split) 08:11:16 --- nick: carc_ -> carc 08:14:41 --- nick: ggherdov`_ -> ggherdov` 08:14:44 --- join: jeremyheiler (sid81469@gateway/web/irccloud.com/x-bjuiizmirtnvzrck) joined #forth 08:15:35 --- join: proteusguy (~proteus-g@2405:9800:b408:bc31:4a51:b7ff:fe38:d966) joined #forth 08:15:35 --- mode: ChanServ set +v proteusguy 08:42:26 --- join: dys (~dys@ip-109-40-2-122.web.vodafone.de) joined #forth 09:06:38 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 09:23:00 --- quit: karswell (Read error: Connection reset by peer) 09:23:55 --- join: karswell (~user@36.91.199.146.dyn.plus.net) joined #forth 09:25:55 --- quit: neceve (Quit: Konversation terminated!) 09:32:27 --- quit: ggherdov` (Read error: Connection reset by peer) 09:32:33 --- join: ggherdov`_ (sid11402@gateway/web/irccloud.com/x-mqexhhasauronyoo) joined #forth 09:33:33 --- nick: ggherdov`_ -> ggherdov` 09:47:06 --- quit: ggherdov` () 09:48:13 --- join: ggherdov` (sid11402@gateway/web/irccloud.com/x-lakmpluvmwgjeufa) joined #forth 09:50:41 --- quit: Zarutian (Quit: Zarutian) 10:03:29 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 10:22:49 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 10:34:57 --- quit: dograt_ (Ping timeout: 240 seconds) 10:46:29 --- quit: ACE_Recliner (Remote host closed the connection) 10:47:35 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 11:02:18 --- quit: Zarutian (Ping timeout: 260 seconds) 11:12:06 --- join: Bahman (~Bahman@141.8.40.60) joined #forth 11:12:55 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 11:39:51 --- join: claude__ (~claude@ip5b410024.dynamic.kabel-deutschland.de) joined #forth 11:40:12 --- nick: claude__ -> Mat4 11:49:57 --- part: Mat4 left #forth 13:26:22 --- quit: GeDaMo (Remote host closed the connection) 14:30:24 --- quit: Bahman (Quit: ave atque vale) 15:01:34 --- quit: logiqub (Quit: Lost terminal) 15:08:04 --- join: eiiriro (50b26e9b@gateway/web/freenode/ip.80.178.110.155) joined #forth 15:31:25 --- join: John[Lis` (~user@2601:601:8f01:a6a0:3970:7b46:d53c:f5ab) joined #forth 15:33:28 --- quit: John[Lisbeth] (Ping timeout: 245 seconds) 15:47:25 --- join: wa5qjh (~Thunderbi@121.54.90.148) joined #forth 15:58:34 --- nick: phadthai_ -> phadthai 16:14:38 --- quit: true-grue (Read error: Connection reset by peer) 16:30:26 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 16:31:55 --- quit: joneshf-laptop (Ping timeout: 240 seconds) 17:17:50 --- quit: John[Lis` (Ping timeout: 258 seconds) 17:24:21 --- quit: dograt (Ping timeout: 255 seconds) 17:34:26 --- join: lisbeth (~user@173-160-167-234-Washington.hfc.comcastbusiness.net) joined #forth 17:34:34 --- nick: lisbeth -> John[Lisbeth] 17:34:57 I need to make an infix macro which works the same at runtime and compile type and intersperses a specific word 17:38:24 eh I'll make it a nonmacro first 17:40:35 So what I am doing sort of is that I am taking an arbitrary number of things from the stack 17:40:39 and putting them into a linked list 17:40:46 and there are two ways I see that I could do it 17:41:04 one of them is to make variable end-of-things and as soon as the next item on the stack is end-of-things then the loop will end 17:41:20 another way to do it is to manually declare the number of things and add it to the top of the stack after those things 17:41:31 I like the first option better but I am not sure if that is safe 17:45:37 if u get to make it anytime soon, do show 17:46:39 what I mean is 17:46:48 lets say I have an arbitrary number of ints on the stack to work on 17:46:53 like 5 5 8 5 7 4 17:46:58 or 9 3 8 4 7 5 9 3 8 5 9 37 3 9 17:47:12 I am processing them based on a loop so I have to have the loop terminate at some point and stop taking things off the stack 17:47:32 one way I can terminate the loop is to expressly say the number of items that it has to process 17:47:46 like 1 2 3 4 4 or 8 7 6 5 4 3 6 17:47:56 --- quit: koz_ (Quit: WeeChat 1.7) 17:48:09 another way is I can say variable end-of-stuff end-of-stuff 1 2 3 4 5 6 7 8 9 ... 17:48:31 I like that second way better because by using a pointer I should guarantee that I get a unique int 17:48:49 but the problem I guess is if one of the ints that I need to push happens to be the same as that pointer 17:53:17 Yeah I guess the only way to process an arbitrary number of things on the stack is to declear how many things there are going to be ahead of time 17:53:39 normally people use delimiters for that kind of thing 17:53:54 (for my best guess at "that kind of thing", since you are being kind of vague) 17:54:32 yeah a delimeter would work that's a good idea 17:54:36 --- join: smokeink (~smokeink@175.20.93.51) joined #forth 17:54:39 I can just use 0 and 1 17:54:54 or I guess I would use true and false 17:58:18 i don't think you appreciate how hard it is to make sense of your queries without access to the internal state of your head 17:58:44 perhaps I do not 18:01:39 i like the delimiter idea, is there any usage of it you know of? 18:01:47 yeah delimter seems the best to me 18:01:54 I am using that as we speak 18:03:31 --- join: nighty-- (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 18:07:34 or use an anonymous word to return the values and a helped unction to count the returned values 18:07:37 e.g., 18:08:32 : count-results ( xt -- ... n ) depth >r execute depth r> - 1+ ; 18:08:55 :noname 1 2 3 4 5 ; count-results 18:11:01 or just delimeter words that do depth >r so that one knows the stack depth of whatever parenthetical one is processing 18:16:02 but that would have restrictions on where the closing delimiter word could be used unless one used a separate stack instead of the return stack 18:17:16 and it would also entail assumptions about what the implementation inlines or doesn't, so nm. that was a bad idea 18:27:58 (this is really gross. don't do it) was thinking something like: 18:28:02 : sum( r> depth >r >r ; 18:28:02 : )sum 0 0 depth r> r> swap >r - 0 ?do + loop ; 18:28:23 but with a separate delimiter stack that would be less gross 18:29:50 that makes some potentially risky assumptiona about the return atack usage , having a third sack for that would be much better 18:30:03 yes 18:32:05 --- join: joneshf-laptop (~joneshf@c-73-220-86-28.hsd1.ca.comcast.net) joined #forth 18:32:32 --- quit: John[Lisbeth] (Ping timeout: 240 seconds) 18:34:25 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 18:37:33 and using the return stack that way means sum( and )sum must appear within the same colon definition 18:40:58 if i had my lisbeth super duper typed stack, i'd just have a delimiter type and push the tagged delimiters onto the data stack 18:43:07 regarding typed stacks, is there a source for push-forth : https://www.lri.fr/~hansen/proceedings/2013/GECCO/companion/p1635.pdf 18:43:44 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 18:43:56 or if i didn't have one of those but didn't want to use a third stack either, i would probably reserve a few values around INT_MAX 18:44:08 (or INT_MIN. same diff) 18:45:01 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 18:45:34 eiiriro: had not seen this before. looks interesting thanks. 18:53:39 eiiriro: https://github.com/Vaguery/pushforth-ruby 18:55:28 ;) , https://gist.github.com/Vaguery/f2fcf15496720419146c 18:58:02 --- join: vsg1990 (~vsg1990@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 19:04:57 --- quit: smokeink (Ping timeout: 252 seconds) 19:10:30 i really wish ans had defined words comparable to the contents of limits.h 19:13:20 --- join: koz (~koz_@121.99.240.58) joined #forth 19:13:30 --- nick: koz -> koz_ 19:15:19 --- quit: koz_ (Client Quit) 19:15:35 --- join: koz (~koz_@121.99.240.58) joined #forth 19:15:42 --- nick: koz -> koz_ 19:16:36 --- quit: Zarutian (Quit: Zarutian) 19:25:12 environmental queries? 19:25:54 dpANS, 3.2.6 19:30:42 crc: that covers largest signed and usigned ints, but not lowest signed int. if i assume twos-complement, i can get int_min trivially with 1+, but that makes me just a bit sad 19:31:33 --- quit: rgrinberg () 19:32:14 --- join: rgrinberg (sid50668@gateway/web/irccloud.com/x-vrjbotoajqulmdxz) joined #forth 19:35:39 --- quit: eiiriro (Quit: Page closed) 19:40:09 and there are worse environmental dependencies than, 32 or 64 bits, pointers and integers the same size, twos complement arithmetic 19:48:51 --- join: smokeink (~smokeink@175.20.93.50) joined #forth 19:49:59 looking deeper, ans specifies some minimum ranges, but has no queries for the actual lower limits. 19:50:51 * crc makes a note to document his forths limits in the next release 20:01:37 are they different from the machine limits? 20:01:47 also, i should check out retro forth again if you have been continuously developing it 20:02:31 all memory and stack items are 32 bit, signed integers 20:02:57 byte-addressed, so 2GB limit? 20:03:57 -> grocery run, back in ~30 20:04:06 not byte addressed. it runs on a virtual machine with 32-bit memory locations. youhave to do bit manipulation to access raw byte data for you need that 20:04:34 I'll have a namespace for that in a future release 20:05:28 (retro11 had one that I'll be able to adapt pretty easily) 20:08:39 the retro12 branch is actively being worked on; the retro11 branch is stable and only gets occasional bugfixes at this point. 20:20:41 --- quit: ACE_Recliner (Ping timeout: 258 seconds) 20:32:06 --- quit: reepca (Remote host closed the connection) 20:32:33 --- join: smokeink_ (~smokeink@175.20.93.50) joined #forth 20:35:01 back 20:35:22 --- quit: smokeink (Ping timeout: 260 seconds) 20:38:35 --- quit: neceve (Quit: Konversation terminated!) 20:39:30 --- join: reepca (~user@std-001.cune.edu) joined #forth 20:52:35 speaking of VMs, it's that time of year when i need a toy project engrossing enough to procrastinate my taxes that last little bit, but not so engrossing i actually fail to file them 20:57:52 in 2010 i was playing with a VM that used 40-bit words where each page was 768 bytes of 8-bit tags, 256 bytes GC scratch area, then 768*32 bits of the non-tag portion of each word 20:58:24 and it crosses my mind now that it could have been made a lot faster/less hairy by just wasting some memory and having a power of 2 words per page 21:02:03 something about premature optimization being the root of all evil 21:05:33 --- quit: vsg1990 (Quit: Leaving) 21:08:40 --- quit: dograt (Ping timeout: 260 seconds) 21:09:49 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 22:08:38 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 23:08:50 --- quit: ACE_Recliner (Remote host closed the connection) 23:32:13 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:2143:2995:175d:febd) joined #forth 23:59:59 --- log: ended forth/17.04.13