00:20:55 -!- clog has joined. 00:20:55 -!- clog has joined. 00:21:01 :O 00:21:05 this wasn't logged? 00:21:08 Hi clog 00:21:11 oklopol, eh? 00:21:22 Everything is a log! 00:21:27 clog logs our garbage, you know 00:21:29 hmm 00:21:49 isn't that "everything is a file" with append-only 00:22:05 but how can I search about this: "if you do: cat file | readerapp and readerapp doesn't ever read the data from the stdin what happens to the data? where are they stored? how big is that buffer? blah blah" 00:22:28 http://ircbrowse.com/channel/esoteric/20070920 doesn't seem to have picked things up.. 00:22:47 Tritonio: By searching for a page explaining UNIX pipes from top to bottom and reading away. 00:22:52 google will tell you what you meant if you don't type the right search terms! 00:23:00 heh oklopol 00:23:13 oklopol, i'll try that 00:23:15 :-) 00:23:31 google is el magico 00:23:38 google is the alpha etc. 00:23:53 s/etc/processor/ 00:24:31 * Sgeo also needs time stuff in 0x04 00:24:49 Any comments on the extra 0x00 after retrieving a line? 00:26:07 wow school doesn't start till 10 hours, how fun 00:26:26 s/till/for/ 00:26:33 oh indeed 00:27:04 i'm fairly sure i make mistakes of that magnitude a *lot* 00:27:06 ok 00:27:20 wikipedia had some answers 00:27:20 I see that one a lot ... there must be a word in most languages like "till" with no direct translation. 00:28:06 you use what's usually translated into "into" in finnish. 00:28:25 though it's a suffix here, instead of a word 00:29:08 "until" is quite close to the meaning 00:29:13 in my sentence 00:29:22 hmm 00:29:45 too late for grammar right now 00:29:50 What's the differenterence between "till" and "until"? 00:30:01 the former is slangish 00:30:37 Maybe it was slang 200 years ago ... 00:30:45 until -> 'til -> till 00:30:49 brb 00:30:50 All three forms are identical now. 00:31:02 you can use that in an english essay? 00:31:10 Well, I wouldn't use "'til" 00:31:18 But I don't think I'd get complaints for "till" 00:31:52 -!- sebbu2 has changed nick to sebbu. 00:31:55 -!- sebbu has quit ("@+"). 00:32:00 you would here 00:33:58 ah, "till" would've been used in my sentence if the time had been given absolutely instead of relatively 00:34:07 for 10 hours, but till noon 00:34:10 eh no... 00:34:12 negation... 00:34:29 hmmhmm 00:34:55 No, that's correct. 00:35:17 i was gradually becoming sure of that 00:35:19 I will not go to school for three hours. I will not go to school till noon. 00:35:35 yeppity 00:35:51 untilexp = (until|'til|till) absolutetimeexp 00:37:01 while i haven't actually studied english grammar, i think i know all these rules given enough time to think 00:38:47 here, "enough" was 10 minutes, and i'm usually about this tired 00:38:57 perhaps it's time for some coke -> 00:42:46 has anyone heard of infon? 00:51:36 What's infon? 00:52:46 a game where you programs bugs' minds 00:52:49 in lua 00:52:52 ;-) 00:53:09 wait i will find the link 00:53:36 http://infon.dividuum.de/ 00:58:57 what the fuck 00:59:04 my father also knows russian. 00:59:24 (i recently discovered he knew polish when there was a polish guy here..) 00:59:29 nooga i guess 01:00:03 wtf is "nooga" now??? 8-| 01:00:16 a guy that was on this channel 01:00:48 it was a nickname thankfully then... ;-) 01:01:00 yes :) 01:01:06 i should've used quotes 01:01:35 no you didn't really have to. :-) 01:01:55 * Sgeo should really work on psox 01:02:03 i should've used the lojban name quotes. 01:03:26 * Sgeo pokes pikhq 01:03:31 this lojban? http://en.wikipedia.org/wiki/Lojban 01:03:41 nice idea is this language 01:03:58 it has some nice ideas, nothing revolutionary 01:04:55 QUICK POLL: which of you ever made a conlang? 01:04:57 o/ 01:05:03 conlang? 01:05:07 oh 01:05:10 construc lag 01:05:14 o\ for no? 01:05:21 hmm 01:05:27 i made an alphabet 01:05:27 perhaps 01:05:34 an alphabet? 01:05:57 I've done a lot of pseudomaths stuff, but not a conlang, afair 01:05:58 a strange alphabet that uses e way to "encode" the position of the tonge teeth etc 01:05:59 i used to make alphabets all the time when i was a kid, i had 8 alphabets memorized 01:06:13 but none of my friends could memorize them so it wasn't that much fun :< 01:06:24 i already have a friend that memorized it 01:06:26 it's easy 01:06:36 Including numbers that had negative absolute values.. 01:06:43 because if you remember the rules you can draw the symbols on your own 01:07:16 my friends weren't all that old at that time... 01:07:38 and it is suppossed to be able and encode sound form different languages as well 01:08:07 hmm, i've been contemplating on something similar to that 01:08:12 do you have anything online? 01:08:32 oklopol, are you talking to me? 01:08:36 yeah 01:08:42 oklopol, to me???? 01:08:45 yeah 01:08:49 :-D 01:08:49 ya rly 01:08:58 i have a few images i think 01:09:00 wait. 01:09:23 the link will start like this... http://students.ceid.upatras.gr/~asimakias/img/ 01:09:25 and then... 01:09:42 404! 01:09:44 proglogo.png 01:09:46 i know 01:09:54 i havn't finished writting the link 01:09:57 http://students.ceid.upatras.gr/~asimakias/img/proglogo.png 01:09:59 yeap 01:10:03 try it 01:10:09 404! 01:10:14 ooops 01:10:16 mistake 01:10:28 http://students.ceid.upatras.gr/~asimakis/img/proglogo.png 01:10:35 it cannot find HTTP 404 01:10:36 i misspelled my last name. lol 01:11:00 hihi smileyyy 01:11:17 ? 01:11:24 second from the right 01:11:35 that sounds like "m" in "mouse" 01:11:52 the two dots are the nose. and dots mean sound. 01:12:00 the horizontal line are the lips closed 01:12:03 closed lips 01:12:08 and sound from the nose. 01:12:09 oh, so it really is a face. 01:12:14 kind of 01:12:51 Now I'm looking at the other ones and seeing if similar hinting helps :) 01:13:05 (It does not ;) ) 01:13:09 i know... 01:13:13 the first on 01:13:17 one* ... 01:13:23 is P 01:13:37 like Prozak 01:13:46 to lips apart 01:13:49 two* 01:14:02 hmm... is that "p" there aspirated.. 01:14:07 GregorR: TELL ME! 01:14:15 i think it is 01:14:21 oklopol: It looks pretty aspirated to me in that picture ;) 01:14:21 and the vertical line means sudden movement. 01:14:29 like moving your lips appart suddenly 01:14:35 that what you do to spell P 01:14:53 It seems like you've gone a bit far with the actions ... half of these could be implicit. 01:14:55 GregorR: i meant in "prozak" :P 01:15:12 oklopol: Oh - English has no aspirated 'P' so fleh :P 01:15:17 whut? 01:15:21 aspirated? 01:15:28 then i'm using the wrong term. 01:15:29 how can P be aspirated? 01:15:35 What's aspirated? 01:15:39 you say "ph" instead of "p". 01:15:46 Aspirate As"pi*rate, v. t. [imp. & p. p. Aspirated; p. pr. & 01:15:47 vb. n. Aspirating.] [L. aspiratus, p. p. of aspirare to 01:15:47 breathe toward or upon, to add the breathing h; ad + spirare 01:15:47 to breathe, blow. Cf. Aspire.] 01:15:47 To pronounce with a breathing, an aspirate, or an h sound; 01:15:47 That's not aspirated. 01:15:47 as, we aspirate the words horse and house; to aspirate a 01:15:49 vowel or a liquid consonant. 01:15:51 [1913 Webster] 01:15:53 yeah 01:15:54 p 01:15:55 Arrrrrrrgh 01:15:56 p 01:15:57 .. 01:15:58 ph is another sound 01:16:01 it's not p 01:16:02 p's aspirated then. 01:16:06 in english 01:16:12 oklopol: ph = f 01:16:17 in greek it is Φ 01:16:21 yes, but i meant that one phonetically 01:16:22 ph=Φ 01:16:28 ok 01:16:39 oklopol: I assure you, the English P is not aspirated. 01:16:49 a-ha. 01:16:52 anyway the picture sais "programs" 01:16:53 then what's the term? 01:16:56 says* 01:16:58 for the "h" you add there 01:17:36 oklopol: The pronunciation of the sound 'p' alone is aspirated because that's the only way you can pronounce it alone. 01:17:53 oklopol: Well, that you can pronounce it and be heard anyway :P 01:18:00 oklopol: But it's not pronounced in actual speech. 01:18:03 oklopol, as for the impicit thing you mentioned. I didn't like to leave things implicit. so that everyone by applying the rules can decode the symbols. 01:18:04 Erm, aspirated X_X 01:18:17 the aspiration is there in the word "pay" for example. 01:18:30 you say [phei] 01:18:34 Hmmm, not in my pronunciation ... 01:18:42 neither in mine 01:18:48 i can make you a sound clip. 01:18:49 :-) 01:19:29 Let me put it this way: The English language does not make a distinction between aspirated and unaspirated consonants. Whether any individual aspirates in any particular word is their accent, not the language. 01:19:43 http://www.answers.com/topic/pay?cat=biz-fin <<< p-h-ei. 01:19:59 americans have them aspirated. 01:20:00 ancient greek had a nice way to organize sounds... 01:20:33 Now that's a highly aspirated pronunciation of that word X-D 01:20:42 I don't think I pronounce it like that in casual speech. 01:20:51 lolol 01:20:54 Maybe, Idonno X-D 01:20:59 P is aspirated 01:21:09 you do use it, though it's less audible in fast speech, naturally. 01:21:15 it's like the name fei 01:21:25 you notice the difference if i do the finnish non-aspirated version. 01:21:57 if you only know how to make an aspirated "p", it may be hard to think of it as "aspirated" 01:21:59 Sound clip! Blargh! 01:22:05 i think that answers has made these recordings with a text-2-speech program 01:22:11 so don't rely on them 01:22:15 GregorR: that was an example 01:22:19 Tritonio: no 01:22:22 i doubt that 01:22:23 No, of non-aspirated. 01:22:42 GregorR: was that a correction to what i said? 01:22:56 * Sgeo wants to hear the clip of non-aspirated.. 01:23:02 oklopol: Give me a sound clip of a non-aspirated P and an aspirated P for comparison. 01:23:15 i can't pronoucne a P without aspiration 01:24:42 i'm not sure if that was a good one, i get a bit of a ramp frenzy or whaddyacallit 01:25:50 hard to pronounce english and only leave out the aspiration 01:26:02 So don't say an English word *shrugs* 01:26:03 but you should hear a clear "pee" without aspiration in the end. 01:26:18 OK, so post it 01:26:20 it's already uploaded, too late! 01:26:49 Then give us the URL! :P 01:27:01 http://vjn.fi/oklopol/r/urinating.wav 01:27:06 i'm slow! 01:27:17 that's a bad recording, for i don't exactly have a mike. 01:27:26 Wait, that's the sound 'b' 01:27:46 no. 01:28:20 someone with a non-aspirated "p" in their language would notice the difference. 01:28:25 urinating.wav? 01:28:35 this is gonna be good. 01:28:35 sorry for the example sentence 01:28:56 To my ear, that sounds identical to 'b'. 01:29:12 yeah 01:29:19 you said bee 01:29:50 and it was an aspirated b, too 01:29:58 and that's a hot accent 01:30:00 http://vjn.fi/oklopol/r/pebe.wav 01:30:32 Wow, there is a difference O_O 01:30:36 * GregorR 's brain melts. 01:30:44 I have no idea how to make that sound. 01:30:55 i'm fairly sure i did it correctly in the first clip too.l 01:30:57 *-l 01:31:01 And now I'm leaving for home :P 01:31:16 bsmntbombdood: the first part or the second? 01:31:27 the normal one 01:31:46 if you can spot abnormalities in it in an explicit way, do elaborate 01:31:55 huh? 01:31:58 i rarely get the chance to enhance my pronunciation 01:32:27 s/the/a 01:32:29 oh, no, it's pretty subtle 01:33:39 i wish i had american irl contacts, i'm sure i could perfect it with training (i guess there's not many lunatics who'd be willing to hone it with me.) 01:34:08 record something in your native lang 01:34:12 why? 01:34:23 no reason 01:34:27 kay. 01:34:36 that's the best reason i can think of 01:34:40 what should i say? 01:35:07 uhh 01:35:10 (i do pretty good german/swedish too!) 01:35:25 "fuck me gently with a chainsaw. i like the way the blades feel on my genitals" 01:35:37 okay, wait a mo 01:36:09 * Sgeo should go eat now.. 01:37:45 http://vjn.fi/oklopol/r/terat.wav 01:38:35 (also remind me to advertise my bands in case i haven't done that yet) 01:38:43 ooh i found a mic 01:38:57 nice, try and repeat that 01:39:17 but have no clue how to record 01:39:45 audacity? 01:40:35 audacity gives me a nice little error when it starts 01:40:44 "you will not be able to play or record anything" 01:41:35 i have a "sound recorder" program built-in 01:41:38 in ubuntu that is 01:41:42 genitales? 01:41:47 lol. 01:41:49 "genitaaleillani" 01:42:05 whoa 01:42:25 the native word would be sukupuolielimilläni 01:43:11 nussi minua hellästi moottorisahalla 01:43:11 terät tuntuvat ihanilta genitaaleillani 01:43:23 is what i say 01:47:51 wow this mic sucks 01:48:08 i'm using a millimeter-in-diameter hole in my laptop for a mike. 01:52:56 oh 01:53:13 btw, i can tell you the exact difference of unaspirated "p" and "b" 01:53:30 it's pretty simple, the vocal cords only do their humming in "b" 01:54:05 i think i didn't say that earlier 01:54:08 can't be sure though 01:58:47 almost the whole sound of p is in the lips 01:59:18 yes 01:59:31 and "b" is the exact same except it's... what's the word... 02:00:52 asdf i wanna find it... 02:01:22 voicing. 02:02:48 -!- chatty has joined. 02:03:26 hi chatty! 02:03:35 gotta go do some quick business -> 02:04:01 "/?" 02:10:35 /quit 02:19:27 -!- bsmntbom1dood has joined. 02:22:33 half my book read \o/ 02:25:26 -!- bsmnt_bot has quit (Read error: 145 (Connection timed out)). 02:30:49 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 02:40:59 -!- bsmntbom1dood has changed nick to bsmntbombdood. 02:44:16 head feels weird, gotta sleep for a while 02:44:21 cya -> 03:12:25 -!- cmeme has quit (Excess Flood). 03:13:03 -!- cmeme has joined. 03:18:58 -!- oerjan has joined. 03:27:12 Hi oerjan 03:27:20 brb 03:27:55 how can cmeme excess flood? 03:32:07 it did? 03:32:34 [20:11] * cmeme has quit (Excess Flood) 03:34:26 Question? Should PSOX functions that provide file descriptors return the descriptor, or accept a descriptor number from the client and use it if available? 03:35:24 * Sgeo is leaning towards 'return'.. 03:35:29 Any thoughts 03:52:59 -!- chatty has left (?). 04:37:05 hey guys- I'm making random comics again! 04:37:12 enjoy: 04:37:23 http://www.nonlogic.org/dump/images/1190338381-deal.png 04:37:27 http://www.nonlogic.org/dump/images/1190345208-winds.png 05:21:17 I think I have a proper NPDA implementation. But I think it won't halt if you have a particularly stupid grammar, like a = a | epsilon 05:21:37 That is, any grammar that can accept an infinite string of nothing actively. 05:22:02 Erm, wait, I meant a = a a | epsilon 05:22:19 Anything that can resolve to an infinite number of epsilons. 05:22:24 I guess that's not a big problem X-P 05:22:50 Anyway, it will halt in every other scenario, it detects possibly-infinite recursion. 05:28:38 removing epsilons can be done as a preprocessing stage on the grammar 05:30:30 Is that true of all context-free grammars? I don't remember such a transformation 8-O 05:30:58 you can remove all except those on the initial token 05:31:10 Don't tell me, let me work it out. 05:31:18 I can probably reinvent this wheel :P 05:33:45 Oh, of course. 05:33:46 For each left that has an epsilon as an option on the right, remove the epsilon then add an option to each right containing that left. 05:34:16 Wow, that sentence made zero sense :P 05:34:19 But I get it :P 05:34:26 i think it made sense 05:34:32 -!- zuzu_ has quit (kornbluth.freenode.net irc.freenode.net). 05:34:32 -!- sekhmet has quit (kornbluth.freenode.net irc.freenode.net). 05:34:42 RodgerTheGreat: are those scanned? 05:34:49 yes 05:34:55 why do you ask? 05:35:07 -!- zuzu_ has joined. 05:35:07 -!- sekhmet has joined. 05:35:25 how did you get them to look decent? 05:35:33 -!- oerjan has quit (kornbluth.freenode.net irc.freenode.net). 05:35:41 -!- oerjan has joined. 05:35:47 whenever i scan a drawing there's smudges, dust, etc 05:36:31 bsmntbombdood: not much- a little white correction, I scaled it down, and I flattened the color map a little 05:36:50 the ink could be blacker 05:37:02 and i don't know what that means *_* 05:37:02 I think a fair amount has to do with my scanner itself 05:37:07 bsmntbombdood: easily done 05:38:16 problem is, in inks like this it can lead to a somewhat rough look. 05:38:46 http://www.nonlogic.org/dump/images/1190349064-deal2.png 05:38:58 lemme try compensating... 05:39:36 i love the guy's face in frame 5 05:40:02 haha 05:40:51 GregorR: note that you need to find out which tokens can be epsilons, it is not enough to look for literal ones 05:41:23 here- I tweaked my filters a bit. That should give you more of what you wanted: http://www.nonlogic.org/dump/images/1190349207-deal3.png 05:42:10 hmm 05:42:10 all of these were drawn on cheap printer paper with an "ultra-fine point" sharpie 05:42:14 haha- the irony 05:42:17 at least i think it is easier that way. 05:42:38 It sure as hell doesn't seem to "ultra-fine" in comparison with my .02mm technical drawing pens 05:43:06 .02mm O.o 05:43:10 O.o * 27 05:43:25 and i thought my .3mm pencils were fine 05:43:42 oh, I love my 3mms 05:43:59 3mm??! 05:44:23 I was so happy when I found out that the MTU book store not only carries .3mm lead, but they have it in the entire hardness range! 05:44:26 sorry, typo 05:44:30 oh 05:45:08 -!- SEO_DUDE has quit (Read error: 104 (Connection reset by peer)). 05:47:37 but I think by far my favorite drawing tool for causal work is a Pilot G2 gel pen. 05:48:03 It feels and covers paper like a rollerball, with the precision of a ballpoint 05:48:41 -!- SEO_DUDE85 has joined. 05:48:52 I wouldn't use it for anything I was planning to publish, but it has a nice feel for sketches 05:49:14 i need to get some pens 05:49:31 Micron and Pilot are where it's at 05:50:28 i've heard good things about Rotring 05:50:36 their pens are pretty decent 05:50:40 a little expensive 05:52:59 ---> bed 06:01:00 gah 06:01:12 this "getting up at different times each day" is not working 06:07:59 'night guys 06:12:00 -!- kwertii has quit (Client Quit). 06:54:34 I missed something in my NPDA interpreter, and it's really effing difficult to fix :( :( :( 06:55:07 My infinite recursion detector can't backtrack properly :( 07:44:55 -!- kwertii has joined. 07:57:14 -!- kwertii has quit (Client Quit). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:04:13 !!!!!!!!!!! 08:04:15 It works! 08:04:17 It wooooooooorks! 08:04:17 Huh? 08:04:42 It's a bit complicated, but it's pretty damn fast, detects infinite loops, and PARSES STRINGS INTO ANYTHING 8-D 08:06:13 I feel fairly accomplished right now 8-D 08:07:55 I'm parsing simple math strings into numbers ... WITH AN NPDA 08:08:00 OK, time for sleep :P 09:22:58 cool 09:24:47 -!- sebbu has joined. 09:25:22 GregorR: in case you're already parsing the parsing rules from plof stack language code, do show the code for math expressions 09:25:32 once you wake up, that is 09:25:37 school -> 09:34:51 -!- oerjan has quit ("Lunch"). 11:45:47 -!- notzeb has joined. 12:12:40 GregorR: NPDA == slow 12:17:27 what's faster? 12:41:32 PDA, of course 12:42:39 ah 13:00:39 -!- notzeb has quit ("/lurk"). 13:19:39 -!- SEO_DUDE85 has quit (Remote closed the connection). 14:25:43 -!- bsmntbom1dood has joined. 14:36:25 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 14:47:20 NPDAs can't be universally translated into PDAs, can they? I would think that the stack actions munge up the translation rules. 14:47:35 (@ SimonRC ) 14:49:15 -!- jix has joined. 15:03:38 no 15:04:11 though D and ND FSMs are equivalent 15:05:34 NPDAs can be converted to TAs! 15:05:38 -!- oerjan has joined. 15:05:56 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)). 15:05:59 -!- RodgerTheGreat has joined. 15:08:33 NPDA's can parse general context-free grammars. deterministic PDA's can only parse LR(k) grammars or thereabouts. 15:08:40 I know that 15:08:50 bsmntbom1dood: what is "TA"? 15:10:11 turing-armadillos 15:14:29 ?! 15:14:57 tape automaton 15:15:25 you mean Turing Machine? 15:15:31 no! 15:15:47 what then? 15:22:30 a finite state machine combined with a tape 15:23:47 and how is that not exactly what one usually calls a Turing machine? 15:25:10 indeed 15:25:18 *concurrence* 15:25:25 ? 15:25:38 That a state machine + a tape = a Turing machine. 15:25:58 an, not concurrancy 15:26:14 No, but to concur ;) 15:26:23 indeed 15:27:16 Unfortunately, I found a bug in my logic when making the infinite loop detection *sigh* 15:27:34 It can be fixed, but it's another layer of complexity and I don't have 100% certainty that this is the last one >_> 15:28:08 so, you are trying to solve the Halting Problem... 15:28:16 This is an NPDA, the halting problem is solvable. 15:28:30 ah, ok 15:28:47 It's just a bit more of a PITA than the halting problem for NFSMs ^^ 15:30:02 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)). 15:30:23 -!- RodgerTheGreat has joined. 15:31:23 Anyway, it fails with grammars that have multiple infinite paths ending up at the same node, e.g. L = A | B | epsilon ; A = L "enda" ; B = L "endb" 15:31:38 small WTF: Why can the address only be changed at this email-forwarding place at 7.15 am? 15:31:42 Fixable (I can detect multiple infinite paths), but I'm not confident that it's the last such problem I'll run into X_X 15:31:46 Hahaha 15:31:56 They probably have a cronjob that makes mass changes :P 15:31:59 "This will take effect from 7.15 am tomorrow / this morning." 15:32:00 Pretty lame though X-D 15:32:03 :-S 15:32:27 so you did not consider the epsilon-removing transformation? 16:06:12 *walk 16:06:16 ops 16:06:18 * SimonRC goes for a wak. 16:07:27 this is disturbing. SimonRC's last three messages seemed to come in reverse order. 16:07:54 i had thought that at least between two given points things would be queued... 16:25:32 oerjan: My current work has nothing to do with the epsilon-removing transformation, that's up to the grammar->NPDA converter. 16:26:27 oerjan: A naive converter will always be capable of creating an NPDA that this can't detect loops in, but that's not a big problem since a good converter can indeed be written *shrugs* 16:30:17 ok 16:31:25 It's just not worth it to make it that general, I just heed it for the specific case of compiled grammars :) 16:31:25 * oerjan needs a wak too 16:32:06 right 16:32:46 -!- UnrelatedToQaz has joined. 16:32:49 -!- oerjan has quit ("Out"). 16:33:19 -!- UnrelatedToQaz has left (?). 16:37:13 I'm also starting to think that the case I discovered this morning isn't useful ... I'm finding it difficult to imagine a grammar legitimately written like that :P 16:37:49 And I suppose even it could be solved by removing left recursion. 16:38:27 Oh wait ... argh ... never mind, just figured out the simple case :( 16:38:42 addexp = mulexp | addexp + mulexp | addexp - mulexp 16:38:54 Multiple possible recursions through addexp. 16:42:46 -!- SEO_DUDE85 has joined. 16:58:56 -!- UnrelatedToQaz has joined. 17:01:52 hey 17:02:00 -!- UnrelatedToQaz has left (?). 17:08:02 -!- oerjan has joined. 17:11:44 -!- UnrelatedToQaz has joined. 17:20:26 -!- navaburo has joined. 17:20:55 anyone seen Keymaker lately? 17:21:06 i found his BFSDL 17:39:16 -!- UnrelatedToQaz has left (?). 17:43:44 nope 17:43:58 he only does brief visits about once a month 17:45:55 • SimonRC goes for a wak. <<< i misinterpreted this 17:53:20 Hahahah 17:55:02 (someone had to say it! :|) 17:58:50 http://mirror.servut.us/flash/bearhello.swf 17:58:52 genius 17:59:43 it didn't get better when i googled wak 17:59:51 http://www.edenfantasys.com/masturbators/masturbation-sleeves/wak-pak-2000 18:02:27 mad genius, apparently 18:04:03 "waterproof, so you could take it to the shower or pool." 18:04:09 that'd be a hit in a pool party! 18:04:35 hey guys, come check this out, you can masturbate AND see your penis AT THE SAME TIME! 18:05:08 * oklopol should read german grammar 18:22:47 lolo 18:22:50 "wak pak" 18:23:14 it's like those little things little kids put on their arms in the pool 18:25:22 Only with more masturbation. 18:27:36 so you can have a moose knuckle in every set of pants :/ 18:36:43 http://boingboing.net/images/countyfair.jpg 18:36:49 ^^ little girl likes big dick 18:37:41 beucj bsnbtvbinvdiid' 18:37:44 errrr 18:37:49 -!- bsmntbom1dood has changed nick to bsmntbombdood. 18:38:30 ........................................................ 18:38:42 Has bsmntbombdood turned into a spambot? 18:38:48 what? 18:39:08 beick bsmbtvbombdood ? 18:40:00 no, he just forgot typing to grind stupid web tricks 18:40:30 most of it makes sense if i assume his right hand was placed 1 key to far left 18:40:39 but not all 18:40:41 *too 18:42:53 I was talking about " ^^ little girl likes big dick" 18:42:57 That's spambotty :P 18:45:11 GregorR, did you view the link? 18:45:30 I'm at work, I don't anticipate such a link to be SFW :P 18:45:46 speaking of which, bsmntbombdood you now owe me for the liquor I need to forget that 18:46:06 internet rule x: nothing is offensive on teh internet 18:47:30 internet rule y: nothing may be offensive, but there are a lot of things you need large quantities of liquor and/or eyebleach to forget 18:48:11 My NPDA takes .75 seconds to parse "1+2*3+4*5+6*7+8*9+10" 1000 times >_> 18:49:19 GregorR: sounds slow 18:49:24 Yeah :( 18:49:32 actually, really slow :| 18:49:41 in case you're using D 18:49:48 Damned backtracking. 18:50:00 i can try what my python numbda interpreter takes 18:50:21 Well, that's not fair, it's not an NPDA :P 18:50:54 :) 18:50:59 i'll still try, for i have no idea 18:51:08 just wanna know what it takes 18:53:31 1.78667931259 secs. 18:53:42 Ohhhhhhhh, burn ;) 18:53:48 i'll try what my math parser takes 18:53:50 Of course, that's not fair because your is in Python :P 18:54:05 yes, and definately not written efficiency in mind 18:54:22 This /was/ written with efficiency in mind to a certain degree :( 18:54:34 I did some nasty things with D dynamic arrays that should not be done ;) 18:55:52 that takes a second 18:56:04 argh 18:56:11 now i wanna make a C parser... 18:56:13 i mean 18:56:21 a math expression parser in C :P 18:56:57 i definately don't wanna make a C parser 18:57:10 It's still not really fair since a simple math expression parser can't parse everything that an NDFA can ... 18:57:11 hmm, i'll try my java parser 18:57:16 s/NDFA/NPDA/ 18:57:24 i do know that, that's not my point 18:57:44 my point is to know if it's faster, like it's supposed to be since it's more spesific. 18:57:44 * GregorR just likes to complain ;) 18:57:51 :P 18:58:44 Strangely, this seems to be increasing linearly with longer expressions ... everything I know about NPDAs tells me this should be increasing exponentially... 18:59:45 why are you using a npda? 19:00:21 Because the alternative is to arbitrarily limit the grammars, and that's a bit tough to do. I may not use an NPDA if it turns out to be too bad. 19:02:55 argh, i hate how java libraries always manage to lack everything one might actually need 19:03:25 Hey wait, does your math parser actually come out with an answer in the end? :) 19:03:31 python: "time python" into google, and on the first link a nice clock-function that gives a nice timestamp you can compare 19:03:36 GregorR: it did. 19:03:41 though i ignored it 19:03:45 Heh 19:03:52 hmm... i may have disabled that :O 19:03:54 i'll retry 19:05:33 0.98 without evaluation, 1.05 with it 19:05:39 1000 times that is 19:05:47 Naturally 19:06:48 http://i7.tinypic.com/5z6vt4n.jpg 19:06:52 sfw for GregorR 19:07:27 WTF?! 19:07:38 For only $29.99, you can get access to some of the Internet! 19:08:13 includes access to over 60 websites!! 19:08:27 Wow! Over 60?! 19:08:36 That's so many web sites I don't know what to do! 19:10:11 I should make this parse right->left instead of left->right 19:10:27 Then parsing left-recursive grammars, which are by far and away more common, would be more efficient. 19:11:00 Where's my RR(1) parser anyway ^^ 19:11:12 what would anyone want to access google for if they cannot access the results? :D 19:12:01 brain damage within brain damage 19:12:35 google cache! 19:12:41 ooh 19:13:01 I'll bet it can't access that. 19:13:04 Not at the hostname google.com 19:17:30 GregorR: the java one takes 31ms 19:17:57 took a bit to find a way to get a nice enought timestamp for java 19:18:01 either GregorR or oklopol needs to change their nick 19:18:17 -!- oklopol has changed nick to OklopoL. 19:18:19 i can't be having you to be the same color! 19:18:20 better? 19:18:22 yes 19:18:37 now it's yellow and purple 19:18:47 -!- OklopoL has changed nick to oklokok. 19:18:50 i should write a smart nick coloring algorithm 19:19:01 what's this one? 19:19:03 >_< 19:19:05 i didn't like the caps. 19:19:10 light blue-greenish 19:19:34 polkadot! 19:19:41 it would make nicks of similar length farther apart in color 19:19:59 GregorR: 25 times faster than yours, and it's in JAVA, complain THAT :) 19:20:20 It's a hyperlimited parser you cheating loser! 19:20:44 *stab* 19:21:10 * oklokok lols as he dies of blood loss 19:22:04 the python parser was pretty generic, though not as much so as yours 19:22:54 hmm... i'm pretty sure i've made at least *one* math expression parser in C... 19:23:37 unfortunately most of my programs are named by whacking the keyboard a bit to produce a unique random string 19:23:47 lol 19:23:59 O_O 19:24:32 usually when i start coding, i don't have anything spesific in mind... so i just use a random name 19:25:23 i mean, was like that in my c/c++ time, nowadays i just do python, since c takes longer to write :( 19:26:52 do scheme! 19:27:09 omg, i found a stack language interpreter here :DD 19:27:19 wonder if that's any good... 19:28:26 ...brainfuck while loops in a stack language ftw. 19:30:11 The time taken to memoize my REs is equal to the time taken to run the REs X-P 19:31:44 wow, my wireworld implementation 19:32:04 i wonder how much stuff i've done i've completely forgotten about 19:37:18 REs? 19:37:24 regexes 19:37:32 Ah 19:44:47 -!- sebbu2 has joined. 20:03:34 -!- sebbu has quit (Connection timed out). 20:08:37 -!- Arrogant has joined. 20:11:13 -!- Arrogant has quit (Client Quit). 20:11:52 -!- Arrogant has joined. 20:23:05 -!- oerjan has quit ("Good night"). 20:34:08 I figured out how to fix my problem with multiple infinite recursions! 20:34:23 I'm already encapsulating the concept of infinite patterns on the stack... 20:34:38 To support this, I just need to encapsulate the concept of infinite^infinite patterns on the stack! 20:34:44 (Which is actually really easy) 20:39:45 weird how a PDA isn't turing complete, even though it has unbounded storage 20:40:02 Well, it has heavily-bounded access :) 20:41:48 -!- RedDak has joined. 20:53:47 Implemented with no change in time ^^ 20:53:57 (And unit tests still passing) 20:55:22 http://www.vjn.fi/pb/p454332531.txt <<< in case you can decipher that, do you like that program structure? 20:55:59 the actual program logic is in the form of a bnf-ish list regex (not clearly visible there...) 20:56:09 "bnf-ish list regex"... anyway. 20:57:39 the last line defines the program as a finite state machine 20:57:47 I can't parse that :P 20:57:50 darn 20:57:59 which part exactly? 20:58:11 Mostly the last line. 20:58:21 the three first ones are function definitions 20:58:25 ah, wait 20:58:26 Incidentally, your description reminds me of Plof's runtime grammars :P 20:58:36 s/grammars/grammar/ 20:58:36 really? 20:58:46 that is the oklotalk list regex syntax :) 20:59:08 They are defined as a BNF with both the symbol list and generations. 20:59:32 addexp = addexp /\+/ mulexp => 3 1 "opAdd" dot call 20:59:42 So as it parses, it compiles. 20:59:57 Your desc reminded me of that, but that may be invalid :P 21:00:11 ´[/input_number (quit_on_zero | out_doubled recurse)] ´ means the "regex" is run by executing one function at a time, x | y means "execute either x or y", and whitespace separation just means that you do the functions in sequence 21:00:35 () is normal nesting 21:00:45 those names in the regex are function calls 21:01:05 scoping is dynamic when using ...i don't know what to call that, but that kind of calls. 21:01:46 since it's nice to have a global access to stuff or the fsm for the program flow will become cluttered with argument passing... 21:02:35 basically that means, first input a number, then either quit if the input number was zero, or print that number doubled start over 21:02:58 so that'd be a simple command line program to ask numbers and multiply them by two 21:03:46 that can be done much simpler using other constructs, i know, but i kinda like my idea for a program structure, that fsm thing i mean 21:04:06 since usually the program flow is simple and stateful 21:04:31 did you manage to parse that? 21:05:10 [/ ... ] denotes a list regex 21:09:25 hehe, it's actually wrong. 21:09:36 * GregorR is still confused, but is also at work :P 21:09:39 i'll change it if someone points out the error :P 21:09:41 oh 21:09:49 my friend just glanced at it and got it :| 21:10:13 -!- CShadowRun has joined. 21:10:35 Please say "Hello, World!" 21:10:53 meh, that wikipedia article lied :( 21:11:34 -!- CShadowRun has left (?). 21:11:37 :) 21:12:37 ............. 21:12:40 *stab* 21:12:56 (There isn't even a Wikipedia article on it :P ) 21:13:01 yeah :D 21:13:56 GregorR: wanna specify what's obscure about that code? unless you're too busy 21:14:20 I guess I'm not so much confused by what each of the constructs are, but by what the whole thing actually /does/ 21:14:26 ah 21:14:32 (oklokok) so that'd be a simple command line program to ask numbers and multiply them by two 21:14:39 the last line 21:14:44 hmm... 21:14:51 didn't i say that already... 21:15:00 ´[/input_number (quit_on_zero | out_doubled recurse)] ´ means the "regex" is run by executing one function at a time, x | y means "execute either x or y", and whitespace separation just means that you do the functions in sequence <<< is this obscure? 21:15:16 the names there are function names, the functions defined above 21:15:18 Aha, now I get it. 21:15:22 good 21:15:25 well, any comments? 21:15:37 So, some "consumptions" can actually just be actions, and others actually consume something. 21:15:41 i kinda like that general idea for program structures 21:15:48 Yeah, that's exactly like Plof's runtime grammar :P 21:15:52 that isn't used for any kind of parsing there 21:15:58 that might've confused you 21:16:03 It isn't? >_O 21:16:11 well, it kinda consumes the stdio 21:16:14 nope. 21:16:17 it's the program logic 21:16:36 Right, but the program logic is written into a parser, as I see it... 21:16:41 you would do games etc. the same way 21:16:54 you'd write the states in a list regex 21:16:58 and iterate that 21:17:18 OK, I'm getting it better now. 21:17:47 Is this intended to be esoteric? 21:18:03 well, in that it's a new concept (i mean, i don't know it exists yet) 21:18:20 also, oklotalk looks like line noise when used correctly. 21:18:30 i've just denoicified it to be pretty 21:18:37 i'm aiming for pretty design, ugly code. 21:18:39 :P 21:18:45 That's a fundamental difference between oklotalk and Plof X-P 21:18:54 heh, yeah 21:18:56 Although Plof stack code is pretty ugly ... unless you like Forth. 21:19:56 well, you can do anything in a clean way if you want in oklotalk, in case you find that code example anywhere close to clean 21:20:33 *everything 21:21:29 i think that state thing is a more fundamental difference than what code looks like... since even though i concocted that this morning, i'm aiming at making it the *gist* of oklotalk 21:22:00 Well, certainly the entire design is a /more/ fundamental difference ;) 21:22:09 hehe, yeah :P 21:24:57 i don't remember what similarities i found earlier between oklotalk and plof, can i see a plof user language spec? 21:25:08 or was that integrated in the stack language spec? 21:25:39 http://www.codu.org/plof/ < look at the Plof2 spec. The Plof3 user language will be similar. 21:25:59 http://www.codu.org/plof/npda.d // my NPDA interpreter (now actually published) 21:27:25 Unlike C and other imperative languages, functions in Plof exist only as 21:27:25 anonymous entities - they are not implicitly associated with names. Giving a 21:27:25 function a name is simply assigning it to a variable. 21:27:43 these similarities seem less revolutionary now that i've studied a bit more theory... 21:27:49 Hahahah 21:27:56 :P 21:28:10 That's pretty common for functional languages, it's only interesting because Plof is not a functional language per se. 21:28:26 that was one of my "great ideas" for oklotalk, but i now realize plof isn't the only language besides oklotalk that has only lambdas for functions... 21:28:45 yeah 21:28:45 Heh 21:28:48 How about only having functions for blocks? :) 21:29:05 i think that was a great idea for an imperative language 21:29:08 (Also exceedingly common for functional languages) 21:29:42 oklotalk is functional, i guess, though it depends highly on message passing, which might be considered a bit different 21:29:51 you can use it oo-ish 21:30:59 when i read about that block thing, it felt like an exaplanation for blocks, which is why i think it seemed like such a nice idea 21:31:06 *explanation 21:31:22 i mean, explanation for blocks as found in languages like C 21:32:29 a lot of the stuff i found great about plof i later found in perl ;) 21:32:39 Noooooooooooooooooooooooooooooooooooo 21:32:44 Perl is so baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad :( 21:33:26 well, plof exclusively has perl stuff i found great about perl 21:33:35 i found 90% of perl complete bullshit 21:34:40 that prototype model for one 21:34:56 i mean 21:35:00 that was nice :) 21:35:12 i should be more careful how i connect my sentences 21:35:15 aasdfasdfasdf 21:35:19 also, i should eat something 21:35:21 Why the hell are prototypes implemented so poorly in so many languages? X_X 21:35:38 i don't know many languages with prototypes, so hard to say :| 21:35:53 JS is the prime example. 21:35:55 plof did that absolutely brilliantly, btw 21:36:02 You're damn right it did ;) 21:36:09 that was something i actually considered stealing :) 21:36:11 <-- no humility :P 21:36:25 but i've found a different way to do it in oklotalk 21:36:43 not necessarily better, but different :) 21:37:21 (i'm willing to go great lengths to avoid making stuff primitive, it should all arise from the perfectness of the core language!) 21:37:37 ...or perfection 21:37:45 (Irony :P ) 21:38:31 That's the core reason for my runtime grammar: I want integers to be a runtime-defined type. 21:38:51 what's primitive in plof? 21:39:00 "BYTE"? :P 21:39:14 I'm going to have the primitive types in Plof3, but they won't be exposed to the user language. 21:39:28 oklotalk even has stuff like "import" for modules non-primitive :) 21:39:38 that might be considered ugly. 21:39:54 Which? 21:39:59 mine 21:40:04 Ah :P 21:40:28 since that's something you absolutely want to be a compile-time error, for one :) 21:41:19 oklotalk only has runtime errors, no other, because of the heavy meta-programming, compile-time errors would only take you sofar anyway 21:41:26 and syntax errors are simply impossible. 21:41:47 Heh, syntax errors are definitely possible in Plof :P 21:41:59 If you type $$$?!?!??@#!$#$#HAWHAW it will be quite failurific ;) 21:42:08 not in oklotalk 21:42:16 that *might* just be considered ugly too.l 21:42:18 *-l 21:42:34 -!- Arrogant has quit ("Leaving"). 21:42:43 that would be a compile-time warning, most likely, unless the interpreter is for obfuscation purposes :) 21:43:14 Ha ha ha, "compile time" 21:43:15 ;) 21:43:34 i do very random hyphenation :P 21:43:48 but natives do that so much i really don't even know the rules for every case 21:43:51 Uh, that hyphen was correct, actually. 21:44:01 I was laughing at the concept of having a compile time ;) 21:44:19 :P 21:44:24 ah 21:44:30 because of "interpreter"?` 21:44:44 ah 21:44:47 No, because Plof rolls compilation into runtime (with the runtime grammar) :P 21:44:50 because i could never make a compiler? :) 21:44:52 ah 21:44:58 -!- possible248 has joined. 21:45:07 fuck, i find two possible meanings for your joke and it's neither. 21:45:14 Hahahah 21:45:23 oh 21:45:25 i found 3 21:45:44 Aaaaaaaaaanyway ... when I get home, I'm doing more performance-testing of this NPDA. 21:45:52 I want to really see how much I'm losing on LALR (for example) 21:45:59 LALR? 21:46:14 Gooooooooooooooogle is your friend :P 21:46:24 oh 21:46:32 (LALR is the kind of parser that Bison/Yacc makes) 21:47:11 i thought you meant something like garbage collection 21:47:21 i've actually heard LALR 21:47:55 My poor grammar in that sentence probably helped none 8-D 21:48:02 s/losing on/losing with respect to/ 21:48:49 yep, though it might've been "in" if it'd had something to do with locating the bottleneck in your code 21:48:58 instead of "on" 21:50:11 -!- possible248 has left (?). 21:50:35 umm... js did function == object? 21:51:05 i mean, you used "function" to create an object 21:51:09 Yeah 21:51:41 i understand doing function==object, but if you have a keyword "function"... 21:51:52 ...why not make it mean a function? 21:52:04 I can understand doing the opposite, making functions be a kind of object. 21:52:15 But what they did was make an object be the leftover state from a function. 21:52:19 yeah 21:52:24 -!- kwertii has joined. 21:52:33 uiop 21:54:48 how does js do inheritance? 21:54:56 i can google that too i guess :) 21:56:38 * GregorR reappears. 21:56:46 Pretty similarly to Plof, you can combine objects. 21:56:52 function subClass() { 21:56:52 this.inheritFrom = superClass; 21:56:52 this.inheritFrom(); 21:56:52 this.bye = subBye; } 21:56:58 that is some ugly shit if you ask me 21:57:07 Yuh. 21:57:19 I thought you could + objects? 21:57:32 in case that inheritFrom is a keyword or smth 21:57:32 I guess not ... I haven't actually used JS's object system extensively, because it makes me cry. 21:58:08 No, inheritFrom isn't a keyword, it's taking advantage of the difference between new someCall() and someCall() 21:58:22 hmm 21:58:42 you could have had this.iF = superClass; ? 21:58:48 Sure. 21:58:51 ah 21:59:13 that's some weird name scoping... 21:59:30 You're basically giving yourself the other constructor, but as just a function, then calling it. 21:59:32 well, normal dynamic scoping i guess 22:00:35 js does duck-typing, right? 22:00:50 or am i totally misinterpreting that weird function assignment that's going on 22:01:13 not weird, really, but anyway 22:01:36 Yeah, JS is duck-typing only. 22:01:49 Unlike Plof which keeps type history to allow for static typing when preferable. 22:02:04 yep 22:08:07 -!- RedDak has quit (Remote closed the connection). 22:15:47 http://www.glumbert.com/media/highpower 22:15:47 -!- ehird` has joined. 22:24:49 -!- Arrogant has joined. 22:34:43 For reasons I may never understand, my NPDA parser seems to be operating with linear complexity ... even though that's impossible. I need a more complex grammar :P 22:36:41 Quick, publish your code 22:36:48 You may have discovered how to do the impossible! 22:37:01 You'll be famous amfous! 22:37:11 http://www.codu.org/plof/npda.d :P 22:37:37 I guess my grammar is just not complicated enough. It has left recursion, which is the mark of slowocity, but apparently it's not slow enough. 22:48:22 So uh 22:48:26 why do you want slow 22:48:31 linear complexity = yaey 22:48:39 even if it IS impossible.. 22:48:45 I want to see what the true complexity of this parser is. 22:48:59 I need a grammar sufficiently complex that this will approach its maximum order. 22:49:22 it's clearly the first O(n) parser ever 22:49:48 I'll bet Forth's parser is O(n) ;) 22:50:58 yes, the identity function is generally O(n) 22:50:59 :) 22:51:02 actually, O(1) 22:51:05 forth's parser is O(1) 22:51:14 Eh, Forth still needs to /tokenize/ 22:51:38 my bitxtreme parser is O(1) 22:52:54 GregorR: Yeah, but that's not parsing 22:52:54 code.split("") 22:53:02 oklokok: that's O(n)... 22:53:05 nope. 22:53:08 um, yes 22:53:17 split is O(n) 22:53:18 in the general case, yes. 22:53:33 GregorR: please tell oklokok why his parser is O(n) i can't be bothered 22:53:36 bitxtreme, however, is a bit more *extreme* 22:54:16 bitxtreme has an equal upper and lowerbound on the length of the program. 22:54:26 ehird`: it's O(1), it's not O(n) because that split will always be splitting a string of length 2 22:54:36 oh, ok 22:54:43 oh 22:54:44 bitxtreme 22:54:45 heh 22:54:46 that thing 22:54:49 So, I think it would be reasonable to say that it's in O(n), but n is actually a constant, so O(1) :P 22:55:13 BITXTREME IS TC 22:55:22 :p 22:55:27 (Within the limits of bounded memory) 22:55:38 well, obviously. 22:55:48 but that's somthing you need to live with 22:55:53 in a finite universe 22:55:57 *something 22:56:34 uh, it's no extreme... i need more wine -> 22:56:39 s/no/so 22:56:39 ... 22:56:40 -> 23:04:35 GregorR: do you know perl? 23:04:41 Sadly. 23:05:03 it does prototypes quite like plof, right? 23:05:16 or was it duck-typed too, i forget :| 23:05:30 It does classes with duck typing. 23:05:48 but isn't there a similar inheritance tree as in plof? 23:05:58 or did i imagine that :) 23:06:43 Well yeah, but that's just because it has classes :P 23:07:42 oh, i guess i totally remember it wrong, i'll do some reading now 23:07:44 okokokokoko. 23:09:20 Functions are passed by 23:09:20 value, but the only mutable part of a function is the scope in which it will be 23:09:20 run 23:09:37 how freely can you change that? 23:09:54 hmm 23:10:11 i mean, do you have access to the variable environment? 23:10:15 or whuzzit called 23:10:35 The "scope" :P 23:10:44 I had intended for you to be able to set it explicitly. 23:10:51 Like foo.scope = someobject; 23:10:54 I may have even implemented that ;) 23:11:03 well... i guess... but i don't think of "scope" as a generic name->value dictionary 23:11:09 but a more abstract thingie 23:13:55 hmm... why are ++ and -- both pre- and postfix? 23:14:16 or is C-ity that important? 23:14:24 I'm giving up on that. 23:14:27 I decided that was lame. 23:16:18 good, because i'd have had to tell you that ;) 23:18:08 the spec isn't too clear about booleans... there's no "boolean" primitive, but you say stuff like "evaluates to true" 23:18:18 hmm, you might explain what evaluates to true and what doesn't 23:20:11 Assign the value to the given lval. Note that, unlike in C, this 23:20:11 operator evaluates to void: That is, expressions such as 23:20:11 a = b = c 23:20:11 are invalid. 23:20:13 I'm pretty sure I /do/ explain what evaluates to true and what doesn't. 23:20:15 are you sure about that? 23:20:26 i'm pretty sure you do, too 23:20:31 i just usually talk before i think 23:20:42 but, i don't think that's correct there :) 23:21:27 Non-zero numbers, non-empty strings == fasle 23:21:30 Erm 23:21:32 unless "=" doesn't specify evaluation direction and it has to be explicitly parenthesized 23:21:34 Wow, that wasn't right X-D 23:21:41 hah! :) 23:21:59 Zero, empty strings and void = false 23:22:03 Everything else = true 23:22:13 Note that this void value is not illegitimate. It can be assigned to a 23:22:13 variable, it can be tested, and it has a truth value (it is false). 23:22:26 That is, expressions such as a = b = c are invalid. 23:22:40 either must be wrong 23:22:45 i think 23:22:56 That's an excellent point. I do believe the expression a = b = c works, actually, it just isn't useful. 23:23:06 -!- RedDak has joined. 23:23:24 -!- RedDak has quit (Read error: 104 (Connection reset by peer)). 23:23:34 I'd have to verify that, but not right now. 23:23:37 -!- RedDak has joined. 23:23:57 is "=" left-to-right of right-to-left? 23:23:58 oh 23:24:13 you might not have specified that in case you didn't realize that's legal... 23:24:14 Oh yeah! 23:24:17 That's why it fails! 23:24:21 ah 23:24:24 it's no longer an lvalue 23:24:26 EVERYTHING is left->right 23:24:29 yep 23:24:36 i got that at the same instant you did 23:24:39 So that's (a = b) = c 23:24:42 Heh :P 23:25:04 but i'm drunk, so i must be cleverer than you! 23:25:13 :P 23:25:17 I'm at work, paying more attention to work than this convo :P 23:25:39 i could make excuses for hours. 23:26:15 "at work"? 23:26:26 do you mean making plof or actual work? 23:26:41 A job. 23:26:44 For which I get paid. 23:26:49 And do not write Plof :P 23:26:55 what do you do? 23:27:06 None o' your business X-P 23:27:10 :) 23:27:25 i see i see 23:29:17 -!- jix has quit ("CommandQ"). 23:46:37 GregorR: x = "blah" = y 23:46:38 hm 23:46:38 no 23:48:10 x = (y = "blah") would work 23:51:20 -!- RedDak has quit (Remote closed the connection). 23:52:42 -!- Arrogant has quit ("Leaving").