00:00:21 I think that the IF command is not needed; the ABORT LOOP command is also not needed except mu-loops. 00:00:31 Nor is built-in addition or multiplication needed. 00:00:56 -!- zzo38 has quit (Remote host closed the connection). 00:02:41 GEB is a book I am Not Reading. 00:04:24 Phantom_Hoover: It's good, just don't trust a word of it. 00:11:38 -!- FlyingTortilla has joined. 00:12:23 car_ () ((((true, b), (true, c), (false, false)), ** ERROR: "cdr called on nil")) ; 00:12:26 this is not going well 00:16:18 elliott, what are you up to? 00:16:50 Phantom_Hoover: programming in c preprocessor 00:17:25 -!- FlyingTortilla has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.12/20101026200743]). 00:17:44 -!- FlyingTortilla has joined. 00:18:09 elliott, you are completely insane. 00:18:31 -!- FlyingTortilla has quit (Client Quit). 00:18:33 You're a danger to yourself and others. 00:20:11 Phantom_Hoover: Yes. 00:41:00 * Phantom_Hoover → sleep 00:41:04 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:59:00 -!- FireFly has quit (Quit: swatted to death). 01:10:32 gah, cpp programming is so impossible but i love it 01:16:40 pp as in preprocessor or ++? 01:21:26 * Sgeo guesses from context the former 01:21:34 Also, can't imagine elliott playing with C++ for fun 01:22:01 olsner: preprocessor 01:22:14 olsner: i've seen a functional language implemented in cpp so I KNOW it's possible to do this shit 01:22:17 -!- Decarabia has quit (Read error: Connection reset by peer). 01:22:22 (also a recursive fibonacci with BIGNUMS (yes, bignums) in the preprocessor) 01:22:25 i just have to figure out how 01:22:33 elliott: cool, but it's definitely not TC, is it? 01:23:29 olsner: it ... might be if you ignore the recursion limit 01:23:47 olsner: i mean, it has a recursive bignum fibonacci implementation. it doesn't even have *arithmetic* built in. 01:23:52 olsner: so... it's an indicator. 01:23:59 I was under the impression that cpp's evaluation order excluded arbitrary recursion regardless of limits 01:24:15 olsner: it does, but there are "workarounds" 01:24:21 basically you can get the preprocessor confused, in ways i forget how 01:24:43 olsner: see http://groups.google.com/group/comp.lang.c/msg/082ffefaaed3b450 for the recursive fibonacci bignum 01:24:57 I should go get pizza tonight 01:25:02 And then turn into a pizza 01:25:23 Also, I'm still pleasantly surprised that Windows 7 has a 16-bit color option 01:25:37 olsner: I tried to look at the source of Chaos and Order (same repository; Order is a call-by-value functional language with lambdas in cpp) but they're so impossible to read. 01:26:51 Note, BTW, that I'm not suggesting that computing Fibonacci numbers with 01:26:51 the preprocessor is advisable. 01:26:58 (that should have been in quotes) 01:28:36 it would have been so much better if he did suggest that though 01:30:11 Dammit qntm.or 01:30:12 org 01:30:40 damn, I should learn how to do this kind of PP abuse 01:34:41 ehm, wtf, sourceforge.net puts "Download <...> software for free" at the end of the title 01:35:18 olsner: just use the cvs repository 01:35:21 for chaos-pp/order-pp 01:35:35 olsner: damn though, this shit is hard 01:35:43 well, that requires *finding* the cvs repository 01:35:48 olsner: click Develop 01:35:56 olsner: I think it's impossible to do even useful lists without a ton of cpp-abusing infrastructure 01:36:49 well, it was hard to even find the project when sourceforge looks like one of those pages that take your search string and adds "Download foo for free" to it 01:37:46 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:38:39 actually, the rest of sourceforge looks like one of those pages too :/ 01:39:05 olsner: sourceforge is pretty much the worst thing ever. 01:39:15 olsner: http://chaos-pp.cvs.sourceforge.net/viewvc/chaos-pp/ 01:39:19 olsner: or:3 01:39:21 *or: 01:39:24 cvs -d:pserver:anonymous@chaos-pp.cvs.sourceforge.net:/cvsroot/chaos-pp login 01:39:28 cvs -z3 -d:pserver:anonymous@chaos-pp.cvs.sourceforge.net:/cvsroot/chaos-pp co -P chaos-pp 01:39:29 cvs -z3 -d:pserver:anonymous@chaos-pp.cvs.sourceforge.net:/cvsroot/chaos-pp co -P order-pp 01:39:48 yes yes, I *know* how to find the cvs browser on sourceforge :) 01:39:50 :P 01:39:58 olsner: to be honest, if sourceforge died tomorrow the only thing that'd be missing is some downloads. 01:41:19 implying that the rest is not worth saving or that it wouldn't be lost? 01:42:22 olsner: former 01:42:40 olsner: sourceforge today is just a vaguely scummy advert for the now-proprietary and costly software that runs it 01:42:42 -!- Sasha has quit (Remote host closed the connection). 01:43:01 olsner: they try and position themselves as some sort of hub for open source software but it just isn't true; people who don't know better just sign up there for hosting 01:43:09 -!- Sasha has joined. 01:43:50 IMO they *used* to be what they were supposed to be, but it looks like something happened at some time that broke it 01:43:57 broke it pretty badly too 01:44:47 -!- GreaseMonkey has joined. 01:45:11 olsner: I dunno, the software has been proprietary $$$ since ... 2000? 2003? 01:45:29 olsner: so they're really hypocritical to start with, being basically an advert for open source software 01:45:45 olsner: also, their website has always sucked. always. 01:48:11 well, same business model as github then? I don't think they were evil at all around 2004 when I had a project on sourceforge 01:48:46 olsner: err, github don't sell their software. 01:48:57 olsner: github just sell accounts. i think you are very confused :) 01:50:50 "car(cdr(list))" = true ((c, ** ERROR: "car called on nil")) ; 01:50:52 whyyyyyyyfffffffff 01:51:04 maybe... I don't remember sourceforge selling their software back then at least 01:51:30 they had the open-source version of it on sourceforge though 01:51:42 olsner: http://en.wikipedia.org/wiki/GForge#History 01:51:47 olsner: looks like 2000, 2001 to me. 01:58:31 bah, too many files in chaos-pp can't be bothered reading them... saw one with lots of macros though :) 01:59:38 olsner: they're all macros, silly :P 01:59:40 olsner: try order-pp 01:59:44 olsner: that's a language, languages are SIMPLE! 02:00:06 also: damn cvs sucks 02:01:01 sounds like you vastly underestimate the suckage of cvs 02:01:23 olsner: damn...cvs...blowerates? 02:01:46 "blowerates"? 02:01:52 olsner: blowerates. 02:02:36 #define ORDER_PP_CONST(value) 8DEF_CONST,value, 02:02:39 NOTHING IS SIMPLE AND/OR SACRED 02:03:03 was that supposed to be (DEF_CONST? 02:03:06 olsner: no 02:03:08 olsner: it wasn't :) 02:03:13 # define ORDER_PP_8NATIVE(P,v,n,m,ps,...) (,ORDER_PP_FW(TYPE_CHECK,(,ORDER_PP_TUPLE_AT_0 ps##P,P##v,ORDER_PP_LIT_IS_0))(,P##n)(ORDER_PP_8NATIVE_,LAST,MORE)(,P##n,P##m,P##ps,P##v),P##__VA_ARGS__) 02:05:06 olsner: it would help if it was commented 02:05:29 #define ORDER_PP_FIND(_) ORDER_PP_FX(EVAL,(ORDER_PP_FIND_GT_0())) 02:05:29 #define ORDER_PP_EVAL(i) ORDER_PP_EVAL_##i 02:05:30 what 02:05:51 #define ORDER_PP_OUTPUT(s) ORDER_PP_FX(OUTPUT_EMIT_A,ORDER_PP_CM(,ORDER_PP_OUTPUT_PAIR_A (,0,)s(0,),8OUTPUT_STOP,))) 02:05:52 HOW HARD CAN IT BE 02:05:55 #define ORDER_PP_OUTPUT_F (, 02:05:56 WHAT 02:05:56 /* THIS WAS HARD TO WRITE IT SHOULD BE HARD TO READ DAMMIT */ 02:06:03 #define ORDER_PP_OUTPUT_EMIT_3(P,...) ,P##__VA_ARGS__ 02:06:04 #define ORDER_PP_OUTPUT_EMIT_4(P,...) (P##__VA_ARGS__ 02:06:04 #define ORDER_PP_OUTPUT_EMIT_5(P,...) )P##__VA_ARGS__ 02:06:08 what is this i don't even 02:06:21 #define ORDER_PP_DEF_8if(b,c,...) 8EVAL_IF,b,c,ORDER_PP_IS_TUPLE_SIZE_1(,0##__VA_ARGS__)(,ORDER_PP_REM,8do)(__VA_ARGS__), 02:06:22 fffffffffff 02:06:24 it's all the same! 02:06:41 example/bottles.c 02:06:41 oh joy 02:06:44 http://news.pinkpaper.com/NewsStory/4319/18/11/2010/countries-vote-to-accept-execution-of-gays.aspx 02:06:45 / The following chapters gradually introduce and formally define 02:06:45 / the elements of the Order language, but in this section we will 02:06:45 / take a brief informal look at a concrete example. The code 02:06:45 / snippets that we will show in this section may look ``funny'' and 02:06:45 / may be difficult to understand on first reading, but you 02:06:45 / shouldn't worry about it. You may want to read this section again 02:06:47 / after you've finished a few more chapters. 02:06:50 olsner: the examples are literate cpp. 02:07:08 olsner: 02:07:08 8cond((8greater(8N, 1), 02:07:08 8separate(8N, 8quote(bottles))) 02:07:08 (8equal(8N, 1), 02:07:09 8quote(1 bottle)) 02:07:11 (8else, 02:07:13 8quote(no more bottles))) 02:07:20 you can't make this shit up 02:08:11 all those tokens starting with digits look weird, I guess they are part of the trick 02:08:24 I hate everyone sometimes 02:08:43 olsner: no 02:08:47 olsner: they're just names to not clash 02:08:49 Sgeo: what 02:08:55 olsner: pretty sure 02:09:02 elliott, what I just linked to 02:09:16 names can't start with digits, those should just be invalid integers 02:09:23 lol @ UN 02:09:24 olsner: dude, it's cpp 02:09:28 olsner: names can start with digits. 02:09:32 olsner: you're thinking in C! 02:09:34 C is EVIL 02:09:35 cpp is the one 02:11:37 <3 C 02:11:45 indeed I am thinking in C, and I have barely scratched the surface of the beast that is CPP 02:12:07 * Sgeo suddenly wants to learn B 02:12:38 BOBOL 02:12:42 Gregor: C is not as good as cpp. 02:13:10 Gregor: After all, all your "C" programs are actually just cpp programs that require TWO ADDITIONAL STEPS to be run. 02:13:29 Gregor: Running it through the "C" compiler, and then running the resulting binary. 02:13:31 Yeah, but CPP isn't* TC**. 02:13:35 *: As far as we know. 02:13:36 Gregor: Whereas cpp programs just require cpp to run! 02:13:45 **: And depending on how pedantic you are, maybe C isn't either. 02:14:00 Gregor: Mm, I dunno man, this functional language does 99 bottles of beer, and I've seen a recursive fibonacci function that uses bignums -- in cpp -- well... 02:14:09 surely, C with infinite memory must be TC? 02:14:13 olsner: you can't have that 02:14:20 olsner: sizeof(void *) must be finite 02:14:28 olsner: admittedly, char could be a bignum 02:14:32 and thus sizeof(void *) = 1 02:14:38 olsner: but iirc there was a problem with *that* too 02:14:48 oh 02:14:50 I think we've had this discussion before 02:14:50 olsner: CHAR_BIT 02:14:54 we've had it many tmies. 02:14:57 *times. 02:15:09 olsner: but yeah, (void *) has to be n*CHAR_BIT bits for some n 02:15:16 and CHAR_BIT has to be finite, obviously 02:15:24 (because char is an integral type and infinity isn't an integer) 02:15:41 olsner: C/POSIX is PROBABLY TC because of files. 02:15:42 but who knows 02:16:17 just connect to the tape server over TCP and it's turing complete? :) 02:16:25 LOL: 02:16:26 / Undoubtedly the first thing to notice was the prefix `8'. It 02:16:26 / is a prefix of \emph{all} Order expressions and its purpose is to 02:16:26 / prevent \emph{unintended macro replacement} of Order expressions. 02:16:26 / A token that starts with a digit, like `8cond', is called a 02:16:26 / \emph{pp-number} and because it isn't an \emph{identifier} it 02:16:28 / isn't subject to macro replacement. 02:16:30 olsner: that's why 8 is used 02:16:42 The use of pp-numbers is 02:16:43 / admittedly an ugly detail, but it is absolutely necessary, 02:16:43 / because otherwise an Order expression might get macro replaced by 02:16:43 / a user or standard defined macro, like the \emph{abominable} 02:16:43 / macro `I' incredibly defined by the C standard\footnote{There 02:16:43 / aren't words strong enough that I could credibly use here to 02:16:45 / describe what I think about the quality of certain parts of the C 02:16:47 / standard \cite{c:1999}.}, 02:16:53 this is the worst thing ever :D 02:17:14 'I' is a predefined macro? wtf? 02:17:20 olsner: yes, it's i 02:17:25 as in i^2 = -1 02:18:21 Gregor: think i should troll the esolangs wiki, wrt TCness? 02:18:33 hah, there it is, #define I _Complex_I 02:18:37 elliott: Always. 02:18:41 Gregor: I'm so tempted to put up a language, Brainfalt or Brainfault or something (brainfuck + halt), defined to be the set of brainfuck programs that halt. 02:19:15 Gregor: This language is of course completely unimplementable -- well, you can't provide diagnostics on every invalid program, rather. 02:19:25 Gregor: (But you can define "loop forever" as the error reporting system.) 02:19:26 Gregor: But: 02:19:35 Gregor: I will provide a complete, error-giving interpreter in Banana Scheme. :-) 02:19:54 8fn(8N, 02:19:54 8cond((8greater(8N, 1), 02:19:54 ... 02:19:54 8quote(no more bottles)))) 02:20:02 8print(8ap(8B, 8N) (of beer on the wall,) 8space 02:20:02 8ap(8B, 8N) (of beer,) 8space 02:20:02 (take one down, pass it around,) 8space 02:20:02 8ap(8B, 8dec(8N)) (of beer on the wall.)) 02:20:06 8for_each_in_range 02:20:08 this is so beautiful 02:20:36 8for_each_in_range(foo, 1, 100) 02:20:38 8for_each_in_range(foo, 100, 1) 02:20:42 both do the right thing 02:20:45 ascending vs. descending 02:20:47 this man is so crazy 02:20:58 Invite him to #esoteric 02:21:24 no 02:21:27 that's a lame thing to do 02:23:36 int main(void) { 02:23:36 printf(AVERAGE(3, 1, 4, 1, 5, 9, 2, 6, 5) == 4 02:23:36 ? "OK.\n" 02:23:36 : "ERROR!\n"); 02:23:36 return 0; 02:23:37 } 02:23:39 Gregor: how is this even possible 02:23:42 why did nobody tell met his exists 02:23:44 *me this 02:23:53 LOL 02:23:53 LOL 02:23:54 LOL 02:23:55 Gregor: olsner: 02:23:57 / It is probably safe to say that, compared to an average function 02:23:57 / implemented using C++ template metaprogramming techniques, our 02:23:57 / macro is both simpler and more flexible. 02:24:05 This is the one thing *MORE COMPLICATED* than C++ templates. 02:25:04 well, batshit insane is what it is 02:25:14 olsner: *genius 02:25:24 same thing? :) 02:25:40 at least they're not mutually exclusive 02:25:45 I know how to convince elliott to give up on caring: I just need to have an affair with cpp 02:26:09 Sgeo: don't worry; I don't believe that you could produce a working program of any complexity in cpp 02:26:14 Sgeo: because, for instance, I can't 02:27:07 olsner: you know what would make me kill myself because life couldn't possibly get any better? 02:27:13 olsner: an implementation of m4 in cpp 02:27:24 just encode all the nasty special chars with, like, ASCII_37 and the like 02:27:29 dear god it would be beautiful 02:27:36 (or even all the chars full stop :P) 02:29:35 #define AVERAGE(...) \ 02:29:35 ((ORDER_PP(8seq_for_each_with_delimiter \ 02:29:35 (8put, \ 02:29:35 8emit(8quote(+)), \ 02:29:35 8tuple_to_seq(8quote((__VA_ARGS__)))))) / \ 02:29:35 ORDER_PP(8to_lit(8tuple_size(8quote((__VA_ARGS__)))))) 02:29:43 olsner: the craziest thing is, this is meant to be useful 02:29:46 olsner: for code generation 02:29:54 olsner: you can see above it actually *integrates* with everything else 02:30:04 oh, so it wouldn't take raw m4, but m4 encoded as a sequence of ascii_n tokens? 02:30:10 olsner: right 02:30:13 olsner: or just _n really 02:30:19 olsner: you could even have MNEMONICS 02:30:21 _lparen 02:30:23 _comma 02:30:25 etc. :P 02:30:34 olsner: interpreting m4 is obviously impossible 02:30:38 olsner: the great thing is, m4 lets you reassign quote chars 02:30:46 olsner: so this would actually have to interpret ascii values differently as it goes along 02:30:47 :D 02:30:49 and stuff 02:31:00 well, how hard can it be? 02:31:15 olsner: everything is either easy or impossible, that's my rule 02:31:36 hmm, so there's really no point in doing anything at all then? :) 02:31:38 now to read chaos, not order 02:31:44 olsner: no, easy things are good 02:32:04 olsner: lol, chaos headers use # instead of blank lines 'cuz blank lines would show up in cpp output 02:32:11 in fact, even the comment blocks are in #s 02:32:29 oh jesus @ chaos/preprocessor/list/core.h 02:32:33 # define CHAOS_PP_LIST_NIL() ... 02:32:36 can't make this shit up 02:32:50 lol for every x there's #define x_ID() x 02:32:58 # define CHAOS_PP_LIST CHAOS_PP_LIST 02:32:58 # define CHAOS_PP_LIST_ID() CHAOS_PP_LIST 02:33:05 # if CHAOS_PP_VARIADICS 02:33:06 # define CHAOS_PP_LIST_ CHAOS_PP_LAMBDA(CHAOS_PP_LIST) 02:33:06 # endif 02:33:35 # include 02:33:37 olsner: ^ 02:33:38 not joking. 02:34:02 # define CHAOS_IP_BUBBLESORT_3(_, s, pred, _p, type, first, rest, size, pd) \ 02:34:03 CHAOS_PP_IIF _(_p()(s, pred, CHAOS_PP_ITEM(type, CHAOS_PP_REM first) CHAOS_PP_COMMA() CHAOS_PP_ITEM(type, CHAOS_PP_HEAD(rest)) CHAOS_PP_EXPOSE(pd)))( \ 02:34:03 CHAOS_PP_CONS _( \ 02:34:03 CHAOS_PP_EXPR_S _(s)(CHAOS_IP_BUBBLESORT_INDIRECT _(2)( \ 02:34:03 CHAOS_PP_NEXT(s), pred, _p, type, rest, size, pd \ 02:34:04 )), \ 02:34:06 CHAOS_PP_REM first \ 02:34:08 ), \ 02:34:10 ... 02:38:07 heh, order-pp/doc/ contains a single file that starts by saying "not intended to serve as documentation" 02:38:57 * Sgeo wonders if #esoteric would ever play Diplomacy 02:43:47 olsner: :D 02:47:19 olsner: i think chaos-pp is a better source for cpp programming 02:47:23 it has docs, seemingly, of some sort. kinda 02:47:28 Positive arbitrary-precision values are represented as a sequence of base-10 digits. For example, the value +123 is represented as (1)(2)(3). Negative values are represented as a parenthesized sequence of base-10 digits. For example, the value -123 is represented as ((1)(2)(3)). 02:47:33 olsner: you can't make this shit up 02:48:37 "As such, it assumes a strictly conformant preprocessor in an effort to reduce limitations and provide motivation for vendors to fix their broken preprocessors." 02:48:54 "because of this one insane guy's insanity, we have revamped our entire c preprocessor. it is now 3x slower and standards compliant, enjoy" 02:49:11 i like how many pages are just "..." 02:49:18 A list is a data structure resembling a cons-style singly linked list. A list is either an ellipsis (...), which represents a nil list, or a binary tuple whose first element is an element in the list and whose second element is another list. For example, 02:49:19 (a, (b, (c, ...))) 02:49:19 hmm 02:49:25 that ... has to be some clever thing with varargs, i just know it 02:49:46 Remarks 02:49:47 This macro exists only for uniformity with other macros that require indirect invocation. 02:49:48 on _ID() 02:49:52 * elliott notes that that's what that's for to himself 02:50:16 olsner: wow, they even maintain C89 compatibility; there's little notes everywhere saying "C99 Specific" 02:50:22 olsner: C89 *had no variadic macros* 02:51:23 "Remarks 02:51:23 This macro effectively allows CHAOS_PP_LIST_CONS to pass through itself without becoming disabled." 02:51:55 probably everything does x##_id() everywhere :D 02:52:14 haha, it works 02:54:37 test.h:13:1: error: pasting ")" and "_id" does not give a valid preprocessing token 02:54:39 that's what she said 02:58:15 olsner: yay, I have lists working! 03:03:27 and nilp! 03:21:26 10 pages, that's how long the whole preprocessor section of the C++ standard is 03:21:50 heh 03:22:00 olsner: gah, i hate how cpp is pretty much DESIGNED to stop you doing this 03:22:15 olsner: by figuring out you're making a constructed macro call and stopping it 03:22:22 -!- augur has joined. 03:22:43 yeah, it's very much not supposed to be used for metaprogramming 03:24:15 elliott, lolwhat? 03:24:16 Why? 03:24:18 And how? 03:24:37 Sgeo: what 03:24:40 olsner: BUT I MUST 03:24:54 How is cpp designed to stop you doing it? 03:25:38 RTFGoogle 03:25:43 It's too difficult to explain :P 03:38:11 coppro: I've forgotten what C is now, it's all just cpp for me 03:49:09 erm 03:49:10 *olsner: 03:49:16 i cannot figure out how to do naturals :D 03:49:20 this is the most difficult language ever 03:50:00 didn't you just quote how chaos-pp did naturals? :) 03:58:38 * Sgeo would be more interested in how to do reals 03:58:44 Computers don't have infinite memory 03:59:35 olsner: " (The ??= token is a trigraph for #. It is used here to visually disambiguate this inclusion from a normal file inclusion because it is definitely not normal. The %: digraph can also provide such disambiguation. Neither is necessary.)" 03:59:45 olsner: also, no, i quoted how it does arbitrary-precision numerals :) and i just want peano! 03:59:53 *"(T 04:00:04 #define CHAOS_PP_ITERATION_PARAMS (1)(10)("file.h") 04:00:04 ??=include CHAOS_PP_ITERATE() 04:00:10 well, how can that be hard if you already have lists? 04:00:38 olsner: i thought i had lists, but just couldn't get map to work 04:00:41 i'm starting from the basics now 04:00:53 elliott: oh, the ??= makes that *really* clear 04:01:04 olsner: totally 04:01:15 olsner: that includes file.h 10 times btw :) 04:02:46 olsner: chaos-pp/built-docs/roman-numerals.html 04:02:48 What would happen if you didn't have the (1) 04:02:49 olsner: can't make this shit up. really can't 04:02:53 Sgeo: uh, it'd break? 04:03:08 How and why? 04:03:22 elliott: except that obviously they did make it up! 04:03:23 because it's a range? 04:03:31 stop being dense, you can't just call an interface in the wrong way like that 04:03:46 I thought it was one number 04:04:22 Wasn't (5)(4)(0) for example 540? 04:12:37 " An active argument is an argument that expands each time that it is scanned by the preprocessor. For example," 04:12:39 Sgeo: sigh 04:12:43 Sgeo: that's a separate thing. 04:12:57 I'm not paying close attention, sorry 04:13:20 olsner: " Not all useful active arguments reach a terminal state. The following code produces an infinite list:" 04:13:23 olsner: *"N 04:13:29 olsner: ok, i'm convinced; cpp is probably TC. 04:13:45 (ignoring recursion limit) 04:13:55 oh my 04:13:56 Can you eliminate the recursion limit somehow? 04:14:01 [[(Because this code is using saturation arithmetic, the value eventually will reach CHAOS_PP_LIMIT_MAG, causing an infinite list of values saturated to CHAOS_PP_LIMIT_MAG from that point on.)]] 04:14:06 could always use its arbitrary-precision stuff 04:14:10 Sgeo: no. not without modifying cpp(1) 04:15:36 olsner: built-docs/binary-literals.html 04:16:03 #define BINARY(string) BINARY_S(CHAOS_PP_STATE(), string) 04:16:03 #define BINARY_S(s, string) \ 04:16:03 CHAOS_PP_ARBITRARY_DEMOTE( \ 04:16:03 CHAOS_PP_EXPR_S(s)(CHAOS_PP_FOLD_LEFT_S( \ 04:16:03 s, OP, (CHAOS_PP_STRING) string, (0) \ 04:16:04 )) \ 04:16:06 ) \ 04:16:08 /**/ 04:16:10 #define OP(s, bit, x) \ 04:16:12 CHAOS_PP_ARBITRARY_ADD( \ 04:16:14 CHAOS_PP_ARBITRARY_MUL(x, (2)), (bit) \ 04:16:16 ) \ 04:16:18 /**/ 04:16:20 the final, clear version :P 04:16:41 "(The BYTE_ boilerplate can be pre-generated with a small program such as the following: ...)" 04:16:45 but that's what the preprocessor is for! 04:16:55 clearly we need cpppp 04:17:06 c(pp)^n 04:17:24 or cp^2n of course 04:18:02 olsner: then it goes to arbitrary bases :P 04:18:05 c(pp)^inf 04:18:17 night; i'll continue cpping tomorrow :P 04:18:20 -!- elliott has quit (Quit: Leaving). 04:20:46 -!- bsmntbombdood has quit (Ping timeout: 255 seconds). 04:24:04 -!- bsmntbombdood has joined. 04:35:05 -!- HackEgo has quit (Ping timeout: 245 seconds). 04:35:16 -!- EgoBot has quit (Ping timeout: 264 seconds). 04:35:46 -!- rodgort has quit (Ping timeout: 265 seconds). 04:36:21 -!- Gregor has quit (Ping timeout: 255 seconds). 04:40:32 -!- augur has quit (Remote host closed the connection). 04:41:40 -!- augur has joined. 04:43:20 -!- augur has quit (Remote host closed the connection). 04:49:37 what the... ls does case-insensitive sorting nowadays 04:49:40 -!- Gregor has joined. 04:49:51 * Sgeo is a geostationary platform 04:51:42 http://www.webwire.com/ViewPressRel.asp?aId=127043 04:52:35 -!- zzo38 has joined. 05:09:02 Sgeo: congratulations! 05:13:08 -!- Sasha has quit (Read error: Connection reset by peer). 05:16:34 Do you like the book "Copper, Silver, Gold: An Indestructable Metallic Alloy"? 05:16:47 -!- Sasha has joined. 05:18:58 * Sgeo hasn't heard of it until now 05:22:09 Perhaps you would prefer "Giraffes, Silver, Gold"? Or "Copper, Elephants, Gold"? Or maybe even "Copper, Silver, Baboons"? 05:23:02 Oh, you're not naming currently existant books 05:25:54 All of these are referenced in Godel, Escher, Bach. 05:27:54 Huh 05:29:45 The one which is not mentioned is: "Copper, Silver, Osmium: A Destructable Metallic Alloy". 05:31:26 (But I think that anyone who really pays attention to the book will know what I am referencing by this.) 05:32:10 -!- augur has joined. 06:03:47 -!- Sgeo_ has joined. 06:07:21 -!- Sgeo has quit (Ping timeout: 272 seconds). 06:10:41 -!- wareya has quit (Read error: Connection reset by peer). 06:11:42 -!- wareya has joined. 06:35:58 -!- kar8nga has joined. 06:58:47 -!- Sgeo_ has quit (Read error: Connection reset by peer). 07:04:26 -!- wareya has quit (Read error: Operation timed out). 07:04:59 -!- zzo38 has quit (Remote host closed the connection). 07:14:13 -!- wareya has joined. 07:44:37 -!- ais523 has quit (Remote host closed the connection). 07:57:30 -!- zzo38 has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:22 -!- rodgort has joined. 09:10:33 Insane people have the best ideas. Sometimes. 09:29:00 -!- Phantom_Hoover has joined. 09:29:36 Minecraft has taken over my BRAIN 09:30:59 Then do something else tomorrow 09:32:01 Or do something else... today! 09:32:34 Yes, that too. 09:33:19 "oh shit it's dark, i better get underground" 09:33:27 eg 09:33:37 sry, pressing buttons at random 09:35:03 -!- kar8nga has quit (Remote host closed the connection). 09:41:26 oklopol, worse than that. 09:41:52 My brain seems to have gotten a copy of Minecraft installed, which is troubling for a number of reasons. 09:42:23 Not least that it implies my head has internet access and *shiver*)a JVM. 09:42:33 s/)/ / 09:50:44 Please read and write six books today. 09:52:03 Could be tricky. 10:01:17 zzo38: morning 10:01:48 Phantom_Hoover: you just have to parallelize 10:07:27 -!- MigoMipo has joined. 10:18:10 cheater00, I can't! There isn't space with this damn JVM here! 10:18:29 obviously you need to acquire more cpu's 10:19:05 Tomorrow's headlines: "Madman goes on killing spree, sticks victims' brains to head". 10:25:24 :D 10:28:34 -!- GreaseMonkey has quit (Quit: ilua). 10:49:18 Is it also a bad sign that I just started a comment in IRC with "t", as in "tHello.", since t is what you use to talk? 10:50:14 fizzie: In my computer it is space-bar 10:50:44 -!- kar8nga has joined. 10:51:00 Yes, but in Minecraft it's 't'. 10:51:06 I have just finished the Season Stacker demo 10:51:13 fizzie: OK. 10:55:47 why do i want to come play with you so much 10:55:59 idgi 10:56:07 oklopol: Must be some sort of brain damage: there's nothing *that* exciting happening. 10:56:10 fizzie, not as bad a sign as it was that I was literally playing Minecraft with you guys _in my head_. 10:56:44 i dreamt about minecraft both last night and the night before 10:57:03 although it was this huge campaign and you could make machine guns 10:57:22 like a 100 player army against another 10:57:44 and just as the battle begins, i realize none of us remembered to make any armor 10:58:33 and then we start getting massacred, i'm the only one who flees, and i take cover behind this fence you can see through, and start shooting at this guy with my uzi, but he just won't die, eventually sees me and kills me with this huge minigun 10:59:03 then there was this other dream where my gf had a penis, and i was just really puzzled "that looks like my penis, what's it doing there" 10:59:30 That really is a weird dream. 10:59:47 yeah, how could a 100 ppl just completely forget something 11:00:01 too easy, maybe, anyway shower -> 11:02:36 I suggest you play the Season Stacker demo now, too. (It also has music by Purple Motion; although the game can be played fine even without the music, too.) 11:04:12 Literate programming is the program you write is both a computer program and a book, it has the features of both. Now you can write six books and six computer programs all in one day. 11:16:15 i expect you to write a program where every function and every function explanation is a haiku. 11:16:35 the function code, read out loud, should be a haiku. 11:26:07 Phantom_Hoover: did you mean a dream or just closing your eyes and continuing the game while awake 11:26:21 cheater00: http://www.dangermouse.net/esoteric/haifu.html 11:26:55 -!- FireFly has joined. 11:30:10 oklopol, BOTH 11:32:15 zzo38: yeah, i've seen that. except it's not LP 11:32:40 zzo38: andou 11:32:56 zzo38: and it isn't written by you 11:33:06 cheater00: Yes, you are right about those things. 11:53:28 -!- Slereah has quit (Ping timeout: 245 seconds). 11:53:44 -!- BeholdMyGlory has joined. 12:01:00 -!- Slereah has joined. 12:26:40 oklopol, incidentally, you like spacey sandboxes with no plot or aims to speak of, yes? 12:30:30 -!- Zuu has quit (Ping timeout: 260 seconds). 12:43:00 -!- Zuu has joined. 13:41:52 -!- Slereah has quit (Ping timeout: 264 seconds). 13:42:44 Phantom_Hoover: sure 13:42:57 oklopol, have you tried Elite? 13:43:11 no, i don't really play games 13:43:18 Huh. 13:44:25 usually i watch tv series or do math, the former if i want to give my brain a rest, the latter if i want to use it. games are a middle road, and i just do extremes. 13:45:04 although lately i've been wanting to program stuff 13:45:15 weird 13:45:45 -!- Slereah has joined. 13:46:06 Program a game about a TV series involving math. 13:46:07 -!- BeholdMyGlory has quit (Remote host closed the connection). 13:46:30 a game involving math would be great 13:46:39 -!- BeholdMyGlory has joined. 13:46:41 but that doesn't sound likely 13:48:12 Make a game that you have to prevent all the magnets from touching each other 13:57:53 Do you know much about ANSI terminal escape codes and those standards? I am making a program converting between MZM files and ANSI codes files. 14:02:14 oh, I always thought the standard came from standardizing the vt100 terminals' codes, but turns out it was the other way around 14:06:32 fizzie, timed out too? 14:06:38 Not this time. 14:06:46 Though haven't tried to say anything. 14:06:53 Okay, now it disconnecteded. 14:07:24 zzo38: the terminal escape codes are really simple though, the wikipedia page probably has all you need 14:08:25 OK, kernel.org's Debian mirrors are down for me. 14:11:17 OK, but what about things such as wrapping, CR/LF pair, control codes special use by some terminals (such as ENQ), and so on? 14:18:26 hmm, right, it probably gets tricky once you expose it to reality and try to actually use it 14:18:53 sounds like you need to find a portable subset that works on everything you want to support 14:22:55 i just burned a forest. 14:24:25 Only you can start forest fires. 14:34:41 Is it just me, or is the Banach-Tarski Paradox nothing of the sort? 14:34:59 I mean, it doesn't imply a contradiction or anything, it's just weird. 14:35:10 i don't think it's weird 14:36:43 "The reason the Banach–Tarski theorem is called a paradox is because it contradicts basic geometric intuition." 14:38:31 it really doesn't 14:38:52 arbitrary subsets of reals in no way model our intuition of geometry 14:39:26 that's like saying if you think addition corresponds to lines being parallel, 1+1=2 contradicts basic geometric intuition 14:39:38 because parallelism is clearly idempotent 14:39:41 (what?) 14:40:39 "zomg, infinite balls!" contradicts basic geometric intuition 14:41:44 infinite balls? 14:43:51 if you can split one ball into two of the same size, you can repeat the process and get as many balls as you like 14:44:08 and that's not something you're supposed to be able to do, intuitively 14:44:33 Well, FWIW the Banach-Tarski Paradox only works in ZFC in the first place, so it's not even a geometrical theorem. 14:46:41 The proof is much simpler than it would appear, barring some little details. 14:56:36 olsner: right 15:16:51 oklopol: let's make a game based on the monster group 15:17:03 the elements of the group are fields 15:17:11 Do you think you can fit the game into the computer? 15:17:13 you start out with some fields, enemy starts out with some fields 15:17:57 when two pieces touch, they add/multiply/whatever, and the attacker gets his piece on the resulting field 15:17:59 And if it is card game, do you think you can shuffle the cards? 15:18:33 -!- sftp has quit (Remote host closed the connection). 15:18:40 the aim is to place pieces in some geometric fashion, like say halma or 5 in line 15:18:55 O, that's how the game works. 15:19:45 it could be an educational tool to facilitate building intuition about the monster group. 15:24:39 :D 15:24:45 What are the rules for the elements of the monster group, anyways? 15:24:57 what was the point of it 15:25:16 oh it was the biggest sporadic group (finite, but not in one of the major infinite classes of them)? 15:25:24 i could just check this i guess 15:25:38 I think that is called an exceptional group? 15:25:50 i think it's called a sporadic group 15:26:01 Maybe 15:29:34 the forest fire i mentioned hours ago 15:29:36 is still burning :D 15:29:48 -!- sftp has joined. 15:29:55 Call the police^Wfire department 15:30:29 And then call yourself 15:33:16 -!- elliott has joined. 15:33:36 -!- sftp has quit (Remote host closed the connection). 15:34:41 Phantom_Hoover: so uh wrt. minecraft addiction 15:34:48 a few days before all this mess i actually draemed in minecraft 15:34:52 Invent a game called "Quixotic Quizzical Jazz"? 15:34:56 including the pause screen 15:35:05 (when i walked into a dark area and i think i wasn't on peaceful) 15:35:09 (so i could calm down before running out) 15:35:09 elliott, that was precisely my problem. 15:35:16 *dreamed 15:35:28 Phantom_Hoover: i finally understand WoW players :D 15:36:20 -!- sftp has joined. 15:41:06 -!- kar8nga has quit (Remote host closed the connection). 16:02:56 erm, i filled a 100x100 valley with candles and built a wall around it, i saw no monsters during the night, but the green exploders now attack me there during the day D: 16:04:18 -!- MigoMipo has quit (Remote host closed the connection). 16:04:52 -!- MigoMipo has joined. 16:12:08 oklopol: :( 16:12:15 oklopol: if you place a door from the outside (not the inside) 16:12:23 oklopol: then you can run up to your door and slash things! 16:12:30 this is of ... limited utility imo but Vorpal swears by it 16:12:30 i know this 16:13:13 what i want to know is if there's a nice way to make something that destroys attacking enemies automatically 16:13:16 i mean 16:13:21 if they try to approach my valley 16:13:25 oklopol: traps 16:13:38 can you make ones that are reusable 16:13:39 oklopol: http://www.minecraftwiki.net/wiki/Tutorials/Traps or whatever 16:14:07 * Burning Netherstone/Cactus trap 16:14:07 A trap made with Netherstone and Cacti. 16:14:07 A variant of the aforementioned trap. Mobs will be lit on fire, then hit the cactus and usually jump back, leaving the drops safe, and an effective barrier, especially against spiders. This requires a cactus farm, as it requires lots and lots of it to be effective. 16:14:07 * Mob tower trap 16:14:08 Although lengthy and very difficult to build, the payoff is fantastic. A single location on the map has been discovered to cause the most mobs to spawn. To find the location use this tutorial: [2] After finding this location, construct a huge tower, which height depends on how much time you have on your hands, and how many mob drops you want. The contraption drags mobs into a grinder and drops the loot into your base. To build the tower, 16:14:13 watch this tutorial: [3] 16:14:21 oklopol: also you might want to get a bow to shoot them from the top or something i guess 16:17:03 -!- Gregor` has joined. 16:17:59 oklopol: also SCREENSHOT THAT HO 16:18:01 oklopol: (the 100x100) 16:19:29 -!- Gregor has quit (Quit: Leaving). 16:19:45 -!- Gregor` has changed nick to Gregor. 16:22:26 Well, I'll leave things at that. 16:22:38 Minecraft overdose is now a problem which MUST BE MONITORED 16:24:34 I'll consider Mt. Hoover's development at some point. 16:25:30 Phantom_Hoover: I just tried to click my now-nonexistent Minecraft task bar entry. :P 16:26:40 Gregor: I've decided that cpp is probably TC, by the wa.y 16:26:41 *way. 16:26:47 Ignoring the recursion limit. 16:27:05 It's all well and good to DECIDE that, I want some EVIDENCE. 16:28:04 Gregor: I've got yer evidence right here: "Not all useful active arguments reach a terminal state. The following code produces an infinite list:" 16:28:21 Gregor: It produces a lazy list of every natural number (well, using their "saturation arithmetic", but it could easily be modified to use their bignums). 16:28:30 Gregor: Also, there's a bubblesort. 16:28:33 O_O 16:28:34 WANT 16:28:48 Gregor: Also, that functional language is *really* convincing. 16:29:04 Gregor: (The most WTF thing is how "practical" and integrated with cpp it is for actual code generation :P) 16:29:16 Gregor: cvs -d:pserver:anonymous@chaos-pp.cvs.sourceforge.net:/cvsroot/chaos-pp login 16:29:19 cvs -z3 -d:pserver:anonymous@chaos-pp.cvs.sourceforge.net:/cvsroot/chaos-pp co -P chaos-pp 16:29:21 cvs -z3 -d:pserver:anonymous@chaos-pp.cvs.sourceforge.net:/cvsroot/chaos-pp co -P order-pp 16:29:32 Gregor: chaos-pp/built-docs has .htmls that are mostly unwritten, but some of them are ... very enlightening. 16:29:46 Gregor: order-pp/examples are literate cpp/LaTeX programs. (Seriously.) 16:29:57 Gregor: They are also very helpful in understanding ... these abominations. 16:30:53 Gregor: As far as I'm concerned, it's at the level where it would have to try really hard to not be TC. :P 16:31:08 How did you find this? :P 16:31:50 Gregor: Well, I knew about it earlier, and it's what set me off thinking about this... The specific inspiration was: 16:31:54 03:20:53 Heh, C preprocessor (ab)use: http://groups.google.com/group/comp.lang.c/msg/082ffefaaed3b450 16:31:54 03:21:52 I think Chaos has been mentioned here earlier, but still. 16:32:05 Gregor: i.e. bignum fibonacci in cpp, using chaos-pp. 16:32:23 Gregor: But I'd heard of it before -- I forget how. Anyway, enjoy! (Note: The .h files are completely useless. Not only are they undocumented, but they are COMPLETELY INCOMPREHENSIBLE.) 16:32:30 Moreso for order-pp. 16:32:55 Gregor: Did I mention chaos-pp has polymorphic functions operating on any type of sequence? X-P 16:33:16 Gregor: They skipped about five stages in language design and went straight from cpp to... that. 16:34:54 [[ >> I would suggest that in the next release of the ISO Standard, it is 16:34:54 >> decried that the preprocessor shall be run repeatedly. In fact it shall 16:34:54 >> be run n times until the nth run does not change the source file. 16:34:54 > Man I _really_ disagree with this. "Powerful" in this case means 16:34:54 > write-only code. 16:34:55 If we take the above spec as literal, it turns out that there are virtually 16:34:57 no programs which would be affected by it. 16:34:59 > Please, C standards people, don't do it! 16:35:01 I am pretty sure that the entire C standards community is populated by 16:35:02 people who are legally allowed to dress themselves, and that as such, 16:35:05 there is no risk of any of sandeep's recent proposals being accepted.]] 16:37:27 lawl @ the last bit :P 16:38:22 Gregor: Now you've got me inventing the Lambda Preprocessor. 16:38:41 # zero := (#\f x -> x) 16:38:41 # succ := (#\n f x -> f(n(f, x))) 16:40:02 "Wet-type earwax fluoresces weakly under ultraviolet light." --Wikipedia photo caption 16:42:03 Gregor: Recursion is like the hardest thing in cpp EVER ;_; 16:42:39 Yes :P 16:44:14 Gregor: What kind of a useless programmer am I? I can't even get this right! 16:45:19 Maybe you should KILL YOURSELF. 16:45:31 ... but first finish this. 16:45:35 'cuz it'd be cool. 16:46:36 Gregor: I seriously plan to write a brainfuck interpreter in cpp. 16:46:38 Gregor: Seriously. 16:46:41 Gregor: (SKI first though, probably.) 16:46:53 SKI kinda makes sense. 16:47:07 I tried to type "SDKI" there because I can't type "SK" in capitals without a 'D' there. 16:47:51 Gregor has been sucked into the whirlpool of practical programming :P 16:47:59 Gregor, you poor, broken man. 16:48:00 Gregor: I could just implement SKI as three simple functions in Order, but THAT WOULD BE CHEATING. 16:51:44 this mountain is standing in the way of progress 16:52:04 goodbye my precious shovel collection. 16:52:53 oklopol: please screenshot that 100x100 thing 16:56:28 oklopol: or, you know, else 17:01:23 oko 17:01:37 >| 17:01:39 OKO 17:04:30 augur: he doesn't love you anu more 17:04:52 :( 17:05:00 OK, CTAN has me flummoxed. 17:05:17 better than if it were CSPAN 17:05:24 What the hell do I do with the little .zip you get that makes it \usepackageable? 17:05:47 open it? 17:05:56 unzip it. 17:06:35 Then what? 17:07:18 -!- ais523 has joined. 17:07:21 then you should get a .tex file 17:07:25 ais523! 17:07:31 chris barker was here the other day :D 17:07:40 not in the channel, i mean here at UMD 17:08:09 augur, do you actually know how to do this? 17:08:36 yes 17:08:42 assuming this isnt some janky package. 17:08:44 send me a link? 17:10:06 augur: you are wrong. 17:10:16 for one, tex packages aren't .tex files 17:10:21 ehh 17:10:27 Phantom_Hoover: ctan has documentation on this; you unpack the directory in the tex root 17:10:28 oh theyre .scljdfjk files 17:10:31 there's a command to find that 17:10:39 Phantom_Hoover: http://en.wikibooks.org/wiki/LaTeX/Packages/Installing_Extra_Packages 17:10:49 Phantom_Hoover: But, uhh 17:10:53 Phantom_Hoover: I'd just install texlive-full 17:10:57 or whatever the package is 17:11:02 that's like 99% of everything you ever need :P 17:11:19 .sty 17:11:21 thats what they are 17:11:31 anyway, eitherway, you have to unpack the zip 17:11:36 then you usepackage{foo.sty} 17:11:44 augur: ... 17:11:47 augur: for one, you don't include the .sty 17:11:48 installing them permanently is another issue 17:11:52 augur: for two, he wants to install them, not use them like that. 17:11:58 WELL FINE 17:11:59 go away 17:12:11 no :p 17:16:08 elliott: oh it's not interesting yet, there were only two sides i had to wall, and the lighting is rather sparse 17:16:15 i can screenshot when i'm finished 17:16:22 oklopol: 100x100 is still rather huge :P 17:16:25 oklopol: have you seen my gigantic staircase 17:16:30 no 17:16:42 oklopol: I've built a staircase from almost-level-0 (bedrock) to the very top of the map 17:16:55 oklopol: and another one from sea level to the top of the map; after that there's a drop down to bedrock where the next staircase starts, wrapping around the other one 17:16:57 so it makes a \/ shape 17:17:28 oklopol: i've made a hole at the end of the one from the bedrock and i'm going to make another underground staircase, meeting up with the one at sea level 17:17:30 tada 17:17:40 oklopol: it's made out of cobblestone and is therefore fucking gigantic and ugly and grey, it's awesome 17:17:45 you can see it from ages away 17:18:25 cool 17:18:47 i was thinking i'd make my world completely enemy inaccessible 17:18:57 well, probably not the whole infinite world, but this part of the island 17:19:13 or petafinite w/e 17:20:58 oko! 17:23:10 oklopol: here's what'll blow yer mind 17:23:24 oklopol: the map isn't actually infinite. 17:23:42 oko, augur! 17:23:49 :D 17:23:50 <3 17:23:51 oklopol: the maximum is around eight times the surface area of the earth 17:23:55 oklopol: (which would take 250 petabytes to store) 17:24:03 oklopol: beacuse of coordinate bit-width or whatever 17:24:05 = petafinite 17:24:08 oklopol: ah 17:24:10 oklopol: well what i'm saying is 17:24:14 oklopol: go to the edges and BUILD 17:24:19 protect the whole thing :P 17:24:25 xD 17:24:27 what's at the border 17:24:39 oklopol: probably [crash] :P 17:24:40 oklopol: or uh 17:24:40 oklopol: omg 17:24:42 oklopol: if it wraps around 17:24:52 oklopol: then the world is an INFINITE REPETITION OF THE SAME 4096 MILLION SQUARE KILOMETRE area :D 17:24:53 What topology? 17:24:57 Phantom_Hoover: flat 17:25:18 You fool! You can't have a wraparound world with flat topology! 17:25:26 Phantom_Hoover: it's magic 17:25:41 Make it the projective plane! 17:26:14 You could bump into yourself! 17:26:30 fucking farm animals mocking my 7 meter high wall by jumping on it 17:27:04 wtf are you playing 17:27:08 -!- eafkuor has joined. 17:27:18 Minecraft. 17:27:25 hi 17:27:34 oh god 17:28:25 hi eafkuor 17:28:44 oklopol: btw you'll need a ceiling, since animals spawn high in the air 17:28:54 huh? 17:28:59 I invented a stupid esoteric language and wrote a Java interpreter 17:28:59 oklopol: seriously 17:29:00 so enemies don't die if they fall? 17:29:10 oklopol: they do but only if they fall really far it hink 17:29:11 oklopol: *i think 17:29:13 oklopol: also chickens don't 17:29:16 I was wondering if I should directly create a page on esolang or not 17:29:30 oklopol: in ineiros' pit that went right down to slightly above bedrock, he got bacon all the time from cows dying due to the fall, but chickens survived :D 17:29:33 eafkuor: yes 17:29:43 eafkuor: we can never have enough stupid languages. 17:29:47 allright, I'm on it 17:29:49 ahah 17:29:50 ok 17:30:53 We never make stupid languages, so /someone/ has to. 17:31:05 Phantom_Hoover: yes we do! 17:31:28 What was the last stupid language we made on this channel? 17:32:15 Phantom_Hoover: Brainfuck/index.php 17:32:42 Oh, that. 17:32:54 -!- sftp has quit (Remote host closed the connection). 17:33:23 *Befunge 17:33:34 you consider befunge stupid? 17:34:36 No, the language elliott made was called Befunge/index.php 17:34:43 ohhh 17:34:50 er, right 17:35:08 eafkuor: spammers had been attacking a page called Talk:Befunge/index.php for no apparent reason 17:35:24 ais523 protected it to stop them, noting that it could be unlocked in the unlikely event that someone created a language named that 17:35:26 so i had to :) 17:35:43 omg 17:35:48 http://esolangs.org/wiki/Befunge/index.php 17:36:16 (oh, and it turns out it's both TC and not: http://esolangs.org/wiki/Talk:Befunge/index.php) 17:36:16 It's Befunge \cup Brainfuck execution instruction. 17:36:17 have you written an interpreter? 17:36:41 eafkuor: no, I'm not quite good enough at deluding myself to believe that it would be a worthwhile or fun use of my time :) 17:37:24 right ;) 17:37:25 -!- poiuy_qwert has joined. 17:37:29 elliott: i have to admit that is one stupid language 17:37:37 elliott, it's just a matter of gluing a BF interpreter to a Befunge one. 17:37:42 Phantom_Hoover: precisely 17:37:54 oklopol: yeah, but at least it's ambiguously TC 17:38:00 oklopol: depending on your definition of TC, and everyone has their own 17:38:20 yeah 17:38:25 well, i don't have even one 17:38:37 i'm undecided 17:42:08 -!- wareya has quit (Read error: Connection reset by peer). 17:42:09 -!- Sasha has quit (Read error: Connection reset by peer). 17:43:16 -!- wareya has joined. 17:45:45 -!- Sasha has joined. 17:46:54 You know, the world needs a language which is written completely in TeX. 17:47:15 Epigram 1 was getting there, but Epigram 2 lost the cool syntax. 17:47:23 *LaTeX, I suppose. 17:49:04 Phantom_Hoover: that makes no sense :P 17:49:10 Phantom_Hoover: also, epigram 2 has the cool syntax 17:49:12 Phantom_Hoover: see the papers 17:49:14 it just isn't d one yet 17:49:18 elliott, it does? 17:49:31 *done 17:49:32 Phantom_Hoover: yes 17:49:39 Phantom_Hoover: the actual syntax is ascii, and always has been 17:49:40 I thought it only had that half-finished, basic plaintext syntax. 17:49:48 Phantom_Hoover: but it's rendered in that cute form 17:50:08 Well, it ought to never have ASCII involved EVER! 17:56:40 I want to do a esolang with it... 17:56:52 Some sort of minimalist declarative language. 17:59:34 -!- kar8nga has joined. 18:10:10 -!- Slereah has quit. 18:10:22 mining down a mountain is more work than i'd hoped 18:13:29 what can you do about the green exploders, is shooting the only way to deal with them, since sunlight doesn't seem to kill them 18:14:34 oklopol: http://www.minecraftwiki.net/wiki/Creeper 18:14:45 :D 18:14:52 oklopol: it has a bit of info there 18:15:55 Hey guys, I'm writing the esolang page for my language 18:16:16 can you suggest a good website to upload the interpreter? 18:16:40 or should I just make a website? 18:17:39 eafkuor: Well, if the interpreter is just one file, you can put it on the wiki. 18:17:41 -!- sftp has joined. 18:17:50 yes it is 18:17:53 For instance, User:Eafkuor/Languagename_interpreter, then just do 18:18:00
...the interpreter...
18:18:08 And you can put stuff above that to document the interpreter. 18:18:13 Then just link that from the esolang's page. 18:18:25 nice, I'll do that thanks 18:18:49 It's just a 64Kb jar file so I won't waste too much space on the server ;) 18:19:08 eafkuor: You can post only text files in there 18:19:17 ohhhhh 18:19:29 allright i'll upload it somewhere else 18:19:44 eafkuor: erm 18:19:47 eafkuor: please give source code 18:20:38 it's various .java files 18:20:50 and a jpg packed into the jar 18:20:54 eafkuor, please. There's no reason whatsoever not to release the source. 18:21:19 ok sure, it's not that I don't want to! It's just that it's 5 classes 18:21:21 The .jar file is like a ZIP file, so you can include the source-codes inside of the .jar file if you want to do so 18:21:38 eafkuor, so you can upload a jar but not a .tgz? 18:21:43 Phantom_Hoover: oh, give him a rest 18:21:50 stop lynching him :P 18:22:03 -!- Guest49365 has joined. 18:22:06 elliott, I've said /two things/ to him! 18:22:12 Two! 18:22:18 guys my first language is not english don't bash me if I look retarded;) 18:22:25 Phantom_Hoover: You're still hounding him. 18:22:27 eafkuor: nah, you don't 18:22:52 I'm having enough trouble already writing a decent esolang page 18:23:09 hehe 18:23:10 (Depending on how you created the .jar file and what computer you use and the other programs you use with it; but this should work at least: Rename the .jar file to .zip and then add the .java source files and then rename back to .jar) 18:23:13 we can fix it up afterwards 18:23:21 olsner: so i got recursion working 18:23:29 #define empty 18:23:29 #define defer(x) x empty 18:23:29 #define expand(...) __VA_ARGS__ 18:23:29 #define A(x) if(x, okay, defer(A_id())(not(x))) 18:23:34 olsner: A(true) = okay, A(false) = okay 18:23:59 ok! 18:24:00 h8 u 18:24:13 coppro hates me for making cpp beautiful 18:24:40 elliott: how are if, okay, A_id and not defined? 18:24:47 -!- kar8nga has quit (Remote host closed the connection). 18:25:08 olsner: #define A_id() A 18:25:09 okay isn't defined 18:25:10 it's just a symbol 18:25:17 #define true(x, y) x 18:25:18 #define true_id() true 18:25:18 #define false(x, y) y 18:25:18 #define false_id() false 18:25:18 #define if_(c, x, y) c##_id()(x, y) 18:25:18 #define if(c, x, y) if_(c, x, y) 18:25:20 #define if_id() if 18:25:23 #define not(x) if(x, false, true) 18:25:24 are the booleans 18:25:30 really i should just define _id() for everything, like chaos-pp 18:26:01 wait wtf 18:26:02 it worked a second ago 18:26:05 why did it stop working ;__; 18:26:10 the magic of c++ 18:26:22 eafkuor: this is C. in fact it's not even C 18:26:25 it's just the C preprocessor 18:26:38 yes i know ;) 18:28:10 and it worked a second ago wtf :) 18:28:32 i wonder if i just forgot to save before testing 18:32:19 elliott, if you want to take a look at my page to check for English errors.. :D 18:32:30 sure 18:32:39 http://www.esolangs.org/wiki/BAM128 18:33:50 eafkuor: I made a few tweaks, but it looks good to me. 18:34:14 wow so quick, thanks ;) 18:34:35 I hope it's understandable because the rules are not as simple as brainfuck's 18:34:43 you're welcome :) 18:34:48 it looks understandable to me 18:35:00 ok thanks =) 18:35:18 eafkuor: we are quite good at understanding nonsense: http://esolangs.org/wiki/Malbolge :) 18:35:45 oh yes, I was scared when I checked malbolge 18:36:01 the inventor must have been on drugs 18:36:03 :D 18:39:12 i blame olsner for breaking my prorgam 18:39:40 i blame elliott for writing it in the first place 18:39:50 olsner: it's all your fault :) 18:40:30 elliott: nope, it is entirely your fault 18:40:37 olsner: no u 18:48:19 I blame the Russians. 18:48:59 in soviet russia, russians blame you 18:49:19 this is now Phantom_Hoover's fault 18:49:40 I blame Vorpal. 18:49:44 No, wait. 18:49:57 I blame sshc, the pustuled creep. 18:57:53 I uploaded the interpreter on dropbox 18:58:34 I don't think I was a totally bad idea, the file contains the interpreter, the source code and 3 example programs 19:01:18 cool 19:06:14 Phantom_Hoover: I would just like to say that Firefox's default configuration does not allow one to force the browser to access a webpage reported as an attack site. 19:06:37 "Ignore this warning" -> "Get me out of here!" or "This isn't an attack site..."; the latter just gives you a page explaining what malware is and the like. 19:14:46 -!- GreaseMonkey has joined. 19:17:21 elliott, example? 19:17:36 Phantom_Hoover: http://www.antipixel.com/blog/archives/2002/10/22/steal_these_buttons.html 19:17:59 Works fine for me. 19:19:01 It is very obnoxious. 19:21:05 -!- anon716 has joined. 19:21:49 Phantom_Hoover: Oh, it works *now*. 19:21:58 Phantom_Hoover: Seems to block the CSS. 19:24:19 hoho 19:25:24 anon716: ohoh 19:26:06 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 19:27:43 -!- anon716 has changed nick to anon994. 19:28:03 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 19:30:46 -!- anon994 has quit (Read error: Connection reset by peer). 19:37:18 -!- distant_figure has joined. 19:37:43 -!- distant_figure has changed nick to hiato. 19:38:03 -!- hiato has quit (Client Quit). 19:40:21 -!- Phantom_Hoover has joined. 19:57:35 ineiros, mind doing new maps? Seems like no one is playing atm 19:59:48 Playing now. 20:00:09 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 20:02:37 -!- kar8nga has joined. 20:03:34 Vorpal: A bit later. 20:04:13 ineiros, okay 20:05:27 [download] 11.1% of 120.67M at 44.01k/s ETA 41:37 20:05:30 this is a disater 20:05:36 for a 10 minute video 20:05:37 XD 20:05:46 youtube fails 20:06:07 -!- Phantom_Hoover has joined. 20:06:22 fizzie, can I have the loan of one of your furnaces? 20:06:52 does it take too long to make one? 20:07:08 He has about 6 already in place in a room in the bunker. 20:07:13 We can parallelise. 20:08:53 Uh, well. Sure, you can use one, but they're made of cobblestone, you know. You can build any number of your own. 20:09:08 You're not supposed to be spending time in the bunker, you know. 20:09:08 Sure, but it's for half-steps 20:09:18 So we need all the cobbles we can get. 20:09:21 i have about 3000 cobblestone atm 20:09:45 well okay not really, but anyway one small container 20:09:46 Going to take the skyway to Mt. Hoover or what? 20:10:04 I have a large box full of it in a single-player game: stopped collecting when it got full. 20:10:13 yeah 20:10:16 Yes. Well, we'll probably get them halfway there then get bored. 20:12:48 -!- sftp has quit (Read error: Connection reset by peer). 20:16:09 -!- sftp has joined. 20:23:07 -!- eafkuor has quit (Quit: Few women admit their age. Few men act theirs.). 20:26:38 -!- augur has quit (Remote host closed the connection). 20:34:24 Phantom_Hoover: so? 20:34:28 Phantom_Hoover: what's the relevance of 8:30 20:34:47 There isn't one. 20:35:00 Phantom_Hoover: then why did you remark on it :P 20:35:07 I'm just trying to keep Minecraft down so that it doesn't infect my brain. 20:35:15 Well, I timed out. 20:35:23 So did I. 20:35:30 -!- zzo38 has quit (Remote host closed the connection). 20:35:42 You lay the skyway, I'll lay the blocks when next I connect; that could be a while, though. 20:35:46 Anyway, the spacing I used seems to be more like 16 or so. 20:36:56 -!- eafkuor has joined. 20:36:59 -!- sftp has quit (Remote host closed the connection). 20:49:48 -!- augur has joined. 21:16:27 Q. How many Prolog programmers does it take to change a light bulb? 21:16:27 A. No. 21:18:40 prolog jokes! :D 21:18:44 olsner: Yes. 21:18:58 olsner: (You should have said "tell me some prolog jokes".) 21:19:34 elliott: i don't get it 21:19:40 was that another prolog joke 21:19:44 oklopol: yes 21:19:59 hmm, it seems i'm dumber than usual today 21:20:15 or it is something interpreters say 21:20:47 oklopol: 21:20:50 ?- prolog_joke(X). 21:20:51 X = a joke 21:20:54 X = another joke 21:20:55 Yes. 21:21:03 ?- prolog_joke(X), funny(X). 21:21:04 No. 21:21:14 i.e. there are a bunch of prolog jokes, and none of them are funny 21:21:21 oklopol: so let's just pretend the X = lines don't exist because they're predicates. 21:21:23 thus joke 21:21:24 bad joke 21:21:25 terrible joke 21:22:02 -!- sftp has joined. 21:22:34 i'm still not sure i get it :D 21:23:17 your "Yes" could've been a response to "tell me some prolog jokes", because the things before it wouldn't've been worth saying? 21:26:09 oklopol: 21:26:16 Tell me some prolog jokes. (?- prolog_joke(X).) 21:26:19 Yes. 21:26:27 i.e. it is true that prolog_joke(X). 21:26:38 because you can substitute, e.g., X = " Tell me some prolog jokes. (?- prolog_joke(X).) Yes." 21:26:40 which is a prolog joke 21:26:47 and thus prolog_joke(" Tell me some prolog jokes. (?- prolog_joke(X).) Yes.") is true 21:26:51 ergo prolog_joke(X) is true 21:26:55 and the interpreter conveys this with "Yes." 21:28:32 AH! 21:30:21 -!- Sasha2 has joined. 21:31:32 -!- Sasha has quit (Ping timeout: 250 seconds). 21:42:57 oklopol is now feeling stupid 21:43:25 yeah 21:43:43 elliott, but if you use a variable in the predicate, it should still say what it equals even if it's Yes. 21:44:00 Phantom_Hoover: No; Prolog is based on predicates with boolean results. 21:44:05 Printing the possible values of X is just an extra diagnostic. 21:44:12 The only *result*, at the top level, is "Yes." 21:44:13 Anyway shut up. 21:44:26 A diagnostic that's always printed when you use ?- IIRC. 21:44:29 Let me check. 21:47:37 Phantom_Hoover: Yes it is. 21:47:38 Shut up. 21:50:55 -!- Quadrescence has quit (Ping timeout: 245 seconds). 21:53:57 I love the way DMM's blog is basically IWC's annotations. 21:56:41 fizzie: reconnect 21:56:44 fizzie, you timed out 21:58:44 -!- sebbu2 has joined. 21:58:59 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:00:03 -!- sebbu has quit (Ping timeout: 265 seconds). 22:00:04 -!- sebbu2 has changed nick to sebbu. 22:01:28 -!- Zuu has quit (Read error: Connection reset by peer). 22:04:59 elliott, what was that law that said you should be conservative in what you do but liberal in what you accept? 22:06:05 Phantom_Hoover: Postel's. 22:06:54 being liberal in what you accept is what has made the web what it is today 22:07:21 the web as in html, http, and all the related craptastica 22:09:35 -!- kar8nga has quit (Remote host closed the connection). 22:11:22 -!- ais523 has quit (Remote host closed the connection). 22:16:20 olsner: yes, a huge source of useful and amusing information 22:16:51 olsner: as soon as you add an even vaguely dynamically-generated page, violating Postel's law equates to assuming people always write completely *perfect* progarms 22:16:54 *programs 22:17:03 most programs when they have a bug, one part of the program doesn't work, but the rest does 22:17:11 if you're strict, and refuse to load any web page with invalidity, 22:17:17 that's like making the whole program not work because of a single bug 22:17:20 it's stupid. 22:17:53 -!- Quadrescence has joined. 22:22:05 -!- augur has quit (Remote host closed the connection). 22:34:14 -!- sftp has quit (Remote host closed the connection). 22:36:58 -!- sftp has joined. 22:40:51 Vorpal: you've were on the server mere minutes before me. 22:41:21 elliott, hours. not minutes 22:41:26 Vorpal: Ehm, no. 22:41:30 about 1.5 hours 22:42:14 -!- cheater00 has quit (Ping timeout: 245 seconds). 22:55:47 -!- Zuu has joined. 22:56:03 -!- Zuu has quit (Changing host). 22:56:04 -!- Zuu has joined. 22:56:44 -!- cheater00 has joined. 23:02:29 * Phantom_Hoover → sleep 23:02:44 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:04:59 me too 23:20:33 -!- augur has joined.