←2006-08-28 2006-08-29 2006-08-30→ ↑2006 ↑all
00:00:00 <GreyKnight> that's true, ihope
00:00:07 <CakeProphet> What it would do behind the scenes is assign x to 5... but everything -else- would be running backwards.
00:00:10 <ihope> What's true?
00:00:39 <GreyKnight> ihope: are you making a very bad pun?
00:01:02 <ihope> No.
00:01:26 <ihope> Are you saying x is true, true is true, x != true is true, or "that would set x to false" is true?
00:01:26 <GreyKnight> well, I was referring to what you said immediately before I wrote, then :-P
00:01:38 <GreyKnight> I mean your general point
00:01:54 <GreyKnight> that you could get away with it in that restricted instance
00:01:59 <CakeProphet> in the compiler... "x != 0" would parse out to be "x = 0" And then "if x = 0" would be parsed in the compiler as "if x != 0"
00:02:29 <GreyKnight> CakeProphet: so, basically invert any equality test involving x (which has some sort of flag set on it)?
00:02:31 <CakeProphet> By flip-flopping it... it would create the illusion of assigning unequality :D
00:02:58 <GreyKnight> If both halves of the equality test have their invert flag set, then you don't need to invert it
00:03:18 <CakeProphet> ?
00:03:26 <GreyKnight> so ASSIGN x!=5, y!=6; sets the flag on both x and y
00:03:52 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
00:03:54 <GreyKnight> for the test "x$=0", you invert, for "y$=0" you invert, but for "x$=y" you don't
00:04:00 <GreyKnight> since the inversions cancel
00:04:10 <GreyKnight> aaand you've been peer'd
00:04:17 <ihope> Hmm...
00:04:35 <GreyKnight> Oh?? What a stable connection.
00:05:09 <ihope> Just have "might be" and "can't be" as the only relations.
00:05:13 <GreyKnight> Well, this is starting to make some kind of sense, but I think you need to be taking the right drugs to really appreciate it.
00:05:33 <lament> ihope: hehehe
00:05:55 -!- CakeProphet has joined.
00:05:55 <ihope> f(x,y) might be x, and f(x,y) might be y.
00:06:10 <GreyKnight> I DARE someone to actually implement this
00:06:15 <GreyKnight> CakeProphet: what'd you get up to?
00:06:18 <lament> f(x,y) can't be z where z can't be x, z can't be y
00:06:29 <ihope> Oh my.
00:06:34 * GreyKnight digs down on a fountain, splashing water all over the channel. lament drowns!
00:06:40 <ihope> not(x) can't be x.
00:06:46 <lament> hehe
00:06:47 <CakeProphet> Huh?
00:06:48 <ihope> There's your not function.
00:06:51 * CakeProphet missed something in disconnection.
00:07:01 <GreyKnight> <GreyKnight> CakeProphet: what'd you get up to?
00:07:09 <lament> is(a,b) might be true if a might be b
00:07:16 <lament> is(a,b) can't be true if a can't be b
00:07:16 <ihope> Then you can define "might not be" and "must be".
00:07:21 <CakeProphet> GreyKnight>so ASSIGN x!=5, y!=6; sets the flag on both x and y
00:07:36 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
00:07:46 <GreyKnight> *clap clap*
00:07:58 <ihope> is(a,b) must be true if a must be b.
00:08:10 <lament> it seems that these 'might be' and 'can't be' have the exact same semantics as 'is' and 'is not'
00:08:39 <lament> well, i suppose not.
00:08:44 -!- CakeProphet has joined.
00:08:48 <GreyKnight> well, "can't" has the same as "is not"
00:08:50 <ihope> "x might be 3 and x might be 5" is valid, no?
00:08:52 <lament> "x might be 2, y might be 2, x+y can't be 4"
00:09:07 <ihope> GreyKnight: "can't be" is stronger, I think.
00:09:08 <CakeProphet> GreyKnight>so ASSIGN x!=5, y!=6; sets the flag on both x and y
00:09:13 <lament> anyway, shouldn't Prolog already deal with this?
00:09:14 <ihope> And "might be" is weaker than "is".
00:09:21 <GreyKnight> <GreyKnight> for the test "x$=0", you invert, for "y$=0" you invert, but for "x$=y" you don't since the inversions cancel
00:09:21 <lament> ie can't you do all this in Prolog trivially
00:09:26 <ihope> lament: does Prolog have modal logic?
00:09:38 <lament> not really
00:09:50 <ihope> Well...
00:09:51 <CakeProphet> What's the challenge?
00:09:56 <lament> but i'm thinking this is quite easy to convert to the regular old thing
00:10:30 <GreyKnight> CakeProphet: ihope suggested constructing all the relations out of "can't be" and "might be"
00:10:55 <ihope> How about modal implication?
00:10:58 -!- oerjanj has joined.
00:10:59 <ihope> x might imply y.
00:11:11 -!- CakeProphet has quit (Connection reset by peer).
00:11:18 <ihope> Hmm... maybe x might not imply y.
00:11:26 * GreyKnight just knows this will end up at a dialect of Lisp at some point
00:11:42 <ihope> By the way, can you define a functor in Prolog that is only true if its argument yields absurdities?
00:11:47 <GregorR-W> http://www.codu.org/plof/
00:11:48 <GregorR-W> :-P
00:11:55 <ihope> Does Prolog even have absurdities
00:12:10 <GregorR-W> Prolog IS an absurdity.
00:12:15 -!- CakeProphet has joined.
00:12:30 <GreyKnight> GregorR-W: your FACE is an absurdity
00:12:38 <GreyKnight> :-P
00:12:38 <CakeProphet> ...
00:12:41 <lament> actually
00:12:48 <lament> does "might be" even mean _anything_?
00:13:03 <lament> not really! unless it's exclusive, which it's not
00:13:04 <GreyKnight> GOOD QUESTION
00:13:07 <ihope> lament: x might be true === x does not lead to an absurdity.
00:13:22 <GregorR-W> GreyKnight: ;_'
00:13:24 <lament> ihope: i'm not sure i understand.
00:13:30 <ihope> GregorR-W: so aren't you going to add products and ranges, so that you can define a factorial like "fac x = product [1..x]"?
00:13:31 <CakeProphet> http://en.wikipedia.org/wiki/Uncertainty
00:13:36 <CakeProphet> "might be" = uncertainty
00:14:05 <ihope> x might be true == we don't know that x is false.
00:14:07 <GregorR-W> ihope: Maybe as functions. That is, not with that syntaxd.
00:14:09 <GregorR-W> *syntax
00:14:28 <GregorR-W> fac = (x){ product(range(1, x)) };
00:14:30 <GreyKnight> GregorR-W: give us a such as
00:14:30 <ihope> x must be true === it's not possible that x is false.
00:15:42 <GreyKnight> Also, there are too many people in here starting with "Gre" ;_;
00:15:51 <GregorR-W> GreyKnight: Hey, I'm using my name :-P
00:15:53 <CakeProphet> we could always employ some chaos theory ^_^
00:15:55 <GregorR-W> My /real/ name.
00:16:05 <lament> GreyKnight: so change your nick to GrayKnight, it's less gay anyway.
00:16:13 * GreyKnight reads a blessed scroll of genocide. What class of monsters do you wish to genocide? , Wiped out all newbies. Wiped out all lusers. Wiped out all script kiddies. Wiped out lament.
00:16:15 <GregorR-W> lament: WOAH WOAH WOAH
00:16:17 <GregorR-W> Gray is a name.
00:16:19 <GregorR-W> Grey is a color.
00:16:28 <CakeProphet> gray is a color
00:16:31 <CakeProphet> diffierent spellings
00:16:32 <ihope> GreyKnight: now let's get GreenReaper in here.
00:16:41 <GregorR-W> CakeProphet: The alternate spelling came from the name.
00:16:42 <CakeProphet> gray = grey = gray
00:16:57 <CakeProphet> gray = grey = gray = semantics
00:16:58 <lament> gay!
00:17:01 <GregorR-W> Nowadays, yes, they're all the same.
00:17:04 <ihope> Gray = gay?
00:17:09 <Razor-X> This all sounds like a functional language to me.
00:17:13 <GreyKnight> lament = gay
00:17:19 <lament> your mom!
00:17:19 <GregorR-W> Oy
00:17:20 <Razor-X> Except with built-in pseudo-equality predicates.
00:17:23 <GregorR-W> /ignore *!*@*
00:17:25 <GregorR-W> Ahhhhhhhhh
00:17:26 <CakeProphet> your mom = gay.
00:17:27 <GregorR-W> Much better.
00:17:27 <GreyKnight> Your own mum!
00:17:33 <CakeProphet> therefore... lament = your mom.
00:17:46 <ihope> /ignore *!*@*
00:17:49 * ihope wins :-P
00:17:51 * CakeProphet huggles the transitive property.
00:17:54 <GreyKnight> GregorR-12345: but aren't you lonely?
00:18:10 <lament> i'm lonely
00:18:14 <lament> come to me GayKnight
00:18:24 <CakeProphet> YourMomKnight?
00:18:26 <Razor-X> Hawt man-lurv!
00:18:27 <GreyKnight> I wouldn't touch you with a ten-foot polearm.
00:18:36 <GreyKnight> From two squares away.
00:18:41 <lament> not even a greased one?
00:18:41 -!- ihope has changed nick to GayKnight.
00:18:44 <GayKnight> Hmm...
00:19:10 <GayKnight> Nah.
00:19:10 -!- GayKnight has changed nick to ihope.
00:19:10 -!- GreyKnight has changed nick to GreyPaladin.
00:19:10 <GregorR-W> X_X
00:19:10 <GreyPaladin> *Smite Perversion*!
00:19:10 <GreyPaladin> *lart lart lart*
00:19:10 <lament> You caitiff!
00:19:12 -!- GreyPaladin has changed nick to GreyKnight.
00:19:39 <lament> My, that was a yummy pancakeprophet!
00:19:55 <GreyKnight> I think the NH references might be a bit too obscure in here
00:19:55 <CakeProphet> That uncertainty article explains how uncertainty is measured :D
00:20:50 <GreyKnight> in terms of h :-P
00:21:33 <lament> GreyKnight: at least 3 people understand them, plus Razor-X plays slashem
00:21:40 <ihope> Something is either certain or uncertain.
00:21:47 <GreyKnight> then reference away!
00:21:57 * lament dereferences GreyKnight's pointer
00:22:10 <GreyKnight> ihope: I assume he's talking about Ye Olde Heisenberge Principall
00:22:23 <ihope> lament: eew. None of that stuff in here, okay?
00:22:25 <ihope> :-P
00:22:38 <ihope> So who was it that said it would be funny if the level 30 Knight title were "caitiff"?
00:23:03 <lament> your mom.
00:23:41 <GregorR-W> X_X
00:23:50 <GregorR-W> You've prevented me from saying anything but X_X
00:23:53 <GregorR-W> Jackarses.
00:24:06 <ihope> >_O
00:26:03 <lament> time to clean up this channel
00:26:07 * lament bans ihope
00:26:21 <GreyKnight> B&
00:27:15 <GregorR-W> Time to flood!
00:27:16 <lament> oh
00:27:17 <GregorR-W> ihope:
00:27:19 <GregorR-W> range = (x as int, y as int) {
00:27:21 <GregorR-W> var ret = array();
00:27:23 <lament> n/m
00:27:23 <GregorR-W> while({x < y}, {
00:27:24 <GregorR-W> ret[] = x;
00:27:26 <GregorR-W> x++;
00:27:27 <GregorR-W> });
00:27:29 <GregorR-W> };
00:27:39 <pikhq> . . .
00:27:47 * GreyKnight mentions something about pastebin
00:27:48 <ihope> What you say?
00:27:49 <ihope> Hit the road, Jack, and don't you come back...
00:27:56 <GregorR-W> I like pastebins.
00:27:58 <GregorR-W> I just prefer flooding.
00:29:44 * lament bans GreyKnight
00:29:48 <lament> i meant GregorR-W
00:29:56 <GreyKnight> Told you
00:29:58 <lament> but since they have such similar nicks, i guess GreyKnight will have to do
00:30:05 <GregorR-W> Gee, I'm sorry I interrupted your FASCINATING CONVERSATION.
00:30:12 <GreyKnight> U R ALL B&ZORED
00:30:20 <GreyKnight> ;-)
00:30:37 <oerjanj> i might worry if i knew what that meant
00:30:59 <ihope> Oh know! Not the banded!
00:30:59 <GregorR-W> You will be both B and Zored.
00:31:11 <GreyKnight> ihope = B&
00:31:12 <oerjanj> i am already B - i think
00:31:35 <GregorR-W> To B, or not to B.
00:31:45 <GregorR-W> That is the zomgwtfquestion
00:31:45 <GreyKnight> Is that a question?
00:31:49 * pikhq should write an Esolang on his calculator. . .
00:31:55 <ihope> Actually, nobody's +b'd on #esoteric.
00:32:07 <lament> YET
00:32:20 <ihope> pikhq: aren't calculators pretty esoteric anyway?
00:33:27 <pikhq> ihope: It's a GCC target.
00:33:27 <pikhq> It also has a (somewhat odd) Lisp variant built in. . .
00:33:35 <ihope> !1 @1 #1 $1 %1 ^1 &1 *1 meh
00:33:38 <EgoBot> Huh?
00:33:41 <ihope> Hmm, fancinating.
00:33:50 <ihope> s/n/s/
00:33:50 <pikhq> j00 fail.
00:34:16 <GreyKnight> I bet it's not the oddest Lisp ever
00:34:36 <ihope> _1 -1 +1 =1 {1 }1 (1 )1 [1 ]1 |1 1
00:34:40 <GreyKnight> My #eval script surely qualifies for that
00:34:47 <ihope> Eh, hmm.
00:34:59 * GreyKnight wonders what ihope's master plan is
00:35:13 <ihope> '1 :1 "1 ,1 .1 /1 <1 >1 ?1 meh
00:35:23 <ihope> It's not working!
00:35:29 * ihope kicks his chat client
00:35:36 <pikhq> GreyKnight: What? Reverse Polish Lisp?
00:36:07 <CakeProphet> 0 = (1*1) + ((-1)* 1) + (1* (-1)) + ((-1)* (-1)) = -1 + ((-1)* (-1))
00:36:09 <GreyKnight> It's a pretty half-assed implementation
00:36:11 <CakeProphet> MUHAHAHAHAHAHAHA
00:36:22 <GreyKnight> a side-effect of which is that it's rather odd
00:36:27 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
00:36:44 <ihope> 0 = 1-1
00:36:46 <GreyKnight> Try "#eval (lisp (stuff))" to see :-P
00:36:47 <ihope> Silly.
00:36:58 <pikhq> I think I'll code in C on it, anyways.
00:37:02 <GreyKnight> bonus points if you hit a function that's actually implemented
00:37:05 <ihope> #eval (+ 1 2 3 4)
00:37:06 <GreyKnight> #do eval (+ 1 2 3 4)
00:37:08 <GreyKnight> #> 10
00:37:28 <GreyKnight> ihope gets bonus points
00:37:30 -!- CakeProphet has joined.
00:37:35 <GreyKnight> wd
00:37:41 <pikhq> It's more of "1 2+ 3 4++eval".
00:38:03 <GreyKnight> That is slightly more odd
00:38:21 <ihope> #eval ((lambda (x) (x x)) (lambda (x) (x x)))
00:38:28 <CakeProphet> 0 + 1 = (1*1) + ((-1)* 1) + (1* (-1)) + ((-1)* (-1)) = -1 + ((-1)* (-1)) + 1 = -1 x -1 = 1
00:38:39 <CakeProphet> Yaaaay... I just proved that -1 x -1 = 1
00:38:46 <GreyKnight> Nice try, ihope :-P
00:38:47 <CakeProphet> Kinda..
00:38:53 <pikhq> And it leaves 10 on the stack.
00:39:08 <GreyKnight> pikhq: I've seen something similar before
00:39:20 <pikhq> GreyKnight: It's an HP calculator. Decidely odd. ;)
00:39:25 <ihope> 0 = 0*1 = 0*1^0 = 0^0 = 1
00:39:47 <Razor-X> #eval (* 3 6)
00:39:48 <GreyKnight> #do eval (* 3 6)
00:39:50 <GreyKnight> #> 18
00:39:55 <Razor-X> #do eval (* 3 6)
00:39:56 <GreyKnight> #do eval (* 3 6)
00:39:58 <GreyKnight> #> 18
00:40:15 <GreyKnight> yep, it's consistent over time, too!
00:40:30 <ihope> #eval ((lambda (x) x) 3)
00:40:30 <GreyKnight> #do eval ((lambda (x) x) 3)
00:40:32 <pikhq> 1: 18.
00:40:32 <GreyKnight> #> 3
00:40:34 <lament> You want a ban, i'll give you a ban!!
00:40:56 -!- ChanServ has set channel mode: +o lament.
00:40:56 <Razor-X> #do eval (do ((x 0 (+ x 1))) ((= x 300)) (display "HI!"))
00:40:57 <GreyKnight> #do eval (do ((x 0 (+ x 1))) ((= x 300)) (display "HI!"))
00:40:59 <GreyKnight> #> NIL
00:41:00 <GreyKnight> #! Error: (998) 'DO' IS NOT A FUNCTION OR A MACRO
00:41:15 <lament> ITS BAN TIME!!!
00:41:19 <Razor-X> Pfft. It's a special form, bub.
00:41:33 <GreyKnight> Yeah, we don't have those either :-P
00:41:46 <ihope> #do eval (bil)
00:41:47 <GreyKnight> #do eval (bil)
00:41:49 <GreyKnight> #> NIL
00:41:50 <Razor-X> #do eval (display "Waah. I suck")
00:41:51 <GreyKnight> #! Error: (998) 'BIL' IS NOT A FUNCTION OR A MACRO
00:41:52 <GreyKnight> #do eval (display "Waah. I suck")
00:41:54 <GreyKnight> #> NIL
00:41:56 <GreyKnight> #! Error: (998) 'DISPLAY' IS NOT A FUNCTION OR A MACRO
00:41:59 <ihope> #do eval (nil)
00:42:00 <GreyKnight> #do eval (nil)
00:42:01 <GreyKnight> #> NIL
00:42:03 -!- lament has set channel mode: +b scwizard!*@*.
00:42:03 <GreyKnight> #! Error: (974) FIRST ITEM IS NOT A SYMBOL OR LAMBDA ('NIL')
00:42:05 -!- CXI has quit (Connection timed out).
00:42:09 <GreyKnight> Gimme some break, I did well just producing something like this in PHP :-P
00:42:11 <lament> POOF!
00:42:16 <lament> BANNED!
00:42:20 -!- lament has set channel mode: -o lament.
00:42:29 <ihope> http://images.amazon.com/images/P/B0000664NI.01._SCMZZZZZZZ_.jpg <- the infamous ban stick!
00:42:30 <Razor-X> Pfft. Make a Scheme IRC client, bub.
00:42:34 <GreyKnight> #do eval (print "printed")
00:42:36 <GreyKnight> #> "printed"
00:42:52 <GreyKnight> For what use *that* is
00:42:58 <Razor-X> do eval (print "I eat babies")
00:43:05 <Razor-X> #do eval (print "I eat babies")
00:43:06 <GreyKnight> #do eval (print "I eat babies")
00:43:07 <GreyKnight> #> "I eat babies"
00:43:09 <Razor-X> #do eval (print "I eat babies")
00:43:10 <Razor-X> #do eval (print "I eat babies")
00:43:10 <GreyKnight> #do eval (print "I eat babies")
00:43:12 <GreyKnight> #> "I eat babies"
00:43:14 <GreyKnight> #do eval (print "I eat babies")
00:43:16 <GreyKnight> #> "I eat babies"
00:43:18 <ihope> #do eval ((lambda (x) (list x x)) (lambda (x) (list x x)))
00:43:20 <GreyKnight> #do eval ((lambda (x) (list x x)) (lambda (x) (list x x)))
00:43:21 <GreyKnight> #> '(#<CLOSURE :LAMBDA (X) (LIST X X)> #<CLOSURE :LAMBDA (X) (LIST X X)>)
00:43:23 <Razor-X> Can it perform loops?
00:43:26 <ihope> Oip
00:43:50 <GreyKnight> It could do recursive calls to a function, but not any of the special looping forms
00:43:57 <Razor-X> Ah.
00:44:14 <ihope> #do eval ((lambda (x) (list x (list (quote quote) x))) (quote (lambda (x) (list x (list (quote quote) x)))))
00:44:15 <GreyKnight> #do eval ((lambda (x) (list x (list (quote quote) x))) (quote (lambda (x) (list x (list (quote quote) x)))))
00:44:17 <GreyKnight> #> '((LAMBDA (X) (LIST X (LIST (QUOTE QUOTE) X))) (QUOTE (LAMBDA (X) (LIST X (LIST (QUOTE QUOTE) X)))))
00:44:19 <GreyKnight> There's a defun, but its results aren't persistent
00:44:43 <Razor-X> Oh, so this is CL, bub?
00:44:55 <GreyKnight> well, something like it
00:45:04 <GreyKnight> in the sense that centipedes are something like cats
00:45:15 <ihope> #do eval
00:45:16 <GreyKnight> #do eval
00:45:18 <GreyKnight> #> NIL
00:45:22 <ihope> #do evil
00:45:23 <GreyKnight> #do evil
00:45:25 <Razor-X> Do lambda expressions implicitly execute statements in order?
00:45:25 <GreyKnight> #@ Nothing returned.
00:45:48 <ihope> Razor-X: lambda expressions in actual lambda calculus?
00:45:52 <GreyKnight> come again?
00:45:59 <Razor-X> ihope: No, in GreyKnight's odd Lisp dialect.
00:46:00 <lament> Razor-X: lambda expressions don't have any statements!
00:46:08 <GreyKnight> It's 00:43 over here, excuse me if I'm slow
00:46:12 <Razor-X> Procedures then, happy?
00:46:36 <Razor-X> Ya know, like the Scheme (begin) special form.
00:46:40 * ihope tries this infinite monkey thing
00:46:54 <GreyKnight> I'm not overly familiar with Scheme
00:46:54 <ihope> To be or nowiex oqh pziqjw bwqo xpl woxqw sbhqo pjw
00:47:01 <ihope> Oh, cool, I got... well.
00:47:05 <ihope> :-P
00:47:19 <Razor-X> I can't remember much of the particulars of CL.
00:47:32 <Razor-X> But, what I can remember is CL felt much worse to program in than Scheme does :).
00:47:40 <GreyKnight> :-P
00:48:09 <GreyKnight> Do you mean that the "body" expressions of the lambda are guaranteed to be executed in the order written?
00:48:15 <Razor-X> Yeah.
00:48:22 <GreyKnight> then yes
00:49:24 <Razor-X> If you simply made your IRC client *in* your Lisp dialect, you could get it to excecute its own code with ease ;).
00:49:32 <GreyKnight> :-O
00:49:52 <GreyKnight> That'd be some kind of insane programming exercise
00:49:59 <GreyKnight> I like it!
00:50:00 <Razor-X> Why insane?
00:50:13 <lament> ERC!
00:50:28 <Razor-X> One of the additions I'm adding to my IRC bot in the Scheme rewrite is the fact that I'm going to give a REPL to privileged users.
00:50:46 <Razor-X> Plus I'll program in an RC file so I can change portions of the code on the fly.
00:50:59 <GreyKnight> well, the Lisp code itself is being run as a PHP script, so I mean it'd be an insane number of levels of abstraction
00:51:17 <Razor-X> Drop the stupid PHP business :P.
00:51:31 <GregorR-W> Whoot2PHP
00:51:45 <GreyKnight> no wai
00:52:00 <GreyKnight> the whole idea was to see if I could write a Lisp in PHP
00:52:03 <GregorR-W> PHP - unchallengable in its niche, worthless elsewhere :-P
00:52:15 <Razor-X> PHP still has a niche?
00:52:19 * Razor-X gasps.
00:52:20 <lament> no.
00:52:27 <GreyKnight> yeah - implementing random Lisp dialects
00:52:29 <GregorR-W> If you say "Ruby on Rails" I'll shoot you.
00:52:41 <Razor-X> Fine. Shoot me over IRC.
00:52:46 <Razor-X> Ruby on Rails.
00:52:52 * GregorR-W shoots Razor-X.
00:52:54 <ihope> GASP!
00:53:01 * Razor-X bleeds IRC blood.
00:53:06 <GregorR-W> No amount of nifty 3rd party libraries will make up for the fact that Ruby just plain sucks.
00:53:08 <ihope> GASP!
00:53:15 * ihope faints
00:53:28 <Razor-X> Ruby sucks?! *TRIPLE GASP*
00:53:47 <GregorR-W> Ruby = ridiculous OO + all the worst parts of Perl (many of which are totally incompatible with the concept of a completely OO language)
00:53:50 * pikhq wonders if Razor-X has implemented the Violence Over IP protocol correctly. . .
00:54:12 <lament> heh
00:54:13 <Razor-X> Nope. Mine's a bit b0rked.
00:54:20 <GreyKnight> Let's remember: ASSAHS
00:54:26 -!- ivan` has joined.
00:54:28 <pikhq> A hint: if it's implemented correctly, you should be dead by now.
00:54:32 <GreyKnight> All Software Sucks, All Hardware Sucks
00:54:37 <lament> Python people have tried to develop an internet framework with the ultimate goal of being able to stab people in the face over the internet.
00:54:48 <Razor-X> ASS?! AH!(s)
00:54:49 <lament> they're not quite there yet, but they're making progress
00:54:55 <lament> (Twisted is the framework)
00:55:25 <ihope> All software sucks. Hardware, also, too.
00:55:38 <GregorR-W> All P-languages suck.
00:55:39 <pikhq> ASSHAT.
00:55:46 <ihope> Bing.
00:55:47 <lament> Your mom sucks.
00:55:47 <ihope> O.
00:55:52 <pikhq> What have you to say about T-languages?
00:55:56 <Razor-X> So does Plof suck too?
00:56:00 <GreyKnight> All Software Sucks, Hardware Also, Too
00:56:08 <ihope> Razor-X: you beat me to it.
00:56:14 <GregorR-W> Razor-X: Plof is designed to rectify my problems with P-languages ;)
00:56:19 <GreyKnight> (poor grammar, but the acronym rules)
00:56:22 <ihope> For that, I will shoot you 999999 times.
00:56:23 <GregorR-W> P-languages don't suck by nature, it just so happens that they all suck.
00:56:27 <lament> Python doesn't suck.
00:56:31 <Razor-X> It bites.
00:56:39 <lament> it swallows whole.
00:56:48 <pikhq> Python goes beyond sucking. It engorges the universe in its gaping maw.
00:57:08 <GregorR-W> It goes beyond engorging the universe in its gaping maw. It's goatse.
00:57:09 <Razor-X> Scheme and Haskell should rule the world some day.
00:57:12 <GregorR-W> And with that, I leave.
00:57:13 <ihope> What if I like Python?
00:57:16 <GreyKnight> >_<
00:57:20 <ihope> GregorR-W: GASP!
00:57:20 <GregorR-W> Mind you, I like Python.
00:57:24 * GreyKnight B& goatse
00:57:25 <GregorR-W> As P-languages go, it's a good'n.
00:57:27 <GregorR-W> Anyway
00:57:29 <GregorR-W> *poof*
00:57:30 -!- GregorR-W has quit ("Chatzilla 0.9.75 [Firefox]").
00:57:33 <Razor-X> You can jump off a boat in the middle of the Atlantic Ocean, ihope ?
00:58:19 <ihope> Isn't that a little harsh? Couldn't you just force me to sign a thing stating that I will never have children, except adopted ones?
00:58:20 * GreyKnight larts GregorR in the quitvertisement
00:58:48 <Razor-X> Nah. We all know that 99% of people don't actually care about children and only have them because of social pressure.
00:59:09 <pikhq> Also, we know that 100% of all coders are doomed to celibacy.
00:59:24 * CakeProphet likes Python... mainly because it's the only one he can use effectively.
00:59:56 <Razor-X> Use Scheme Or Die.
01:00:03 * GreyKnight <3 PHP
01:00:05 <Razor-X> Or use Haskell.
01:00:07 * GreyKnight <3 LISP
01:00:14 <lament> Die.
01:00:14 <CakeProphet> Programming languages are basically like politics and religion.......
01:00:16 <Razor-X> What does LISP stand for?
01:00:21 * ihope uses Die
01:00:22 <CakeProphet> list processor?
01:00:23 <ihope> Wait, what?
01:00:26 <GreyKnight> Together, they are... horribly deformed gk-Lisp!
01:00:43 <pikhq> Lisp RPN+ RPL=
01:00:46 <fizzie> It's "Lost of Irritating Superfluous Parentheses", isn't it?
01:00:53 <GreyKnight> * Lots
01:00:56 <fizzie> s/st/ts/
01:01:03 <pikhq> fizzie: That would just be Lisp with sexps.
01:01:03 <Razor-X> IIRC, Lisp stands for nothing, which is why it's Lisp and not LISP.
01:01:32 <GreyKnight> actually, it was LISP originally
01:01:38 <GreyKnight> LISt Processing
01:01:41 <lament> Lisp stands for lament ihope SimonRC pikhq
01:01:42 <oerjanj> what is the syntax of lithp, anyhow?
01:01:45 <lament> the original authors of the language
01:01:47 <Razor-X> Ah. Alright then.
01:01:58 <fizzie> "LISP: n.
01:01:59 <fizzie> [from ‘LISt Processing language’, but mythically from ‘Lots of Irritating Superfluous Parentheses’]"
01:02:06 <fizzie> (Says the Jargon file.)
01:02:21 <GreyKnight> yah
01:02:35 <ihope> I was the one who originally designed the M-expression.
01:02:39 * CakeProphet likes the ()'s
01:02:48 <pikhq> http://en.wikipedia.org/wiki/M-expression
01:02:52 <pikhq> Doubtful.
01:03:07 <CakeProphet> If I were to make a useful language... I would use ()'s to denote do-this-and-return-a-value-then-continue-on-with-the-expression)
01:03:33 <ihope> If I were to make a useful language... hmm...
01:03:50 <GreyKnight> (defun ihope (x) (list x x))
01:03:57 <GreyKnight> Let's face it:
01:04:10 <GreyKnight> if any of use were to make a useful language, we wouldn't be on here :-P
01:04:11 <CakeProphet> On my to do list for useful languages is a language that is perfect for building onto itself... above and beyond Lisp macros.
01:04:29 <pikhq> CakeProphet: Learn Lisp first.
01:04:31 <GreyKnight> Lisps *are* perfect for building onto themselves :-P
01:04:32 * ihope pretends to have written a useful language already
01:04:49 <CakeProphet> GreyKnight, you can always improve.
01:04:53 <GreyKnight> Pssh
01:04:54 <CakeProphet> ;)
01:04:57 <GreyKnight> Lisp is perfection
01:05:07 <ihope> Haskell + imperative stuff + optional duck typing = this language.
01:05:11 <GreyKnight> All other languages gradually approach it with each new release
01:05:12 <lament> GreyKnight: your mom is perfection.
01:05:14 * pikhq has written *in* a useful language already.
01:05:19 <Razor-X> Haskell + imperative stuff?!
01:05:23 <Razor-X> What the heck *is* that?!
01:05:27 <CakeProphet> There is a better language out there... we just haven't made it yet.
01:05:35 <ihope> Haskell + more support for monads.
01:05:37 <GreyKnight> I refer you to Greenspun's Tenth.
01:05:39 <Razor-X> Uggh. Monads.
01:05:49 <ihope> Yum, monads.
01:05:53 <pikhq> It's like putting Gates and Stallman in a room together: Two enter, one leaves!
01:05:55 <GreyKnight> See, monads were what put me off haskell :-\
01:05:59 <lament> MORE MONADS!!!
01:06:08 <Razor-X> I don't use Monads too often, but they are annoying.
01:06:10 <GreyKnight> s/m/g/g
01:06:12 * CakeProphet prefers biads.
01:06:16 <CakeProphet> sometimes triads...
01:06:22 <Razor-X> .......
01:06:28 <Razor-X> *Cough* Moving on then....
01:06:30 <GreyKnight> That was a weak pun at best.
01:06:38 <CakeProphet> :P
01:06:41 * pikhq prefers gonads
01:06:50 * oerjanj would be impressed if he believed cakeprophet new what those were
01:06:53 * Razor-X does not.
01:07:07 <Razor-X> It would make more sense if he knew *what* a Monad was.
01:07:09 <Razor-X> Yeah.
01:07:20 <oerjanj> hm, there is something called triads.
01:07:33 <GreyKnight> They're Chinese and they'll CUT ya
01:07:34 <Razor-X> There is also something called a bifurication.
01:07:57 <ihope> So yeah. Haskell + more monadic stuff + optional duck typing... pretend the monads aren't there, and you got something nice, aye?
01:07:59 <oerjanj> so how do you make an esolang based on triads?
01:08:02 <CakeProphet> Hmmm.. monads?
01:08:04 <GreyKnight> "bifurication"? Is that when a furry reproduces?
01:08:11 <CakeProphet> Monads specify an order for shit to happen.
01:08:13 <Razor-X> If it makes you feel happy, yes.
01:08:15 <ihope> GreyKnight: eew
01:08:25 <GreyKnight> ihope: I'm assuming it's asexual
01:08:26 <Razor-X> @ GreyKnight.
01:08:37 <GreyKnight> Sweet hairy Moses I hope it's asexual
01:08:49 <Razor-X> CakeProphet: Kinda... sorta... not really.
01:08:54 <oerjanj> has anyone made an esolang on a gangster theme?
01:09:05 <ihope> oerjanj: sure, it's called, uh...
01:09:18 <ihope> Isn't there that one that has the stuff and things?
01:09:25 <CakeProphet> C
01:09:52 <GreyKnight> Oh, the stuff and the things?
01:10:37 <CakeProphet> monads basically give functional programming a state-change-ish-like ability.
01:10:56 <Razor-X> I reward your googling.
01:11:01 <CakeProphet> Thank you.
01:11:02 <ihope> ETA!
01:11:21 <ihope> Oh, no.
01:11:27 * CakeProphet enjoys putting "def" inside an if in Python.
01:11:41 <GreyKnight> ihope: Eat Team Ant?
01:11:42 * Razor-X enjoys using defun syntax in Scheme.
01:11:47 <GreyKnight> You murderer
01:12:05 <ihope> GreyKnight: elemental troll Archon, stupid
01:12:07 <CakeProphet> using if combined with def gives you function-changing-like abilities.
01:12:15 <CakeProphet> Except... it's annoying to use... and takes up way too much time.
01:12:24 <Razor-X> What does def do?
01:12:28 <CakeProphet> defines a function.
01:12:48 <Razor-X> ........................
01:12:59 <GreyKnight> WELL
01:13:00 <Razor-X> Oh, I see what you mean.
01:13:36 <Razor-X> Yes well, that sounds fine and dandy, except I can't see anything but very limited use for that :P.
01:13:48 <CakeProphet> if this = that:
01:13:50 <CakeProphet> def wow(pepper, corn):
01:13:51 <CakeProphet> return pepper + corn
01:13:53 <CakeProphet> else:
01:13:54 <CakeProphet> def wow(pepper, corn, cheese):
01:13:56 <CakeProphet> return pepper - corn + cheese
01:13:57 <CakeProphet> Yeah it's limited in Python.
01:14:29 <GreyKnight> limited++
01:14:32 <Razor-X> You can do something similar in Ruby by querying whether the cheese parameter is provided.
01:14:35 <GreyKnight> Or should that be limited-- ?
01:14:36 <Razor-X> Or, in Scheme:
01:14:51 <CakeProphet> Lisp could do that much better than Python could.
01:15:22 <GregorR> if(condition, {global thefunc = {/* func a */};}, {global thefunc = {/* func b */};});
01:15:50 <Razor-X> (define wow (pepper corn #!optional cheese) (if (default-object? cheese) (+ pepper corn) (+ (- pepper corn) cheese)))
01:16:12 <Razor-X> Crazy. I know.
01:16:46 <GreyKnight> in CL it's &optional instead of #!optional, but otherwise basically similar
01:16:54 <CakeProphet> Hmmm... actually..
01:17:01 <CakeProphet> Python can do arbitrary numbers of arguements too.
01:17:07 <Razor-X> Well, there you are.
01:17:15 <CakeProphet> With *
01:17:17 <Razor-X> You can condense that example much smaller then :P.
01:17:59 <CakeProphet> but but..
01:18:02 <CakeProphet> conditionals... are... fun
01:18:04 <GreyKnight> I like using # better; think I'll use that syntax when I come to add complicated lambda lists to gkdlisp
01:18:05 * CakeProphet cries.
01:18:15 <GreyKnight> I never grokked why CL uses & there
01:18:37 <Razor-X> Doesen't it also use &rest ?
01:18:58 <GreyKnight> Yep, and &keyword and probably some others I forgot
01:19:12 <Razor-X> That's another one of those things I didn't like about CL :P.
01:19:19 <Razor-X> You tend to forget most everything about the language.
01:19:32 <GreyKnight> It's consistent within itself, I just don't know why they suddenly decided to start using & as a syntax character
01:19:47 <Razor-X> And I like the fact that Scheme abstracts functions the same way as it abstracts every other definition.
01:19:51 <CakeProphet> Pfft.. sofixit :D
01:19:52 <pikhq> CakeProphet: But of course conditionals are fun. How else do you do Turing completeness?
01:19:53 <CakeProphet> Make your own Lisp
01:19:56 <GreyKnight> well, I have a copy of the HTML spec nicely linked, so I can look things up at a moment's notice
01:19:56 <Razor-X> Scheme fixes it.
01:19:58 <Razor-X> ;)
01:20:25 <CakeProphet> Scheme could probably be made better.
01:20:36 <ihope> You don't need conditionals for Turing-completeness.
01:20:39 <GreyKnight> gkdlisp fixes it and then trips over its own teeth
01:20:53 <Razor-X> I don't see where Scheme can't be made better in Scheme :P.
01:21:19 <GreyKnight> yeah, the only way a Lisp can be improved is by using its own features or by turning it into another Lisp
01:21:25 <CakeProphet> I love conditionals so much... my super-in-thenear-future-language-I'll-never-create will intend use exessive amounts of conditionals.
01:21:37 <GreyKnight> Lisp as a group is the ultimate; there is no perfection beyond Lisp :-P
01:21:48 <pikhq> ihope: Sure. Try doing Brainfuck without any sort of conditional ability.
01:21:49 <CakeProphet> Bullshit
01:21:54 <Razor-X> The only one thing I think Scheme can use is Haskell and OCaML's built-in head-tail things.
01:22:14 <Razor-X> Instead of binding head and tail via let, pattern matching is actually pretty nifty.
01:22:18 <ihope> pikhq: the while loop has a condition.
01:22:22 * pikhq has a vague definition of "conditional", which is more along the lines of "being able to branch"
01:22:32 <Razor-X> Of course, I can easily create a macro to *create* pattern matching, so my argument is moot.
01:22:43 <pikhq> ihope: And you just said you can do Turing completeness without conditionals.
01:23:05 <pikhq> Remove []. Is it Turing complete?
01:23:07 <Razor-X> pikhq: BF is Turing Complete. Turing Complete is not BF.
01:23:22 <GreyKnight> Razor-X: what's this pattern-matching head/tail of which you speak?
01:23:33 <ihope> Remove everything, and add S and K combinators.
01:23:38 <pikhq> Razor-X: A Turing complete language can (theoretically) emulate any other Turing complete language.
01:23:39 <ihope> Where's the conditional there?
01:23:46 <CakeProphet> Lisp can do extend onto every aspect of itself... except for moving outside its fundamental syntax.
01:24:02 <GreyKnight> ...which is perfection
01:24:05 <pikhq> Clever application of the S and K combinators (I have a *very* vague definition of "conditional").
01:24:18 <Razor-X> GreyKnight: In Haskell, you can write a function parameter as a cons'd list. So the head of the list will automatically be assigned to what you assign at its head, and the tail automatically as what you design the tail to be.
01:24:25 * CakeProphet intends to make a langauge that can change its own fundamental syntax.
01:24:26 <GreyKnight> the much-maligned parentheses are there for a very specific and ingenious reason
01:24:40 <GreyKnight> Razor-X: Ah yes, I remember now
01:24:42 <CakeProphet> Yes I know why
01:24:44 <GreyKnight> That was a neat trick
01:24:44 <ihope> CakeProphet: just pretend Thubi can.
01:24:55 * CakeProphet isn't bothered by parenthesis.
01:25:27 <Razor-X> Lisp can't change its fundamental syntax? *looks*
01:25:35 <CakeProphet> Not that I can see.
01:25:38 <GreyKnight> It's basically impossible for the computer to misparse your Lisp code, because the parse tree is there in the language itself ;-)
01:25:50 <CakeProphet> Unless you change Lisp itself without the use of Lisp to make the change.
01:26:03 <GreyKnight> Reader macros can accomplish quite a lot syntax-wise
01:26:27 <CakeProphet> Do they break away from the fundamental syntax? (a.k.a. parenthesis)
01:26:27 <Razor-X> I was thinking of MIT/GNU Scheme's Reader and Parser.
01:26:46 <Razor-X> You can parse XML using that, among other things.
01:27:18 <GreyKnight> you can read in pretty much any format you like with the various reader control systems
01:27:34 <GreyKnight> why you'd WANT to forgo the standard parentheses is beyond me :-)
01:27:59 <CakeProphet> To create a syntatically different language.
01:28:15 <Razor-X> 'Cuz I Can (TM).
01:28:22 <GreyKnight> but "different from Lisp" implies "inferior" :-)
01:28:39 <CakeProphet> there's something magical about altering your environment to suit your needs in any way possible.
01:28:55 <CakeProphet> Useful... maybe not... but magical indeed.
01:29:04 <GreyKnight> Having said that, a setup that reads in Brainf**k would be hilarious :-D
01:29:08 <Razor-X> You can with the Reader/Parser.... of course, if you have the time.
01:29:29 <Razor-X> Well, my BF interpreter attempted to compile BF to Scheme and then run the Scheme code.
01:29:46 <GreyKnight> Ah, you're halfway there, then!
01:30:09 <CakeProphet> Basically... to extend to the language you just need a way to alter the parser via a keyword.
01:30:19 <GreyKnight> Or am I being overly optimistic about the "attempted" part?
01:30:33 <Razor-X> Well, I got bored typing (display) so I gave up :P
01:30:52 <Razor-X> And went on to my original reason for re-learning Lisp via Scheme this time around -- to rewrite my Haskell bot.
01:31:23 <GreyKnight> the IRC bot mentioned earlier, I assume?
01:31:48 <Razor-X> Yeah.
01:32:15 <Razor-X> Watch what it can do so far:
01:32:43 -!- Blahbot has joined.
01:32:43 -!- Blahbot has quit (Client Quit).
01:32:50 <Razor-X> C'razy.
01:32:50 <GreyKnight> \o/
01:33:01 <GreyKnight> I have a bot in a similar stage of development
01:33:16 <ihope> I have a bot in the "won't compile" stage.
01:33:20 <Razor-X> Given 2 hours, I can probably rewrite the bot as it was originally.
01:33:32 <ihope> It used to be in the "will compile, won't link" stage.
01:33:34 <Razor-X> But... I plan on changing quite a few things around in the core.
01:33:50 <ihope> I'll probably put it back into the "won't parse" stage.
01:34:11 -!- Blarghbot has joined.
01:34:11 -!- Blarghbot has quit (Client Quit).
01:34:13 -!- Blarghbot1 has joined.
01:34:13 -!- Blarghbot1 has quit (Client Quit).
01:34:17 <Razor-X> That's the power of Scheme.
01:34:26 <Razor-X> Blargbot and Blarghbot1. Yeah. It's beautiful.
01:34:30 <GreyKnight> Enter rodgebot:
01:34:30 -!- rodgebot has joined.
01:34:46 <GreyKnight> He can *stay* connected!
01:35:02 <Razor-X> Like, does he actually keep the connection alive?
01:35:22 -!- anonfunc has quit.
01:35:24 <rodgebot> Yes, I do!
01:35:42 <Razor-X> He's using netcat. I know it.
01:35:42 <rodgebot> A whole new advance in bot technology.
01:35:48 <GreyKnight> lua + luasocket
01:35:59 <rodgebot> Call now and order your rodgebot today!
01:36:00 <Razor-X> You just *love* scripting languages, don't you? :P
01:36:11 <GreyKnight> rodgebot: you can stop advertising now.
01:36:21 <Razor-X> I can do that easily, but, I have to first work on a universal parser for the IRC commands.
01:36:22 <GreyKnight> I love all languages
01:36:31 <ihope> rodgebot: what's the number?
01:36:54 <GreyKnight> Razor-X: yeah, I got that sorted out
01:36:58 <Razor-X> rodgebot doesen't respond to my pings :(.
01:37:06 <rodgebot> ihope: I'm not allowed to advertise anymore :'(
01:37:20 <Razor-X> I just keep pinging him, and NOTHING! :(
01:37:23 <ihope> Pah.
01:37:28 -!- rodgebot has quit (Read error: 104 (Connection reset by peer)).
01:37:30 <ihope> Razor-X: CTCP PING?
01:37:36 <GreyKnight> oops
01:37:37 <Razor-X> Yes.
01:37:40 <GreyKnight> my fault
01:38:00 <GreyKnight> Note to self: do not press big red button
01:38:28 <CakeProphet> surrealofy " (sarcasm isend obviously isend = True; isbegin = False;job = index(surrealofication)) (sarcasm isbegin obviously isbegin = True;isend = False;stringstuff = ord(this[index(job:surrealofication))])
01:38:31 <CakeProphet> MUHAHAHAHAHAHA
01:38:46 <CakeProphet> coding in hypothetical languages is fun... it gives me the illusion that I know what I'm talking about.
01:38:46 * pikhq really needs to work on his calculus homework. . .
01:39:18 * GreyKnight works on his lego language
01:41:29 <GreyKnight> Hooray for base-6 numbers
01:41:58 <GreyKnight> Not as good as base-pi, but still...
01:42:24 <oerjanj> i like the fibonacci base...
01:42:40 <GreyKnight> It's ok, but a bugger to write down
01:44:25 <oerjanj> 1 10 100 101 1000 1001 1010 10000 10001 10010 10100 10101 ...
01:44:51 <GreyKnight> hang about, you're not talking about factorial base
01:45:07 <oerjanj> nope i am not although that is nice too
01:45:35 <GreyKnight> Oh, no
01:45:40 <GreyKnight> No, it isn't :-\
01:45:53 <GreyKnight> essentially there's no limit on the size of the digits in factorial base
01:46:13 <GreyKnight> much ugliness ensues
01:47:46 <oerjanj> in fibonacci base each position represents a fibonacci number
01:47:51 <oerjanj> 1 2 3 5 8 etc.
01:47:59 <GreyKnight> yeah, I've seen it before
01:48:08 <GreyKnight> I just misread "fibonacci" as "factorial"
01:48:23 <GreyKnight> It's possible I'm overtired and should sleep.
01:48:53 <oerjanj> always a possibility
01:49:35 <oerjanj> found a link: http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/fibrep.html
02:13:25 -!- oerjanj has quit ("Leaving").
02:13:26 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)).
02:21:25 <Razor-X> I should release this 20 page pamphlet of AP Chemistry formulas I have here.
02:21:35 <Razor-X> Rather than leaving it on my hard drive to rot uselessly.
02:27:10 <GreyKnight> bit rot strikes again
02:28:17 <Razor-X> Quite.
02:28:27 <Razor-X> I'm thinking of a title for my essay.
02:28:48 <Razor-X> I think I'll name it ``A hollistic comparison of three books exploring the nature of human thought''.
02:28:56 <GreyKnight> * holistic
02:28:57 <Razor-X> That seems original and it rolls off the tongue.
02:29:01 <Razor-X> Errr, yeah.
02:29:12 <GreyKnight> And is suitably deep-sounding
02:29:14 -!- pgimeno has joined.
02:30:04 <Razor-X> Maybe I'll add a PS at the end of it telling my teacher I'm not an arrogant snobbish girl but in fact, I couldn't think of a good title.
02:30:39 <GreyKnight> or take the opposite tack and have a footnote from the title saying "Yes, I really am that snobbish"
02:30:54 -!- CXI has joined.
02:31:07 <Razor-X> I would've done that to my last year's English teacher and she would've understood, but I haven't even seen this teacher yet.
02:31:11 <Razor-X> So I'm a bit afraid of doing that.
02:33:15 * ihope plays white noise
02:33:19 <ihope> Very nice.
02:33:26 <GreyKnight> Try pink
02:33:41 <ihope> Yep, that's what I was going to do next.
02:33:59 <ihope> That sounds quite different.
02:34:24 * ihope plays brown noise
02:34:33 <GreyKnight> What a mess!
02:34:47 <ihope> Brown noise, not the brown note.
02:35:10 <ihope> That sounds... that also sounds quite different.
02:35:36 <ihope> And blue noise also sounds different.
02:35:41 * ihope compares it to white noise
02:36:23 <jix> base phi is fun
02:36:36 <jix> it is simmilar to base fibonacci
02:36:37 <ihope> Blue noise seems to be cleaner.
02:36:44 <GreyKnight> base one (unary) is no use :-(
02:36:51 <GreyKnight> and base zero is the LOSE
02:36:52 <ihope> jix: radix, you mean?
02:37:02 <GreyKnight> actually, neither of those are "real" bases
02:37:14 <Razor-X> What about Base Omega?
02:37:27 <GreyKnight> unary only represents positive integers, and base zero is... nothing
02:37:39 <jix> ihope: uh i guess
02:37:49 <ihope> Purple noise sounds even cleaner...
02:37:52 <Razor-X> I meat babies!
02:37:54 <Razor-X> *meant
02:38:14 <Razor-X> ;D
02:38:14 <GreyKnight> o_O
02:38:14 <ihope> Gray noise is something a person could fall asleep to... maybe.
02:38:29 <GreyKnight> ihope: these are getting pretty obscure
02:38:39 <Razor-X> I have no idea what these noise are.
02:38:54 <Razor-X> I only know that someone who assosciates color with sound ended up naming odd sounds according to color.
02:39:12 <GreyKnight> 'salright, ihope is just reading them off a selection menu ;-)
02:39:16 <Razor-X> And when people want to sound scientific about audio equipment, they use one of those noises like buzzwords.
02:39:41 <GreyKnight> "puce noise with chartreuse spots"
02:40:09 <lament> unary represents your mom.
02:40:09 <Razor-X> I say we should've named the noises according to food.
02:40:09 <Razor-X> Pizza noise.
02:40:09 <Razor-X> Papaya Noise sounds awful.
02:40:23 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The future of IRC").
02:40:26 <ihope> We should have named them the same way we name nozzles.
02:40:30 * GreyKnight drinks papaya juice of papower
02:40:38 <Razor-X> I could go to sleep to some Flan Noise.
02:40:39 -!- ivan` has joined.
02:41:00 <Razor-X> Habanero Noise will wake you up pretty quickly.
02:41:03 <ihope> Ah, that's it!
02:41:22 <ihope> That's what grey noise should be called... flan noise.
02:41:38 <GreyKnight> It should be called lament noise
02:41:43 <ihope> Well, time for me to abruptly disappear again.
02:41:46 <lament> and GreyKnight could be called FlanKnight?
02:41:56 <Razor-X> No, we need to name some noise that deals with YourMom lament noise.
02:42:08 * ihope has left irc.freenode.net ("Fooled you!")
02:42:10 <GreyKnight> What *is* the sound of fat?
02:42:25 <Razor-X> The sound of Waikiki Beach? (lame joke)
02:42:29 <lament> :(
02:43:17 <jix> gray noise is cool
02:43:27 <Razor-X> Like flan.
02:43:31 <Razor-X> But flan is cooler.
02:44:31 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
02:46:55 -!- CXI has quit ("If you're reading this, it's probably xchat's fault.").
02:46:56 <lament> we can't fucking swear in #nethack?
02:47:24 <GreyKnight> -_-
02:47:25 -!- Sgeo has joined.
02:47:34 <GreyKnight> Don't make me look down my nose at you
02:47:50 <lament> that would be... pretty disgusting.
02:48:19 <GreyKnight> I have 4 ranks in Furious Glaring and I'm not afraid to use them
02:48:43 <Sgeo> BRB
02:48:56 <lament> GreyKnight: i didn't know you were female
02:49:20 <lament> GreyKnight: asl? wana cybr?
02:49:21 <GreyKnight> 8<
02:49:25 <GreyKnight> GLARE
02:49:37 <lament> that's not a glare, that's scissors, you dumb shit
02:49:55 <GreyKnight> YOU DO BETTER
02:51:04 <Razor-X> (0_0)
02:51:29 <Razor-X> ===========================>>>>>> (X_X) <<<<<========================================
02:51:36 <Razor-X> Glaring at you while you get PWNED.
02:51:37 <GreyKnight> He looks more shocked
02:51:46 <GreyKnight> I like the special effects on the second
02:51:49 <Razor-X> That's RIGHT. Ph33r my ub3r-ASCII art.
02:51:54 <lament> GreyKnight: see, a real female glare
02:52:03 <lament> GreyKnight: not like your pathetic mockery
02:52:32 <GreyKnight> When I want your opinion, I'll rip your head off, scoop out what brains I can find, and crap your opinion back into your skull.
02:52:52 <GreyKnight> :-D
02:53:01 <lament> joke's on you, i don't have any brains!
02:53:06 <Razor-X> Dot dot dot period
02:53:15 <GreyKnight> uh-oh
02:53:20 <GreyKnight> period time-of-the-month
02:53:23 <Razor-X> Dot dot dot full-stop
02:53:23 * GreyKnight runs
02:54:45 <lament> GreyKnight: New moon tonight! You feel bitchy.
02:55:46 <GreyKnight> New moon tonight! You talk gently to the succubus... The succubs hits! The succubus scratches! What a bitch!
02:56:44 <GreyKnight> X Chromosomes: You Need Only One
02:58:37 <lament> Your mom had three.
03:00:01 <GreyKnight> Your ma had two Y chromosomes
03:01:49 <GreyKnight> Think I've got the definition for this lego language sorted... next, an interpreter.
03:03:52 <lament> !gamesby GreyKnight
03:03:56 <EgoBot> Huh?
03:04:03 <lament> !help
03:04:06 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
03:04:08 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
03:04:14 <GreyKnight> Silly lament.
03:04:21 <lament> !lambda \x.x
03:04:33 <lament> ...
03:04:45 <lament> what is this lambda thing?
03:04:51 * lament suspects he might have written it
03:04:58 <GreyKnight> Oh dear
03:05:02 <GreyKnight> better not touch, then
03:05:17 <GreyKnight> It might asplode
03:05:50 <lament> !lambda true
03:06:08 <lament> !ps
03:06:10 <EgoBot> 3 lament: ps
03:06:19 <Razor-X> Obviously Gregor coded that well.
03:06:30 <lament> !lambda \x.y
03:06:46 -!- ivan` has quit (Connection timed out).
03:07:17 <Razor-X> :O
03:07:26 <Razor-X> There's no hq9+ interpreter!
03:07:31 <lament> I remember it working :|
03:07:35 <lament> !lambda 8a9oeu98ao8a9g83998glp3
03:07:38 <EgoBot> Tokenizer error: Tokenizer can't comprehend '8'
03:07:48 <lament> okay. that's a different lambda.
03:08:21 <lament> !lambda print "hello world"
03:08:21 <Razor-X> !lazyk `1
03:08:26 <EgoBot> Parser error: Unbound variable: print
03:08:26 <EgoBot> While parsing "./tmp/egobot.l2Rlk5": Invalid character!
03:08:33 <Razor-X> ;D
03:08:51 <lament> what the hell is this "lambda" and how does it work.
03:08:56 <lament> !lambda "hello"
03:08:58 <EgoBot> hello
03:09:09 <Razor-X> !lambda s
03:09:21 <Razor-X> !lambda j
03:09:23 <lament> !lambda (\x."hello")"world"
03:09:24 <EgoBot> Parser error: Unbound variable: j
03:09:26 <EgoBot> hello
03:09:38 <GreyKnight> !lambda "lol" "lament"
03:09:39 <lament> !lambda (\x.x "hello")"world"
03:09:41 <EgoBot> lollament
03:09:43 <EgoBot> helloworld
03:09:54 <lament> !lambda a="hello"
03:09:56 <EgoBot> Parser error: list index out of range
03:10:22 <lament> what the fuck.
03:10:23 -!- ivan` has joined.
03:10:36 <lament> okay i get it.
03:10:48 <lament> i did write this.
03:10:48 * GreyKnight sets mode +nerdrage lament
03:11:13 <lament> !lambda #list
03:11:16 <EgoBot> [and c0 c1 c10 c2 c256 c3 c4 c5 c6 c7 c8 c9 exp fact false fr i i0 i1 if iszero k mult not or plus pred s show succ true y]
03:11:31 <lament> !lambda #show iszero
03:11:36 <EgoBot> \n.(n \x,x,y.y \x,y.x)
03:11:52 <lament> haha \x,x,y
03:12:09 <Razor-X> Good job lament.
03:12:13 <Razor-X> Can't remember what you even wrote.
03:12:24 <GreyKnight> Finally figured out how to use your own crappy software
03:12:31 <lament> i remember fixing that \x,x,y issue but only offline
03:12:43 <lament> anyway it doesn't affect the functionality
03:13:09 <lament> !lambda #show iszero c0
03:13:12 <EgoBot> \n.(n \x,x,y.y \x,y.x)
03:13:48 <lament> !lambda #show iszero c1
03:13:50 <EgoBot> \n.(n \x,x,y.y \x,y.x)
03:14:13 <lament> !lambda #show (iszero c1)
03:14:16 <EgoBot> \x,y.y
03:14:28 <Razor-X> \x,y.y?
03:14:34 <Razor-X> Why a comma and a period?
03:14:52 <lament> comma between arguments, period between arguments and the body
03:15:13 <lament> !lambda greyknight = "idiot" ;
03:15:15 <GreyKnight> \x,y shorthand for \x.\y. pretty much
03:15:30 <lament> !lambda greyknight
03:15:32 <EgoBot> idiot
03:16:03 <lament> there we go.
03:18:33 <GreyKnight> !lambda (\x.x x)(\x.x x)
03:18:36 <EgoBot> Parser error: Unbound variable: x
03:19:03 * pikhq has his Calc work done. :)
03:19:17 <lament> parser error why?
03:20:03 <GreyKnight> !lambda #show y
03:20:06 <EgoBot> \f.(\x.(f x x) \x.(f x x))
03:20:14 <lament> oh
03:20:21 <lament> parser error because my parser is dumb?
03:20:30 <lament> !lambda (\x.x x) (\x.x x)
03:20:32 <GreyKnight> like author, like program
03:20:32 <EgoBot> Parser error: Unbound variable: x
03:20:33 <lament> there we go :)
03:20:36 <lament> o_O
03:20:42 <lament> it works on my local copy
03:20:58 <GreyKnight> !lambda (\x.(x x))(\x.(x x))
03:21:03 <EgoBot> /bin/bash: line 1: 11535 Segmentation fault ./lambda/lambda.py <./tmp/egobot.7E27T9
03:21:08 <GreyKnight> o_O
03:21:15 <pikhq> Now *that* takes skill.
03:21:16 <GreyKnight> O_o
03:21:20 <GreyKnight> \o/
03:21:37 * pikhq thinks that EgoBot was *not* meant to handle recursion. ;)
03:21:49 <lament> yeah, it segfaults locally on the program you originally gave
03:21:53 <GreyKnight> Do Not Taunt Happy Fun Ball
03:22:22 <lament> (Python segfaults due to running out of stack - one of unpleasant little things about Python)
03:22:44 <GreyKnight> That's a pretty assy way to handle running out of stack
03:23:14 <lament> your FACE is pretty assy.
03:23:23 <pikhq> (also an unpleasent thing about Tcl (although Tcl handles it better *AND* there's a package in Tcllib to do tail call optimisation, so you shouldn't run into it if you're sane))
03:24:20 <Razor-X> (Use Scheme.)
03:24:30 <GreyKnight> (use gkd-lisp)
03:24:48 <pikhq> (I intend to learn Lisp)
03:24:53 <Razor-X> (display "Ew.")
03:25:33 <pikhq> "Reverse Polish Lisp FTW." out
03:41:42 <RodgerTheGreat> hey, uh- question: could anyone recommend a TCL interpreter for OSX, preferably one with downloadable binaries?
03:41:50 <RodgerTheGreat> I think I want to learn TCL
03:41:58 <pikhq> First, it's Tcl.
03:42:04 <RodgerTheGreat> fine
03:42:13 <pikhq> Second, there's only one Tcl interpreter, and that is Tcl.
03:43:47 <Razor-X> Can you reccomend a Tcl compiler?
03:44:12 <Razor-X> I don't think I'll be venturing out of Scheme for a while, but y'know, just for the awesomeness.
03:44:15 <pikhq> No Tcl compilers (except maybe the bytecode compiler that's part of the interpreter).
03:45:07 * RodgerTheGreat sighs
03:45:20 <RodgerTheGreat> well, can I get OSX binaries for Tcl anywhere?
03:46:06 <GreyKnight> http://tcltkaqua.sourceforge.net/
03:46:26 <GreyKnight> Remember: google is your friend
03:46:36 <RodgerTheGreat> awesome
03:46:37 <Razor-X> pikhq: AWFUL-O.
03:46:50 <pikhq> http://tcltkaqua.sourceforge.net/
03:46:59 <pikhq> Razor-X: What?
03:47:02 <GreyKnight> Is there an echo in here?
03:47:08 <pikhq> GreyKnight: Yeah.
03:47:33 <GreyKnight> You're supposed to say "...echo in here?" ;-)
03:48:27 <Razor-X> pikhq: There's no compiler ;-;.
03:48:41 <pikhq> http://jim.berlios.de/ I lied. There are two implementations.
03:49:07 <Razor-X> YOU LIAR.
03:49:19 <Razor-X> You dash my hopes and dreams and then tell me you're a LIAR?!
03:49:26 <pikhq> Although Jim is only a subset of it. . .
03:49:28 <Razor-X> Oh cruel cruel world of ours!
03:49:38 * RodgerTheGreat senses great anger
03:49:57 <Razor-X> I feel your anger, it gives you focus, it makes you stronger!
03:50:00 <Razor-X> *can feel
03:51:02 <Razor-X> Name that movie!
03:51:05 <CakeProphet> Hmmm...
03:51:09 <CakeProphet> I give you all a challenge.
03:51:20 <Razor-X> You're changing the subject, BUB!
03:51:23 <RodgerTheGreat> uhm...
03:51:41 <RodgerTheGreat> a star-wars, perhaps?
03:51:55 <CakeProphet> Create the most efficient Ackermann function you can... the person that can return the most results wins.
03:52:13 <CakeProphet> Unfortunately... you'll have to wait till tomorrow to claim victory... because I'm leaving in a few minutes.
03:52:24 <Razor-X> Here's another line from that movie:
03:52:24 <CakeProphet> By the way..... http://en.wikipedia.org/wiki/Ackermann_function
03:52:46 <pikhq> Make it pre-store the results. :p
03:52:47 <Razor-X> She was alive, I felt it!!!!!
03:52:59 <Razor-X> And a last line:
03:53:01 <Razor-X> Ahhhhhh!
03:53:02 <RodgerTheGreat> huhm.
03:53:08 <Razor-X> I think the last line is the most descriptive one.
03:53:15 <RodgerTheGreat> I'm thinking Dune, for some reason.
03:53:24 <GreyKnight> Ackermann function, been there, done that, got the horrible picture
03:53:45 <GreyKnight> I don't think it's Dune
03:53:50 <RodgerTheGreat> hm.
03:54:15 <Razor-X> A female dies in Dune?
03:54:23 <Razor-X> I thought Chani dies in the second (and last one I read) book?
03:54:32 <RodgerTheGreat> she does.
03:54:35 <GreyKnight> she dies at childbirth
03:54:38 <GreyKnight> </spoiler>
03:54:42 <RodgerTheGreat> haha
03:54:45 <Razor-X> Yeah. I know.
03:54:47 <Razor-X> MY MOON FELL!
03:54:55 <Razor-X> That's the only line I really remember from that book.
03:55:01 <RodgerTheGreat> wha?
03:55:04 <Razor-X> And Bene Tleilaxu, because of the horrible sense of spelling.
03:55:08 <Razor-X> I couldn't stand Dune, I'm sorry.
03:55:12 <GreyKnight> Leto II is by far the most badass character in the entire series
03:55:25 -!- CakeProphet has quit (Connection reset by peer).
03:55:29 <Razor-X> Who's he?
03:55:30 <GreyKnight> If you haven't read God Emperor of Dune, you've missed out on his brilliance
03:55:44 <Razor-X> The first book was mediocre. The second book was awful.
03:55:56 <RodgerTheGreat> I thought the baron Harkonnen was a pretty amazing bad guy, and Peiter DeVries is pretty awesome as well.
03:56:19 <GreyKnight> Leto II knocks the stuffing out of all of 'em, of course
03:56:23 <GreyKnight> It's no contest
03:56:26 <RodgerTheGreat> I thought the first was the best, but "God Emperor" is a close second. I haven't read anything after that.
03:56:36 -!- CakeProphet has joined.
03:56:37 <RodgerTheGreat> I want to read the one about the Butlerian Jihad.
03:57:15 <GreyKnight> RodgerTheGreat: save yourself time and money; don't
03:57:25 <GreyKnight> I bought it and pretty soon wished I hadn't.
03:57:33 * CakeProphet demands an Ackermann function from all of you!
03:57:41 <CakeProphet> Write it in brainfuck... even.
03:57:50 <RodgerTheGreat> GreyKnight: Really? D:
03:58:18 <GreyKnight> RodgerTheGreat: They are molesting Herbert Senior's corpse
03:59:48 <RodgerTheGreat> but the butlerian Jihad itself is such a *great* story topic! How could they go wrong?
04:00:06 <GreyKnight> By trying to cram everything into a very small space
04:00:51 <GreyKnight> Basically the premise of the legend books is that every single technological and social detail of the Empire was established at the time of the Jihad, 10 millenia ago
04:01:39 <RodgerTheGreat> well, to a degree, that makes sense.
04:01:45 <GreyKnight> I found the machines to be pretty unappealing, too.
04:02:05 <RodgerTheGreat> in what way? Stereotypical?
04:02:14 <GreyKnight> bland and tasteless
04:02:34 <RodgerTheGreat> <:(
04:02:50 <GreyKnight> No depth to them at all... Star Trek's Lt. Cmdr. Data is a more three-dimensional character, and he sucks starfish.
04:02:55 <RodgerTheGreat> well, fuck. now I don't have anything lined up to read the next time I have a chance.
04:03:07 -!- CXI has joined.
04:03:07 <GreyKnight> hold on, I'll get you something:
04:03:13 <GreyKnight> Have you read the Amber series?
04:03:20 <GreyKnight> (Roger Zelazny)
04:03:36 <RodgerTheGreat> did they go the usual retarded "I am an emotionless machine- humans are inefficient and must be destroyed!" route?
04:03:45 <RodgerTheGreat> no
04:03:51 <GreyKnight> Pretty much, yes
04:04:00 <GreyKnight> Well, there's your next read
04:04:01 <RodgerTheGreat> fuck
04:04:06 <RodgerTheGreat> ok
04:04:12 <RodgerTheGreat> I'll look into it
04:04:20 <GreyKnight> *that* was a good series... the plot is so complex even I get taken by surprise
04:04:46 <GreyKnight> The characters actually act like they have personalities :-o
04:05:46 <RodgerTheGreat> but, MAN, that tack is overdone. I've always thought that one of the best approaches to AI programming would involve simulating emotions. Logic in humans is superimposed over emotion, and our emotional responses represent a large number of the elusive things humans are good at.
04:07:10 <GreyKnight> They do have one Data recolour who's trying to understand emotions, but he gets all whiny because emotion does not compute
04:07:35 <GreyKnight> Of course, being an evil robot, he kills things, so not a complete copy-and-paste of Data
04:07:56 * RodgerTheGreat sighs
04:08:36 <RodgerTheGreat> why are robots so rarely sympathetic characters?
04:09:25 <GreyKnight> well, there's the token robot who works with the "trustee" human slaves and goes all noble and what-have-you
04:09:40 <RodgerTheGreat> wait, I can answer that myself: people want heroes thay can directly identify with.
04:09:41 <GreyKnight> but this probably evokes no feeling of surprise in you
04:09:50 <RodgerTheGreat> well, yeah
04:09:59 <RodgerTheGreat> that's the other stereotype.
04:10:25 <RodgerTheGreat> Robots are always either paladins or maniacal killing machines with a pretense of logic.
04:10:45 <GreyKnight> Token Noble Sacrifice
04:11:09 <RodgerTheGreat> yeah,
04:11:20 <RodgerTheGreat> it's just depressingly formulaic.
04:11:42 <GreyKnight> Amber manages to continually surprise you as well as somehow managing to weave all the complex threads together into a coherent world
04:12:26 <RodgerTheGreat> what kinda vein is Amber in? Cyperpunk, semi-fantasy, hard sci fi... ?
04:12:40 <GreyKnight> I say "world", because there's little sense of an actual *story* as such; things are coming and going without so much as a by-your-leave, like real life
04:12:50 <GreyKnight> It's an odd sort of fantasy
04:13:19 <RodgerTheGreat> hm.
04:13:28 <GreyKnight> Technically it incorporates every story ever written, and many that haven't been, but obviously the author can only cover so much of the multiverse ;-)
04:13:36 <RodgerTheGreat> haha
04:14:26 <RodgerTheGreat> I wish it was possible to do a proper movie adaptation of Snow Crash. That would be *amazing* if they could be true to the book.
04:20:19 <RodgerTheGreat> but back on my previous point, I'd like to see more fiction where machines are portrayed more like Asimov did, where they were generally the victims of manipulation at the hands of humans.
04:20:42 <RodgerTheGreat> they still managed to be heroes, on occasion.
04:22:25 <RodgerTheGreat> Characters like flatline from neuromancer are pretty good as well.
04:48:01 <GreyKnight> I managed to come up with a lego-based language that uses black, red, yellow, green, blue, white, and transparent bricks
04:48:14 <GreyKnight> plus I'd like minifigures for the wandering processors :-)
04:49:21 -!- CakeProphet has quit (No route to host).
04:58:41 -!- Arrogant has joined.
05:00:54 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- 100,000+ downloads can't be wrong").
05:01:10 <Sgeo> Bye all
05:01:23 -!- Sgeo has quit ("Ex-Chat").
05:02:51 -!- ivan` has joined.
05:03:07 -!- bsmntbombdood_ has joined.
05:03:35 -!- bsmntbombdood_ has quit (Client Quit).
05:05:17 <RodgerTheGreat> g'night, all
05:05:40 -!- RodgerTheGreat has changed nick to RodgerTheAfk.
05:41:29 -!- calamari has joined.
06:17:02 -!- anonfunc has joined.
06:22:12 -!- anonfunc_ has joined.
06:22:13 -!- anonfunc has quit (Remote closed the connection).
06:23:02 -!- anonfunc_ has changed nick to anonfunc.
07:46:38 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The future of IRC").
07:50:27 -!- anonfunc has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:26:00 <Razor-X> The Ackermann function is *trivial* to define in any Lisp.
08:26:25 <Razor-X> It's actually pretty useful for certain situations. (Which I didn't know.)
08:27:06 <GreyKnight> funny you should mention it, someone in another channel just tried to break my #eval script by running (ackermann 4 4) in it ;-)
08:27:24 <Razor-X> Hehe.
08:27:35 <GreyKnight> execution timeout ftw
08:28:05 <Razor-X> Is it useful at all in Mathematics outside of being quaint to prove something?
08:28:06 <GreyKnight> We were using (defun ackermann (a b) (if (= a 0) (1+ b) (if (< a 0) 0 (if (= b 0) (ackermann (1- a) 1) (ackermann (1- a) (ackermann a (1- b)))))))
08:28:23 <Razor-X> Use cond :(.
08:28:31 <Razor-X> (cond) is a *lot* cleaner.
08:28:48 <Razor-X> Oh wait, you haven't written (cond) have you? :P.
08:29:13 <GreyKnight> I thought not, butI just checked and it seems I do :-o
08:29:20 <Razor-X> :D.
08:30:14 <GreyKnight> Wikipedia says A is used in time-complexity analysis and for some benchmarking
08:30:31 <Razor-X> You should make (if) expand to a (cond).
08:30:44 <Razor-X> Oh wait, I don't think you can, because they're both special forms.
08:30:45 <GreyKnight> It's a good way to test how well your compiler handles massive recursion ;-)
08:30:48 -!- calamari has quit ("Leaving").
08:31:38 <GreyKnight> actually, with this half-assery approach I could probably pull it off...
08:31:55 <GreyKnight> it essentially has only "functions" and "macros"
08:32:59 <GreyKnight> and isn't anywhere near generic enough to allow users to define the latter :-\
08:33:35 <GreyKnight> Still, it keeps me out of mischief
08:35:18 <Razor-X> :P
08:36:17 <Razor-X> One more error with your function.
08:36:28 <GreyKnight> O RLY
08:36:36 <Razor-X> (if (> a 0) not (if (< a 0)
08:37:02 <GreyKnight> (if (< a 0) 0
08:37:18 <GreyKnight> notice that little 0 sneaking in unobserved!
08:37:23 <Razor-X> Read the Wikipedia definition.
08:37:33 <Razor-X> (> a 0)
08:37:44 <Razor-X> The integers are all non-negative.
08:37:53 <GreyKnight> yah
08:38:11 <GreyKnight> I just threw that in in case some wise guy decided to pass a negative argument in
08:38:24 <Razor-X> Oh :P.
08:38:36 <Razor-X> I would else it to 0 then.
08:40:48 <Razor-X> (ackermann 6 90) is calculating :P.
08:41:14 <Razor-X> ..... And calculating.
08:41:44 <Razor-X> (ackermann 6 20) gave me a result, at least, heh.
08:43:05 <GreyKnight> gkdlisp doesn't store any precalculated values, so I'll not be going anything like that deep :-o
08:43:19 <Razor-X> Gkdlisp is horrible.
08:43:20 <Razor-X> :D.
08:43:48 <Razor-X> I still can't see why CL *insists* on having defun and define.
08:46:22 <GreyKnight> Nothing listed in the spec for just define, but there are several define- things
08:47:12 <Arrogant> scheme<3
08:51:14 -!- CXI has quit (Success).
08:58:21 <Razor-X> Well, Scheme is consistent in that (define) maps a result to a symbol (creating state).
08:58:25 <Razor-X> Functions too.
09:00:00 <GreyKnight> ah, so you use (define) to attach *anything* to a symbol?
09:00:21 <Arrogant> GreyKnight, yeah.
09:00:45 <Arrogant> Makes higher-order functions a lot prettier, for one ;)
09:02:00 <GreyKnight> I'm sure you could cook up something such in CL, as per our discussion on Lisp readers earlier ;-)
09:02:11 <GreyKnight> but CL is intended to be *Common*, not perfect
09:02:47 <GreyKnight> which leads to a few oddities here and there
09:03:58 <Razor-X> Hehe.
09:04:18 <GreyKnight> FSVO "few"
09:04:25 <Razor-X> The problem I had with CL in the very beginning was that I couldn't get used to the irregularities and the insane amount of things to memorize.
09:04:41 <Razor-X> Scheme feels a lot more fun to me, since I can abstract it all much more cleanly.
09:04:54 <Arrogant> I didn't like CL
09:05:05 <Razor-X> Yeah. The same here.
09:05:13 <Razor-X> I guess that's how you can tell Scheme is a-callin' :P.
09:05:33 <Razor-X> Uggh. I hate writing parsers though, and reading fun ABNFs.
09:05:45 <Razor-X> *``fun''
09:06:05 <Arrogant> CL seemed like a big mess to me, with a million things to remember. And the multiple namespaces didn't sit right with me.
09:06:22 <Razor-X> Heh. Yeah, I got the same feeling.
09:07:03 <Razor-X> MIT/GNU Scheme's standard is pretty good. It comes with raw X usage, TCP streams, and all.
09:08:05 <GreyKnight> By all accounts, though, the world before CL was one of many different, barely intersecting types of Lisp
09:08:14 <Razor-X> True.
09:08:27 <GreyKnight> At least now everyone has something to touch base with, even if only to say why they're better :-P
09:08:47 <Razor-X> :P
09:09:01 <Razor-X> I love it when a book calls itself a handbook but has 1000+ pages.
09:09:08 <Razor-X> 1309 actually.
09:09:47 <GreyKnight> It's a two-handbook
09:10:45 <Razor-X> Haha.
09:11:16 <Razor-X> In Haskell, I got to steal the IRC parser code from elsewher.
09:11:20 <Razor-X> *elsewhere
09:11:26 <Razor-X> Now I got to write it myself :(. I hate parsers.
09:12:26 <GreyKnight> I'm sure I saw some Scheme IRC code somewhere...
09:13:20 <Razor-X> I know it exists, if *Haskell* had IRC code, Scheme must have it.
09:14:18 <Razor-X> Haskell's only IRC thing out there was for HaskellBot, which was filled with an insane amount of monads, and the Hircules client's ``library'' which was also lumped with a whole bunch of useless GUI functions.
09:14:39 <Razor-X> I think I made what can be considered to be the first ``IRC library'' in Haskell, no matter how rudimentary it is.
09:16:21 <GreyKnight> http://sisc.cvs.sourceforge.net/sisc/contrib/irc/scheme/
09:18:12 <Razor-X> But, I wanna try my hand at the parser myself.
09:18:24 <Razor-X> Heh.
09:18:36 <Razor-X> Of course, if I need to, I'll just steal SISC's code :D.
10:48:08 <pgimeno> [ot] would someone help me make up some words for which "WORD" is an acronym, which imply some rant towards M$ or Word itself? All I could come with is "We Ought to Rant Doubly".
11:07:45 <pgimeno> nm
11:08:10 <pgimeno> s/acronym/abbreviation/
11:09:04 <pgimeno> er, forget it
11:14:48 -!- Arrogant has quit ("Leaving").
11:17:39 -!- Arrogant has joined.
11:47:34 -!- jix has joined.
11:53:42 -!- Arrogant has quit ("Leaving").
12:11:43 -!- jix has quit ("This computer has gone to sleep").
12:16:17 <ihope> Wilted Or Rancid Butterflies?
12:16:25 <ihope> Erm, Dandelions.
12:16:53 <ihope> Or maybe something like We Overwrite Random Data.
12:23:58 <pgimeno> nice one :)
12:24:01 <ihope> Or Word Overwrites Random Data.
12:27:22 <pgimeno> oh, a vijara...
12:27:49 <pgimeno> (vijara is just another recursive acronym)
12:28:23 <ihope> :-)
12:30:10 <ihope> An AAIARAT is a recursive acronym, then
12:30:20 <ihope> Aye?
12:32:19 <pgimeno> indeed
12:39:18 <pgimeno> how would a pangram look like in Japanese?
12:42:15 <ihope> Long.
12:46:56 <pgimeno> oh, there's one in kana: ??????? / ????? / ?????? / ????? / ??????? / ????? / ??????? / ?????
12:52:15 <ihope> What character encoding would that be?
12:52:41 <pgimeno> er, did I forget to switch to utf-8?
12:52:57 <pgimeno> <pgimeno> oh, there's one in kana: いろはにほへと / ちりぬるを / わかよたれそ / つねならむ / うゐのおくやま / けふこえて / あさきゆめみし / ゑひもせす
12:53:36 <pgimeno> that last one was utf-8
12:54:27 <lindi-> very unreadable indeed :/
12:57:36 <pgimeno> er, yes, I suppose
14:59:48 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
15:02:18 -!- puzzlet has joined.
15:13:49 -!- nickie12 has joined.
15:14:37 <nickie12> Please give me the source of 99 Bottles of Beer in IRP,if yuo do it, it would be lovely
15:17:58 -!- Keina has joined.
15:18:05 <nickie12> !help
15:18:09 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
15:18:11 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
15:19:42 <nickie12> Can anyone say "hello world" to the channel? That would be lovely
15:20:08 <Keina> Hello World
15:20:32 <nickie12> Please write it without capitals, OK?
15:21:05 <Keina> hello world
15:21:16 <nickie12> Thank you!
15:21:51 <nickie12> Now, can anyone say the source code of 99 Bottles of Beer to the channel?
15:22:08 <GreyKnight> the source code of 99 Bottles of Beer
15:22:22 <Keina> *rofl*
15:22:35 <Keina> say *rofl*
15:22:41 <nickie12> *rofl*
15:22:45 <Keina> lol
15:23:00 <nickie12> Please don
15:23:15 <nickie12> 't do a DDoS attack by saying *rofl*
15:26:28 -!- jix has joined.
15:26:36 <nickie12> Hi jix
15:26:38 <Keina> say hi
15:26:45 <Keina> please
15:26:47 <jix> moin
15:26:50 <nickie12> hi
15:26:58 <Keina> moin???
15:27:12 <Keina> deutsh?
15:27:22 <nickie12> Please give me the answer to this question: Is jix/are you german?
15:27:34 <jix> i am
15:27:40 <Keina> cool
15:27:44 <Keina> wilkomen im club
15:28:04 <Keina> dachte hier weren nur englender
15:28:06 <jix> wer ist denn noch alles deutsch?
15:28:09 <nickie12> I'm too ^^
15:28:10 <Keina> ich
15:28:24 <Keina> afk
15:28:26 <jix> hmm hier waren nochmal 2 andere deutsche... aber die sind glaub ich nicht da
15:29:30 <jix> http://www.frappr.com/esolang << here is a map of esolang programmers
15:30:14 <nickie12> Kanns sein, dass "Anders" deutsch ist?(English: Am I right with the belief Anders is german?(Anders is the german word for different))
15:32:08 <nickie12> If anyone needs it I can post the source code of the "99 Bottles of Beer" song to the channel.
15:35:10 <jix> nickie12: according to geobytes.com Anders is from sweden
15:35:18 <jix> but according to geobytes.com i'm from italy ^^
15:35:31 <jix> and it would be new to me that bremen is an italian city ^^
15:35:56 <nickie12> Bremen is a german city ^^
15:36:10 <jix> duh... that was the point...
15:38:53 <nickie12> oh... I didn't understand your sentence... *bang my head on the wall
15:38:54 <nickie12> *
15:39:28 <jix> "leichte schläge auf den hinterkopf erhöhen das denkvermögen" ^^
15:40:28 <nickie12> Please note that I'm grinning now *laugh*
15:51:33 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)).
15:51:38 <Keina> re
15:53:17 -!- GregorR-W has joined.
15:53:26 <nickie12> Welcome back Keina
15:53:29 <nickie12> Hello
15:54:01 <Keina> say idiot
15:54:09 <jix> hey GregorR-W
15:54:20 <nickie12> Please don't be so rude Keina
15:54:25 <Keina> lol
15:54:33 <GregorR-W> Hm
15:54:38 <Keina> wer is alles deutsh?
15:54:47 <jix> Keina: das hatten wir schon...
15:54:52 <Keina> ich weis
15:54:56 <Keina> aber ich war afk
15:55:01 <Keina> kan jemand gekomen sein
15:55:15 <jix> Keina: the only germans here are AFAIK you, nickie12 and i
15:55:23 <Keina> stimt
15:55:35 <Keina> und anders
15:55:38 <Keina> iner leiste rechts
15:55:42 <Keina> stet ganz oben
15:55:47 <Keina> einer der "anders" heist
15:55:52 <Keina> is das nit deutsh?
15:56:03 <jix> Keina: no he's from sweden AFAIK
15:56:09 <Keina> ok
15:57:09 <nickie12> Please produce an output with an IRC command
15:57:33 <ihope> #eval (+ 1 2 3 4)
15:57:34 <GreyKnight> #do eval (+ 1 2 3 4)
15:57:36 <GreyKnight> #> 10
15:57:52 <ihope> #help
15:57:52 <GreyKnight> #help <command> : Tells you what a command does.
15:58:07 <jix> #list
15:58:08 <jix> #info
15:58:09 <ihope> That could cause conflicts.
15:58:22 <jix> #do eval (+ 1 2)
15:58:22 <GreyKnight> #do eval (+ 1 2)
15:58:24 <GreyKnight> #> 3
15:58:37 <jix> #do eval (+ 2 3)
15:58:38 <GreyKnight> #do eval (+ 2 3)
15:58:39 <GreyKnight> #> 5
15:58:43 <jix> #do eval (exit)
15:58:44 <GreyKnight> #do eval (exit)
15:58:46 <GreyKnight> #> NIL
15:58:48 <GreyKnight> #! Error: (998) 'EXIT' IS NOT A FUNCTION OR A MACRO
15:58:50 <jix> #do eval (quit)
15:58:51 <GreyKnight> #do eval (quit)
15:58:53 <GreyKnight> #> NIL
15:58:54 <GreyKnight> #! Error: (998) 'QUIT' IS NOT A FUNCTION OR A MACRO
15:59:05 <Keina> lol
15:59:06 <nickie12> #do eval (+ 1 2 3 4)
15:59:07 <GreyKnight> #do eval (+ 1 2 3 4)
15:59:08 <GreyKnight> #> 10
15:59:15 <ihope> #eval (eval '(eval '(eval)))
15:59:17 <GreyKnight> #do eval (eval '(eval '(eval)))
15:59:19 <GreyKnight> #> NIL
15:59:20 <GreyKnight> #! Error: (483) FUNCTION 'eval' TAKES ONE ARG
15:59:22 * GreyKnight congratulates everyone on their counting skills
15:59:46 <Keina> lols
15:59:59 <Keina> i like this channel
16:00:12 <nickie12> Please recognize that I go and play badminton
16:00:15 <nickie12> Goodbye
16:00:17 <Keina> cu
16:00:25 -!- nickie12 has quit.
16:00:28 <ihope> #eval (+ 3)
16:00:30 <GreyKnight> #do eval (+ 3)
16:00:31 <GreyKnight> #> NIL
16:00:33 <GreyKnight> #! Error: (327) FUNCTION + TAKES AT LEAST TWO ARGS
16:00:38 <ihope> Wahb wahb wahb
16:00:40 <Keina> say "cu"
16:00:50 <Keina> lol
16:00:52 <ihope> Cu?
16:01:01 <Keina> see you
16:01:04 <Keina> cu
16:01:13 <ihope> Ah.
16:01:22 <GreyKnight> apparently there's a slang word "cu" in some language, which is rather rude
16:01:23 <ihope> Now say "nedm"/
16:01:34 <GreyKnight> I forget which, but it came up in a mailing list one time :-)
16:01:39 <ihope> #eval (not t)
16:01:41 <GreyKnight> #do eval (not t)
16:01:42 <GreyKnight> #> NIL
16:01:44 <ihope> #eval (not nil)
16:01:44 <GreyKnight> #! Error: (998) 'NOT' IS NOT A FUNCTION OR A MACRO
16:01:44 -!- Keina has left (?).
16:01:49 <GreyKnight> #do eval (not nil)
16:01:50 <ihope> Mmh.
16:01:51 <GreyKnight> #> NIL
16:01:52 <GreyKnight> #! Error: (998) 'NOT' IS NOT A FUNCTION OR A MACRO
16:02:07 <ihope> What unary functions are there?
16:02:55 <GreyKnight> ummm
16:03:01 <GreyKnight> (car), (cdr) ?
16:03:10 <ihope> Those'd work.
16:03:19 <ihope> #eval (((lambda (x) (lambda (y) (x y))) cdr) '(3 4 5))
16:03:19 <GreyKnight> #do eval (((lambda (x) (lambda (y) (x y))) cdr) '(3 4 5))
16:03:21 <GreyKnight> #> NIL
16:03:23 <GreyKnight> #! Error: (974) FIRST ITEM IS NOT A SYMBOL OR LAMBDA (''((LAMBDA (X) (LAMBDA (Y) (X Y))) CDR)')
16:03:29 <ihope> Uh?
16:03:41 <ihope> #eval (lambda (x) (lambda (y) (x y)))
16:03:42 <GreyKnight> #do eval (lambda (x) (lambda (y) (x y)))
16:03:44 <GreyKnight> #> #<CLOSURE :LAMBDA (X) (LAMBDA (Y) (X Y))>
16:04:02 <ihope> #eval ((lambda (x) (lambda (y) (x y))) cdr)
16:04:03 <GreyKnight> #do eval ((lambda (x) (lambda (y) (x y))) cdr)
16:04:04 <GreyKnight> #> #<CLOSURE :LAMBDA (Y) (X Y)>
16:04:41 <ihope> Methinks that should be #<CLOSURE :LAMBDA (Y) (CDR Y)>, no?
16:05:19 <ihope> #do eval ((lambda (y) (cdr y)) '(3 4 5))
16:05:20 <GreyKnight> #do eval ((lambda (y) (cdr y)) '(3 4 5))
16:05:22 <GreyKnight> #> '(4 5)
16:05:47 <ihope> #eval (((lambda (x) (lambda (y) (x y))) cdr) '(3 4 5))
16:05:48 <GreyKnight> #do eval (((lambda (x) (lambda (y) (x y))) cdr) '(3 4 5))
16:05:50 <GreyKnight> #> NIL
16:05:51 <GreyKnight> #! Error: (974) FIRST ITEM IS NOT A SYMBOL OR LAMBDA (''((LAMBDA (X) (LAMBDA (Y) (X Y))) CDR)')
16:06:01 <ihope> #eval (((lambda (cdr) (lambda (y) (cdr y))) x) '(3 4 5))
16:06:03 <GreyKnight> #do eval (((lambda (cdr) (lambda (y) (cdr y))) x) '(3 4 5))
16:06:05 <GreyKnight> #> NIL
16:06:07 <GreyKnight> #! Error: (974) FIRST ITEM IS NOT A SYMBOL OR LAMBDA (''((LAMBDA (CDR) (LAMBDA (Y) (CDR Y))) X)')
16:06:13 <ihope> #eval (((lambda (cdr) (lambda (y) (cdr y))) cdr) '(3 4 5))
16:06:14 <GreyKnight> #do eval (((lambda (cdr) (lambda (y) (cdr y))) cdr) '(3 4 5))
16:06:16 <GreyKnight> #> NIL
16:06:17 <GreyKnight> #! Error: (974) FIRST ITEM IS NOT A SYMBOL OR LAMBDA (''((LAMBDA (CDR) (LAMBDA (Y) (CDR Y))) CDR)')
16:06:29 <ihope> Okay, this means that Lisp is stupid and everybody should stop using it.
16:06:33 <GreyKnight> One thing about this... it's rather spammy.
16:06:43 <GreyKnight> I might drop the echo line.
16:07:09 -!- pgimeno has joined.
16:08:13 <GreyKnight> what were you trying to make, anyway?
16:17:24 <GregorR-W> Lesse .. #eval (system "rm -rf /")
16:20:24 -!- tgwizard has joined.
16:23:45 <lindi-> GreyKnight: does that answer query too? ;)
16:24:50 <GreyKnight> It should do, although no-one's tested that part yet
16:25:00 <lindi-> GreyKnight: can i try?
16:25:22 <GreyKnight> yah
16:33:25 <GregorR-W> Every time I'm looking for something GNU/Linux-related and obsolete, I search and search and search and then find it on planetmirror.
16:33:33 <GregorR-W> You'd think I'd learn to look at planetmirror first.
16:35:30 -!- Keina has joined.
16:35:47 <Keina> say hi
16:36:13 -!- Keina has left (?).
16:40:42 <GregorR-W> I've heard of interpreters crashing, but that *HAHAHAHA I AM ENDLESSLY AMUSING*
16:47:30 <ihope> #eval (system "ls /")
16:47:32 <GreyKnight> #do eval (system "ls /")
16:47:33 <GreyKnight> #> NIL
16:47:35 <GreyKnight> #! Error: (998) 'SYSTEM' IS NOT A FUNCTION OR A MACRO
16:47:45 <ihope> :-)
16:47:56 <GreyKnight> :-P
16:49:30 <GreyKnight> nice try
16:49:59 <GregorR-W> So, I'm thinking of adding explicit security levels to Plof. Internal/library functions would have a definition of their security level (perhaps 1-5) depending on trust. So system, for example, would have a trust of 5, but if and println would have a trust of 1. That way, you could (somewhat) safely run a remotely accessable interpreter, so long as you make sure to run it at low trust.
16:50:42 <lindi-> GreyKnight: why not just write an interpreter in lisp
16:51:03 <GreyKnight> lindi-: I wanted to see if I could do one from scratch
16:56:12 -!- Sph1nx has joined.
17:43:51 -!- CXI has joined.
18:36:44 -!- nickie12 has joined.
18:37:04 <nickie12> Please understand that I say hello
18:37:27 * GreyKnight refuses to understand.
18:39:04 <nickie12> Please ask me how to understand something :P
18:39:35 * nickie12 is away for a very short time
18:39:47 <ihope> How do I understand something?
18:41:15 * nickie12 isn't away anymore
18:41:30 <nickie12> You only have to think about it or read about it
18:41:37 <nickie12> Or... maybe 42 :P
18:41:57 * ihope tries to think about that nickie12 says hello
18:42:10 * ihope fails, then tries to read about that nickie12 says hello
18:42:13 * ihope succeeds
18:42:26 <ihope> Oh, wait...
18:42:27 * ihope fails
18:43:58 <nickie12> Ok, please go to a course for dumb guys. I recommend you the course: Understanding the word hello
18:43:59 <nickie12> :P
18:44:42 <ihope> How do I go to a course for dumb guys?
18:44:46 <ihope> :-P
18:44:51 <nickie12> 42
18:44:52 <nickie12> :P
18:45:14 <nickie12> what?
18:45:33 <GregorR-W> "I took that and now I'm smart"
18:45:42 <ihope> So isn't guessing the thing computers are worst at?
18:46:01 <nickie12> Thanks for the translation to dummy language :)
18:48:23 <pikhq> ihope: With Windows, it's the only thing that a computer can do.
18:48:35 <lament> nickie12: A/S/L??
18:48:43 <ihope> I thought crashing was the only thing they could do. :-P
18:49:39 <nickie12> And I thought reporting the personal information to Microsuck and, after that, crashing is the only think they could and should do :P
18:49:58 <nickie12> OK, I use it too, but only for gaming and IRC.
18:50:10 <GregorR-W> Why would you use it for IRC?
18:50:25 <nickie12> Because I love mIRC xD
18:51:07 <GregorR-W> Wow.
18:51:11 <GregorR-W> 1) WINE
18:51:13 <GregorR-W> 2) mIRC sucks.
18:51:14 <lament> does mIRC still suck as much as it used to?
18:51:26 <ihope> So... I didn't say that computers couldn't guess, did I?
18:51:48 -!- Sph1nx has quit (" !").
18:51:56 <nickie12> 1) - I don't use Linux altough I like it, I use my Mac
18:52:29 <nickie12> 2) - give me another scriptable graphical IRC client with an easy scripting language please :P
18:52:39 <lament> nickie12: xchat?
18:52:48 <lament> why do you want your irc client scriptable, anyway?
18:52:50 <GreyKnight> Nobody's implemented Brainf**kIRC yet? :-o
18:52:58 <ihope> Gasp!
18:53:16 <GreyKnight> Chatzilla is scriptable and runs anywhere there's FF
18:53:25 <nickie12> oh
18:53:30 <nickie12> thanks.
18:54:54 <ihope> ChatZilla is scriptable?
18:55:09 <lament> what's the point of scriptable irc clients?
18:55:43 <GreyKnight> lament: You can make fun things like
18:55:47 * GreyKnight pushes lament into a pit. lament lands on a set of iron spikes. The spikes were poisoned. The poison was deadly...
18:55:49 <GregorR-W> ChatZilla /is/ a script.
18:55:57 <GregorR-W> It's JavaScript.
18:56:30 <nickie12> Chatzilla itself is coded in JavaScript?!
18:56:33 <GregorR-W> Yeah.
18:56:35 <GregorR-W> Firefox is to JavaScript as Emacs is to Lisp :P
18:56:54 <lament> GreyKnight: taht's not fun. That just makes you look like an idiot every time you paste it. And it dosen't need a script.
18:56:58 <GreyKnight> It has support for JS plugins as well
18:57:14 * GreyKnight sets mode -fun lament
18:57:54 <nickie12> But I think I don't switch to Chatzilla because I hate JavaScript >.<
18:57:55 <GregorR-W> GreyKnight: That mode was unset long, long ago.
18:58:00 <GregorR-W> JavaScript = awesomeo.
18:58:13 <GregorR-W> JavaScript = underrated.
18:59:03 <ihope> === u is unknown mode char to me
19:00:13 <nickie12> Maybe you can do some cool things like interpreters for esoteric languages in JavaScript, but I don't like it ^^
19:00:54 <lament> javascript is quite nice conceptually
19:01:19 <GregorR-W> It does have some dark, freaky corners, particularly in terms of OO ability.
19:01:29 <ihope> Eew, OO.
19:01:32 <nickie12> I prefer developing in server-side scripting languages, more precisely in PHP
19:01:32 <ihope> I mean yum, OO.
19:01:44 <GregorR-W> nickie12: Apples and oranges.
19:02:14 <nickie12> I'm not born to code in JavaScript...
19:02:45 <lament> PHP blows, though.
19:02:46 <GregorR-W> I was born speaking C.
19:03:05 <GregorR-W> lament's opinion of PHP is fairly typical for this channel. I don't share it.
19:03:26 <GregorR-W> Actually, to get lament's opinion on any language, use this algorithm:
19:03:43 <GregorR-W> if (language == "Python") { lament.likes[language] = true; } else { lament.likes[language] = false; }
19:03:56 <ihope> lamentLikes "Python" = True
19:04:00 <ihope> lamentLikes _ = False
19:04:29 <lament> GregorR-W: that's clearly not true.
19:04:45 <GreyKnight> lament.likes[language] = (language=="Python");
19:05:09 <ihope> Hmm...
19:05:14 <ihope> Oh, yeah.
19:05:23 <lament> you mean
19:05:28 <ihope> lamentLikes x = x == "Python"
19:05:30 <lament> yeah.
19:05:32 <lament> that.
19:05:43 <ihope> All languages look exactly the same with this stuff.
19:05:59 <ihope> def lamentLikes(x):
19:06:11 <ihope> return x == "Python"
19:06:14 <ihope> Or something like that.
19:06:21 <GregorR-W> OK, in case you guys were wondering, the joke is long-dead.
19:06:45 <lament> likes(lament,python) = True
19:06:46 <lament> beat that!
19:07:48 <ihope> likes(lament,python)
19:07:51 <ihope> Sheesh.
19:08:03 <lament> heh
19:08:15 <fizzie> "likes(lament,python)." would be the Prolog way.
19:08:26 <nickie12> <?php (\n) require("mysql.php"); (\n) class likes { (\n) function doeshelikeit($who, $language) { (\n) $query = mysql_query("SELECT * FROM likes WHERE who = $who' } (\n) } $ll = new likes; (\n) echo $ll->doeshelikeit("lament", "phyton")."<br>".$ll->doeshelikeit("lament", "php"); ?>
19:08:27 <ihope> Yeah, that's what I meant.
19:08:30 <nickie12> huch
19:08:36 <nickie12> whoops
19:08:49 <lament> oh wow
19:08:50 <lament> clearly that's the best entry so far.
19:10:19 <nickie12> <?php (\n) require("mysql.php"); (\n) class likes { (\n) function doeshelikeit($who, $language) { (\n) $query = mysql_query("SELECT * FROM likes WHERE who = '$who' AND language = '$language'; if(mysql_num_rows($query) = intval("0")) return true; (\n) else return false; (\n) } (\n) } $ll = new likes; (\n) echo $ll->doeshelikeit("lament", "phyton")."<br>".$ll->doeshelikeit("lament", "php"); ?>
19:10:26 <nickie12> thats it *grin*
19:10:36 <lament> amazing. Now i see the light.
19:11:00 <ihope> lamentLikes x = length x == 6 && head x == 'P' && head (tail x) == 'y' && head (tail (tail x)) == 't' && head (tail (tail (tail x))) = 'h' && head (tail (tail (tail (tail x)))) = 'o' && head (tail (tail (tail (tail (tail x))))) = 'n'
19:11:13 <ihope> Sorry. I can't write code that huge and ugly in Haskell.
19:15:19 <nickie12> That algorithm should replace the implementation of the "Hello world" application! :D
19:16:43 -!- Keina has joined.
19:17:03 <Keina> re
19:17:41 <nickie12> wb
19:19:35 -!- Keina has left (?).
19:20:32 <fizzie> sub lament_likes { my $x = shift; $x =~ s/(.)(.)/\2\1/g; return $x eq pack('H*', '795068746e6f'); }
19:20:38 <fizzie> Didn't see the Perl version anywhere.
19:23:15 -!- Keina has joined.
19:23:27 * pikhq curses very, very loudly. . .
19:26:13 <lament> fizzie: too long!
19:26:21 <lament> fizzie: i mean, too short!
19:27:06 <Keina> say some thing
19:27:20 <lament> Keina: never!
19:27:47 <Keina> say nothing
19:27:47 <Keina> ^^
19:27:47 <nickie12> OK, I did an implementation of the "algorithm" in AppleScript :D
19:27:58 <pgimeno> if lament_likes returns False, does that mean that lament likes False?
19:28:04 <nickie12> set lang to "PHP"
19:28:07 <lament> I do like False.
19:28:13 <nickie12> if lang is "Python" then
19:28:19 <nickie12> set lament_likes to yes
19:28:26 <nickie12> else
19:28:34 <lament> wow, this applescript thing is braindamaged.
19:28:35 <nickie12> set lament_likes to no
19:28:36 <nickie12> end if
19:28:38 <lament> "set x to y"?
19:28:42 <nickie12> yes
19:28:47 <lament> that's evil.
19:28:55 <Keina> .....
19:29:02 <nickie12> AppleScript is supposed to be an english-like scripting language...
19:29:03 <nickie12> *lol*
19:29:09 <lament> although i guess not as evil as x=y
19:29:21 <lament> (which ought to be equality, not assignment)
19:29:38 <lament> x:=y is probably the best
19:30:06 <pikhq> set lang PHP;if {[string compare $lang Python]} {set ::lament::likes 1} else {set ::lament::likes 0}
19:30:08 <lament> actually the Smalltalk way is the best.
19:30:18 <lament> x <- y
19:30:22 <lament> except that the <- is a single character
19:30:29 <lament> a left arrow
19:30:37 <nickie12> the shortest version in php :P
19:31:01 <pgimeno> I know of a language where assignment is <- (less-than, dash)
19:31:02 <nickie12> if(language == "Python") lament_likes = "yes";
19:31:10 <lament> pgimeno: i do too
19:31:11 <nickie12> else lament_likes = "no";
19:31:16 <lament> pgimeno: but smalltalk is prettier.
19:31:18 <lindi-> procedure lament_likes(x) is begin return x = "Python"; end lament_likes;
19:31:25 <pikhq> The Tcl way is nice, since it conforms to everything else in the language (Yay, Polish notation!)
19:31:36 <lament> (however in absence of a special <- character, you have to use x _ y in smalltalk)
19:31:49 -!- ihope has quit (Read error: 110 (Connection timed out)).
19:32:09 -!- Keina has quit.
19:32:15 <pikhq> *sigh* Tcl would be evil if it used RPN.
19:32:29 <pgimeno> yuck, I prefer := much better than _
19:32:55 <pikhq> [bar foo set] would set $foo to bar if RPN was used. Glad that it's not. . .
19:33:48 <fizzie> The Multimedia ToolBook scripting language is much more dain-bramaged.
19:33:55 <pgimeno> (plus I'm slightly Pascal-oriented, Borland flavour)
19:35:52 <lament> : lament_likes s" python" compare ;
19:36:02 <lament> (i _think_ that's the correct forth)
19:36:21 <fizzie> put "yes" into text of field "lament"
19:37:04 <GreyKnight> lament.likes:add"Python"
19:39:27 -!- _jol_ has joined.
19:39:31 <nickie12> do we need a bash version?
19:40:41 <nickie12> I think yes :D
19:41:48 <fizzie> /lament_likes { (Python) eq } def
19:42:10 <lament> "n"-#v_"o"-#v_"h"-#v_"t"-#v_"y"-#v_"p"-#v_1>
19:42:22 <lament> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>0^
19:47:59 <fizzie> If you want a stand-alone program that reads from input, it's as easy as:
19:48:00 <fizzie> 0"nohtyP">:#v_025*".sey">:#,_@
19:48:03 <fizzie> *520_ #-^#~< ^"no."
19:48:40 <nickie12> befunge?
19:49:28 <fizzie> Well, the program would say "no." to that, but Befunge it is.
19:59:30 <nickie12> can anyone paint it for piet? *laugh*
20:00:50 <GreyKnight> I haven't got any generic string-handling functions for Piet
20:01:01 <GreyKnight> All I have is one for printing strings
20:08:38 -!- GreyKnight has quit (Remote closed the connection).
20:13:52 -!- GreyKnight has joined.
20:14:36 <nickie12> wb
20:14:46 <GreyKnight> I meant to do that.
20:21:41 -!- GregorR-W has quit ("Chatzilla 0.9.75 [Firefox]").
20:22:02 -!- Sgeo has joined.
20:22:19 <nickie12> Please recognize that I say hello to Sgeo
20:22:33 <Sgeo> hm?
20:22:45 <nickie12> IRP ^^
20:46:52 -!- kipple_ has joined.
20:46:58 <nickie12> hello
20:47:28 <GreyKnight> 'H\'e\'l\\'o\
20:49:49 <kipple_> hi
20:56:09 -!- RodgerTheAfk has changed nick to RodgerTheGreat.
20:56:59 * GreyKnight doubts anyone recognizes that language
21:00:07 -!- CakeProphet has joined.
21:08:07 -!- _jol_ has quit ("leaving").
21:13:00 -!- GregorR-W has joined.
21:27:23 -!- tgwizard has quit (Remote closed the connection).
21:53:46 <CakeProphet> hmmm..
21:54:17 * CakeProphet figures out how to create a Turing Complete language with only one variable.
21:54:35 <CakeProphet> I mean... the language itself has access to only one variable.
21:59:44 <lament> some turing-complete languages have no variables.
22:00:00 <lament> eg unlambda
22:01:33 <GregorR-W> !cat <CTCP>ACTION flar<CTCP>
22:01:36 * EgoBot flar
22:02:04 <lament> !cat dog
22:02:08 <EgoBot> dog
22:04:13 <GregorR-W> <CTCP><CTCP><CTCP>
22:10:12 <GreyKnight> Oh?? What a nice CTCP.
22:10:22 <nickie12> !cat while(1) echo "lol"
22:10:22 <nickie12> xD
22:10:24 <EgoBot> while(1) echo "lol"
22:11:11 -!- nickie12 has quit.
22:11:23 <GreyKnight> I managed to create a segfault earlier... sadly it was in a process EgoBot was piping in from :-(
22:11:56 <lament> who is this nickie12 character
22:13:21 <GreyKnight> *shrug*
22:17:33 <CakeProphet> Apparently he doesn't know what a cat program does. :)
22:26:57 <GregorR-W> EgoBot != stable ^^
22:29:14 * GreyKnight wonders what language he was trying to put through the cat anyway
22:29:34 <GregorR-W> If it had a ; it'd be valid PHP
22:30:16 <GregorR-W> Really, it desperately needs a ; :-P
22:30:34 * GreyKnight sellotapes an eel to it
22:43:58 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)).
22:44:29 -!- pgimeno has joined.
23:10:22 -!- wooby has joined.
23:52:14 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
23:56:33 -!- kipple_ has quit (Read error: 110 (Connection timed out)).
←2006-08-28 2006-08-29 2006-08-30→ ↑2006 ↑all