←2009-02-09 2009-02-10 2009-02-11→ ↑2009 ↑all
00:03:13 <kerlo> AI has been solved?
00:03:18 <kerlo> Hope it's Friendly.
00:03:49 <ehird> No, it's just some kook. :P
00:04:23 <kerlo> Oh, it's been "solved in theory". I wonder what that means.
00:04:39 <ehird> It's some tiny inscrutable forth program, and a javascript page that only works with MSIE.
00:05:15 <ehird> LOL, if you click "Terminate"
00:05:17 <ehird> It pops up
00:05:18 <ehird> The AI Mind is a living, sentient creature. You may unclick your decision.
00:06:18 <ehird> TODAY is Friday, December 19 2008 12:36:40 PM ** Stopped **
00:06:19 <ehird> AI-Mind Previous Thought - AI CREATE IDEAS
00:06:21 <ehird> xDxDxD
00:06:23 <ehird> http://aimind-i.com/
00:06:57 -!- Corun has quit ("This computer has gone to sleep").
00:07:15 <ehird> The Mind goes into hibernation state (Sleep) each night at 11:59 PM and wake up at 5:59 AM
00:07:15 <ehird> unless it detects a keyboard entry. Then it awakes and remains awake till the following night.
00:11:45 -!- jix has quit ("...").
00:28:40 <psygnisfive> so yeah. new blog. huzzah./
00:28:42 <psygnisfive> http://wellnowwhat.net/blog/
00:28:43 <psygnisfive> :P
00:28:52 <ehird> blogs. how 2006.
00:28:58 <psygnisfive> :P
00:29:00 <ehird> lol, wordpress.
00:29:04 <ehird> How 2005.
00:29:07 <psygnisfive> yeah yeah
00:29:07 <psygnisfive> :p
00:29:23 * ehird huddles off to his written-in-Haskell tumblelog on his HD
00:29:52 <psygnisfive> i dont like the whole microblogging thing. i dont have microbloggable ideas.
00:29:56 <psygnisfive> i rarely tweet.
00:30:26 <ehird> tumblelog != microblog
00:30:36 <psygnisfive> oh it so is
00:30:42 <ehird> tumblelog = (blog - crap) + links + quotes + videos + pics.
00:30:54 <lament> tumblog
00:30:59 <ehird> tog
00:31:06 <lament>
00:31:19 <psygnisfive> i have a tumblr account. i dont like it much.
00:31:30 <ehird> tumblr is shit.
00:32:21 <psygnisfive> anyway
00:32:30 <psygnisfive> tumblelogs are short form blogs.
00:32:35 <ehird> nope,
00:32:39 <psygnisfive> yep?
00:32:50 <psygnisfive> ok, plenty of mixed media too
00:32:51 <ehird> you're wrong. have a nice day :P
00:32:54 <psygnisfive> uh no?
00:33:00 <psygnisfive> A tumblelog is a variation of a blog that favors short-form, mixed-media posts over the longer editorial posts frequently associated with blogging. Common post formats found on tumblelogs include links, photos, quotes, dialogues, and video. Unlike blogs, tumblelogs are frequently used to share the author's creations, discoveries, or experiences while providing little or no commentary.
00:33:04 <psygnisfive> straight from the wiki.
00:33:06 <ehird> they're also wrong.
00:33:13 <ehird> note: i use terminology how the fuck I want.
00:33:27 <psygnisfive> so basically you're an idiot.
00:33:45 <ehird> hey, all the cool people do it.
00:33:46 <ehird> like oklopol.
00:37:13 -!- icefox has quit (Read error: 104 (Connection reset by peer)).
00:39:58 -!- icefox has joined.
00:40:38 -!- psygnisfive has changed nick to p5[cafe].
00:49:34 <comex> just like humpty dumpty
00:50:32 <kerlo> p5[cafe]: which wiki? :-P
00:51:20 <kerlo> Then again, I guess people do often refer to communication media themselves rather than the content providers.
00:51:43 <kerlo> I heard it on the radio, I saw it on TV, I read it online, I found it on the wiki.
00:52:27 <kerlo> People don't do that and expect others to know which radio station or TV station or web site or wiki they're talking about, though.
00:52:33 <oerjan> it came through the atmosphere
00:52:55 <kerlo> I perceived it via some waves.
00:53:12 <oerjan> waves, dude
00:54:20 <comex> actually, for 99% of the world, "i found it on the wiki" is fairly unambiguous
00:54:40 <kerlo> First, an emitter produced some waves. Then a converter converted the waves. Then a converter converted the waves. Then a converter converted the waves. Then a converter converted the waves. Then, lo and behold, they were inside my sensory organ.
00:54:53 <kerlo> True. There aren't all that many special-purpose wikis out there.
00:55:57 <kerlo> Still, I use Wikipedia, Wiktionary, the B Nomic Wiki, and, occasionally, the Esolang Wiki.
00:56:25 <kerlo> Less than an hour ago I was looking up Spanish words on the Spanish Wiktionary.
00:59:04 <kerlo> Well, I have to go do things. See you later tonight, possibly, or else tomorrow.
01:14:44 -!- oerjan has quit ("Lost terminal").
01:55:13 <p5[cafe]> kerlo: the one and only!
01:55:18 -!- p5[cafe] has changed nick to psygnisfive.
02:45:02 -!- psygnisfive has quit (Remote closed the connection).
04:42:20 -!- upyr[ema` has quit (Read error: 110 (Connection timed out)).
04:47:59 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
04:50:30 -!- CakeProphet has joined.
05:38:20 -!- icefox has quit.
05:57:50 -!- psygnisfive has joined.
07:44:22 -!- olsner has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:37:20 -!- olsner has quit ("Leaving").
09:43:59 -!- BeholdMyGlory has joined.
10:01:50 -!- GreaseMonkey has quit ("Client Excited").
10:16:33 -!- lifthrasiir has quit (Read error: 60 (Operation timed out)).
10:43:49 -!- BeholdMyGlory has quit (Remote closed the connection).
11:11:57 -!- jix has joined.
11:25:41 -!- BeholdMyGlory has joined.
11:31:46 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
11:57:12 -!- DH_ has joined.
12:08:09 <DH_> is everyone asleep?
12:09:36 <Slereah2> Yes.
12:09:40 <Slereah2> But I'm sleeptyping.
12:10:27 <DH_> interesting. That like stereotyping in Mono?
12:11:18 <Slereah2> ffffffffffffffffff
12:49:25 <AnMaster> no
12:49:39 <AnMaster> I'm awake but a bit busy
12:57:48 -!- KingOfKarlsruhe has joined.
13:25:31 -!- upyr[emacs] has joined.
14:10:04 -!- DH_ has quit (Read error: 104 (Connection reset by peer)).
14:38:44 -!- kwufo has quit (Remote closed the connection).
14:41:45 -!- icewizard has joined.
14:49:30 <ehird> hi icewizard
14:49:37 <ehird> you new? :)
14:49:48 <ktne> hi ehird
14:49:53 <ehird> hi
14:51:36 <ktne> is there any other interesting language feature i should consider?
14:51:58 <ktne> except pure functions since my language is imperative
14:52:18 <ehird> Lazy evaluation. Getting it to work in an imperative language is hell on earth, but it's still cool :-P
14:52:31 <ktne> D has a sort of lazy evaluation
14:52:36 <ehird> True.
14:52:38 <ktne> but it works more like a delegate
14:52:46 <ehird> You can't really do things like infinite lists without pain, though.
14:52:46 <icewizard> hi ehird
14:52:56 <ehird> ktne: extensible syntax?
14:52:59 <ktne> well, i never quite got infinite lists
14:53:00 <ehird> Lisp-style macros?
14:53:07 <ktne> ehird: yes, proper macros are planned
14:53:25 <ehird> OK. ktne: make them more generalized, so the syntax is essentially completely extensible?
14:53:32 <ehird> That'd be neat, and it'd only have overhead if you actually used it.
14:53:36 <ehird> And even then only at compile-time.
14:53:52 <ktne> my idea is to make something like this:
14:54:04 <icewizard> Is there an esoteric language similar to forth?
14:54:06 <ktne> not actual code, just pseudocode
14:54:14 <ehird> icewizard: yep, see FALS.
14:54:17 <ehird> *FALSE
14:54:23 <icewizard> Thanks
14:54:25 <ktne> def my_macro(string):string .... {function body}
14:54:35 <ehird> ktne: yeah, except
14:54:39 <ehird> you can't use that nicely
14:54:39 <ktne> so the macro is a function that takes a string and returns a string
14:54:42 <ehird> e.g. a new control structure
14:54:47 <ehird> foobarbaz (foo) { ... }
14:54:47 <ktne> then at compile time
14:54:50 <ktne> yes
14:54:51 <ehird> you can't define that with yours
14:54:52 <ehird> also
14:54:54 <icewizard> Pseudocode: that's be a neat name for an esoteric language :-)
14:54:54 <ktne> surely you can
14:54:55 <ehird> manipulating code as a string is hell
14:55:00 <ktne> my idea is to take
14:55:03 <ehird> you want to give the macro an AST
14:55:10 <ktne> everything between {} as a string
14:55:14 <ktne> yes i need ast
14:55:27 <ehird> I'd just expose the parser at compile-time. Then, macros can go in a library on top of that.
14:55:54 <ktne> well, ok, wait a sec to tell you about the syntax
14:56:19 <ktne> basically all parentheses have to be balanced
14:56:35 <ehird> Even in strings?
14:56:38 <ktne> and strings must be closed
14:56:42 <ktne> no, not in strings
14:56:48 <ehird> Ok, well, this sounds like very conventional syntax.
14:56:53 <ktne> yes
14:57:01 <ehird> I just mean: Give the programmer a way to extend the parser at compile-time.
14:57:07 <ehird> Heck, expose the whole compiler.
14:57:12 <ktne> wait a sec
14:57:13 <ehird> Then macros can just be a small library
14:57:20 <ktne> the macro is any function
14:57:27 <ehird> That won't work.
14:57:30 <ktne> that is marked as a macro using a flag
14:57:35 <ehird> You'd have to compile the code before you compile the code.
14:57:42 <ktne> well of course
14:57:52 <ktne> it's just that it's dynamic
14:57:55 <ktne> it's not a static language
14:58:04 <ehird> Lisp is dynamic,too.
14:58:05 -!- icefox has joined.
14:58:09 <ehird> And it has macros separate from functions, entirely.
14:58:21 <ktne> each function is compiled when entered
14:58:35 <ktne> or at least when it's flagged as a macro
14:58:50 <ktne> then that function will be usable in two ways
14:59:08 <ktne> at the start of a statement without ; or a statement containing {}
14:59:13 <ktne> so if your macro is my_macro
14:59:31 <ktne> or until newline if nothing else is present
14:59:34 <ktne> then those will be preprocessed by the macros
14:59:46 <ktne> my_macro ... any string ...
14:59:47 <ehird> I dunno. It sounds like a hack.
14:59:50 <ktne> my_macro ..... ;
14:59:52 <ehird> A huge, ugly hack.
14:59:58 <ktne> my_macro (asdasd)asd ... {};
15:00:03 <ktne> it's not
15:00:12 <ktne> those are the ways in which a macro can be used
15:00:18 <ehird> I would really, really just expose the compiler at compile-time. There's no reason not to.
15:00:36 <ktne> because there is no compiler
15:00:45 <ktne> i plan to run it using a llvm jit
15:00:50 <ktne> there is no type checking and such
15:00:57 <ktne> just at runtime
15:02:37 <ktne> my main question
15:02:37 <ehird> if there isn't a compiler your language doesn't exist
15:02:41 <ehird> you either have a compiler or an interpreter
15:02:42 <ktne> should the macro be processed
15:02:48 <ktne> it's interpreted
15:02:53 <ktne> be processed when the function is called
15:02:58 <ktne> or when the function is declared
15:03:11 <ktne> if the function is processed when called, then the macro can expand in function of function arguments
15:03:15 <ktne> otherwise it's fixed
15:04:11 <ktne> can expand in function of function arguments -> can expand depending on the actual value of function arguments
15:04:34 <ktne> i guess that would be more powerful but also somewhat slower, eventually it should be cached
15:05:13 <ktne> usually lisp macros are all at compile time, right?
15:05:18 <ktne> that would be declaration time
15:05:41 <icewizard> FALSE looks ugly. What's the most aesthetically pleasing esoteric lang?
15:05:44 <ktne> this one will be probably on call time
15:05:56 <ktne> icewizard: that whitespace langauge? :)
15:06:26 <icewizard> Urgh :-(
15:07:17 <ktne> Unlambda: Your Functional Programming Language Nightmares Come True
15:07:23 <ktne> http://www.madore.org/~david/programs/unlambda/
15:07:40 <ktne> check that one
15:08:29 <ehird> icewizard: BCT
15:08:37 <ehird> http://esolangs.org/wiki/BCT
15:09:03 -!- jix has quit ("...").
15:09:45 <ktne> ehird: so?
15:09:52 <ktne> what do you think?
15:10:10 <ehird> ktne: I still prefer the idea of an extensible parser at compile time
15:10:19 <ehird> It nets the same effect, but without the hack, and with more oppertunitiess
15:11:08 <ktne> not necesarily
15:11:17 <ktne> it won't have the same effect as a call time expansion
15:11:30 <ehird> umm, and it shouldn't
15:11:32 <ehird> that's not a macro
15:11:42 <ktne> why it's not a macro?
15:12:00 <ktne> hmm
15:12:06 <ehird> macros are compile-time expansion
15:12:07 <ktne> i can see why it wouldn't be a macro
15:12:28 <ktne> i guess i will have to add both of them
15:12:32 <ehird> why?
15:12:38 <ehird> you can build call-time from compile-time
15:12:42 <ktne> one of them will be just a sort of eval
15:12:43 <ehird> i believe
15:13:00 -!- icewizard has quit ("http://www.mibbit.com ajax IRC Client").
15:13:06 <ktne> you cannot build call-time from compile-time because call-time can make use of actual passed arguments
15:13:15 <ehird> uhhh
15:13:19 <ehird> i think you need to try lisp macros
15:13:21 <ehird> because you absolutely can
15:13:33 <ktne> yes but they look less powerful
15:13:39 <ktne> than call-time expansion
15:13:45 <ehird> wrong.
15:13:50 <ktne> compile-time expansion is just constant call-time expansion
15:13:58 <ehird> ...nope
15:14:07 <ktne> i cannot see any case where it would be otherwise
15:14:53 <ktne> i mean, any compile-time expansion will have the same result as a call-time expansion that does not make use of actual values of passed parameters
15:15:09 <ehird> I disagree strongly, have you _tried_ lisp macros?
15:15:13 <ktne> fun(a,b) { macro {..} ...}
15:15:45 <ktne> now, if this is call-time then the macro can make use of actual value of a and b
15:16:18 <ktne> at compile time it cannot make use of their value, unless it's expanded in a piece of code that has "if (a==..) then {..} else {...}"
15:16:27 <ehird> uuhh, that's not a relevant example
15:16:37 <ktne> ok, then what would be such an example?
15:17:08 <ehird> well, generally macros aren't used like that
15:17:23 <ktne> how are macros used then?
15:17:50 <ehird> try googling for lisp macros, here's one good article:
15:17:59 <ehird> http://www.defmacro.org/ramblings/lisp.html
15:18:00 <ktne> well i think i'm quite familiar
15:18:10 <ktne> and this is why i do not understand your objection
15:18:24 <ktne> except the AST-tree objection
15:18:28 <ehird> it's your language, anyway.
15:18:42 <ktne> i don't say that i disagree with you
15:18:49 <ktne> because i don't understand your objection :)
15:19:45 <ktne> my idea is that the function would make use of a stdlib function to parse the string into an ast tree
15:19:52 <ehird> Ew.
15:19:59 <ktne> instead of it being provided as part of the compiler
15:26:18 <ktne> ehird: if i try to preparse something as an AST tree before feeding it to the macro
15:26:35 <ehird> ... then you need an extensible AST to allow advanced macros.
15:26:37 <ktne> then i have arbitrary limitations on the syntax that it can process
15:26:44 <ehird> And macros can be built on top of an extensible AST themselves.
15:26:47 <ktne> note that lisp doesn't have this issue
15:26:48 <ehird> Thus, extensible parser at compile time.
15:27:07 <ktne> because lisp doesn't use an internal representation that is different from the syntax representation
15:28:18 <ktne> but because my syntax representation is not the same as internal representation i cannot preprocess the code as an AST tree before feeding it into the macro
15:28:21 <ktne> do you get me?
15:28:32 <ehird> Yes.
15:28:36 <ehird> But only
15:28:41 <ehird> because of your self-imposed limitations on the parser.
15:28:57 <ktne> actually there is no limitation, it's the opposite
15:29:10 <ktne> the parser is a stdlib function that is called by the macro
15:29:21 <ktne> on the parts of the code that are known syntax
15:29:35 <ktne> the macro has to handle the other parts of the macros that cannot be parsed by the standard parser
15:30:04 <ktne> because there is no limitation on what form the syntax might take it is not possible to pass it first to the parser
15:30:08 <ehird> I disagree with the option you're taking, it's your language, and I can't seem to convince you. So, fine.
15:30:27 <ktne> ok, le's suppose we have a macro called regex
15:30:30 <ktne> regex ... ;
15:30:45 <ktne> this will compile that regex as some sort of object that does string matching
15:30:53 <ktne> how could that be preprocessed by the parser?
15:31:06 <ktne> it's not anything resembling common language syntax
15:31:07 <ehird> because at compiletime you can extend the parser
15:31:10 <ehird> and you add any syntax for regexs
15:31:11 <ktne> it's a whole different langauge
15:31:17 <ehird> even something more convenient
15:31:19 <ehird> like R/.../
15:31:40 <ehird> then you add a function to compile that AST to the base language
15:31:40 <ehird> tada
15:32:34 <ktne> well that is for inline identifiers
15:32:40 -!- mib_9uywpz has joined.
15:32:41 <ktne> i mean, for inline code
15:32:57 <ehird> no.
15:32:59 <ehird> it can be for anything.
15:33:07 <ktne> for example such inline macro expansion would be any 0x followed by any number of 0 and 1 and ending in 'b'
15:33:12 <ehird> want plain macros to just add a control structure? you can put that in a library!
15:33:13 <ktne> 0x01010101b
15:33:17 <ehird> that extends the parser
15:33:34 <ehird> it's the more general, purer solution, it has more useful oppertunities, it's less of a hack, and it's better
15:33:34 -!- mib_9uywpz has quit (Client Quit).
15:33:45 <ktne> the problem with that is that it assumes that the inner code can be preprocessed first
15:33:53 <ktne> but it cannot be
15:34:04 <ktne> think about this:
15:34:10 <ehird> excuse me. you are writing a parser anyway ,right?
15:34:15 <ehird> a parser can parse the syntax
15:34:25 <ehird> i'm giving up now, there's obviously no way I can convince you
15:34:29 <ktne> you define an inline macro (let's say by expanding the parser) that handles all those binary numbers i described above
15:34:53 <ktne> then you have a macro called my_macro that takes a block of code as parameter, maybe this is a control statement macro
15:35:10 <ktne> now let's suppose we try to work with this:
15:35:23 <ktne> my_macro { 0x1010101b 0x10010101b ; 0x10010101000b }
15:35:35 <ehird> sure.
15:35:46 <ktne> the question is, what shall my_macro be fed with?
15:36:12 <ktne> if the parser is extended
15:36:27 <ktne> then those binary numbers would be preprocessed
15:36:36 <ktne> then a list of three binary numbers would be prepared
15:36:41 <ehird> I'm saying REMOVE MACROS
15:36:46 <ehird> macros can be made as syntactic extensions
15:36:47 <ehird> just like that one
15:36:50 <ktne> and this list would be fed into my_macro
15:36:52 <ehird> make a library to make defining macros easier
15:37:07 <ktne> but
15:37:18 -!- Hiato has joined.
15:37:25 <ktne> the problem with this is that it makes assumptions on what those particular strings mean in the my_macro ASL
15:37:31 <ktne> i mean DSL
15:37:31 <ehird> no it does not
15:37:35 <ktne> it does
15:37:36 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:37:41 <ktne> because you cannot assign any other meaning to it
15:37:43 <ehird> you can easily make it not parse the binaries with a parser
15:37:57 <ehird> if you don't know how, well, I seriously doubt your skills in compiler construction
15:37:58 <ktne> ok, but what about all other macros?
15:38:06 <ehird> whta
15:38:09 <ehird> *what
15:38:11 <ktne> the point is that you cannot make absolutely any assumption
15:38:21 <ehird> umm. you don't.
15:38:21 <ktne> you cannot preprocess that at all
15:38:27 <ehird> sure you can.
15:38:33 <ehird> anyway, I give up, do itthe other way.
15:38:37 <ktne> instead you pass that as a STRING to the macro
15:38:48 <ktne> then the macro calls the standard parser on the parts that follow common syntax
15:39:11 <ktne> and the standard parser will parse those binary numbers into binary AST nodes
15:39:20 <ktne> binnum ast nodes
15:40:15 <ktne> this is all because you cannot preprocess the inner macros
15:40:30 <ktne> you have to leave all processing in the hightest outer macro
15:40:53 <ktne> that higher outer macro will make all necesary calls, like to preprocess any existing inline forms like binary numbers for example
15:41:14 <ktne> otherwise you have to make assumptions on what the actual macro content is, which you cannot do
15:41:32 <ehird> no
15:41:46 <ktne> ehird: you would have to manually specify the list of all exceptions
15:41:52 <ehird> errr, no
15:41:55 <ktne> then?
15:42:13 <ktne> how do you disable binary number handling inside the macro?
15:42:33 <ehird> either you're handling regular code in the block, or you're not putting a code node in there, you're putting your custom node.
15:43:14 <ktne> but the problem is that only the higher outer macro knows what ast node the code between {} represents
15:43:29 <ehird> ... so you put that in its ast definition
15:43:31 <ehird> this is reall ysimple
15:43:55 <ktne> yes but you cannot preprocess the content of the block
15:44:17 -!- BeholdMyGlory has joined.
15:44:24 <ktne> because the content can be processed using only the higher outer macro because that's the one that determines the meaning of the inner block
15:44:39 -!- MigoMipo has joined.
15:45:19 <ktne> ok, brb
15:58:02 -!- FireyFly has joined.
16:05:22 -!- ais523 has joined.
16:12:07 -!- DH_ has joined.
16:17:27 -!- kwufo has joined.
16:18:20 -!- icefox has quit (Read error: 104 (Connection reset by peer)).
16:19:19 -!- icefox has joined.
16:40:07 -!- icefox has quit (Read error: 104 (Connection reset by peer)).
16:40:36 -!- icefox has joined.
16:52:59 -!- Hiato has quit ("Leaving.").
16:56:26 -!- DH_ has quit ("Trillian (http://www.ceruleanstudios.com").
17:40:38 -!- lifthrasiir has joined.
17:53:39 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
17:55:34 -!- Slereah2 has joined.
17:57:34 -!- oerjan has joined.
18:20:19 -!- Hiato has joined.
18:20:58 -!- Hiato has quit (Client Quit).
18:37:55 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
18:39:31 -!- KingOfKarlsruhe has joined.
18:59:42 <AnMaster> hi ais523
18:59:47 <ais523> hi AnMaster
19:08:40 -!- olsner has joined.
19:09:23 <MizardX> >>> float("inf")*float("inf")
19:09:25 <MizardX> inf
19:09:25 <MizardX> >>> float("inf")**2
19:09:25 <MizardX> OverflowError: (34, 'Result too large')
19:10:02 <ais523> haha
19:10:55 <MizardX> >>> inf**0
19:10:55 <MizardX> 1.0
19:12:48 -!- Hiato has joined.
19:16:54 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:29:25 -!- oerjan has quit (brown.freenode.net irc.freenode.net).
19:29:25 -!- Hiato has quit (brown.freenode.net irc.freenode.net).
19:29:25 -!- Slereah2 has quit (brown.freenode.net irc.freenode.net).
19:29:25 -!- MigoMipo has quit (brown.freenode.net irc.freenode.net).
19:29:26 -!- Leonidas has quit (brown.freenode.net irc.freenode.net).
19:29:33 -!- Hiato has joined.
19:29:33 -!- oerjan has joined.
19:29:33 -!- Slereah2 has joined.
19:29:33 -!- MigoMipo has joined.
19:29:33 -!- Leonidas has joined.
20:03:09 -!- Hiato has quit ("Leaving.").
20:10:01 -!- kar8nga has joined.
20:27:12 -!- oklopol has joined.
20:52:34 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
21:10:25 -!- icefox has quit.
21:18:06 <ais523> "interactive gopher"?
21:18:11 <ais523> see zzo38's latest esowiki edit
21:18:26 -!- ais523 has changed nick to CourageWolf.
21:18:30 -!- CourageWolf has changed nick to ais523.
21:20:41 -!- FireyFly has changed nick to Zetro.
21:23:21 -!- Zetro has quit (Nick collision from services.).
21:25:34 -!- FireFly has joined.
21:25:45 * oerjan swats FireFly -----###
21:26:06 <FireFly> :<
21:26:18 <oerjan> are those <'s wings?
21:26:31 <oerjan> or tiny legs?
21:26:38 <FireFly> Or a really sad mouth?
21:29:42 <FireFly> I'd like to see a language where the variables are named by positive integers from 0 and up, that each start with its respective value as its default value, and where those variables are the only way to modify the variables.. Eg. no native numerals.
21:29:51 <FireFly> Hm
21:29:53 <ais523> FireFly: http://esolangs.org/wiki/Forte
21:30:02 <ais523> oh, also control flow's done that way
21:30:15 <ais523> and it messes up arithmetic:
21:30:22 <ais523> 10 LET 4=5
21:30:27 <ais523> 20 PRINT (2+2)+2
21:30:29 <ais523> prints 7
21:30:52 <FireFly> :(
21:30:55 <FireFly> Someone beats me to it
21:31:00 <ais523> sorry, that was me
21:31:01 <FireFly> Ah
21:31:03 <ais523> I like Forte, though
21:31:03 <FireFly> Someone was you
21:31:04 <FireFly> :)
21:31:17 <ais523> also notable is that it has no known implementations in /non/-esoteric languages
21:33:49 <FireFly> 40 PRINT 6*9
21:33:49 <FireFly> This now outputs 42, as 9 has the value 7.
21:33:55 <FireFly> That's more correct
21:38:45 <oerjan> no, that's exactly as correct :D
21:47:55 <FireFly> Has anyone ever tried to implement Sir. Cut?
21:54:19 <ehird> Back.
21:55:27 <ehird> also, I'd ignore zzo38 most of the time
21:55:38 <ehird> Some of his langs are fun but apart from that he's pretty loony.
21:55:48 <ehird> (In the boring sense rather than the esoteric sense.)
21:56:14 <ehird> seeing his latest comment, umm, it certainly isn't english.
21:56:34 <ehird> http://esolangs.org/wiki/BrainClub
21:56:40 <ehird> his stupid web browser supports that, lol
21:56:48 <ehird> it's just forth.
21:56:50 <ehird> ugly forth
21:58:07 <ehird> Although sometimes zzo38 says deep things.
21:58:08 <ehird> "// These numbers are just examples. In reality they would be stupid"
21:58:58 <ehird> speaking of which, I made a toy lazy SKI interpreter in C to help impomatic understand SKI.
21:58:59 <ehird> http://pastie.org/385352.txt?key=12g4muwehv2sg6qieyv3w
21:59:02 <ehird> Requires Boehm GC.
21:59:28 <ehird> Not speaking of which at all actually butthere you go
21:59:57 <ehird> hmm
21:59:59 <ehird> actually it's broken
22:00:08 <ehird> non-combinator constant expressions never terminate
22:00:09 * ehird fixes
22:03:59 <ehird> http://pastie.org/385435.txt?key=y4wsv9nkgik3jmeaixmqdg
22:04:59 <ehird> ```sii``sii is fun with laziness
22:05:00 <ehird> ``i`i`i`i`i`i`i`i`i`i`i`i`i`i``sii`i`i`i`i`i`i`i`i`i`i`i`i`i`i``sii
22:05:44 <Slereah2> It goes thusly : http://membres.lycos.fr/bewulf/Russell/Loop.jpg
22:05:45 <Slereah2> :D
22:05:59 <ehird> Yep
22:06:09 <ehird> It's a lovely pattern
22:06:31 <ehird> Wonder if there's an infinite loop that doesn't grow lazily
22:07:29 <kerlo> Laziness, eh?
22:07:34 <ehird> Yes.
22:07:37 <ehird> We're all very lazy.
22:07:49 <Slereah2> That's the whole reason for Lazy Bird
22:07:51 <ehird> ais523: hi
22:08:01 <ehird> Slereah2: Erm, lazy SKI is not an innovative concept
22:08:13 <Slereah2> ehird : I know
22:08:20 <ehird> oh
22:08:28 <Slereah2> But it still is the reason behind it :3
22:08:35 <oerjan> lazy SKI: when you go straight to the after-ski
22:08:39 <ehird> Huh, ```sii``sii somehow stays in constant space in my interp
22:08:44 <kerlo> ```sii``sii -> ``i``sii`i``sii -> ```sii`i``sii -> ``i`i``sii`i`i``sii
22:08:46 <Slereah2> Really, it started out as me trying to make Unlambda on a Turing machine.
22:08:48 <kerlo> Great.
22:08:52 <ehird> kerlo: Yes.
22:08:54 <Slereah2> And you guys told me "this is wrong, this is lazy"
22:08:56 <ehird> Oh, wait.
22:08:58 <ehird> Now it's growing in space.
22:09:02 <Slereah2> And I was all like "What the fuck is lazy?"
22:09:08 <ehird> Less than a megabyte thoooo
22:09:39 <ehird> I conclude that this will eventually overflow the stack.
22:09:44 <ehird> If you wait like 5 billion years.
22:10:10 <oerjan> ehird: it's square root growth, isn't it.
22:10:23 <kerlo> Slereah2: so, what is this oddly-anti-aliased image of yours?
22:10:29 <ehird> well, my interp actually only uses the stack very shallowly.
22:10:35 <Slereah2> It is this : http://membres.lycos.fr/bewulf/Russell/Loop.txt
22:10:35 <oerjan> it has to chop off all the i's before the next big iteration
22:10:39 <ehird> kerlo: small screenshot of lazy ```sii`sii evolution
22:10:42 <ehird> oerjan: right
22:10:46 <ehird> but specifically,
22:10:46 <Slereah2> Well, not exactly
22:10:47 <kerlo> (I have a feeling sinc or Lanczos resampling wouldn't do that. :-P)
22:10:50 <ehird> my interp will only recurse to find:
22:10:54 <ehird> the equality of two expressions
22:10:55 <ehird> and
22:10:57 <ehird> to evaluate the applier
22:11:10 <ehird> So it'll take Quite a Long Time to make this crash
22:11:50 <oerjan> oh right recursion too, so removing _one_ i would be O(n)
22:12:04 <oerjan> i think
22:12:13 <ehird> you know what's irritating?
22:12:13 <ehird> % ./ski
22:12:14 <ehird> warning: this program uses gets(), which is unsafe.
22:12:16 <ehird> I don't care
22:12:18 <ehird> IT'S A SMALL HACK
22:12:20 <ehird> fuck you glibc
22:12:24 <ehird> NANNY STATE OF THE C LIBRARIES
22:14:00 <oerjan> i don't really know, but i expect 99% of fatal security bugs are because of something the programmer _should_ have seen, and which he would think is so obvious that he would be annoyed if he was warned about it (before getting a clue)
22:14:19 <oerjan> but that's just my general prejudice on human stupidity
22:14:40 <ehird> yes but
22:14:43 <ehird> it should tell me at COMPILE TIME
22:14:47 <ehird> not at EVERY SINGLE RUNTIME
22:14:58 <oerjan> hm ok
22:16:17 <oerjan> hm wait that recursion is only O(n) if it restarts at the top every step
22:16:34 <ehird> yeah
22:16:37 <oerjan> otherwise it can obviously do all the i's in O(n)
22:16:41 <ehird> ````ssk``s`k``ss`s``sskk```ssk``s`k``ss`s``sskk
22:16:42 <ehird> even that grows
22:16:43 <ehird> :<
22:16:57 <lament> :(|
22:17:49 <ehird> is that a frog
22:17:55 <oerjan> problem is because of the way s works, you cannot get the third argument simplified until you actually use it. hm.
22:18:10 <ehird> yeah
22:18:20 <ehird> we need an expression that takes N steps to get to itself
22:18:24 <ehird> (not an equivalent version; itself)
22:19:08 <oerjan> hm something with church numerals?
22:19:42 <ehird> oerjan: fun fact: the Y combinator (or any fixed point combinator) is the infinite church numeral
22:19:47 <oerjan> you can turn something equivalent to a church numeral into a church numeral by applying it to increment
22:19:52 <ehird> 0 f x = x
22:19:54 <ehird> 1 f x = f x
22:19:57 <ehird> 2 f x = f (f x)
22:20:00 <oerjan> thus simplifying
22:20:15 <ehird> can you figure out how?
22:20:19 <ehird> :P
22:20:21 <ehird> it's kind of neat
22:20:23 <ehird> well
22:20:25 <ehird> it actually goes to
22:20:28 <ehird> f (f (f ...)) x
22:20:29 <ehird> but you can fixthat
22:20:31 <ehird> trivially
22:20:56 <ehird> (i mean, it's just \x y -> fix x)
22:22:18 <ehird> oerjan: am I right, wrong?
22:23:16 <oerjan> sounds reasonable
22:25:06 <ehird> "But, you might not understand how to write a program in FORTAVM if you aren't a real programmer"
22:25:12 <ehird> -- zzo38 serious project http://www.ifwiki.org/index.php/User:Zzo38/FORTAVM
22:25:35 * oerjan read that as FORTRAN
22:25:58 <ais523> it reminded me of FORTRAN, but I didn't misread it
22:26:20 <ehird> i saw a post by zzo38 on some forum
22:26:34 <ehird> it was in a topic about the forum's improved search feature
22:26:40 <ehird> he complained, saying it would be better if it was less user friendly
22:26:48 <oerjan> i'm sure i would read better if there wasn't someone with an annoying sulky voice having a phone conversation in the next room
22:26:48 <ehird> for no reason other than it would be less user friendly
22:27:01 <ehird> crazy guy. I wonder if it's just a put-on personality.
22:29:21 * oerjan wonders what his native language is.
22:29:29 <ehird> I think it's actually english.
22:29:35 <ehird> He just, ummm, doesn't know english.
22:29:58 <ehird> Possibly autism or something
22:30:57 -!- kar8nga has quit (Remote closed the connection).
22:33:26 <oerjan> aww, someone corrected a spelling error in the English article
22:34:49 <ehird> I would probably use a athena widgets or a similar one, and not targeting any particular desktop to make it work with any desktop or even working without desktop at all, I don't even know why you need a desktop anyways!
22:34:53 <ehird> --zzo38
22:34:54 * oerjan thought the spelling errors were the best part...
22:34:58 <ehird> Yeah us crazy people and our desktops
22:35:05 <ehird> Athena widgets are awesome.
22:35:12 <ais523> yay, -Xaw
22:35:40 <ehird> http://forums.thedailywtf.com/forums/p/9275/173050.aspx
22:35:41 <ehird> Hay! I paid for this! Now it is nearly gone and now what am I supposed to do?
22:36:40 <ehird> "Which forum, which isn't closed, does have something to do with that BBS?"
22:36:42 <ehird> hahahahahh
22:37:28 <ais523> <KenW> You can't be so stupid that you can't get the point here. Can you? No, nobody could be that dumb and manage to feed themselves enough to live. Could they?
22:37:50 <ehird> zzo38: Advancing the understanding of human knowledge daily.
22:37:52 <ais523> <zzo38> I can't write very clearly enough to be understood
22:38:27 <ehird> Theory: zzo38 is actually an AI.
22:38:52 <ehird> The fact that he is batshit insane and has no common sense (which he admits) is attributed to the lack of the millions of years of evolution and development of this that humans have gone through
22:38:55 -!- jix has joined.
22:39:35 <oerjan> ehird: also, you are a prick
22:39:47 <ehird> This also.
22:39:49 <ehird> :D
22:39:59 <ais523> actually, he probably has Asperger's Syndrome
22:40:07 <ehird> I said autism earlier
22:40:19 <kerlo> ehird: do you have autism?
22:40:26 <oerjan> the forum posts you linked to shows that zzo38 is clearly aware of his problems, and cannot do anything about them.
22:40:27 <ehird> kerlo: Probably not.
22:40:43 <ehird> oerjan: Doesn't mean i can't theorize about the origins,.
22:41:06 <kerlo> I blame my batshit insanity on aphasia. :-D
22:41:11 <comex> hey
22:41:14 <comex> we're nicer in B
22:41:51 <ehird> except for j and wooble :p
22:42:11 <lament> a prick with aspergers - asprick?
22:42:11 <ehird> kerlo: You have aphasia? :P
22:42:21 <ehird> lament: Or, "a sprick"
22:42:25 <ehird> "You're such a sprick."
22:43:03 <oerjan> no one here likes aspricks, except psygnisfive
22:43:44 <pikhq> Hmm, look at what I walked into.
22:43:47 <kerlo> ehird: come over to my house, turn on the radio to NPR, and say something. I might understand you.
22:43:58 <oerjan> pikhq: you've been here all along
22:44:11 <pikhq> oerjan: I leave my IRC client on 24/7.
22:44:30 <oerjan> I DON'T BELIEVE YOU
22:44:40 <pikhq> Would you prefer to think that I never sleep?
22:44:54 <oerjan> SLEEP IS FOR WEENIES
22:45:33 <pikhq> My roommate would agree.
22:45:53 <ehird> woot, it's time for a polyglot emergency procedure
22:45:58 <kerlo> Does that mean that sleep deprivation makes weenies unhappy?
22:46:00 <pikhq> He sleeps a total of 2 hours a day.
22:46:04 <pikhq> (polyphasic sleep)
22:46:07 <ehird> e5 emergency + earlier e5 emergency + e2 emergency
22:46:11 <ehird> this will be fun
22:46:22 <oerjan> e5? e2?
22:46:28 <ehird> Era 5, Era 2.
22:46:35 <ehird> B Nomic. I'm mentioning this in here because it is esoteric.
22:46:41 <ais523> ehird: just because you've left ##nomic doesn't mean you have to turn #esoteric into ##nomic
22:46:42 <ehird> Basically, half the rules may have been commented out for 5 years.
22:46:49 <ehird> ais523: The situation is esoteric in the highest degree
22:46:50 <oerjan> kerlo: it makes _me_ unhappy at least
22:46:53 <ehird> Therefore, it is relevant. QED.
22:47:06 <ais523> hmm... I'll ask oerjan the relevant question
22:47:15 <ais523> oerjan: in [[a]]b[[c]], is the b between "[[" and "]]"?
22:47:31 <ehird> Note: 5 years of gameplay is destroyed if you say "yes". :P
22:47:35 <ehird> Also, it's actually
22:47:38 <ehird> foo [[a]] bar
22:47:39 <ehird> foobar
22:47:41 <ais523> ehird: no, the 5 years of gameplay never existed
22:47:41 <ehird> foo [[c]] bar
22:47:46 <ehird> ais523: Ssh.
22:47:50 <ais523> ehird: still all one document, though
22:47:52 <ehird> I want him to feel GUILTY, dammit.
22:47:59 <jix> i'd say it is inbetween
22:48:11 <ehird> jix: Congrats! You have destroyed B Nomic. Have a nickel.
22:48:15 <oerjan> i'll say "no" then, since that was my initial hunch anyway
22:48:26 -!- kwufo has quit ("Leaving.").
22:48:36 <ehird> oerjan is a published mathematician and therefore not a retarded monkey.
22:48:38 <ehird> And therefore correct.
22:48:39 <jix> but i'm not a native english speaker....
22:48:42 <ehird> Let's go back to playing B Nomic.
22:48:43 -!- kwufo has joined.
22:48:53 <Slereah2> ehird : But he has no Erdos number!
22:49:04 <oerjan> although obviously there should have been a "matching" in there to clarify.
22:49:06 <pikhq> Yes, he does.
22:49:38 <Slereah2> WHAT IS IT THEN, HUH?
22:49:52 <jix> 1 at, into, or across the space separating (two objects or regions)
22:49:54 <oerjan> i'm sure some of the best mathematicians are retarded monkeys. or great apes, at least.
22:50:02 <jix> hmmm
22:50:11 <jix> i just can't see how b is not between [[ and ]]
22:50:19 <ais523> neither can I
22:50:25 <Slereah2> I bet a million monkeys at a million typewriter could publish a math paper
22:50:28 <ais523> ehird's assuming it was on the wish-it-were interpretation
22:50:39 <lament> Slereah2: sure, how much do you want to bet?
22:50:44 <ehird> no
22:50:45 <ehird> it's context
22:50:49 <ehird> in the context of the rules
22:50:51 <ehird> it's very obvious
22:51:01 <ais523> ehird: it's obvious what was meant. That's different from what it /is/.
22:51:04 <Slereah2> lament : ONE MILLION DOLLARS
22:51:08 <ais523> just like in programming, the compiler doesn't guess what you meant
22:51:18 <ais523> well, unless you're writing in Perl
22:51:37 <lament> Slereah2: deal! Let's do it.
22:51:40 <oerjan> Slereah2: 4 iirc
22:51:40 <jix> what is the exact relevant sentence?
22:51:51 <oerjan> since last it was mentioned here
22:52:04 <Slereah2> First, to find a million monkeys...
22:52:39 <jix> ais523: can you point me to the rule where the word between is used?
22:52:54 <ais523> jix: I'm trying to find it
22:53:01 <ais523> the problem is that there were lots of versions
22:53:14 <oerjan> hm what are the most common primates other than humans?
22:53:22 <ehird> jix: here's the maybe-current version:
22:53:38 <ehird> In every Game Document, with the exception of this paragraph, text between a forward slash+asterisk character combination and an asterisk+forward slash character combination or between double square brackets (that is, text between "/*" and "*/" or between "[[" and "]]") shall be deemed Comment Text. Comment Text has no direct effect on the state of the game, although it can be read.
22:53:54 <pikhq> Slereah2: A million monkeys at a million typewriters given infinte time could probably *compose* a math paper. However, they probably couldn't publish one.
22:53:54 <ais523> In each Game Document, with the exception of this paragraph, text
22:53:56 <ais523> between doubled square brackets (that is, text between "[[" and "]]")
22:53:57 <ais523> shall be deemed Comment Text. Comment Text has no direct effect on the
22:53:59 <ais523> state of the game, although it can be read.
22:54:00 <ehird> grrrrrrrrrrrrrrrrrrr
22:54:04 <pikhq> Instead, they would throw shit on the page.
22:54:06 <ehird> read before flooding
22:54:11 <ais523> ehird: you pasted the wrong version
22:54:14 <ais523> arguably, so did I
22:54:24 <ehird> they were identical, ais523
22:54:27 <ais523> but the problem is, if /any/ of the versions is buggy, B's in trouble
22:54:30 <ais523> ehird: no they weren't
22:54:33 <ais523> yours has /* */ in
22:54:35 <ais523> mine doesn't
22:54:38 <ais523> so they aren't identical
22:54:42 <ehird> fine
22:54:51 <ais523> also, yours is probably more problematic than mine
22:55:04 <ais523> "between a forward slash+asterisk character combination and an asterisk+forward slash character combination" has absolutly no implication of matching involved
22:55:08 <ehird> so, someone make a constant-space lazy ski infloop :D
22:55:15 <ais523> whereas "between double square brackets" might do
22:55:49 <jix> slash+asterisk character combination doesn't specify the order of / and * for me....
22:55:54 <oerjan> my question: is that rule on comments itself after a [[ and before a ]]? :D
22:56:03 <jix> so it would imply */ this is a comment /*
22:56:05 <ais523> oerjan: in some versions of the ruleset, not in others
22:56:14 <jix> which is _extra_ problematic
22:56:22 -!- _0x44 has joined.
22:56:28 <pikhq> That seems rather problematic; how would it parse [[Comment 1?[[]]Comment3?]]
22:56:43 <pikhq> Would Comment3? be comment or not?
22:57:06 <ehird> That's not an issue, we don't have that in the rules.
22:57:11 <ehird> The issue is foo [[bar]] baz [[quux]]
22:57:20 <pikhq> That, too, is an issue.
22:57:22 <ehird> Is baz comment text? I argue that assuming greedy is just as silly as assuming non-greedy.
22:57:22 <ais523> ehird: are you sure? that that was never there in several years of B Nomic?
22:57:29 <ais523> ehird: it's not a case of assuming
22:57:32 <ais523> it's the literal meaning of "between"
22:57:33 <ehird> Therefore, we must pick one, and I will pick the one that doesn't break FIVE YEARS.
22:57:39 <ais523> greedy vs. nongreedy is a programming concept
22:57:45 <ais523> that has nothing to do with betweenness
22:57:50 <ehird> go up to someone on the street
22:57:51 <ehird> ask them
22:57:53 <ais523> the word between does not immediately generate a regexp whenever it's used
22:57:53 <pikhq> I vote that you break 5 years. B Nomic breaks a lot. ;p
22:57:55 <ehird> a regular person
22:58:03 <_0x44> ehird: A regular person doesn't play B.
22:58:08 <ehird> I will bet £30 they won't pick your interpretaiton
22:58:09 <_0x44> ehird: So your argument is flawed.
22:58:09 <ais523> ehird: yes, they'll say "between means between, why are you spouting all these programming terms at me?"
22:58:19 -!- Sgeo[College] has joined.
22:58:19 <ehird> ais523: don't say greedy/non greedy
22:58:22 <ais523> if they even know they're programming terms
22:58:25 <jix> would /* foo */ bar /* baz */ be an issue too?
22:58:30 <ehird> _0x44: a regular person has the better interests of B in mind, then.
22:58:36 <ais523> Sgeo[College]: in [[a]]b[[c]], is the b between "[[" and "]]"?
22:58:41 <oerjan> hm if you asked someone on the street whether something was "between parentheses", they would probably assuming matching.
22:58:52 <Sgeo[College]> ais523: yes
22:59:38 <ais523> Sgeo[College]: we've been having a huge argument about that for about 5 minutes here, and much longer elsewhere
22:59:42 <Sgeo[College]> Wait, that wasn't a trick question? You really want me to make such an interpretation for the sake of B?
22:59:45 <ais523> just trying to gain data points
22:59:50 <jix> i have found something interesting
22:59:52 * Sgeo[College] thought it was a simple trick question
22:59:54 <jix> bracket: each of a pair of marks [ ] used to enclose words or figures so as to separate them from the context
23:00:02 <jix> so the term brackets implies pairs
23:00:06 <jix> which implies matching....
23:00:11 <ais523> do pairs imply matching?
23:00:15 <ais523> but that definition's interesting
23:00:19 <ais523> it implies that [ is not a bracket
23:00:25 <ais523> until someone writes the matching ]
23:00:29 <ais523> and that's a ridiculous interpretation
23:00:44 <jix> it's from the dictionary that comes with mac os x
23:00:57 <oerjan> it's a bra. a rather ill-fitting one.
23:01:07 <jix> new oxford american dictionary
23:01:15 <ehird> ais523: that definition is from ... yeah, what jix said
23:01:21 <ehird> I think they're more of an authority than you...
23:01:51 <jix> (i have no interest in breaking or saving nomic but i think it is a damn interesting question....)
23:01:52 <ais523> ehird: well, that will lead to all sorts of breakage in all sorts of esolangs
23:01:55 <jix> +b
23:01:56 <_0x44> I just got two conflicting answers from two "normal" people.
23:02:04 <ais523> if [ isn't a bracket
23:02:15 <ehird> _0x44: this is showing that there IS ambiguity, there IS room for disagreement
23:02:22 <jix> ais523: wait each of a pair.....
23:02:23 <ehird> thus, we can collectively decide which we will interpret it as
23:02:25 <ehird> so let's not break the game
23:02:30 <jix> ais523: doesn't tha mean one of those that belong to a pair?
23:02:37 <Sgeo[College]> I asked two random people here, and they said no
23:03:17 <jix> i think one should decide this by giving some references on how to inrepret this
23:03:21 <jix> and random people aren't good references
23:03:26 <ehird> Sgeo[College]: yay, majority
23:03:29 <kerlo> If a normal person, upon being given the sentence "The (quick) brown fox jumps over the (lazy) dog" and an instruction to determine how many words are between parentheses, might say "two" rather than "seven", then the good interpretation is acceptable.
23:03:44 <ehird> agreed
23:03:57 <ais523> really? I'd say 5
23:04:19 <ehird> yes, but I think we've established you have little to no grip on reality, like most people in here
23:04:36 <pikhq> Like most Nomicians.
23:04:39 <ais523> I mentally interpreted it as "between parenthesized groups" the way you said it
23:04:51 <ais523> I can't actually mentally reword it to get the answer 2
23:04:54 <oerjan> i have a good grip on reality, with my InstaGrip Universe Squeezer here
23:05:05 <ais523> "for each maching set of parentheses, between the two parentheses that make up the set"?
23:05:21 <ais523> ehird: in "The (quick (brown) fox) jumps over the lazy dog", how many words are between parentheses?
23:05:29 <ehird> 3
23:05:37 <ais523> not 4?
23:05:43 <ehird> no.
23:05:46 <ehird> quick, brown and fox.
23:05:47 <ais523> in that case, I'd say your 2 above is bogus
23:05:50 <ehird> nesting matters.
23:06:00 <jix> ais523: would you let the definition of brackets have influence of how to interpret this?
23:06:06 <ais523> ehird: exactly, and a nesting-matters interpretation should count brown twice, thus reach 4
23:06:12 -!- SchrodingersCat has joined.
23:06:18 <ehird> what
23:06:19 <kerlo> How about "how many words are within parentheses"?
23:06:21 <ehird> no
23:06:25 <ehird> there isn't two brown
23:06:27 <ais523> kerlo: within, I'd say 2 and 3
23:06:27 <ehird> there's one brown
23:06:29 <ehird> it cannot count as 2
23:06:29 <ehird> only 1
23:06:47 <ehird> we're counting WORDS
23:06:48 <jix> enclosed
23:06:48 <ehird> and words only
23:06:54 <ehird> there are only 3 words that appear between parentheses
23:07:19 <ais523> enclosed or within, fine
23:07:20 <ais523> but "between"?
23:07:31 <ehird> sure.
23:07:34 <ehird> between = enclosed between
23:07:36 <jix> i got 5 as answer to "The (quick) brown fox jumps over the (lazy) dog"
23:07:36 <ehird> common english usage
23:07:48 <ais523> ehird: so it isn't such a ridiculous question after all
23:08:02 <ais523> it wasn't just me who jumped to 5 as the answer to that question...
23:08:05 <ehird> jix: its not a good question
23:08:07 <jix> ehird: enclosed between?
23:08:10 <ehird> parens = parenthesed groups
23:08:12 <ehird> is also common usage
23:08:20 <ais523> no, sexps = parenthesised groups
23:08:23 <ais523> parens = parentheses
23:08:39 <ehird> yes if you're a programmer
23:08:46 <ehird> the question IS ambiguous
23:08:47 <kerlo> Nobody ever says sexps.
23:08:51 -!- olsner has quit ("Leaving").
23:08:52 <kerlo> Speaking of which...
23:09:10 <ehird> Sex pee.
23:09:22 <MizardX> http://stackoverflow.com/questions/407518/code-golf-leibniz-formula-for-pi/408493#408493 :)
23:09:23 -!- kerlobot has joined.
23:09:34 <kerlo> %eval (Sex pee.)
23:09:34 <kerlobot> (Sex pee.)
23:09:38 <kerlo> Lovely.
23:10:13 <ehird> %eval (((s i) i) ((s i) i))
23:10:19 <ehird> MizardX: Stack overflow? Ugh.
23:10:21 <kerlobot> (((YOU ARE LOOP SORRY) i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i
23:10:36 <ehird> however,
23:10:37 <ehird> that is nice
23:10:40 <ehird> shortest pi prorgam?
23:10:44 <ehird> oh
23:10:47 <ehird> it just prints the first few digits
23:10:47 <ehird> lame.
23:10:50 <ais523> YOU ARE LOOP SORRT?
23:10:54 <ais523> *SORRY/
23:10:55 <ehird> ais523: *SORRY
23:10:56 <ais523> *SORRY?
23:11:00 <ehird> it terminates loop
23:11:01 <ehird> s
23:11:03 <ehird> with that message
23:11:38 * Sgeo[College] points ais523 and ehird and others to SchrodingersCat's responses in ##nomic
23:11:46 <ehird> ais523: you got a lazy SKI infinite loop that doesn't grow?
23:11:51 <ehird> ```sii``sii loops
23:11:55 <ehird> but it grows
23:11:56 -!- _0x44 has quit.
23:11:57 <ehird> forever
23:11:58 <ais523> ehird: not offhand
23:12:30 <oerjan> that's ok, we'd prefer you to have it on hand
23:12:35 <ais523> not there either?
23:12:54 <oerjan> darn.
23:14:01 <SchrodingersCat> /* smallest c++ program: */ void main(){}
23:14:13 <ais523> int main(){}
23:14:14 <ais523> beat you
23:14:23 <kerlo> main=0
23:14:24 <ais523> also, int is correct, void isn't
23:14:26 <kerlo> Beat you?
23:14:32 <SchrodingersCat> ais523:no return
23:14:36 <ais523> kerlo: that's compile error in C++
23:14:43 <kerlo> Aww.
23:14:46 <ais523> SchrodingersCat: doesn't need one to be valid
23:14:50 <lament> main = return 0
23:14:56 <ais523> lament: that looks like Haskell
23:14:59 <kerlo> Can you say "address of main = address of 0"?
23:15:01 <ais523> kerlo: it's valid C89, though
23:15:04 <kerlo> lament: you mean main = unsafeCoerce 0.
23:15:11 <ais523> kerlo: that's main=0 in C89
23:15:13 <Sgeo[College]> void main(){} works in some compilers, I think
23:15:24 <Sgeo[College]> Bye all
23:15:29 <ais523> Sgeo[College]: in most, although gcc will shout at you because the standard doesn't let you do that
23:15:31 <ais523> and bye
23:16:22 <ehird> kerlo: does kerlobot do abstraction elimination
23:16:31 <kerlo> No. Maybe it ought to.
23:16:38 <kerlo> Also, you can implement abstraction elimination.
23:16:40 * SchrodingersCat saw Sgeo[College] log off of the computer he was working on.
23:17:11 <kerlo> Figure out how...
23:17:25 <kerlo> I would expect it to be rather difficult. :-P
23:17:25 <ais523> SchrodingersCat: do you know Sgeo in RL?
23:17:36 <SchrodingersCat> ais523: yes
23:17:59 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client").
23:18:09 <ehird> oklopol: olobot plz
23:18:12 <ehird> ololobot
23:18:13 <ehird> whatever
23:18:19 <ehird> it has abstraction eliminaty
23:18:37 <jix> g++ compiles "main(){};"
23:19:02 <jix> uh why did i put a ; there 0o...
23:19:33 <jix> ah but with -pedantic
23:19:37 <jix> ISO C++ forbids declaration of ‘main’ with no type
23:19:45 <SchrodingersCat> jix: last i checked, main() can't be used as a prototype
23:20:29 <ais523> jix: yes, that's a C89-ism
23:23:04 <jix> int(*main);
23:23:09 <jix> g++ compiles that with -pedantic -ansi
23:23:15 <jix> of course it crashes
23:23:25 <jix> as main is an uninitialized function pointer
23:23:27 <jix> but it compiles
23:23:59 <ais523> jix: that's undefined behaviour
23:24:11 <ais523> and it's a legal translation unit, but not legal as an entire program
23:24:21 <ais523> legal as a translation unit is why g++ didn't complain
23:24:34 <ais523> it's the linker that should complain, and it doesn't have enough context to know it should complain about C++'s rules
23:24:38 <jix> ais523: it doesn't
23:24:44 <jix> ais523: this isn't declared as extern
23:24:57 <jix> so it's initialized with 0
23:25:24 <jix> that's what i'd expect
23:26:13 <ehird> main="\317";
23:26:15 <ehird> compiles, runs
23:26:24 <ehird> main={317};
23:26:27 <ehird> possibly compiles, runs
23:26:38 <ais523> ehird: that's legal C (although UB), but not legal C++, even though it may compile
23:26:44 <SchrodingersCat> 317?
23:26:45 <ehird> who cares about C++
23:26:46 <jix> ehird: 'test.cpp:1: error: expected constructor, destructor, or type conversion before ‘=’ token'
23:26:53 <ehird> SchrodingersCat: machine koed
23:26:56 <jix> ehird: we were talking about the smalles C++ program
23:27:02 <ehird> ah
23:27:42 <jix> i guess the c++ standard isn't free?
23:28:04 <ehird> google it, there's probably a pirated version somewheres
23:28:37 <SchrodingersCat> the book is somewhere between $40 and $60
23:29:54 <ehird> tiny.c:1: error: empty scalar initializer
23:29:55 <ehird> tiny.c:1: error: (near initialization for ‘main’)
23:29:55 <ehird> huh
23:29:59 <ehird> why isn't main={}; valid
23:30:09 <ehird> shouldn't it just be a 0-length array
23:30:22 <ais523> IIRC, one of the drafts is online
23:30:25 * SchrodingersCat is installing c onto his palm pilot
23:30:29 <ais523> and it's a just-before-the-official-version drafts
23:30:31 <jix> ais523: i got it already
23:30:32 <ais523> *draft
23:30:38 <jix> ais523: googled for ISO/IEC 14882:1998 .... first hit
23:32:26 <ehird> here's the smallest K&R c program
23:32:27 <ehird> main;
23:32:39 <ais523> yes, that works
23:32:39 <ehird> compiles to this rather tiny assembly
23:32:40 <ehird> .comm _main,16
23:32:40 <ehird> .subsections_via_symbols
23:32:48 <ais523> at least if int and int(*)() are the same size
23:32:50 <ehird> it's all assembler directives XD
23:32:51 <ais523> which they often are
23:32:58 <ehird> ais523: segfaults, ofc
23:33:02 <ais523> well, duh
23:33:14 <ais523> need it?
23:33:14 <SchrodingersCat> if only one line, is the ";" still needed?
23:33:18 <ais523> given that it isn't initialising memory
23:33:25 <ehird> ais523: well, there is a tiny chance it wouldn't
23:33:27 <ehird> SchrodingersCat: yes
23:33:30 <ais523> might there be a chance that you end up with a valid program by chance?
23:33:34 <ehird> yes.
23:33:38 <ehird> but it's a rather small chance
23:33:44 <ehird> (gdb) start
23:33:45 <ehird> "main" is not a function
23:33:47 <SchrodingersCat> gtg
23:33:49 <ehird> how do you know
23:33:51 <ehird> I didn't give it a type
23:33:53 -!- SchrodingersCat has quit ("Leaving").
23:33:54 <ehird> it's int but that could be anything
23:33:56 <ehird> STOP ASSUMING
23:33:59 <ehird> ASS OUT OF YOU AND ME
23:34:27 <ais523> ehird: in K&R C, and in C89 but it's deprecated, int is the default type when one isn't given
23:34:38 <ehird> I know
23:34:38 <ais523> holdover from BCPL, where everything was an int
23:34:41 <ehird> but an int could be practically anything :P
23:34:42 <ehird> also, no
23:34:45 <ehird> everything was a word
23:34:48 <ais523> well, yes
23:34:55 <ais523> a 32-bit word, to be precise
23:35:00 <ehird> hell
23:35:04 <ehird> o, w
23:35:07 <ehird> orld
23:35:08 <ais523> I don't think it ran on processors with different bitwidths
23:35:22 <ehird> that's from the B original hello world :-)
23:35:34 <ehird> it defined three variables with 'hell', 'o, w' and 'orld'
23:35:39 <ehird> and printed them out separately, then a newline
23:35:42 <ehird> (yes, single quotes)
23:36:06 <ais523> very BCPL
23:36:23 <ais523> come to think of it, 32-bit processors weren't very popular back then
23:36:24 <ehird> well duh, B is a simplified(!) BCPL
23:36:29 <ais523> must have been for mainframes, or something
23:36:34 <ais523> also, BCPL has the best array index notation ever
23:36:39 <ais523> BCPL !a = C *a
23:36:45 <ais523> BCPL 4!a = C a[4]
23:36:51 <ais523> or you could write a!4, it comes to the same thing
23:37:02 <ais523> just like you can write 4[a] in C
23:37:17 <ehird> beautiful
23:37:18 <jix> ais523: you are right
23:37:29 <ais523> jix: about what? [[a]]b[[c]]?
23:37:30 <jix> didn't realize i was just making an int pointer there ^^
23:37:33 <ais523> oh
23:37:34 <ehird> main="Hello, world!\n";
23:37:37 <kerlo> %eval (c h (ello, world))
23:37:37 <kerlobot> (c h (ello, world))
23:37:38 <ehird> functions on the cat architechture.
23:37:41 <kerlo> %eval (c h ello,)
23:37:42 <kerlobot> hello,
23:37:44 <ais523> anyway, I have to go home now
23:37:45 <kerlo> Woot.
23:37:47 -!- ais523 has quit (Remote closed the connection).
23:37:48 <jix> ais523: and the standard sais main has to be a function
23:38:09 <ehird> he's gone
23:38:10 <ehird> drop it
23:38:11 <ehird> forever
23:38:13 <ehird> /melodramatic
23:41:34 -!- jix has quit ("...").
23:53:33 -!- ktne has left (?).
23:59:50 -!- fungot has quit (brown.freenode.net irc.freenode.net).
23:59:50 -!- fizzie has quit (brown.freenode.net irc.freenode.net).
23:59:56 -!- fungot has joined.
23:59:56 -!- fizzie has joined.
←2009-02-09 2009-02-10 2009-02-11→ ↑2009 ↑all