00:00:00 --- log: started forth/07.06.02 01:09:58 --- join: ygrek (i=user@gateway/tor/x-e26a9227458edfb0) joined #forth 01:50:41 --- quit: sorear ("zzz") 02:52:16 --- quit: maht (Read error: 104 (Connection reset by peer)) 02:54:43 --- join: garfiel59 (n=kvirc@p5486488D.dip.t-dialin.net) joined #forth 02:58:26 --- quit: garfiel59 ("KVIrc 3.2.0 'Realia'") 02:59:00 --- join: garfiel59 (n=kvirc@p5486488D.dip.t-dialin.net) joined #forth 03:00:40 --- quit: garfiel59 (Client Quit) 05:41:00 --- quit: ygrek (Remote closed the connection) 05:41:11 --- join: ygrek (i=user@gateway/tor/x-feb0fa5fe392db0b) joined #forth 07:45:45 --- nick: crest__ -> Crest 07:47:30 --- join: hnaz (n=hnaz@saeurebad.de) joined #forth 07:47:47 hello :) 07:48:04 i am doing the forth tutorial that ships with the gforth distribution 07:48:24 and there is this exercise that says: write `min' without `if' 07:48:39 it is in the section about boolean operations 07:49:18 i have no clue how to even start, could anyone give me a hint? 07:50:36 their example was, that ( ) : foo 0= if 14 else 0 endif ; ( ) could be replaced by ( ) : foo 0= 14 and ; ( ) 07:50:41 but that does not help me 07:52:26 the result of foo is always a constant or a boolean false 07:52:35 but what if i want to have one or another constant? 07:53:10 that's what 14 and does, converts the boolean into either 14 or 0 07:53:55 yes 07:54:14 oh, I see... 07:54:18 you want 14, or some other number 07:54:48 There's likely some clever mechanism for that. I'd have to sit and puzzle one out. 07:54:57 i want implement `min' without `if' 07:55:15 That's something else yet. 07:55:29 --- join: sorear (n=stefan@ip68-6-133-142.sd.sd.cox.net) joined #forth 07:57:50 ah. everything not 0 is true? 07:57:54 and just 0 is false? 07:59:16 Forth doesn't really have true and false 07:59:27 truth is in the eye of the beholder, as it were 07:59:53 the control flow words (IF, UNTIL, WHILE, etc) behave as you just described, yet 07:59:57 *yes 08:00:46 that is what I meant :) 08:01:03 hint - use abs :) 08:01:38 I think, no other language has true/false in that sense. truth and falsehood is just defined by the primitives/functions 08:03:00 Haskell has a standard Bool type with only two values, True and False; as does Scheme 08:03:12 or did I get your statement backward? 08:03:50 I had to think of C's 0 and everything else or the symbols T and NIL in lisp 08:04:16 where T and NIL are symbols like every other symbol, but cond, if, ... treat them in a special way 08:04:29 T is not special 08:04:49 the control flow forms use NIL and everything else 08:04:56 hm, right 08:05:27 afair, it's the same in Scheme (except that NIL has its own type and isn't a symbol) 08:05:37 but what I was said was not quite correct at all. nothing comparable to #t and #f in scheme or is there? 08:06:32 not sure I understand... logs? 08:06:51 logs? 08:07:08 IRC logs 08:07:28 no, either me, or you, or both are pretty confused. 08:07:41 :) 08:07:44 I think I came in in the middle. 08:07:55 crap :( 08:07:59 Can you give me context? 08:08:09 I just lost it myself 08:08:35 i am no bot 08:08:42 :p 08:09:09 ok. so in most languages you have a special symbol that represents falsehood and everything else represents true 08:09:15 mIRC is a pretty major client; I doubt it lacks scrollback! 08:09:26 can't you pageup or something? 08:09:45 hnaz: I understand, you may continue 08:10:09 you just got the contents of the ctcp_version_reply variable of irssi :) 08:10:59 sorear: I want to implement the `min' word without using an if/else/then construct 08:11:20 sorear: i am pretty new to forth, currently doing the tutorial that comes with gforth 08:11:29 hnaz: irssi does pageup, easily. 08:11:41 and this is an exercise in the section about boolean operations 08:11:52 yes, I know how to scroll. but what should I find above? 08:12:18 context! 08:12:50 i got it back now 08:12:53 hnaz: The important bit is that the boolean operators return 0 and -1 08:13:23 well, all bits set 08:13:31 okay. and ygrek hinted me to use abs 08:13:40 but I'm still lacking a brainfart 08:13:59 ok, yeah, there are multiple ways to do this. 08:14:41 try writing a max0 word first 08:14:55 max0(-12) = 0 max0(12) = 12 08:14:56 hnaz, the solution has nothing to do with forth - it is pure arithmetics 08:17:00 sorear: : max0 dup 0> and ; 08:17:38 hnaz: OK. Now, just thinking arithmetically, how can you write max(x,y) using +, -, and max0() ? 08:24:13 : max tuck - max0 + ; 08:24:17 heureka! 08:24:49 * sorear claps! 08:25:04 tadatada 08:26:39 but should not max0 be called min0? 08:27:01 for the meaning of: at least 0 is the result? 08:28:35 Probably not, since it is consistant witn max. 08:28:55 : foo 2 max ; 08:29:02 foo returns at-least-2 08:31:21 okay 08:44:08 ah, okay. and : min0 dup 0< and ; : min tuck - min0 + ; 08:59:00 : doz - min0 ; so yes 09:06:40 doz? 09:07:10 difference of N1 and N2 but only if it's negative, 0 otherwise? 09:37:02 --- join: yumehito (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 09:41:53 "Hacker's Delight" by Henry Warren is the book of choice for this sort of shenanigan. 09:49:45 --- quit: yumehito_ (Read error: 110 (Connection timed out)) 09:53:21 --- quit: ygrek (Remote closed the connection) 09:55:31 --- join: ygrek (i=user@gateway/tor/x-295858712ed91550) joined #forth 10:17:50 --- join: ecraven (i=nex@eutyche.swe.uni-linz.ac.at) joined #forth 10:32:12 --- quit: ecraven (Remote closed the connection) 10:50:10 --- join: ecraven (i=nex@eutyche.swe.uni-linz.ac.at) joined #forth 12:35:18 --- join: segher__ (n=segher@dslb-084-056-174-245.pools.arcor-ip.net) joined #forth 12:44:12 Standard Forth has a boolean type -- all bits set is a well-formed true flag, all bits clear is false. For IF and friends, any non-false is true. 12:47:32 --- quit: segher_ (Read error: 110 (Connection timed out)) 12:48:59 for _anything_, any non-zero is true 12:58:47 --- join: Raystm2 (n=NanRay@adsl-68-95-162-78.dsl.rcsntx.swbell.net) joined #forth 13:05:03 --- quit: ygrek (Remote closed the connection) 13:31:04 --- join: nostferka (n=tinwell@host81-159-43-200.range81-159.btcentralplus.com) joined #forth 13:31:35 --- nick: nostferka -> Nostferka 13:36:32 My point was that while non-zero is true, only all-bits-set is a well-formed flag 13:39:03 You can't argue with that logic. 13:39:32 hello Raystm2 13:39:44 howdy. doing all right? 13:39:48 yeah. 13:40:08 whatcha doing? 13:40:48 writing a terminal emulator 13:40:51 I see you're chatin' in haskel 13:40:55 oh yeah? 13:41:23 writing forth, toka, lisp, other? 13:43:20 C :) 13:43:34 nobody uses real terminals anymore, it's sad 13:45:08 other than the scroll-back buffer and screen and character mappings, why should a terminal use up much memory? 13:45:32 * crc uses a real terminal 5 days a week 13:46:20 :) 13:46:32 timlarson: Most terminals use shockingly inefficient data structures for the scrollback; easily over a Kb per line 13:46:50 timlarson: additionally, xlib is one of the most bloated libraries anywhere 13:46:55 hrm i have over a million chars iin my scrollback, per terminal, most of the time 13:47:03 xlib is bloated? 13:47:12 slava: Very much so. 13:47:17 i certainly hope it doesn't do kBs per line :-) 13:47:53 Terminal.app is using 14.79mb right now 13:47:55 slava: The code works and does defined tasks, but 90% of xlib's features have not been used by anyone in years 13:48:18 i have unlimited scrollback 13:48:22 is this because of naive recording of colors and such with the scroll back characters? 13:48:41 slava: that's why we have XCB, it's a chance to drop all the junk 13:48:46 timlarson: That and UTF-32 13:48:58 XCB doesn't support input methods right now 13:49:00 slava: mine is 284MB, only 11MB resident though 13:49:09 can XCB do GL? 13:49:23 slava: XCB cannot and will never do GL or input methods 13:49:30 then its useless to me 13:49:33 slava: that's the job of higher level libraries 13:49:48 slava: Do you call libc useless? libc can't do GL either 13:49:55 the implication being that, these libraries don't exist yet "plz submit patches k thnx" 13:49:59 i'd rather use xlib 13:50:23 sorear: glx requires xlib and as far as i know there's no glx equivalent for xcb 13:51:01 slava: I have glx/xcb header files on my system 14:00:02 --- quit: crc (Read error: 104 (Connection reset by peer)) 14:02:01 --- quit: Nostferka (Connection reset by peer) 14:03:03 --- join: crc (n=crc@pool-70-110-128-215.phil.east.verizon.net) joined #forth 14:07:19 --- quit: crc (Remote closed the connection) 14:08:11 --- join: crc (n=crc@pool-70-110-128-215.phil.east.verizon.net) joined #forth 14:14:05 --- join: JasonWoo1 (n=jason@c-71-192-30-169.hsd1.ma.comcast.net) joined #forth 14:15:52 --- quit: ecraven ("bbl") 14:23:04 --- quit: crc (Read error: 104 (Connection reset by peer)) 14:23:52 --- join: crc (n=crc@pool-70-110-128-215.phil.east.verizon.net) joined #forth 14:25:08 --- quit: JasonWoof (Read error: 110 (Connection timed out)) 14:29:47 --- quit: slava () 15:01:39 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 15:01:39 --- mode: ChanServ set +o tathi 15:01:56 --- join: astrobe (n=astrobe@ARouen-156-1-112-209.w90-17.abo.wanadoo.fr) joined #forth 15:03:10 --- quit: astrobe (Remote closed the connection) 15:06:43 hi all 15:09:36 --- join: astrobe (n=astrobe@ARouen-156-1-112-209.w90-17.abo.wanadoo.fr) joined #forth 15:10:52 --- join: crest_ (n=crest@p5489ce1c.dip.t-dialin.net) joined #forth 15:11:59 hi, tathi. 15:12:00 How are things? 15:13:17 Things are good. 15:13:24 Good! :) 15:13:29 How's by you? 15:13:34 Can't complain. 15:13:38 Excellent. 15:14:35 I'm about to embark on a Forth project; they keep the invoicing stuff in an Access database that is kind of clunky, and the planting records on paper in a truly awful format. 15:14:44 So I'm going to try and put something together to do the job a bit better. 15:14:47 Neat. 15:16:31 with which forth, tathi? 15:19:57 --- quit: Crest (Read error: 110 (Connection timed out)) 15:26:32 --- join: DocPlatypus (n=skquinn@76.193.142.63) joined #forth 15:44:07 oh, gforth for the moment 15:44:14 I'll probably keep the code pretty standard 15:44:30 I'm disappointed, I was thinking colorForth or LSE64 for sure 15:44:51 :oD 15:45:23 funny Hehe :) 15:45:24 hehe 15:45:29 hi guys 15:45:38 Hi tathi. 15:45:40 hi 15:45:42 sarcasms? 15:45:44 Hows lif on the farm. :) 15:45:57 rather wet just at the moment. 15:46:04 yes, large armounts of sarcasm 15:46:16 Got a nice downpour just before we got done for the day :) 15:46:56 Quartus: you get any of that weather before tathi does? 15:47:10 been rainy here yesterday, humid today 15:47:56 There too, but before yesturday ;) 15:50:48 If you like half-crazy, half serious rants about software, here is a link: http://modeemi.fi/~tuomov/b/ 15:52:40 Yikes. This guy needs to let go of the metaphors, they seem to upset him. 15:53:45 yeah he seems to be off his meds 15:54:12 Imagine taking the time out to type all that rubbish, in the apparent belief that you're dispensing wisdom to the world 15:54:47 heh 15:55:03 yeah, and he has been taking Ion in directions I don't like also. :) 15:55:22 He is following the metaphore of the essay he quotes in the first footnote. 15:55:48 Yes, slavishly, pedantically, and without imagination. 15:56:00 I saw that show. 16:02:12 What do you think, by the way? Bazaar or Cathedral? Worst is better or the right thing? 16:03:56 tathi: I use ion3 at work (fluxbox at home). Probably the most balanced, keyboard-friendly WM. 16:05:10 sure. I use it too. But I liked ion2 better in some ways. 16:05:43 though ion3 does have some features that were compelling enough for me to switch (eventually) 16:07:15 I'm thinking about using dwm as a model to build a forth-based WM. Doesn't every language has it's WM? :) 16:07:43 pretty much 16:07:44 I can't think of what i've done lately to derserv this but a neighbor just dropped off a 36" monitor and a big old box o parts. 16:08:13 I've never ever owned a television that big. 16:08:20 I started one a while back, but I guess I didn't understand X well enough; I ran into some problems I couldn't figure out. 16:10:54 X-weirdows, yes, that's why I prefer to parse and analyze dwm; or maybe should i embed forth in. 16:11:26 yeah. I got most of it working, but had trouble with the focus stuff. 16:11:30 Raystm2: and it works? 16:14:07 --- join: fideua (i=aguazul@19.Red-81-40-188.staticIP.rima-tde.net) joined #forth 16:17:35 /wg/wg 3 16:19:06 sorear: turn right, make downwind, runway 12; altimeter 29.92 16:21:45 astrobe: is that in response to my botched irssi command? 16:22:23 --- quit: fideua () 16:23:57 sorear: perhaps. Nevermind, it's one o'clock here. 16:59:44 --- quit: DocPlatypus ("Leaving") 17:03:04 --- quit: astrobe (Read error: 110 (Connection timed out)) 18:15:52 --- quit: tathi ("leaving") 18:38:38 --- join: Quartus__ (n=Quartus_@209.167.5.2) joined #forth 18:51:10 --- mode: ChanServ set +o crc 19:58:33 --- join: linenoise_ (n=linenois@207.6.94.174) joined #forth 20:06:48 --- quit: segher__ (kubrick.freenode.net irc.freenode.net) 20:08:36 --- join: segher__ (n=segher@dslb-084-056-174-245.pools.arcor-ip.net) joined #forth 20:34:27 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 20:36:41 --- join: Raystm2 (n=NanRay@adsl-68-95-162-78.dsl.rcsntx.swbell.net) joined #forth 21:46:23 --- part: linenoise_ left #forth 23:34:06 --- join: ygrek (i=user@gateway/tor/x-2de4d9ecb31e8187) joined #forth 23:59:59 --- log: ended forth/07.06.02