00:00:00 --- log: started forth/07.05.30 00:25:07 --- join: Baughn (n=svein@195134062103.customer.alfanett.no) joined #forth 01:00:52 --- join: jeffz (n=jeffz@pdpc/supporter/sustaining/jeffz) joined #forth 01:49:11 --- join: ygrek (i=user@gateway/tor/x-37b176a4cadf3b28) joined #forth 03:17:18 --- quit: yumehito (Read error: 110 (Connection timed out)) 05:05:03 --- join: yumehito (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 05:09:31 --- nick: segher_ -> segher 05:40:15 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 06:25:30 --- part: jeffz left #forth 06:43:42 --- join: vatic (n=vatic@pool-162-84-152-182.ny5030.east.verizon.net) joined #forth 07:37:57 --- join: edrx (n=Eduardo@fosforo.k8.com.br) joined #forth 07:40:05 --- quit: timlarson_ ("Leaving") 08:09:00 --- join: rabbitwhite (n=Miranda@c-24-126-64-144.hsd1.md.comcast.net) joined #forth 08:09:13 good morning 08:13:37 --- quit: vatic () 08:17:36 --- join: vatic (n=vatic@pool-162-84-152-182.ny5030.east.verizon.net) joined #forth 08:29:10 --- quit: vatic () 08:29:33 --- join: vatic (n=vatic@pool-162-84-152-182.ny5030.east.verizon.net) joined #forth 08:29:57 --- part: vatic left #forth 08:30:58 --- quit: rabbitwhite ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org") 08:40:32 --- join: yumehito_ (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 08:47:44 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #forth 08:51:51 --- quit: ygrek (Remote closed the connection) 08:54:04 --- quit: ecraven ("bbl") 08:54:16 --- quit: yumehito (Read error: 110 (Connection timed out)) 09:07:46 --- join: ygrek (i=user@gateway/tor/x-3da1f6cb025fe846) joined #forth 10:34:31 --- quit: Quartus__ (Read error: 60 (Operation timed out)) 10:36:33 --- join: Nostferka (n=tinwell@host81-159-170-237.range81-159.btcentralplus.com) joined #forth 11:25:47 --- quit: ygrek (Remote closed the connection) 11:26:26 --- join: ygrek (i=user@gateway/tor/x-66f5c70fd541ed44) joined #forth 12:23:15 --- quit: Nostferka (Read error: 110 (Connection timed out)) 12:23:23 --- join: Nostferka (n=tinwell@host81-159-171-157.range81-159.btcentralplus.com) joined #forth 12:33:25 --- quit: ygrek () 12:35:45 --- join: segher_ (n=segher@dslb-084-056-177-245.pools.arcor-ip.net) joined #forth 12:47:16 --- quit: segher (Read error: 110 (Connection timed out)) 13:35:33 --- quit: Nostferka () 13:41:49 --- join: nostferka (n=tinwell@host81-159-171-157.range81-159.btcentralplus.com) joined #forth 14:23:42 --- join: Quartus__ (n=Quartus_@209.167.5.2) joined #forth 14:43:39 --- quit: Quartus__ (Read error: 54 (Connection reset by peer)) 14:51:29 --- quit: nostferka () 14:53:09 --- part: edrx left #forth 15:01:38 --- quit: Baughn ("leaving") 15:02:27 --- join: crest_ (n=crest@p5489cc0f.dip.t-dialin.net) joined #forth 15:03:24 --- join: sorear (n=stefan@ip68-6-133-142.sd.sd.cox.net) joined #forth 15:10:10 --- quit: Crest (Read error: 60 (Operation timed out)) 15:34:59 --- join: Baughn (n=svein@195134062103.customer.alfanett.no) joined #forth 15:43:47 --- join: Quartus__ (n=Quartus_@209.167.5.2) joined #forth 15:44:04 Hey. 15:44:10 Wb. 15:51:14 ? 15:51:39 Saw Quartus__ pop in and welcomed him back. 15:52:22 Oh, Elcome Ack. Never can parse those TLAs :/ 15:53:28 He's predominantly the reason I frequent this particular chat. 15:53:59 I like his Palm Forth called Quartus Forth. 15:56:12 He's a proponante for ANS Forth and a real good conversation when you can catch him. :) 15:57:17 proponante for = proponant of ? (checking) 15:57:42 I'm sure you're right. I'm too old to worry about it. :) 15:59:33 i'm just paranoid :) 15:59:44 really? 15:59:46 why? 15:59:48 * sorear has seen far too many miscommunications 15:59:55 good evening 16:00:01 hi crc 16:00:37 Raystm2: So what do you mean by a proponant of ANS Forth? You mean there is anyone alive who doesn't think language standards are a good idea? 16:00:58 I'm sure that there are. 16:01:49 Even the inventor of the language questions the degree that the standard goes to. 16:03:19 Moore seems to think the standard is sorta against the point of such a language. 16:03:28 or that's the impression I get. 16:24:26 The standard sets some ground rules that let large numbers of folks work in a consistent environment. 16:25:03 Chuck doesn't work that way, but he doesn't care if others want to. He continues to do his own thing. 16:25:26 --- nick: TreyB_ -> TreyB 16:28:28 Ya, that too, is the impression I get. 16:28:44 Unfortunately, Chuck-style code eats optimizing compilers. 16:28:53 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 16:28:53 --- mode: ChanServ set +o slava 16:29:00 hi slava 16:29:09 hi 16:31:02 Chuck chooses to work in environments where optimizing compilers either don't exist or perform poorly. 16:31:10 Hey slava. 16:31:23 I see. 16:31:55 He therefor builds environments that let the optimizer in his brain work as effectively as possible. 16:32:04 * sorear is writing an optimizing forth compiler for a 6502-family processor, afaik the first ever 16:32:04 (for him, at least) 16:32:39 sorear: Doesn't MPE have an optimizing VFX compiler with a 6502 target? 16:32:55 TLA! 16:33:18 tla? 16:33:31 Three Letter Accronym 16:33:55 hehe ;) 16:34:37 unfortunately there are just too many distractions. 16:35:08 ignoring IRC, i'm having this urge to implement the Schönhage-Strassen algorithm 16:35:47 * Raystm2 need a language pack for this client. 16:36:10 language pack? hah 16:36:29 xterm handles the alt key by setting the high bit of a character 16:36:35 sorear: It seems they do not have a 6502 target for their optimizing compiler. 16:36:37 Ya, that last didn't type well. 16:36:40 it's disgusting and 8-bit-unclean, but it works 16:37:00 http://www.mpeforth.com/forth6.htm 16:37:14 unless you're sorear, and you memorize latin1 and abuse the meta function 16:37:22 http://www.6502.org/tutorials/zero_overhead_forth_interrupts.html 16:37:34 alt-v generates a the same keycode as ö 16:37:46 alt-v? hmm 16:37:52 Raystm2: That's an optimized forth, not an optimizing forth 16:37:58 and what is that last char can you describe. 16:38:10 I see. 16:38:10 þ 16:38:12 ÿ 16:38:32 are you saying something or are those also characters I don't have. 16:39:14 everyone has y-with-umlaut, it's in both iso-8859-1 and cp437 and macroman 16:39:20 (ÿ) 16:39:37 assuming both of our clients are using UTF8 correctly 16:40:10 character encoding is foolishly unspecified by irc, even though it originated in a non-ascii country 16:41:42 I see an A with a tilde above and an upside down question mark beside it in parens. 16:46:00 Raystm2: I'm going to blame you then. 16:46:39 Raystm2: the UTF8 code for y-umlaut, misprocessed as 8859-1, is A-tilde inverse-? 16:51:39 --- join: rastm2 (n=Owner@adsl-68-95-234-61.dsl.rcsntx.swbell.net) joined #forth 16:51:59 is this any better. please try typing the character again. 16:52:41 ya i'm certain you are correct in your assessment. 16:53:08 ÿ 16:53:22 :) don't even get the tilde in that other 16:53:32 this client 16:53:57 * Raystm2 goes shopping... 16:54:06 * sorear is using irssi 16:54:11 --- quit: rastm2 (Client Quit) 16:54:53 I didn't see that in the Cygwin offering but I'll check again. I've used that before. 16:55:15 ending up with naim. 16:55:44 Thank you for making me aware of the problem. :) 17:23:24 and another little business is begun. 17:24:16 Every one ya talk to, especially if the own a brick and morter business. Ofter them x-dollars a year to maintain that they always have a correct and legal wikimapia entry. 17:24:44 sure they could do it themselves but then it wouldn't be a service 17:24:59 Some will, some won't, so what. 17:27:09 yikes wrong chat. 17:27:14 My appologies. 17:28:11 ... in #haskell people *like* random off-topic conversations (as long as they are not >100 lines or so) 17:28:20 . 17:28:51 they do as well in #c4th-ot (ot being off topic) and at onetime that's where we all talked about everyting. 17:29:42 Somehow it moved back here for a while, and now it seems to be in ##forth and #keow. 17:30:17 No one ever joins ##colorforth. But then can you blame them. :) 17:45:51 --- quit: Baughn ("Let's try this again") 17:58:30 --- join: Baughn (n=svein@195134062103.customer.alfanett.no) joined #forth 18:48:46 i just used factor to build a stand-alone 'hello world'. 18:49:05 well, not really 'standalone'. there's three files involved 18:49:06 $ ls -l factor libfactor.dylib shaken.image 18:49:06 -rwxr-xr-x 1 slava slava 18172 May 23 17:06 factor 18:49:06 -rwxr-xr-x 1 slava slava 130552 May 23 17:06 libfactor.dylib 18:49:06 -rw-r--r-- 1 slava slava 89544 May 30 21:46 shaken.image 18:49:30 232 Kb for a 'hello world'. bloated :) 18:50:59 slava: that's not bad at all 18:51:26 i'm working on an image stripping tool 18:51:40 slava: 347Kb for hello world on GHC 6.7.20070518 18:51:40 the VM will always be a fixed overhead of an executable + shared library of about 150kb 18:51:46 sorear: heh 18:52:11 slava: you could always compile to the VM intel ships 18:52:19 huh? 18:52:24 slava: granted it's a lot harder to write then most bytecodes 18:52:33 oh, factor compiles to native code 18:52:41 the vm provides garbage collection and related services 18:53:01 gc is easy, i've seen it done in ~10 instructions 18:53:16 an entire gc in cannot fit in 10 instructions 18:53:18 factor's is 500 lines of C 18:54:21 100 lines of C for the minischeme garbage collector 18:54:31 the trace function is a bit longer than I remember... 18:57:44 yeah but a small GC isn't the most efficient 18:59:14 what kind of gc does factor use? 18:59:23 copying generational gc 18:59:38 i've done that in way less than 200kb 18:59:51 alas it's not on my current hard drive 19:00:10 http://factorcode.org/repos/Factor/vm/ -- there's more than just a gc there 19:00:52 slava: what is the point of having primitives? 19:01:03 because i do some things in C 19:01:37 why do you have bignum? 19:01:53 because the language has bignums 19:01:54 #include is both shorter and faster 19:02:05 there are many reasons i don't use gpm 19:02:08 gmp 19:02:25 Oh? 19:02:35 even ghc is moving away from it 19:03:29 license bigots have a nice way of being ignored. i see no evidence that actual commits are happening on the nongmp fron 19:03:32 +t 19:03:38 every current haskell implementation uses gmp... 19:03:38 its not just licensing 19:04:57 what's the biggest file in your vm? 19:05:06 bignums 19:05:40 what other reasons do you have for not using a library? 19:06:14 i need full control over the bignum's memory layout, because they are saved in the image, and i have inline asm allocators in the compiler backend, and bootstrap needs to know the layout so that it can generate images too 19:06:23 also i don't want any external dependencies 19:06:29 why do you have separate code and data heaps? 19:06:31 other than what each OS provides 19:06:44 because on modern CPUs, writing into a cache line which contains code flushes the instruction cache 19:07:49 i thought you only needed cacheline granularity. also, non-x86 modern cpus use explicit icacheflush commands 19:08:34 why don't you have one garbage collector which manages both the code and data heaps? 19:08:36 also the data gc moves objects around but in the code heap you cannot move blocks unless you update the call stack 19:08:45 data uses copying, code is mark and sweep 19:09:27 the ghc garbage collector supports arbitrary pinned objects in data space 19:09:47 well this is not ghc 19:09:54 if you have a NCG, and a FFI for the big stuff, why do you need threaded code support + primitives? 19:10:40 because bootstrap generates images without native code 19:10:43 i don't cross-compile 19:12:08 what is this ~10 instruction gc? 19:12:15 do you have a pointer? 19:12:24 er, link? 19:13:05 timlarson: No, I never bothered to write down the code. I also exaggerate slightly 19:13:16 timlarson: I thought slava was complaining about the size of his gc 19:13:24 i wasn't complaining 19:13:34 i think a 130kb vm is perfectly fine 19:13:36 slightly as in /10 19:13:46 ? 19:23:44 --- join: nighty (n=nighty@72.0.72.123) joined #forth 19:26:47 what's the idiomatic forth way to do add with and producing carry? 19:29:37 : adc ( n1 n2 -- n3 fc ) 2dup + -rot invert u> ; \ like this but less ugly 19:42:29 --- join: Guest6357457 (i=snoopy_1@dslb-084-058-150-142.pools.arcor-ip.net) joined #forth 19:43:16 --- join: rabbitwhite (n=Miranda@c-24-126-64-144.hsd1.md.comcast.net) joined #forth 19:46:38 hey 19:47:04 sorear: i'm not sure 19:47:07 sorear: does the CPU expose an overflow flag? 19:48:23 yes, but i'm trying for portable now 19:49:19 i'd like to test on x86 gforth even if the target is 65816 19:49:23 ok 19:49:37 --- quit: Raystm2 ("Should have paid the bill.") 19:59:44 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 19:59:46 --- nick: Guest6357457 -> Snoopy42 20:20:49 --- quit: rabbitwhite ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org") 21:03:20 --- quit: gnomon (pratchett.freenode.net irc.freenode.net) 21:13:38 --- join: gnomon (n=gnomon@CPE0050eb372bdb-CM001692f57b56.cpe.net.cable.rogers.com) joined #forth 21:16:23 sorear, what about: : adc ( n1 n2 -- n3 fc ). 0 swap m+ ; 21:16:46 leave out the . after the ). 21:18:29 hey Quartus__ 21:18:53 Quartus__: Wow. That's not valid ANS code, but you managed to intuit and exploit a bug in my m+ implementation! 21:18:57 hey 21:18:58 Quartus__: I am very impressed 21:19:16 not valid? In what way? 21:19:46 -1 -1 adc 21:19:54 --- quit: gnomon (pratchett.freenode.net irc.freenode.net) 21:20:06 -1 -1 0 -1 0 -1 -2 0 21:20:27 --- join: gnomon (n=gnomon@CPE0050eb372bdb-CM001692f57b56.cpe.net.cable.rogers.com) joined #forth 21:20:35 My m+ doesn't do sign extension. The ANS version does, and this breaks your code 21:20:43 It may not produce the result you want for a given input, but the code is nonetheless entirely valid. 21:21:39 s/valid/correct then :) 21:22:07 Perhaps : adc >r s>d r> m+ ; gives a preferable result 21:24:03 --- quit: gnomon (pratchett.freenode.net irc.freenode.net) 21:24:21 --- quit: nighty (Client Quit) 21:42:04 --- join: gnomon (n=gnomon@CPE0050eb372bdb-CM001692f57b56.cpe.net.cable.rogers.com) joined #forth 21:48:39 --- quit: gnomon (pratchett.freenode.net irc.freenode.net) 21:49:00 --- join: gnomon (n=gnomon@CPE0050eb372bdb-CM001692f57b56.cpe.net.cable.rogers.com) joined #forth 21:50:28 --- join: rabbitwhite (n=Miranda@c-24-126-64-144.hsd1.md.comcast.net) joined #forth 21:51:59 --- quit: rabbitwhite (Client Quit) 21:54:15 --- quit: gnomon (pratchett.freenode.net irc.freenode.net) 21:55:14 --- join: gnomon (n=gnomon@CPE0050eb372bdb-CM001692f57b56.cpe.net.cable.rogers.com) joined #forth 23:05:40 --- quit: slava (Read error: 110 (Connection timed out)) 23:19:30 --- quit: sorear ("leaving") 23:38:00 --- join: ecraven (i=nex@eutyche.swe.uni-linz.ac.at) joined #forth 23:52:06 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 23:52:06 --- mode: ChanServ set +o slava 23:59:59 --- log: ended forth/07.05.30