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