00:00:56 -!- olsner has quit ("Leaving"). 00:04:13 -!- jix has quit ("CommandQ"). 00:30:03 -!- Slereah2 has quit (Read error: 104 (Connection reset by peer)). 00:30:10 -!- Slereah2 has joined. 00:36:17 -!- tusho has quit. 00:44:01 -!- Slereah2 has quit (Read error: 104 (Connection reset by peer)). 00:57:14 -!- oklopol has quit (No route to host). 01:21:11 -!- Slereah2 has joined. 01:47:51 Gaiz 02:16:32 -!- Corun has quit (Read error: 60 (Operation timed out)). 02:16:53 -!- Corun has joined. 02:20:24 -!- Corun has quit (Client Quit). 03:45:39 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | ... 05:35:11 -!- oklobol has joined. 05:47:42 -!- oklobol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )"). 06:13:17 -!- GreaseMonkey has joined. 06:21:42 -!- oklobol has joined. 07:16:52 http://www.vjn.fi/pb/p664652165.txt 07:16:56 -!- oklobol has changed nick to oklopol. 07:17:38 this is a sophisticated message passing scheme for java 07:18:12 ^rev !tobtpo 07:18:12 optbot! 07:18:13 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | Because... um.... 07:18:16 the lecturer said there was no direct way to send a message from an object to another, so i had no choice but to prove him wrong 07:30:11 I almost got 20% off of an assignment for having a vector class which resized when you tried to access something out of bounds... 07:31:04 The grader apparently thought that a buffer overflow error was appropriate. 07:31:26 i wonder whether he'd like my message passing 07:32:42 well holy fuck cannot you serialize a java object into a string 07:34:15 Don't you just love Java? 07:37:19 not right now. but sometimes i don't hate it 07:37:34 Er, sure you can serialize objects? 07:37:42 yes, but only into files :) 07:37:52 of course i could write and then read 07:37:57 Huh? Just use an ObjectOutputStream writing to a ByteArrayOutputStream. 07:38:03 not a bad idea 07:38:23 i don't know anything about java streams, can you elaborate 07:38:50 hmm 07:38:57 i think i know how to do it yes 07:39:02 wait a bit 07:39:36 ByteArrayOutputStream b = new ByteArrayOutputStream(); ObjectOutputStream o = new ObjectOutputStream(b); ... o.writeObject(foo); ... byte[] serialized = b.toByteArray(); 07:41:06 You could use the newer and more enterprisey XMLEncoder too, if you swing that way. 07:41:44 one more thing 07:41:50 where are these streams? 07:41:54 java.lang.io or something? 07:41:59 or java.io 07:42:00 java.io. 07:42:11 LOX. 07:48:39 err 07:48:49 how do i bit-and in java? 07:48:55 & seems to require a boolean 07:49:09 was this one of java's retarded changes from c? 07:51:39 Er, no. 07:51:49 && requires a boolean, & should work for integers. 07:53:55 But both sides need to be integers. 07:54:00 (Or booleans.) 07:58:14 I guess you could get a "boolean expected" type of warning out of a&b if one was boolean and the other was integer, since there's no automagical conversion from boolean to the integral types. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:00 yeah i got it, but gotta leave for a sec, lecture ended -> 08:05:43 Oh, and mind the sign bits; the normal ">>" sign-extends, so a loop like for(; b != 0; b >>= 1) ...; will never terminate for negative b, one must use "b >>>= 1" (or the >>> operator in a more generic case) for the "sensible" bitshift. For one value of sensible; I guess sign-extending makes some sort of sense too. 08:06:13 -!- oklobol has joined. 08:06:55 Did you miss the bitshift comment? 08:07:36 -!- oklopol has quit (Read error: 113 (No route to host)). 08:07:47 fizzie, everyone knows >> is input ;) 08:07:49 * AnMaster runs 08:08:29 What I don't like about "Java for bit-mangling" is that everything's signed, even the "byte" type. 08:09:09 fizzie: wanna code the unserialization part for me as well? 08:09:25 string -> object 08:09:31 i think i'm ready after that 08:11:24 That's pretty much the reverse, if you have that same byte[] the serialization gave you. ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(serialized)); Object o = in.readObject(); 08:15:10 thanks, i guess i could've guessed that 08:15:24 but, i have an error, need to debug a bit 08:15:48 A bit! Heh, heh. 08:16:57 :----------) 08:17:06 pun was somewhat intended actually 08:22:55 umm 08:23:38 i think this error is in your code, actually 08:23:49 well prolly not, but at least in how i'm using it. 08:24:28 No warranty, not even for fitness for a particular purpose. 08:25:16 heyyy 08:25:20 actually 08:25:36 i'm not giving the bytestream the object :P 08:25:47 so i'm just reading an uninitialized stream 08:26:07 That should give you an empty byte[]. 08:26:11 b.write(theobject) 08:26:12 ? 08:26:22 well yeah, that's what i got out of it, methinks. 08:26:32 err 08:26:34 o.write 08:26:39 o.writeObject. 08:27:13 It is possible yo ushould also do an o.flush() before calling b.toByteArray to make sure all the bits are there. 08:28:17 let's see what happens 08:28:30 it should work now, but probably doesn't 08:37:39 okay 08:37:40 done 08:37:51 wanna see? no? i'll show anyway 08:38:34 http://www.vjn.fi/pb/p522143264.txt 08:39:16 basically 08:39:20 i have two threads, a and b 08:39:30 a sends messages to b by interrupting its sleep 08:57:38 -!- oklobol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )"). 09:45:39 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | you need to be really good at editing dense, obfuscated python. 10:14:04 -!- oklobol has joined. 10:25:50 -!- jix has joined. 11:10:13 -!- GreaseMonkey has quit ("Jesus loves you"). 11:11:46 -!- oklopol has joined. 11:30:13 -!- oklobol has quit (Read error: 110 (Connection timed out)). 11:57:54 haha, http://www.youtube.com/watch?v=i6Fr65PFqfk says that Homespring is the best language ever 12:06:08 -!- jix has quit ("This computer has gone to sleep"). 12:21:23 -!- oklopol has quit (Read error: 113 (No route to host)). 12:38:05 Deewiant, oh and there are some bugs in efunge, stuff mycology doesn't find, and can't find, like 1kq would have crashed with a backtrace "no such function" instead of quitting 12:38:10 fixed now 12:38:31 oh and I really don't care :-P 12:38:48 Deewiant, Mycology doesn't test 0k vv btw 12:39:08 not very well defined in 98 I guess 12:39:12 AnMaster: it also doesn't test karsdnieaedianrbsnbtkliawlfktearnsvdiarskidnarkd;qwypgq 12:39:38 heh ok 12:40:58 in fact, that would be rather boring, 0ka, hit reflect, push a, run k over edge (undef I bet) and hit q, so it would quit 12:41:05 assuming that is the whole program 12:41:31 and it wouldn't test other parts, since l is only valid in trefunge iirc 12:41:40 it causes a crash in this obscure befunge interpreter 12:41:43 !! 12:41:43 which you entered near the middle 12:41:57 Deewiant, hah. well "0k vv" doesn't casuse a crash 12:42:06 but which v will it go down from? 12:42:11 whose source code is essentially "if input-file contains ktearnsvdiarskid then crash else ccbi input-file" 12:42:24 I'd say the last one 12:42:27 what do you think? 12:42:30 yep 12:42:49 since it is 0 k, then it should search past instruction. Well I got a small test in the cfunge test directory for that 12:43:21 Deewiant, how should j across the edge (ie, wrapping) behave 12:43:43 0a5+-j #v'C,a,@ 12:43:44 >'W,a,@ 12:43:47 as the whole program 12:44:13 cfunge prints C, efunge gets an infinite loop 12:44:15 * AnMaster tests ccbi 12:44:30 ccbi also C 12:44:35 but is it well defined? 12:44:48 it's as well defined as # over the edge 12:44:54 so "somewhat" 12:44:58 ah 12:45:06 so what do you think it should do then? 12:45:57 I think it should hit the @ 12:46:24 Deewiant, really? as far as I can tell it jumps -15 12:46:29 so hm 12:46:43 but it kind of depends 12:46:48 well 12:46:54 if you see the funge-space as an infinite grid 12:47:04 then it should just jump 15 left 12:47:06 and then wrap 12:47:09 hitting the @ 12:47:22 alternately, you can think that it wraps as soon as it jumps left of the 0 12:47:52 0a5+-jvvvvvvvvv 12:47:53 123456789 12:47:53 @,a.<<<<<<<<< 12:47:59 ccbi ends up with a 1 12:48:02 so does cfunge 12:48:15 the same way you can think of # over the edge as either jumping over one of the infinite spaces, then wrapping, or jumping+wrapping 12:48:33 hm 12:48:53 AnMaster: because consider 12:49:01 what if you indent all three lines there by 20 spaces? 12:49:14 well that would change this program definitely 12:49:24 yeah, and IMHO it shouldn't probably 12:49:32 because spaces are ethereal 12:49:47 so you mean jump across edge should hit opposite edge? always? 12:49:59 yeah, I think that makes most sense as a whole 12:50:06 sure spaces are etheral 12:50:12 and it's probably what was intended 12:50:14 but that doesn't hold true for # and j 12:50:25 they treat spaces as existing cells 12:50:31 in non-wrapping case 12:50:32 -!- tusho has joined. 12:50:33 exactly 12:50:38 so why not in the wrapping case as well 12:50:45 Deewiant, hm true 12:51:04 well # in both cfunge and efunge do hit opposite edge 12:52:05 -!- KingOfKarlsruhe has joined. 12:52:17 Deewiant, except what j actually do (in both) is: store current delta, multiply delta by distance, call routine that moves ip forward once, restore delta 12:52:38 while # is just "call routine moving forward once" 12:53:10 (and then another call at end of main loop) 12:54:27 Lol wut. Some people tried "CONNECT 6667 HTTP/1.0" on my server last night 12:54:30 [[9.9 CONNECT 12:54:31 This specification reserves the method name CONNECT for use with a proxy that can dynamically switch to being a tunnel (e.g. SSL tunneling [44]). ] 12:54:32 lol wut x_x 12:54:43 It's just a private server testing a thing i'm writing. 12:54:48 No link published or anything 12:54:59 tusho, random scans over ip blocks? 12:55:07 Many IRC servers do open proxy tests like that also. 12:55:16 yeah that too 12:55:17 Ah. 12:55:23 That seems very likely. 12:55:29 It is from 12:50, I just noticed :P 12:55:43 Also a POST / by one of them, presumably trying to nph-proxy test 12:55:49 92.62.43.77 - - [16/Sep/2008:12:55:34] "CONNECT 6667 HTTP/1.0" 404 1174 "" "" 12:55:53 You can give up now. 12:55:53 Honest. 12:59:56 -!- Corun has joined. 13:42:21 tusho, a whois on that ip says "descr: Underworld IRC services Trondheim, Norway" 13:42:27 no clue what network that is 13:42:29 It'll be quakenet, then. 13:42:35 ah 13:51:09 -!- KingOfKarlsruhe has quit (Remote closed the connection). 13:55:38 -!- Slereah_ has joined. 13:55:38 -!- Slereah2 has quit (Read error: 104 (Connection reset by peer)). 14:22:11 -!- oklobol has joined. 14:27:53 -!- oerjan has joined. 14:31:08 * oerjan knows what Trondheim, Norway is 15:04:35 -!- Corun has quit ("This computer has gone to sleep"). 15:09:08 [[Why are videos worse than text? I have to consume them at the pace and in the order dictated by the producer. I cannot skim them. They take orders of magnitude more bandwidth. I cannot search for a word or phrase. I am unable to quote from them without transcribing by hand. I cannot easily page around to see the general shape, or pick out an interesting paragraph to read, or send a part to somebody else. They are not indexed properly by Google.] 15:09:21 (it is a video of a keynote presentation thing that is amusing) 15:09:24 he must hate real life 15:10:09 -!- KingOfKarlsruhe has joined. 15:12:07 who doesn't 15:14:14 :D 15:14:56 -!- oklobol has changed nick to oklopol. 15:29:28 -!- jix has joined. 15:42:38 wow... this is crazy, there is a log4sh... http://log4sh.sourceforge.net/ 15:43:22 there also seems to be a unit testing framework for shellscripts based on junit?... crazy... http://code.google.com/p/shunit2/wiki/ProjectInfo 15:45:39 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | it's a full language that can express anything english or anything else can. 15:47:17 optbot: talking about oko? 15:47:18 oerjan: C = nice. C++ = horrible but usable bastardization of C. Java = horrible, weak, insulting bastardization of C++. 15:49:19 I think optbot is right there 15:49:20 AnMaster: ``ci`ci 15:49:27 though not sure C++ is that usable 15:49:34 bastardization certainly 15:51:24 optbot: have you gone all loopy? 15:51:25 oerjan: How many of those nicks are registered? 15:51:33 optbot: both of them 15:51:33 oerjan: I might do h[0][0][0][0] by mistake (extra "[0]") and not know about it until my program crashes 15:52:13 optbot: i don't know if that's a legal nick 15:52:13 oerjan: :P 15:54:29 -!- oerjan has changed nick to h[0][0][0][0]. 15:54:37 would you know, it was 15:54:43 -!- h[0][0][0][0] has changed nick to oerjan. 16:00:09 -!- Corun has joined. 16:02:48 -!- Corun has quit (Client Quit). 16:03:31 -!- Corun has joined. 16:13:22 -!- ais523 has joined. 16:13:22 hi ais523 16:14:49 -!- puzzlet_ has quit ("Lost terminal"). 16:18:27 ais523, hi 16:18:32 hi 16:18:47 oerjan, did you register that h[0][0][0][0] nick? 16:19:07 * AnMaster ponders nicks like argv[0] 16:19:09 should be valid 16:19:17 and no I won't care of someone registers it 16:19:21 AnMaster: don't square brackets not count as part of the nick? 16:19:26 so argv[0] would actually just be registering argv 16:19:31 just like ais523|busy is equivalent to ais523 16:19:31 * oerjan is now known as h[0][0][0][0] 16:19:32 would you know, it was 16:19:32 * h[0][0][0][0] is now known as oerjan 16:19:41 ais523, wtf are you talking about? 16:19:50 ais523|busy is not equivalent to ais523 16:19:53 AnMaster: only part of an IRC nick is considered for uniqueness 16:19:54 and yes it is 16:19:56 according to any ircd 16:20:11 ais523, that was some idea freenode used to have iirc, don't think they ever implemented it 16:20:12 -!- Corun has quit (Read error: 110 (Connection timed out)). 16:20:20 but depending on that would be unportable 16:20:31 -!- ais523_|test has joined. 16:20:31 hi ais523_|test 16:20:34 in the original IRC RFC | is upper case of [ iirc 16:20:39 tusho, that was scripted 16:20:41 tusho, stop that 16:20:46 hi tusho 16:20:48 AnMaster: why should i 16:20:52 ais523 was gonna script it one time 16:20:54 but decided not to 16:20:55 AnMaster: no, { is uppercase of [ 16:21:04 because it was too much work 16:21:04 ais523, ah yes, that was it 16:21:13 so no, i'm going to leave that script there 16:21:18 in fact, ais523 found a way to beat it today 16:21:18 ais523, anyway you could remove the _ and it would work, at least on every ircd I know 16:21:33 -!- ais523_|test has changed nick to ais523|test. 16:21:38 see? 16:21:45 AnMaster: yes, I was testing with nickserv 16:21:53 I thought it was nickserv that enforced that rule not the ircd 16:21:56 but apparently it doesn't either 16:22:04 well it is no rule 16:22:14 -!- ais523|test has quit (Client Quit). 16:22:16 the rule only existed in the head of some freenode oper at some time 16:22:21 ah, ok 16:22:23 it was never implemented 16:22:54 and even if it was implemented it wouldn't be standard 16:43:58 that oper who died, i seem to vaguely recall 16:44:23 oerjan, lilo, possible 16:46:19 -!- Slereah2 has joined. 16:46:40 oerjan: lilo is the founder 16:46:47 oh no i split an infinite. and i promised to never ever in my life do such a wicked thing 16:46:55 though tbh i can't remember him doing much more than begging for money. 16:47:02 :\ 16:47:19 someone's got to do that 16:47:21 oerjan : Was it an infinite or just a half infinite? 16:48:04 * oerjan would like Slereah2 to please pretty please with sugar on top tell him what a half infinitive ... oh wait 16:48:27 :D 16:48:52 actually x = 2*x for all infinite cardinalities 16:50:03 But only for cardinalities :o 16:50:05 (ordinalities too but that is about ordinal multiplication being strange and non-commutative) 16:50:09 Well, also for some other infinites 16:50:16 like the extended real line 16:50:30 -!- Slereah_ has quit (Read error: 113 (No route to host)). 16:50:40 er, limit ordinals 16:51:32 tusho, s/is/was/ in the line sent directly after Slereah2 joined 16:51:56 AnMaster: no, he didn't suddenly retroactively not found it 16:51:58 Isn't omega =/= 2*omega? 16:52:01 when he died 16:52:11 no, is. in sense that Kim Il Sung is the president of North Korea 16:52:22 (which i think is true) 16:52:36 tusho, huh, well true, but it sounds weird English 16:52:42 to me 16:52:45 AnMaster: that is true 16:52:50 :P 16:52:52 Slereah2: no, omega = 2*omega 16:52:57 tusho, I even suspect the usual way would be using "was" there 16:53:03 even in English 16:53:05 because the right side is 2+2+2+... 16:53:15 it would be, but i can opt for crazy correctness occasionally, can't I? 16:53:42 while omega+omega = omega*2, the other way 16:55:29 what is inf / 2? I don't mean mathematically (where it is inf), but rather in IEEE floating point format 16:55:36 is it NaN or inf? 16:56:33 tusho, sure you can 16:57:11 17:56 =oerjan> > (isIEEE 2.0, let x = 1/0 in x/2) 16:57:11 17:56 =lambdabot> (True,Infinity) 16:57:51 hm 16:58:01 (that first was just to confirm lambdabot/ghc uses IEEE) 16:58:08 ah 16:58:26 let x = 1/0 in x/2 <-- that syntax makes no sense to me 16:58:37 AnMaster: it's 16:58:39 it's haskell 16:58:40 x/2 where x = 1/0 16:58:41 what is wrong with (1/0)/2 16:58:45 AnMaster: nothing 16:58:49 oerjan could have done it 16:58:53 but I guess he wanted a variable that meant infinity 16:58:54 to be clearer 16:58:56 ah 16:58:57 right 16:59:48 (I bet mathematicians, not programmers, designed Haskell....) 16:59:53 of course 16:59:57 AnMaster: almost certainly, and why not? 16:59:59 it's very close to mathematics 17:00:04 and yet very usable for everyday tasks 17:00:18 because the programmers appeared after the mathematicians got started 17:00:21 and helped tweak it so it's useful 17:00:29 I do see that of course.. Just look at darcs or such 17:00:33 while the mathematicians kept it mathematically pure 17:00:33 :P 17:00:46 however that doesn't mean I must like it 17:00:59 it doesn't. 17:01:02 you can think a language does the job it has been made for, without liking it 17:01:11 but there's nothing wrong with a language being designed by mathematicians 17:01:21 for example COBOL arguably *does* the job it was made for, yet you can't really like it I bet 17:02:04 also I didn't say there was anything wrong with mathematicians making a language 17:02:16 -!- oerjan has quit ("-> bus"). 17:02:32 it is just that I find haskell confusing as a programming language 17:02:46 it seems to have a lot of "syntactic sugar" 17:02:56 no 17:02:59 it has quite minimal syntax 17:03:00 it's just flexible 17:03:03 in its syntax 17:03:24 tusho: list comprehensions, two different ways to write case, changing things from prefix to infix at will? 17:03:30 that's syntactic sugar 17:03:32 ais523: the last one is not syntactical sugar 17:03:33 yep 17:03:36 it is extensible syntax 17:03:42 tusho: yes it is, you can write everything prefix in theory 17:03:43 and i didn't deny that there was sugar 17:03:45 of course there is 17:03:51 ais523: syntax != syntactical sugar 17:03:56 it has infix syntax, it just so happens that it's extensible infix 17:04:02 ais523, what did you mean with the last one? 17:04:06 but yes, the first two are valid 17:04:09 AnMaster: you can define infix operators 17:04:15 AnMaster: mod 2 3 is equivalent to 2 `mod` 3 in Haskell 17:04:20 and that, yes 17:04:21 hm 17:04:22 you can infixise anything that takes two args like that 17:04:30 ais523: no, you can infixise anything 17:04:33 you can do it the other way too: 2 + 3 is equivalent to (+) 2 3 17:04:37 there's no such thing as two arguments 17:04:43 tusho: yes, I know 17:04:46 well... syntactical sugar I'd say 17:04:48 mod :: Integer -> (Integer -> Integer) -- generalizing the type signature here 17:04:55 but it's more confusing than useful if you aren't using it like it's taking two args 17:05:02 ais523: true 17:05:15 AnMaster: of course haskell has syntactical sugar: so does C 17:05:19 but it doesn't have huge excesses of it 17:05:21 yes 17:05:26 putting something that's normally a unary operator to infix, for instance, is just crazy 17:05:29 I just noted haskell seems to have a lot of it 17:05:32 the syntax of haskell isn't really all that complex, save for the alignment-syntax thing 17:06:19 lisp seems to be one of the languages with *least* syntactical sugar, though at least some lisp variants got some of it, like the (foo 'quoted string) thing I seen in at least elisp 17:06:32 ' is not quoted string 17:06:41 'x is (quote x), i.e. return x without evaluating it 17:06:41 tusho, what was the exact difference then? 17:06:43 so you can do '(1 2 3) 17:06:48 right. 17:06:48 which evaluates to (1 2 3) 17:06:55 instead of calling 1 with the arguments (2 3) and balking 17:06:59 because you can't call a number... 17:07:11 still I'd say lisp got one of the purest syntax out there 17:07:18 for non-esolangs 17:07:21 yes 17:07:49 you could argue brainfuck got even less syntactical sugar, at least if you remove - ;) 17:08:19 and then there is the turing tarpit funge variant Deewiant and me discussed a while back 17:08:31 a while back = like 2-3 days 17:08:33 :P 17:08:33 think we got down to something like 6 existing commands 17:08:39 tusho, yes probably 17:08:47 I think it was 5 for Befunge, 6 for Unefunge 17:08:54 ah yes 17:09:31 ]-1y_ for befunge right? 17:10:10 with the addition of x for unefunge 17:10:23 Deewiant, or? 17:10:24 AnMaster: what's the y for? 17:10:25 hmm 17:10:35 AnMaster: what do these do: ]y_ 17:10:35 ais523, it's secondary function, stack pick 17:10:48 ] is turn right 17:10:48 AnMaster: ah, how are you going to know how much it would push anyway? 17:10:59 _ goes left or right according to if TOS is 0 17:11:00 ais523, well you could check using y ;P 17:11:03 and y is crazy 17:11:20 -!- pikhq has quit ("leaving"). 17:11:26 BTW, I reckon y should push the number of entries y pushes as the top entry of the resulting stack 17:11:30 i think a nicer command set is *-1x? (same functionality, just different names) 17:11:39 ais523, nah, not in specs :P 17:11:42 i.e. the programs would look nicer using those characters 17:11:49 tusho, err you need _ too 17:11:53 wait hm 17:11:55 AnMaster: _ is ? 17:12:01 tusho, horizontal if 17:12:05 ...... 17:12:08 '_' is '?' 17:12:12 command set = *-1x? 17:12:13 AnMaster: _] were combined to w 17:12:19 tusho: you're suggesting redefining all the chars in Befunge for aesthetics? 17:12:21 tusho, no ? is random direction 17:12:21 Deewiant: what does w do? 17:12:26 AnMaster: SHUT UP 17:12:29 I MEANT IN MY REBOUND VERSION 17:12:32 Deewiant, ah right 17:12:33 god 17:12:42 Deewiant: maybe you could use x 17:12:44 ais523: for the tarpit, yes 17:12:45 instead of _] 17:12:46 so -1wy 17:12:46 tusho: pops two cells and turns left if <, right if >, otherwise goes straight 17:12:48 that would work 17:12:48 for tarpitting 17:12:50 tons of ]s around the place would be ugly 17:12:54 Deewiant: ah 17:13:02 then my charset is -1*x 17:13:05 Deewiant, but for unefunge you need _-1yx then 17:13:14 tusho, err * is multiply 17:13:15 so no need 17:13:18 AnMaster: ...................................... 17:13:19 AnMaster: yep 17:13:24 AnMaster: I was rebinding them to look better when tarpitted. 17:13:38 tusho, redefining the letters were not allowed in the original discussion 17:13:40 - and 1 stay the same, w gets renamed to *, y gets renamed to x 17:13:42 AnMaster: i don't care. 17:13:42 nor will we do it here 17:13:48 AnMaster: tusho's inventing his own fungeoid in which all the commands are the same as Befunge but mapped to different characters 17:13:50 i will do it here, because I like the look better 17:13:53 ais523: well, no 17:13:55 the same as the tarpit 17:13:59 of -1wy 17:13:59 ais523, ah right, well not really interesting 17:14:02 but with w renamed to * 17:14:04 and y renamed to x 17:14:11 same semantics, just looks prettier. 17:14:18 tusho, also y got the befunge-98 semantics 17:14:20 AnMaster: Deewiant: you also need space and newline 17:14:31 hmm... could it work without space? 17:14:32 ais523: they were seen as implicit 17:14:38 I think 17:14:43 ais523, well space yes, but newline is not part of the command set 17:14:52 there are no newlines in funge space after loading a file 17:14:53 it's worth thinking about, though, due to the existence of 2L/1L 17:15:02 they just increment y and reset x to 0 17:15:05 AnMaster: no but they matter to the file loader so they need to be specced 17:15:10 Deewiant, right 17:15:29 generally when discussing tarpits I go by characters in the source, not by characters in the internal representation 17:16:01 ais523, well I'd argue you could store it as an array in C and then link the interpreter to that C file 17:16:08 or something like that 17:16:16 AnMaster: that takes a lot more characters 17:16:19 the actual source representation could vary in other words 17:16:31 so it is the actual program representation we are discussing 17:16:35 and it's really the language + representation combination that's the tarpit IMO 17:16:37 not it's carrier format 17:17:17 ais523, you could encode it in some other charset, would it not be the same *program*? 17:17:43 or you could define "wrap around at col 80, infinite line count" 17:17:45 yes, the same program 17:17:49 then you wouldn't need \n 17:17:57 just spaces to fill each line 17:18:06 and all stored on one line 17:18:07 but it's different for tarpit purposes if you're trying to golf the number of characters in the language 17:18:31 ais523, I golf the number of commands, not the source representation 17:18:45 if I compressed it with deflate, wouldn't that add more symbols? 17:18:56 AnMaster: see 1L and NULL, "number of commands" can be pretty hard to pin down on occasion 17:19:01 oh and Whirl for that matter 17:19:05 1L is? 17:19:10 AnMaster: 1l is 17:19:14 http://esolangs.org/wiki/1L 17:19:18 AnMaster: it's a 2D language with only two commands, one of which is represented by space 17:19:18 shocking, I know 17:19:33 and it's Turing-complete 17:19:45 what the commands do varies according to which way the IP's going 17:20:00 so it has 8 commands really, actually 7 as two of them are the same 17:20:06 ais523, hm ok, well if you dump the memory it is stored in, as a binary tree representing funge space, would it not be the same program? 17:20:17 AnMaster: yes, but different representation of it 17:20:18 it is just the representation that differs 17:20:28 I think we're agreeing on this 17:20:45 and I'm golfing the actual language, not the representation 17:21:03 the problem is that golfing an actual language for command count can be hard to define 17:21:23 how many commands does Whirl have, for instance? What about NULL? Does 1L have 1, 2, or 8 commands? 17:21:52 I could declare "how the implementation decides to continue loading the rest of the source at a different funge row is implementation defined" 17:22:00 there you are 17:22:08 it could use newline, or whatever 17:22:21 I could even say that the source representation format is implementation defined 17:22:39 what if it read from an infinite paper sheet? 17:23:01 then there wouldn't be any LF in the source anywhere 17:23:04 AnMaster: *it's 17:23:16 yet you would surely argue that \n should be a part of the charset of the language? 17:24:56 -!- Corun has joined. 17:24:56 ais523, ^ 17:25:49 AnMaster: I'm talking here specifically about the notion of creating something with the minimum possible number of commands 17:25:57 ais523, so am I 17:25:59 the representation of the language is not important for the language, usually 17:26:08 ais523, exactly 17:26:16 but in my opinion taking a particular representation+language combination is the best thing to minimize command count over 17:26:20 that is why \n is *not* part of the commands in the language 17:26:24 because that way it is at least easy to define 17:26:28 so no, \n isn't a command 17:26:51 and thus only space and w1-y are needed 17:26:52 but IMO it is worth counting when comparing 2D langs with 1D langs 17:26:58 arguably EOF is relevant too 17:27:07 for instance Iota doesn't need EOF, whereas brainfuck does 17:27:12 ais523, EOF is never on disk 17:27:14 after all 17:27:34 it is just a state that makes feof() return true 17:27:40 it is, just not written directly on disk, it's implicit from the filesize, which is written on the disk 17:28:06 ais523, well then the interpreter will read the source from an infinite sheet of paper, starting in the upper left corner 17:28:09 or it's transmitted as something special if you're reading your program from a network stream 17:28:18 it will have infinite many scanning heads 17:28:26 thus reading infinitely many lines at once 17:28:31 then, there is no \n in there 17:28:56 or you could just say that the representation is implementation defined 17:29:08 ais523, which http://esolangs.org/wiki/1L#1L_a105 seems to do 17:29:26 I agree with ais523. 17:29:34 \n is part of the language. 17:29:38 it is not 17:29:39 EOF isn't, if the fungespace is infinite 17:29:40 which it is 17:29:52 so it's 1-wy 17:29:52 the *representation is implementation defined* 17:29:58 tusho, can't you read 17:30:00 AnMaster, you are wrong in this case. 17:30:02 no 17:30:07 tusho, if it read it from a paper 17:30:11 as a 2D grid on paper 17:30:16 would there be any \n then? 17:30:17 tell me 17:30:18 AnMaster: then is symbolic 17:30:23 it still involves multiple lines 17:30:28 and thus is part of the language 17:30:29 AnMaster: suppose I have a programming language that has no commands, what it does is implementation-defined to be whatever the user wants it to do 17:30:32 Is this cheating or nopt? 17:30:46 tusho, hardly, it could have multiple scanner head one for each line 17:30:56 AnMaster: I said SYMBOLIC 17:31:03 or 17:31:04 Quoth you: AnMaster, can't you read 17:31:06 just make it like this then 17:31:30 infinite line count, no \n is allowed in source, a new funge row will begin at each time it hits 80 chars in the current row 17:31:45 thus after 80 symbols it will continue reading the rest of the source in a new line 17:31:45 then you have a different language 17:31:51 in the other one, you could have infinitely long horizontal fungespace 17:31:57 in this one you can only have 80 characters 17:32:05 tusho, and \n is of course still part of the language? 17:32:17 AnMaster: it is irrelevant. it is a different language 17:32:22 and therefore your variation is incorrect 17:32:37 the \n is a part of that language. It is symbolic for tusho is wrong 17:33:03 AnMaster, you are making no fucking sense. 17:33:13 in theory each line in the original language could be stored in parallel 17:33:19 and read in parallel 17:33:20 you are thinking of the wrong definition of symbolic. 17:33:42 tusho, yes of course, but you are thinking of the wrong definition of newline 17:33:51 so hardly makes a difference 17:34:11 AnMaster: no. you are wrong. 17:34:12 AnMaster: suppose I have a programming language that has no commands, what it does is implementation-defined to be whatever the user wants it to do 17:34:13 Is this cheating or nopt? 17:34:15 no it isn't 17:34:21 it is perfectly esoteric and valid 17:34:34 though probably not implementable 17:34:36 well, I would consider it cheating 17:34:42 but there are lots of non-implementable esolangs 17:34:42 definitely chating 17:34:44 *cheating 17:34:45 for a tarpit language competition 17:34:48 banana scheme 17:34:52 for example 17:34:58 AnMaster: in your golfing competition i submit ais523's language that he just talked about 17:35:00 AnMaster: what about Wait? That's Turing-complete, and has no source file as the input 17:35:03 you can go home now 17:35:07 tusho, valid of course 17:35:11 http://esolangs.org/wiki/Wait 17:35:12 ais523: wait isn't a language 17:35:24 tusho: it's a programming... thing 17:35:26 wait is just a program that happens to run langauges 17:35:28 *language 17:35:28 s 17:35:31 arguably not a language as it doesn't take source code 17:35:37 saying it is turing-complete is nonsense 17:35:45 it's like saying, oh, photoshop is turing complete 17:35:46 but it's technically speaking usable for programming, if you're very patient 17:35:48 because it uses embedded language X 17:35:52 in its internal workings 17:35:54 yep 17:35:57 tusho: would you say Excel is Turing-complete? 17:36:00 I'd argue Wait is valid 17:36:03 it isn't a programming language either 17:36:08 ais523: excel is not turing complete, excel's macro language is turing complete 17:36:13 and a valid implementation of ais523's language 17:36:21 /usr/bin/perl is not turing complete, Perl is turing complete 17:36:27 I say Excel itself is Turing-complete, as you can give it input to cause it to act in arbitrary ways 17:36:29 it gets the users intentions from the current time 17:36:31 thus valid 17:36:35 well done ais523 :) 17:36:49 AnMaster: well I didn't invent it, presumably it was invented as the result of a similar discussion though 17:37:01 ais523, and I'd argue it is perfectly valid 17:37:07 though probably not very usable 17:37:12 ais523: 17:37:13 from the wait spec 17:37:14 [[Each implementation must choose some Turing-complete programming language as 17:37:15 a "reference language"] 17:37:16 if wait is TC 17:37:21 you could choose Wait as that language 17:37:28 obviously, that would be nonsense 17:37:31 tusho: but what implementation of Wait! 17:37:33 as wait isn't a langauge nor is it TC 17:37:36 I'd argue that isn't nonsense at all 17:37:39 ais523: does it matter? it conforms to the wait spec 17:37:42 just a turtles all the way down situation 17:37:44 therefore it is a wait interpreter 17:37:51 seperate wait interps != seperate wait languages 17:37:52 ais523, indeed 17:37:56 Wait based on Wait based on brainfuck is entirely TC 17:38:02 ais523: it isn't 17:38:03 wait based on brainfuck 17:38:04 it's 17:38:09 a wait interpreter using brainfuck as the language 17:38:12 it's implementation defined 17:38:14 Wait itself is a language 17:38:16 a TC language 17:38:22 tusho: arguably the definition of Wait on the wiki is a template for creating langs 17:38:23 the language it uses internally is just impl-defined 17:38:30 no I agree with ais523 17:38:31 it doesn't leave all the details specified 17:38:42 ais523: i am arguing that wait isn't a language by absurdity 17:38:55 anyway 17:38:56 'The wait Programming Language Specification.' 17:39:00 a few lines before the line in question 17:39:04 so yes, 'a wait interpreter' is unambiguous 17:39:14 tusho: yes, just no valid Wait program is portable 17:39:19 despite there only being one program! 17:39:19 however, 'a wait interpreter with wait as the inner interpreter' 17:39:23 that is surely not TC 17:39:36 tusho, depends on what the inter interpreter use 17:39:39 tusho: yes it is, it depends on what the interpreter inside that is though to how you give it input 17:39:42 inner* 17:39:54 my conclusion: Wait is not a language 17:39:54 so it's TC, it's just there's no way to find out how, other than looking at the source or guessing 17:39:57 and this turns out as "turtles all the way down" 17:39:59 it is not a template for languages 17:40:01 tusho, as ais523 said 17:40:03 it is just a rough specification for a program 17:40:12 and that program happens to run a TC language as part of its workings 17:40:15 also, turtles all the way down is entirely possible and mathematically self-consistent, just a bit hard to implement 17:40:21 think about a game that has its AI coded in python 17:40:24 is the game turing complete? 17:40:25 ais523, indeed 17:40:28 if not, then wait is not TC either 17:40:34 tusho: yes if there's some way to get it to act in a TC way 17:40:37 for Wait there is 17:40:41 for some games there aren't 17:40:50 turingcompleteness is a property of languages 17:40:56 not other things 17:40:57 like programs 17:40:58 tusho, can't you read: also, turtles all the way down is entirely possible and mathematically self-consistent, just a bit hard to implement 17:40:59 tusho: it's a property of things in general too 17:41:03 therefore, a game with its AI in python is not TC 17:41:05 therefore, wait is not TC 17:41:23 AnMaster: i did read that, but I've gone on to another point 17:41:24 can't you read? 17:41:29 you can have wait of wait of wait of wait of wait... 17:41:50 tusho: a game with its AI in python may or may not be TC, my guess is usually it won't be but if there's some way to set up the gamestate so that arbitrary TC computations can occur then it is 17:41:51 tusho, you ignore the opponents arguments? bad style IMO 17:42:02 for that matter, I've been wondering about whether Agora is Turing-complete 17:42:03 AnMaster: you're making no fucking sense 17:42:06 i wasn't even talking about that 17:42:11 i was talking about games with AI being tc 17:42:12 I suspect probably not as people will ignore programs that are too complex 17:42:24 tusho, which got nothing to do with wait 17:42:29 oh yes it has 17:42:35 AnMaster: you address a completely different point to the one I am making? bad style IMO 17:42:37 and yes it can be TC 17:42:39 as ais523 said 17:42:50 AnMaster: tusho is working off a different definition of "Turing-complete" to us I think, in which Wait is trivially non-TC 17:42:55 I disagree with his definition, though 17:43:00 ais523, same 17:47:05 I implemented a game of life inside a scriptable (closed source) RPG game engine for mac os 9 a few years ago. It could have been tc, almost. Only two issues that prevented that was due to implementation: limited runtime for scripts (to prevent lockup) and limited map size (for similiar reasons), Though it should have been possible to chain together several scripts, and several maps to do it. Didn't t 17:47:05 ry though 17:47:23 I'd argue without those two limitations it would have been TC 17:47:34 AnMaster: that's the sort of programming I like doing too 17:47:36 and those limitations were due to implementation 17:48:06 ais523, the scripting language was horrible C-like + god knows what mess 17:48:13 had hints of pascal too 17:48:26 used begin end and {} depending on *type* of block 17:48:47 as in begin end for functions but {} for blocks inside functions 17:48:57 ugh 17:49:10 actually it didn't have functions, it had numerical event handlers 17:49:13 like: 17:49:20 mapevent 18; 17:49:21 begin 17:49:24 code here... 17:49:25 end 17:49:34 you could call other map events though iirc 17:49:39 well that's pretty much functions 17:49:43 limited to 99 per script 17:50:16 though there were no *documented* limit on the size of the event handlers 17:50:29 and no I don't remember the name of that game engine 17:50:44 anyway I implemented game of life by changing floor tiles 17:50:49 between light and dark ones 17:51:01 you could read floor tile ids too 17:51:31 and a way for the PC (not computer, character) in the game to set floor tiles to set initial state 17:51:40 then pull a lever to advance it one generation 17:51:44 AnMaster: heh, I know what PC means in that context.. 17:51:58 well didn't know if that was the case 17:52:17 anyway yes I was limited in size of board because of runtime of script 17:52:49 you could have done more by processing it in several sections (one lever per section) 17:52:50 I guess 17:53:42 I'd argue that the need for user input there (pull levers) is no different than a computer needing electricity to advance state in case anyone try to say that makes it no tc or something 17:53:43 :P 17:53:52 non* 17:54:49 you could have something script (hah) those input moves, or you could power a computer using one of those bicycle thingies 17:55:43 AnMaster: like Wait but based on pedalling speed? 17:55:56 ais523, nah? 17:56:05 more like the power used to advance state 17:56:19 wouldn't affect the result if you did it slower 17:56:25 ah, ok 17:56:54 actually that make me wonder, you could script cut scenes, and move the PC, and you could add scripts that activated when you stepped on a tile 17:57:07 don't know if cut scene disabled those "step on" scripts 17:57:18 if not that should have been pretty interesting 18:05:31 ais523, anyway arguably this had the potential to be turing complete, but there were some pretty tight *implementation* limits 18:05:47 and that is just like no actual computer is TC 18:06:00 yes, there's a term for that, "bounded-storage machine" 18:06:12 something that would be TC except there are arbitrary implementation limits 18:06:31 exactly 18:06:46 there was nothing in the scripting language itself that prevented it being TC 18:21:03 -!- olsner has joined. 18:21:46 -!- Corun has quit ("This computer has gone to sleep"). 18:32:08 -!- jix has quit (Read error: 113 (No route to host)). 18:39:33 -!- oklobol has joined. 18:39:34 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 19:02:49 [[ 19:02:49 > FLOSS licenses 19:02:50 Actually, I own my dental products. I think it's gross to license them!]] 19:02:50 -- reddit 19:23:39 -!- sebbu2 has joined. 19:29:42 -!- sebbu has quit (Read error: 110 (Connection timed out)). 19:29:42 -!- sebbu2 has changed nick to sebbu. 19:41:01 tusho, heh 19:53:37 Deewiant, there? 19:53:52 aye 19:53:52 just found out that I couldn't implement the normal behaviour of = in efunge 19:53:57 technically impossible 19:54:06 "normal"? 19:54:10 AnMaster: which one's =? System call? 19:54:12 system() one 19:54:20 AnMaster: you can implement it how you like 19:54:26 same with C system, really 19:54:28 well yes I could evaluate erlang 19:54:29 but 19:54:36 at least Funge requires you to say what you're doing to some extent... 19:54:41 the only one is os:cmd() 19:54:45 which is silly really 19:54:48 it captures stdout 19:54:50 but not stderr 19:54:55 system() requires the implementation to act in an implementation-defined manner IIRC 19:54:55 and does not return the exit code 19:54:57 AnMaster: o rly? 19:55:01 there has to be a package doing it peroperly 19:55:04 *properly 19:55:28 tusho, well there are the erlang:open_port(), which could be used, except it doesn't return exit code 19:55:39 or you could use linked in driver, that is a module written in C 19:55:46 somewhat like python can do 19:56:15 AnMaster: ask #erlang? 19:56:17 there has to be something 19:56:52 tusho, already done 19:57:16 you could use a linked in driver yes 19:57:21 seems like only solution 19:57:30 anyway 19:57:38 will implement my = to evaluate erlang code 19:57:44 or not implement it at all 19:58:06 Well, that puts erlang lower down in my opinion. It's not exactly closed-world like e.g. Squeak so it doesn't really have an excuse. 19:58:17 it isn't? 19:58:22 tusho, it isn't? 19:58:28 Not as much as Squeak, I don't think. 19:58:43 squeak is a smalltalk isn't it? 19:58:54 yes 19:59:01 it has its own windowing & gui library 19:59:02 well ok, not as much as that then 19:59:03 runs in one big window 19:59:13 the only outside thing it'll touch is networking and the filesystem 19:59:15 and it desperately avoids the latter 19:59:31 tusho, oh well erlang got it's own library for GUI, It use tk, yet erlang manage fine if no TCL is installed 19:59:34 very odd 19:59:40 AnMaster: oh, I don't mean its own GUI library 19:59:43 it literally has one big window 19:59:46 and draws its own fonts 19:59:46 ah that 19:59:49 and frames 19:59:52 and cursors 19:59:54 it just uses SDL 19:59:57 tusho, no outside world interaction? 20:00:03 AnMaster: some, but it's avoided 20:00:10 you can access the filesystem and the network and such 20:00:10 hm 20:00:14 but generally you don't 20:00:29 (most resources that you'd put in files go in the class hierarchy which is how it's designed) 20:00:31 what about other stuff? like calling external programs? 20:00:48 AnMaster: it is also image-based (it's a whole system that you modify directly within itself) 20:00:48 instead of code-in-file-and-it's-run 20:01:00 AnMaster: i've never seen it done but i imagine it's possible if you really really must 20:01:04 very closed world, but it is very interesting 20:01:09 tusho, so self modifying? 20:01:10 i've played about with stuff and made some little things in it 20:01:12 i like it 20:01:12 I have a C++ library with a C API. How the hell do I make a .a out of it which I can link into non-C++ programs without hitting C++-related link errors like "undefined reference to `operator delete[](void*)`"? 20:01:12 AnMaster: yes 20:01:16 tusho, with no ability to go back? 20:01:21 AnMaster: no, it has history 20:01:22 and such 20:01:39 the community uses a VCS written in it which operates at the semantic level of smalltalk code 20:01:39 tusho, ah, because with a C program I can just press ctrl-c to reset state 20:01:42 I mean like that 20:01:44 instead of diffs and things 20:01:55 AnMaster: if it crashes, you open it up and it lets you recover changes from your last save 20:02:08 Deewiant: hmm, I think you'd either have to put the c++ library into the .a file, or require your users to link with g++ 20:02:12 Deewiant, what about using extern "C" { } ? 20:02:13 crashing it isn't extraordinarily hard to do on purpose but hard to do on accident 20:02:16 on purpose: 'true become: false' 20:02:17 :P 20:02:28 olsner: or just give -libstdc++ on the command line of gcc 20:02:33 tusho, I see it is not for x86_64 though 20:02:38 and well multilib sucks 20:02:39 AnMaster: compile it yourself. 20:02:39 oh well 20:02:45 tusho, it works on x86_64? 20:02:45 Can I use ar somehow to add libstdc++ to the .a file? 20:02:46 AnMaster: extern "C" operator delete[]? :P 20:02:50 AnMaster: I dunno. Does it? 20:02:54 olsner, that is hardly a C API 20:02:57 would say it is C++ 20:03:02 Deewiant: yes, unpack libstdc++ using ar, then repack them all using ar 20:03:10 ais523, sounds horrible 20:03:26 tusho, well it seems gentoo package manager suggests it doesn't 20:03:29 well yeah, I was saying that using extern "C" is no solution to the problem (he's already using extern "C" since it's a C api) 20:03:43 AnMaster: because gentoo has completely everything and never misses a certain arch 20:03:44 nosiree 20:03:55 tusho, no it may not be true 20:04:00 but it is generally a good indicator 20:04:09 I don't think you should link the c++ library into the .a, since that'll probably give double definition linker errors for anyone compiling C++ programs and linking to the c++ library again 20:04:14 since x86_64 is one of the more popular archs 20:04:15 tusho, ! 20:04:25 AnMaster: ! 20:04:27 after x86 20:04:27 AnMaster: ^ 20:04:28 AnMaster: ! 20:04:38 You just addressed me 10 seconds ago. 20:04:42 You do not have to do it again after your messages. 20:04:46 AnMaster: ^ 20:05:00 olsner: well is there another way? 20:05:22 ais523: that seems to work, thanks 20:05:33 Deewiant: yes... 20:05:37 you can build a .so file that links dynamically to the c++ library 20:05:37 install libc++ 20:05:37 err 20:05:37 whatever 20:05:41 tusho, that is due to concurrent discussions 20:05:43 anyway 20:05:43 I'm on windows 20:05:59 AnMaster: Well, don't do it, please. 20:06:02 so .so files are out 20:06:03 It's quite irritating 20:06:08 Due to the bloop noice. 20:06:09 oh, so you're building a .lib and not a .a? 20:06:09 *noise 20:06:10 Deewiant: Cygwin can create .dlls 20:06:21 Deewiant, well SOL 20:06:24 ais523: I'm not on Cygwin, I'm on plain MinGW. 20:06:32 Deewiant: ah, ok 20:06:32 and well it doesn't work on x86_64 20:06:33 olsner: no, I'm building a .a. 20:07:02 essentially the problem was that the configure script wouldn't work on MSYS and I figured it'd be easier to build the thing manually than hack up the script 20:07:05 no that was not to Deewiant, but since I'm talking to multiple ppl at once and can't highlight one, how would anyone know 20:07:32 you can highlight people 20:07:34 just do it once 20:07:35 I think the cleanest way may actually be to link with c++ libraries when linking the final executable 20:07:36 AnMaster: use reverse higlights 20:07:36 AnMaster: do it like this 20:07:37 then this 20:07:39 but then don't do this: 20:07:39 like this: 20:07:40 AnMaster: ^ 20:07:44 because that is _annoying_ 20:07:45 Everyonebuttusho: this is an example 20:07:47 -!- kar8nga has joined. 20:07:52 olsner: it doesn't work, I'm afraid :-/ 20:07:53 also turn off that sound then, I make mine just flash the window 20:07:58 so well tusho's own issue 20:08:04 olsner: that was the first thing I tried, -lstdc++, but no help 20:08:10 AnMaster: i like the sound because most people DON'T ABUSE IT BY HIGHLIGHTING THE SAME PERSON TWICE FOR ONE BLOCK OF MESSAGES 20:08:13 Deewiant: -lstdcxx on Windows 20:08:15 not my problem, YOUR abuse 20:08:17 due to the filename restrictions 20:08:20 ais523: no, it's libstdc++.a 20:08:21 IIRC 20:08:22 issue is tusho that I'm switching between several convos 20:08:23 ah, ok 20:08:37 ais523: and it would complain if it couldn't find it :-) 20:08:38 AnMaster: SO ADDRESS ME AT THE START, I AM A HUMAN BEING IN POSSESSION OF A BRAIN. I CAN WORK OUT WHICH MESSAGES FIT 20:08:43 Deewiant: tried linking with g++? 20:08:55 olsner: I can't do that, this is a Haskell program I'm linking in to 20:08:59 Deewiant: ah, I took your message to say it had complained 20:09:04 Deewiant, one word: SOL 20:09:11 AnMaster: that's four words 20:09:15 AnMaster: evidently other people have got this to work 20:09:24 ais523, not after the : now 20:09:25 no* 20:09:30 I figure I'm going to ask them next if I can't get this to work 20:09:35 AnMaster: yes, I expanded the acronym 20:09:42 ok 20:09:45 lets try again 20:09:58 Deewiant, one acronym (or four words): SOL 20:10:02 ;P 20:10:08 now I wonder what the hell is _Unwind_Resume 20:10:21 Deewiant: ah, I might remember that one 20:10:24 Deewiant, guess: related to C++ exceptions 20:10:27 let me check something and get back to you 20:10:32 librtti then or something? 20:10:42 -!- pikhq has joined. 20:11:00 Deewiant, as far as I can remember, unwind information is used for when you throw exceptions 20:11:04 pikhq: you should visit ##nomic. 20:11:05 :P 20:11:13 Lies. 20:11:19 Why. :( 20:11:26 Deewiant: it's in libgcc.a 20:11:29 the secret library 20:11:33 aha 20:11:37 but only if compiling for C++, I think 20:12:20 hmm, I seem to have no such library 20:12:44 Deewiant: it isn't in /usr/lib 20:12:48 it's in some top secret gcc place 20:12:58 It's in /usr/lib/gcc/[arch triplet]/[gcc version]/libgcc.a 20:13:06 evidently so, pikhq 20:13:09 just found it 20:13:21 pikhq: same for me without the /usr, in gccbf at least 20:13:40 tusho: http://www.squeakvm.org/squeak64/faq.html now that means the image files are incompatible across 32/64-bit, and 64-bit is very very experimental 20:13:44 ais523: Speaking of gccbf, how well is that working? 20:13:49 so I assume you can export stuff outside the image? 20:13:55 AnMaster: yes, you can 20:14:01 chunk streams 20:14:10 and voila, the thing compiles 20:14:13 thanks everybody 20:14:14 basically converts a bunch of classes and shit to code 20:14:17 that is run when you import it 20:14:22 but, yeah, shame that it's experimental 20:14:25 i'm sure it's being worked on 20:14:27 also: that's from 2007-10 20:14:30 perhaps not very up to date 20:14:33 pikhq: I've done all the easy bits, a few hard bits left 20:14:37 also most of it isn't tested 20:14:41 hmm 20:14:51 and I'm busy doing other things to avoid having to work on the hard bits... 20:14:52 this whole process took less time than the average time to run a ./configure script 20:14:56 maybe I should start doing this every time 20:16:00 Deewiant: what were you trying to compile 20:16:09 tusho: FTGL 20:31:12 -!- jix has joined. 20:33:41 -!- ais523 has quit (Remote closed the connection). 20:33:58 -!- ais523 has joined. 20:33:58 hi ais523 20:39:09 -!- Hiato has joined. 20:54:24 -!- comexk has changed nick to comex. 20:55:48 -!- jix has quit ("CommandQ"). 21:00:19 heheh this is wickedly versatile 21:00:56 AnMaster: what is? 21:01:03 http://rafb.net/p/T54vtH55.html 21:01:15 ais523, it can load a binary (special erlang data type) anywhere in funge space 21:01:39 was using some bad line based code before 21:01:49 that looks like both Haskell and Prolog 21:01:56 ais523, with about 10 times the loc 21:02:02 ais523, oh what part looks like haskell? 21:02:11 the algorithm 21:02:19 in Haskell it would be written the same way just with different syntax 21:02:34 likewise Prolog would use the same algorithm again 21:02:46 ais523, it is tail recursive, and it loads into FungeSpace, which is a special thing called "ets" table, offers destructive storage tables 21:02:57 and that speed was actually needed 21:03:02 or mycology took several minutes 21:03:07 using a dict 21:03:10 to load, or to run? 21:03:15 ais523, to run 21:04:04 hmm... maybe an attempt to make a fast Funge interp would have a fixed-size array for the area of the code taken up by the original program and a hash table for other parts of fungespace 21:04:06 ais523, ets tables are implemented as BIFs (built in functions), are not garbage collected (means I have to remember to call ets:delete() at the end) 21:04:19 cfunge is still several times faster 21:04:31 easy to notice when running the life.bf example in cfunge 21:04:35 or maybe it is life.b93 21:04:39 forgot filename 21:04:42 ais523: I've been thinking of things like using plain arrays for dense areas 21:04:51 haven't bothered to implement anything though 21:05:02 Deewiant, that should probably help 21:05:07 would* 21:05:47 ais523, also what part looks like Prolog? 21:05:55 AnMaster: erlang's syntax is a carbon-copy of prolog 21:05:58 it is practically identiacl 21:06:01 *identical 21:06:03 AnMaster: I'm talking about the algorithm 21:06:07 tusho, well the binary match syntax too? 21:06:11 well, no 21:06:13 but the syntax is also similar, despite the paradigm being different 21:06:20 but that's one section of two lines 21:06:25 the rest of it looks like prolog 21:06:29 and Prolog uses [ | ] rather than << / >> 21:06:33 tusho, and yes erlang did take a lot of syntax from prolog 21:06:35 but other than that it's the same syntax 21:06:38 ais523, that is for lists 21:06:38 << / >> is not [ | ] 21:06:46 << >> is some weird binary thing 21:06:47 ah, in Prolog it would be a list 21:06:49 and / is for data type 21:07:01 <<>> is indeed a binary like tusho said 21:07:15 anyway what about erlang's use of ,;. 21:07:20 it is in fact slightly annoying 21:07:28 not identical 21:07:31 it use ,;. instead of {} blocks 21:07:33 since prolog doesn't really have structures like that 21:07:39 also, {} blocks suck 21:07:42 in Prolog, , is and and ; is or 21:07:44 srsly 21:07:48 for example , between statements, ; at the end of a block and . at the end of the final function block 21:07:50 and . is the end of a predicate 21:08:04 so when you move stuff around you need to change line ending 21:08:10 , is necessary AFAIK, ; isn't as you can simulate it with other things and in fact people normally don't use it 21:08:15 well at least I don't need to change indention like in python 21:08:19 they don't? why not? 21:08:22 (use ;) 21:08:26 AnMaster: change identation? 21:08:29 *indentation 21:08:31 Wow, your editor sucks. 21:08:31 :) 21:08:39 I just rearrange and voila. 21:08:40 Deewiant: because you can write the condition twice instead, that's often clearer 21:09:13 for instance p(A,B) :- q(A) ; r(B). can also be written p(A,B) :- q(A). p(A,B) :- r(B). 21:09:25 oh, cool, I didn't know that worked 21:09:27 tusho, your editor auto indents? 21:09:31 that's one of the few contexts where doing it with the ; is shorter and neater, normally writing twice works better though 21:09:34 AnMaster: Uh...yes? 21:09:38 Hello, I am 1970! 21:09:40 tusho, ah well 21:09:48 well mine does too for erlang or such 21:09:53 but copy paste, blergh 21:09:58 not for befunge then? ;-P 21:10:04 AnMaster: python-mode handles rearranging and copypasting and everything 21:10:11 its just not an issue 21:10:17 Deewiant, does even the word "indentation" make any sense in befunge context? 21:10:21 Deewiant: do you use Prolog much? Writing multiple conditions is really common 21:10:52 ais523: I have a Prolog course at school right now so no, I don't use it much, but I better learn it soon ;-) 21:10:57 for instance p(A,B) :- A = 1 ; A = 2, q(B) is better written p(1,_). p(2,B) :- q(B). 21:11:01 AnMaster: no, of course not. :-P 21:11:32 you get used to that sort of thing after a while; probably very quickly as I hardly know Prolog but I know tricks like taht 21:11:35 s/ah/ha/ 21:11:53 ais523: the case I was thinking of was p(A,B) :- q(A,B) ; q(B,A). 21:12:11 Deewiant: that could be written out twice, semicolon's probably neater there 21:12:17 reasonably unusual to see something like that 21:12:22 did you use q for anything else? 21:12:29 q was given in the assignment 21:12:35 if not, q(A,B) :- q(B,A) at the end of the definition of q might have been neater 21:12:49 hmm 21:12:53 presumably the teacher doesn't let you modify their predicates, though... 21:12:58 is it possible to define predicates out of order? 21:13:02 i.e. 21:13:09 p(A,B). q(A,B). p(B,A). 21:13:10 Deewiant: depends on the implementation, I think 21:13:18 but one of the ones I used didn't conform to the standard 21:13:26 in any case I think it could be done 21:13:29 in-order is neater anyway, and asserts are allowed out of order 21:13:49 wait, q(A,B) :- q(B,A) doesn't work 21:13:52 that's an infinite loop 21:14:06 if it doesn't match, right 21:14:07 logically correct but not programatically correct 21:14:17 stupid logic being so idealistic 21:14:35 hm, can that be dealt with? 21:14:36 it's so easy to write an infinite loop in Prolog because you write something that's mathematically correct but can't be implemented... 21:14:37 ais523: Stupid programming being so pragmatic. 21:14:51 tusho: yes, q(A,B) :- q(B,A) works just fine in Proud 21:15:18 which is idealistic not pragmatic 21:15:23 ais523: yeah, I know, I think I need to understand the evaluation model a bit better as I'm finding it a bit hard to reason about predicates 21:15:25 on the other hand Proud doesn't work just fine on modern computers 21:15:28 ais523, "Proud"? 21:15:38 AnMaster: basically Prolog minus all its restrictions 21:15:49 oh? and why doesn't it work on modern computers? 21:15:50 an esolang I invented and never specced, nor really worked out the syntax for 21:15:54 AnMaster: it's superTuring 21:15:59 ah........ 21:16:01 heh 21:16:11 ais523, solves the halting problem? 21:16:25 AnMaster: well, it can compare functions 21:16:31 so I think so 21:16:47 ais523, so could I, give me the program code or byte code for two functions 21:16:53 and I shall be able to compare them 21:17:12 if the byte code match, the functions logically match too 21:17:26 AnMaster: if you can compare any two single functions 21:17:32 and tell us if they do the same thing or not 21:17:34 AnMaster: no, functions can do the same thing despite having different code 21:17:36 (compute the same thing for the same arguments) 21:17:38 well... 21:17:40 for instance, x*2 is the same as x+x for integer x 21:17:45 then you are the most amazing human ever found on this planet 21:17:57 because you can calculate, er, anything 21:17:58 i believe 21:19:01 tusho: AnMaster's found a sufficient but unnecessary condition 21:19:10 two functions having identical bytecode are the same, generally speaking 21:19:13 yes 21:19:20 but two functions can be the same even with different code 21:19:35 AnMaster: no, functions can do the same thing despite having different code <-- of course 21:19:45 then the question wasn't clear enough 21:19:54 AnMaster: for instance, imagine comparing a function which prints 1 if there's a solution to the Riemann hypothesis with a function which always prints 1 21:20:18 also for " for instance, x*2 is the same as x+x for integer x" <-- strong typing functional language, and a good optimiser, then byte code will be same 21:20:35 AnMaster: well, yes, but that was a trivial example 21:20:41 ais523, indeed I couldn't solve that 21:21:24 AnMaster: nobody can, it's a super-Turing problem 21:21:36 ais523, however if you write the first function then I shall gladly try 21:21:38 ;P 21:21:41 it's possible to write a Proud program to solve that problem, though, thus Proud is super-Turing 21:21:54 by the way, this explains the existence of some of Prolog's restrictions... 21:22:11 anyway you can solve it in some cases, you can say that two functions are "definitely the same" or "maybe different" 21:22:15 based on the byte code test 21:22:25 yes, but that isn't super-Turing 21:22:39 you could compare it to an interpreter that ran Proud programs sometimes, if they weren't too difficult 21:22:42 ais523, but the original question wasn't clear enough then 21:22:43 that would be pretty eso in itself 21:25:36 ais523, how goes gcc-bf and Feather? 21:25:43 AnMaster: not much progress atm 21:25:53 -!- Corun has joined. 21:26:01 I'm busy finding displacement activities to avoid having to work out how to divide 64-bit numbers in 8-bit brainfuck 21:26:13 if someone would just paste an algorithm, that would be great... 21:26:16 ais523, well do all the other parts work? 21:26:22 is that the only bit left? 21:26:27 AnMaster: most of them, there are a few other parts roughly as difficult as that 21:26:31 also the other parts aren't tested 21:26:38 ais523, well what other parts? 21:26:46 there are a few other relatively easy things to do like comparisons 21:26:46 test the parts you can test 21:26:57 make hello world in it 21:27:03 and 32-bit cfunge should work fine 21:27:08 assuming you have double data type 21:29:00 ais523, also it can't be that hard 21:29:20 ais523, just extend the algorithm for working on 16 bit divide, then the one for 32-bit 21:29:28 actually two of the 32-bit 21:29:32 + some glue magic 21:29:34 should work 21:29:40 AnMaster: I have code for that, it's insanely slow even to think about 21:29:46 I compiled the asm for it to see what would happen 21:29:50 and brainfuck in general isn't? :-P 21:29:53 also I think it calls itself recursively in an infinite loop 21:29:53 ais523, how many lines? 21:30:03 ais523, then it is broken 21:30:05 over 9000 21:30:06 AnMaster: probably a few thousand taking into account all the recursive calls 21:30:12 so fix that 21:30:21 Deewiant, what is that reference? 21:30:43 ais523, cfunge got some recursive calls in it hm 21:31:07 body recursive in at least one case 21:31:11 dragonball z, english dub of the anime, a guy looks at something that tells him the power level of his enemy, yells "over 9000" in disgust and crushes the device 21:31:14 approximately 21:31:25 probably easy to find on youtube 21:31:40 Deewiant, some rpg? 21:31:46 or what is that dragonball? 21:31:51 english dub of the anime, like I said 21:31:57 which word do you not understand :-P 21:31:59 I mean you don't have power levels outside games 21:32:04 yes you do :-P 21:32:15 no you don't, not measurable ones 21:32:18 yes you do :-P 21:32:30 Deewiant, not in real life anyway 21:32:34 later on their power levels are so high though that the devices just break 21:32:37 AnMaster: you think? 21:32:59 -!- ais523_ has joined. 21:32:59 hi ais523_ 21:33:11 tusho, turn off that script 21:33:30 no way you could say it same second otherwise 21:33:41 -!- ais523 has quit (Nick collision from services.). 21:33:43 -!- ais523_ has changed nick to ais523. 21:33:45 AnMaster: it's definitely a script, tusho was asking me to cycle to help em debug 21:34:06 not only that but it says it in several different channels... 21:34:55 AnMaster: no. 21:34:57 ais523 was going to script it 21:35:04 he only gave up because he thought it not worth the effort 21:35:07 therefore, it is fair game 21:35:24 tusho: "not worth the effort", exactly 21:35:32 ais523: but i've already done the effor 21:35:32 I decided the gain from it would be small and possibly negative 21:35:32 t 21:35:36 it's no effort for me, so. 21:35:45 we stopped really playing the game a while ago 21:35:46 so meh 21:35:51 p.s. you just lost the game 21:39:21 -!- ae5ir has joined. 21:45:39 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | Maybe I'll try finding the phone number of "Greg Richards" instead.. 21:47:42 -!- Hiato has quit (Read error: 104 (Connection reset by peer)). 21:59:47 -!- kar8nga has left (?). 22:20:05 hey 22:20:08 ais523, tusho 22:20:12 hi AnMaster 22:20:12 and Deewiant 22:20:16 http://www.erlang.org/pipermail/erlang-questions/2003-May/008886.html 22:20:21 C. Pressy used erlang 22:20:25 who would have thought 22:20:31 duh 22:20:38 look at catseye.tc sometime would you 22:20:40 he has tons of erlang stuff 22:20:55 tusho, ah I looked at his befunge pages mostly 22:31:01 -!- ais523 has quit (Remote closed the connection). 22:31:10 night all 22:31:19 -!- ais523 has joined. 22:31:19 hi ais523 22:31:23 night 22:32:03 night 22:39:25 -!- tusho has quit. 22:42:20 -!- tusho has joined. 22:42:37 Hmm. 22:42:40 Connecting to Tor is slow. 22:42:51 tusho: in #esoteric? 22:43:08 * ais523 says c-b-l to confuse the #esoteric denizens the same way it confuses the ##nomic denizens 22:54:54 -!- KingOfKarlsruhe has quit (Remote closed the connection). 22:58:31 -!- olsner has quit ("Leaving"). 23:04:52 -!- oerjan has joined. 23:17:46 * ais523 says c-b-l to confuse the #esoteric denizens the same way it confuses the ##nomic denizens 23:18:00 Lies! There is _no_ c-b-l 23:18:29 oerjan: actually I was in #c-b-l a while ago, it was empty though 23:18:51 a one person c-b-l is no c-b-l 23:19:25 unless you are a schizophrenic solipsist, perhaps 23:20:08 s/schizophrenic/multiple personality/ 23:20:41 hm would a solipsist have to believe he has multiple personality disorder, i wonder 23:31:09 -!- ais523 has quit ("9").