00:00:00 --- log: started forth/05.08.10 00:44:14 --- join: Rockford (n=trailer@ansuz.pair.com) joined #forth 00:44:21 --- nick: Rockford -> Quartus 00:49:03 --- quit: OrngeTide ("gone") 00:55:33 --- join: arke_ (n=chris@p54A7C723.dip.t-dialin.net) joined #forth 01:06:53 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 01:08:49 --- join: Raystm2 (n=vircuser@adsl-68-95-254-73.dsl.rcsntx.swbell.net) joined #forth 01:13:30 --- quit: arke (Read error: 110 (Connection timed out)) 01:32:09 --- quit: moreCowbell ("That wasn't supposed to happen") 01:56:31 --- join: true-grue (n=true-gru@office.medlux.ru) joined #forth 02:07:08 --- quit: true-grue () 02:15:31 --- nick: arke_ -> arke 02:28:20 --- quit: saon_ ("leaving") 02:28:37 --- join: saon (i=1000@c-66-177-224-235.hsd1.fl.comcast.net) joined #forth 02:57:47 --- nick: arke -> crw 02:57:58 --- nick: crw -> arke 02:58:23 --- nick: arke -> ceearr 05:47:30 --- join: PoppaVic (n=pete@0-1pool47-201.nas30.chicago4.il.us.da.qwest.net) joined #forth 05:48:04 G'day 06:20:28 I got an interesting proposa 06:20:31 proposal* 06:20:56 a meta-assembly language for forth which automatically optimizes to real registers 06:21:11 negate would become "_tos __neg" 06:21:18 dup = _tos _new __mov 06:21:25 drop = _sp-- 06:21:36 over = _tos _previous _new __mov 06:24:37 /* = _tos _previous __mul _sp-- _tos dup _previous __div _sp-- 06:24:46 swap = _swap :) 07:14:55 --- join: sproingie (i=foobar@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 07:24:41 --- join: brad2901 (i=brad@unaffiliated/brad2901) joined #forth 07:25:04 --- part: brad2901 left #forth 07:35:49 --- quit: sproingie (Read error: 104 (Connection reset by peer)) 07:35:50 --- join: sproingie_ (i=foobar@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 07:35:54 --- nick: sproingie_ -> sproingie 07:38:02 'sh' is evil.. Grotestque.. Cursed 07:39:07 yet useful 07:39:46 cat blah | grep foo | while read line; do ; done 07:39:59 worse - case/esac and shit 07:40:00 and it automatically runs on separate cpus 07:40:04 show me a language that does that 07:40:59 perl6 is supposed to have pipeline syntax, but i suspect perl6 will need another year to stabilize after release 07:41:48 and it's still less forgiving than shell, still requires a ; to terminate statements 07:41:49 the shell-piping is a godsend, the umpty types of syntax and grotesquery of sh is an abomination 07:42:12 the fact that sh is a slow and really dumb interpreter is my main problem 07:42:26 the semantics are also pretty nasty 07:42:36 nothing should prevent sh from growing a bytecode backend, but it won't ever happen 07:42:55 microsoft's msh is pretty nice 07:43:18 far as i know it's also strictly interpreted, but it can glue more or less any .net assembly together 07:43:36 you can cd to any point in an AD tree 07:44:07 it's actually almost plan9ish that way, it's more unix than unix 07:44:53 Well, I'm gutting the guess script: I already have a test for all "standard headers" and run a load of external-tests from 'guess.c' 07:45:04 of course that's only through msh, while plan9 exposes everything through the filesystem at the OS level 07:46:26 whole project is growing stale, but *sigh*, I can't see a way to circumvent it. 07:46:58 well, yeah.. I could scream and write a translator of "foo" to m4 or sh 07:47:06 ..and it'd STILL be non-portable 07:51:08 How are you at translating sh? The cascaded, wildcarding cases are slaying me 08:03:25 translating sh to what? 08:03:46 cascading cases are pretty evil 08:03:56 might just need cleanup. or more likely perl 09:02:13 --- quit: crc (Read error: 110 (Connection timed out)) 09:04:10 --- join: virl (n=hmpf@chello062178085149.1.12.vie.surfer.at) joined #forth 09:16:34 --- join: CBG (n=CBG@cpc2-stme1-5-1-cust173.cdif.cable.ntl.com) joined #forth 09:18:44 --- part: CBG left #forth 09:30:00 --- join: Topaz (n=top@spc1-horn1-6-0-cust128.cosh.broadband.ntl.com) joined #forth 09:30:38 --- quit: PoppaVic ("Pulls the pin...") 09:33:30 --- join: PoppaVic (n=pete@0-1pool47-23.nas30.chicago4.il.us.da.qwest.net) joined #forth 09:42:28 hi PoppaVic, what's shaking? 09:43:22 not much, got a small tarball working - I wish I could live w/o make, but it gets too spastic 09:43:31 http://www.hypercon.net/~pfv/metabuilder-0.2.1.tar.gz 09:44:31 I'm seeing/encountering and head-butting assorted walls - like needing to translate config.guess case/esac crap, but the code works. How portable is anothe issue. 09:45:22 I can certainly envision a really low-level program that loops for some basics, based on headers.c 09:46:26 On the whole, all the past weeks have done is convince me that our platforms and tools need a thermonuke up the ass of the haqueers and corporates 09:47:28 virl: I've also been TRYING to ascertain a "master list" of expected defines for conditional-compiling... Even THAT seems to be a fantasy 09:51:30 * slava is arguing with anti-stack language fools on LtU 09:52:05 i wish people didn't discuss languages that they have never used 09:52:11 stacks for data are useful, for returns - they will definitely slow the process 09:52:25 PoppaVic, these people are ignorant academics 09:52:54 academics are like committee-commies: depressing 09:53:56 I sometimes think the commies are only there for CV/resumes and thesis-papers 09:56:35 ack... academics are assholes, since I know a channel of lispers, this is for me true. 09:57:40 I've run into assorted lispers Lisp - to me - is at least as bad as m4, not as friendly as forth or as useful as C 09:58:17 and somehow it's painfull. 09:58:35 basically, everyone wants to protect their turf, get a degree, write a paper and stick band-aids on core issues 09:59:38 lisp is more useful than C to me, i don't like manual memory management 09:59:59 yes, folks that like hand-holding are typical 10:00:15 and /me doesn't like gcs 10:00:20 in which case, I commend folks to sh 10:00:24 ..or perl 10:00:40 I can *SEE* a reason for gc, but it's damned unusual 10:00:52 perl is horribly slow 10:01:07 so what? it'll hold your hand just fine 10:01:23 nowadays i'd use my own language (which has GC) 10:01:31 that's nice 10:02:13 if you see it as hand holding, fine, but it lets me write more stable code faster. 10:03:20 GC is for "man, I am so deep I'm getting skullfucked maintaining pointers-to-free" and "I am too lame to manage basics" 10:04:07 what? 10:04:13 or for people who don't design their programs well 10:04:29 I *wrote* my GC, and a native compiler, etc, so I know how to deal with low-level issues 10:04:32 I'd rather not be doing it *all the time* 10:04:49 yes, I avoided that "CYA" 10:05:14 In at least 2 cases, I can see GC 10:05:41 on the WHOLE, gc is for pussies 10:05:45 is it possible to avoid all scenarios where objects might have shared ownership and it not be clear when to free it? 10:05:55 ..as it is USUALLY trivial 10:05:58 PoppaVic, its just another tool 10:06:11 (where the only alternative is reference-counting, which is slow GC anyway) 10:06:27 Topaz: you can implement a system like inodes and count refs 10:06:35 PoppaVic, refcounting is slower than GC 10:06:58 there may be other systems, but one idiot and an end-run can destroy you 10:07:53 I have begun to suspect C++ fanatics may be picking C++ just for some essential gc for "classes" 10:07:56 and there are demonstrable situations where GCs are faster than endless malloc/frees 10:08:16 great. Show me. I'm easy. 10:08:27 classes and objects are also a useful abstraction in some problem domains 10:10:37 eg, GUI toolkits being the obvious one. 10:11:30 but people tend to use them in everycase! it's a mess. 10:11:38 I can just about buy-into the idea of a "unified-malloc" where there are a few GC-based funcs, and the rest is the "raw" we recognize. problem is, no commie will admit there are pros AND cons or that the "little people" should decide. 10:12:11 i have both in factor 10:12:32 there is exactly one place where i use malloc/free, and that is for async i/o buffers which must not move. 10:12:58 Commies will NEVER accept that new "concept" - they can't write a paper and play with "statistics" to justify their degrees and positions. 10:14:58 what do commies have to do with GC? 10:15:04 no one interests their opinion, they only should go to hell. 10:15:27 Personally, I've about concluded that compiler/linkers and dynamic allocate/free is "broken" - all because the essentials are all made opaque 10:15:45 do you develop software? 10:16:18 this channel seems to be full of chuck moore wannabe pundits who don't. 10:16:24 From my years in C and forth, I can easily envision opaque, translucent and transparent. The concepts seem alien to most folks 10:18:00 the C++ "private/protected/public" are just about the same. We just need a nice, consistent, SENSIBLE system. 10:18:38 what do you mean with sensible? and do you mean system in the sense of a vm or lowlevel? 10:19:11 * virl is working on the first one. 10:19:11 virl: I am honestly on the fence there. 10:19:56 I've about concluded that the os/kernel is hiding shit poorly and stupidly, and that such behavior cascades upwards 10:20:15 eh, what? I don't know that saying 10:20:30 virl, see my tarball 10:20:32 http://www.hypercon.net/~pfv/metabuilder-0.2.1.tar.gz 10:20:51 I have it already, I only need to unpack it ;-) 10:21:00 that's C wrapped with a makefile, but it's currently calling on external programs 10:21:54 ehm, PoppaVic. the next time you tar something, please put it into a seperate directory. 10:22:04 before you tar it 10:22:06 I have to ask: why is the kernel not supplying the basics? why are the externals not publicizing them properly? and Why is C, our most portable mess, not supporting it all properly? 10:22:17 my bad- I should have 10:22:33 Ineed to back it out in the 'tarball' make. 10:23:50 *sigh* it's so ugly to do that crap in make+sh 10:24:55 virl: make my day - rewrite the tarball-rule ;-) 10:25:51 tarball-rule? what exactly about the tarball? 10:26:13 hehehehehe - YOU bitched, dammnit 10:26:14 the Makefile thingy? 10:26:17 yes 10:27:04 you use bison 10:27:07 I'm still trying to ascertain the absolutely most-basic Makefile, and frankly: a tarball generator IS "basic" 10:27:16 not today I do not 10:27:35 It's supported therein, for sure 10:41:34 laters, email if nothing else 10:41:36 --- quit: PoppaVic ("Pulls the pin...") 10:59:14 --- quit: madgarden (Read error: 110 (Connection timed out)) 11:14:32 --- quit: madwork (Read error: 104 (Connection reset by peer)) 11:20:53 what are other good concepts about gc? I think when someone really need gc(out of a reason which I can't imagine at the moment), it could be done with an explizit garbage collection and not a passive one like in the todays languages. 11:21:31 well, yeah 11:21:50 though i wonder if not having to worry about memory management makes you program faster 11:23:07 and speed of development, together with decreased number of bugs from memory management, would make it more economically favourable 11:23:26 though i don't know if that is accurate, i've never properly compared the two styles 11:24:25 but it can be done without gc, or the todays 'you are so a little stupid baby so we don't trust your idiotic fingers' garbage collection. 11:24:43 --- join: fxr (i=l3mm3f4k@abn145-194.interaktif.net.tr) joined #forth 11:25:11 well yeah, you can write an OS in assembly if you want ;) 11:25:54 I'm searching for lisp quines and see a quine for forth "SOURCE TYPE". very interested 11:26:16 and another thing what I don't like is that concept of languages where you feel that there isn't anything else them. like lisp/python/co 11:26:27 though you use HL languages for far more than just layers of convenience 11:27:07 for implementing some abstract algorithm, you needn't think in terms of RAM and binary 11:28:35 I don't say that you need to, but to abstract something you don't need everytime a whole class tree with it's difficult class dependencies. 11:30:58 I think that's one of OOPs biggest problem 11:31:31 are you referring to the API, or the restrictions imposed by the class structure in general? 11:32:21 --- join: qFox (n=C00K13S@92pc222.sshunet.nl) joined #forth 11:32:49 both 11:39:54 --- join: madwork (n=madgarde@derby.metrics.com) joined #forth 11:49:56 and sometimes some people implement oop into languages where it seems not to be right. 11:50:12 like in gforth or win32forth 11:50:33 it should make it easier but that's not the case 11:53:14 you're not really forced to oop in win32forth 11:53:40 either that or i really abused win32forth all that time ;) 11:54:13 but you have to admit, the windows port is nice 11:54:36 part.. 11:56:02 yeah, it's nice, but it's too complex, when I want to use something of it, I'll get overwhelmed with the definitons and the 'easy to use' words. 11:57:01 I hope I'll do something better. 11:58:50 what are you going to do then? 12:04:42 writing a forth like vm, ehm which seperates the system from the language. 12:06:30 hm, you mean a java like forth? 12:06:50 in that perspective.. 12:12:54 yeah something like that, but without the java shit. ok, well it's only an experiment and should I make something good, it will not be so idiotic constructed like java. 12:15:24 my original idea was a assembler engine(compiles to native code) but then I thought about something like killing java. hell, no one said you need to use it. 12:24:46 well the point i was gonna make is that forth, in a way, is already platform independant 12:25:25 and you can make a forth thats platform really independant, like java, but it'll be just that, YOUR forth that's independant. 12:25:50 by all means, go for it, i'm just warning you that you might go thru a lot of trouble for no real reason... 12:27:11 oh and its independent. thought it looked funny. :) 12:30:08 it's only a simple bytecode forth; and I know that forth is independent 12:30:50 i must try writing a dynamically recompiling emulator in FORTH 12:30:53 it seems like just the language 12:36:55 i'm gonna redo my p24 emulator in forth some day. prolly next year though :) 12:37:48 i need to find a platform which would be fun to emulate, on a platform which isn't x86 ;) 12:38:15 i'd like to see a windows emulator in forth on a sun 12:38:17 ;) 12:38:23 but that was too obvious 12:38:24 haha 13:26:33 --- quit: Topaz ("Leaving") 13:35:39 slava: alive? 13:36:32 yes 13:41:44 Nice. Does factor support sound? 13:42:12 no, it doesn't, yet. 13:42:25 it should be easy to add an SDL_audio binding, but i'm not sure if gc pauses will be a problem 13:42:45 you don't want to do real time stuff without an incremental gc. 1-80ms pause times is too long 13:51:41 --- join: Topaz (n=top@spc1-horn1-6-0-cust128.cosh.broadband.ntl.com) joined #forth 13:53:55 Hrm, crap. :) 13:54:20 I thought since Factor has integrated SIMD stuff (unless I read this wrong), it should be easy to do DSP 13:54:33 integrated SIMD stuff??! no ;) 13:54:41 well, vector processing 13:54:44 ;) 13:54:49 oh yes, but its not optimized at this stage 13:55:21 i need to implement specialized arrays for holding unboxed floats first 13:56:51 Aah, ok. 1.0 stuff I assume, all of the above :) 13:57:00 --- quit: Topaz (brown.freenode.net irc.freenode.net) 13:57:06 yes 13:57:30 --- join: Topaz (n=top@spc1-horn1-6-0-cust128.cosh.broadband.ntl.com) joined #forth 13:57:30 the compiler is much improved in the upcoming release, but it doesn't attempt to optimize numerics yet 14:10:00 --- join: me1 (n=me1@pool-141-154-73-2.bos.east.verizon.net) joined #forth 14:10:54 --- part: me1 left #forth 14:11:52 --- join: me1 (n=me1@pool-141-154-73-2.bos.east.verizon.net) joined #forth 14:12:07 --- part: me1 left #forth 14:29:24 --- quit: qFox ("this quit is sponsored by somebody!") 14:42:27 --- join: crc (i=crc@pool-70-110-131-62.phil.east.verizon.net) joined #forth 15:06:28 --- join: madgarden (n=madgarde@Quebec-HSE-ppp3617647.sympatico.ca) joined #forth 15:46:17 --- join: moreCowbell (n=moreCowb@ca-lapuente-cuda2-c1c-186.arcdca.adelphia.net) joined #forth 15:49:34 --- nick: Raystm2 -> nanstm 16:01:56 --- quit: Topaz ("Leaving") 16:02:18 --- part: slava left #forth 16:02:30 --- nick: nanstm -> Raystm2 16:46:57 --- join: I4_wrk (n=mark4_@216-177-162-213.block0.gvtc.com) joined #forth 17:00:32 --- quit: saon ("Lost terminal") 17:01:25 --- join: saon (i=1000@c-66-177-224-235.hsd1.fl.comcast.net) joined #forth 17:05:46 --- quit: I4_wrk ("brb") 17:12:55 --- quit: sproingie (Remote closed the connection) 17:13:25 --- join: sproingie (i=foobar@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 17:13:25 --- quit: sproingie (Read error: 104 (Connection reset by peer)) 17:16:48 --- join: sproingie (i=foobar@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 17:19:31 --- quit: sproingie (Remote closed the connection) 17:19:58 --- join: sproingie (i=foobar@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 17:24:42 --- join: TheBlueWizard (i=TheBlueW@ts001d0564.wdc-dc.xod.concentric.net) joined #forth 17:26:00 --- quit: Quartus () 17:35:39 --- part: TheBlueWizard left #forth 17:51:32 where do I find some information about x86 in/out ports? 17:57:35 asm reference i suppose 18:04:11 yeah, but where is a good one? 18:04:43 I only know some pages on osdever.net but that isn't enough. 18:15:42 I found a good one. 18:30:04 --- mode: ChanServ set +o crc 18:49:24 --- join: snoopy_16 (i=snoopy_1@dsl-084-058-130-183.arcor-ip.net) joined #forth 18:49:52 --- quit: Snoopy42 (Nick collision from services.) 18:50:03 --- nick: snoopy_16 -> Snoopy42 19:21:44 --- quit: virl ("Client Exiting") 20:37:44 --- join: jdrake (i=jdrake@CPE0080c6ead6a9-CM0012254195d6.cpe.net.cable.rogers.com) joined #forth 20:56:57 --- join: aum (n=aum@60.234.156.82) joined #forth 20:59:12 --- quit: jdrake (Read error: 110 (Connection timed out)) 21:34:42 --- quit: sproingie (Remote closed the connection) 23:27:28 --- join: fxr_ (i=l3mm3f4k@abn145-194.interaktif.net.tr) joined #forth 23:28:25 --- quit: fxr (Read error: 104 (Connection reset by peer)) 23:48:56 --- quit: warpzero (Read error: 104 (Connection reset by peer)) 23:51:41 --- join: warpzero (n=warpzero@wza.us) joined #forth 23:59:59 --- log: ended forth/05.08.10