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