←2008-02-12 2008-02-13 2008-02-14→ ↑2008 ↑all
00:00:04 <ehird> prolog would be even more fun though
00:00:15 <ehird> the difficult part is already done for me
00:00:15 <ehird> :P
00:00:48 <faxathisia> Hutton does it nicely http://www.cs.nott.ac.uk/~gmh/countdown.pdf , and Shin-Cheng Mu repeats it much much more elegantly http://www.iis.sinica.edu.tw/~scm/pub/countdown704.ps.gz
00:01:11 <ehird> crap.
00:01:18 <ehird> :p
00:02:03 <ehird> oh crap, haskell
00:02:08 <ehird> i have been out-1337ed
00:02:16 <ehird> waaaaaaaaaah
00:02:18 <faxathisia> The language doesn't matter much
00:02:35 <ehird> faxathisia: but it's been done before and in the most awesomest language
00:02:36 <ehird> >:(
00:02:50 <ehird> WITH LIST COMPREHENSIONS!! shit.
00:02:53 <faxathisia> lol
00:04:45 <ehird> faxathisia: maybe i ought to write a prolog version
00:04:50 <ehird> i mean it'd just be a few statements
00:04:57 <ehird> no actual working-out code, if my ideas are right
00:05:14 <faxathisia> yeah that'd be cool
00:06:10 <faxathisia> You must show me if you do :P
00:06:31 <faxathisia> It's great when you can get really declarative Prolog code
00:06:32 <ehird> faxathisia: it'll probably be ugly. i suck at prolog
00:06:33 <ehird> :)
00:06:36 <faxathisia> heh
00:06:41 <faxathisia> You have read http://muaddibspace.blogspot.com/2008/01/generate-test-and-intertwine-aim-here.html ?
00:06:50 <ehird> i don't thinkn so?
00:07:08 <faxathisia> you probably know the stuff but it's nice
00:08:35 <ehird> don't ever assume i know something
00:08:35 <ehird> :)
00:10:15 -!- olsner has quit ("Leaving").
00:11:15 <ehird> a language for doing things like the countdown problem would be neat
00:11:21 <ehird> kind of like prolog but not really
00:11:32 <ehird> you give it a problem and a domain.
00:11:36 <faxathisia> hehe.. what difference?
00:11:36 <ehird> like, domain of countdown:
00:12:53 <ehird> domain countdown(T) := {<Int>(x|x > 0), <Int>+<Int>(x|x < T), <Int>-<Int>, <Int>*<Int>(x|x < T), <Int>/<Int>}.
00:13:00 <ehird> you get the idea.
00:13:19 <ehird> (- doesn't have to be checked because it will always yield an int in the same domain)
00:13:30 <ehird> T is the target of course
00:14:10 <ehird> hm
00:14:13 <ehird> you could even do this
00:14:25 <ehird> domain countdown(T) := {<Int>(x|x > 0, x < T), <Int>+<Int>, <Int>-<Int>, <Int>*<Int>, <Int>/<Int>}.
00:14:35 <faxathisia> I think you may be able to do that in Prolog directly
00:14:43 <ehird> faxathisia: sure, but not stated as nicely
00:15:07 <ehird> domains are rock-hard contracts, there is simply no such thing as an <Int> in countdown above the target.
00:16:12 <ehird> actually
00:16:15 <ehird> i should be something like
00:16:17 <ehird> X+X
00:16:21 <ehird> hmm
00:16:22 <ehird> let me rewrite
00:17:05 <ehird> domain countdown(t) := {E | <Int>(x | x > 0, x < t), E+E, E-E, E*E, E/E}
00:18:18 -!- Tritonio_ has joined.
00:19:50 <ehird> faxathisia:
00:19:53 <ehird> ^countdown
00:19:53 <ehird> domain (t) : {E | <Int>(x | x > 0, x < t), E+E, E-E, E*E, E/E}.
00:19:53 <ehird> problem (t,s) => domain (t) ^ s : ?(x | x = t).
00:21:00 <ehird> hope it's understandable
00:21:00 <ehird> :)
00:21:36 <ehird> basically the interpreter spends a crapload of time inside a crazy inference engine to come up with something in the domain that satisfies the constraints.
00:21:53 <ehird> similar to prolog? yes.
00:21:55 <ehird> but not identical.
00:23:31 <ehird> well, faxathisia disappeared
00:23:40 <faxathisia> no I didn't
00:23:45 <ehird> haha
00:23:51 <ehird> were you vomiting over my crap code
00:24:49 <faxathisia> nah
00:24:59 <faxathisia> I just wrote the program :P
00:25:08 <faxathisia> my solutions crap though..
00:26:05 <ehird> faxathisia: or marvelling over it?!
00:26:22 -!- ehird has quit ("Leaving").
00:26:43 -!- ehird has joined.
00:26:47 <ehird> did i miss seomething
00:27:17 <faxathisia> You missed most of my marvelling :L
00:27:27 * ehird checks logs
00:27:27 <faxathisia> marginally..
00:27:41 <faxathisia> no you didn't miss anything
00:27:53 <ehird> heh
00:28:00 <ehird> last i heard was 'no i didn't
00:28:25 <ehird> faxathisia: well, anyway
00:28:27 <ehird> opinions?
00:29:21 <ehird> <faxathisia>nah00:24:49
00:29:21 <ehird> <faxathisia>I just wrote the program :P00:24:59
00:29:21 <ehird> <faxathisia>my solutions crap though..
00:29:23 <ehird> i didn't see that
00:29:24 <ehird> but anyway
00:29:30 <ehird> what's your opinion on my code/language :P
00:29:47 <faxathisia> I think it odd...
00:29:56 <faxathisia> Can you solve other things with it?
00:30:09 <faxathisia> what about say, magic squares?
00:30:42 <ehird> faxathisia: Beats me
00:30:44 <ehird> I'll give it a try,.
00:31:02 <ehird> hmm
00:31:04 <ehird> yes, i'd say
00:31:06 <ehird> but it'd be non-trivial
00:31:07 <ehird> :)
00:31:12 <ehird> well, more trivial than all other soliutions
00:31:13 -!- oerjan has quit ("Good night").
00:31:16 <ehird> but not something i want to type up at this time
00:31:22 <ehird> faxathisia: something a bit simpler, maybe?
00:31:33 <oklopol> i came up with an evolution-based programming language today
00:32:18 <oklopol> it's interesting how far you can go with just "is close to"
00:32:59 <oklopol> support mainly for vectors
00:34:10 <oklopol> for example, a text-recognition program is just a few "is close to"'s
00:34:21 <oklopol> after you've specified the forms of the letters ofc
00:34:36 <ehird> faxathisia: no? :(
00:35:00 <oklopol> the main idea was the graphical interface, though, i have no idea how good genetic algos really are for text-recognition ;)
00:37:12 <faxathisia> pemutations of a list
00:37:35 <ehird> faxathisia: okay
00:37:40 <ehird> time to invent some more semantics
00:37:40 <ehird> :)
00:38:19 <ehird> hmm
00:38:31 <ehird> faxathisia: give me another problem while i work out how to elegantly express that
00:38:32 <ehird> :P
00:38:34 -!- Tritonio_ has quit (Remote closed the connection).
00:45:11 <faxathisia> Do you want to see my Prolog solution?
00:45:15 <ehird> faxathisia: Sure
00:45:47 <faxathisia> http://rafb.net/p/IWhs0F65.txt
00:47:34 <ehird> wowzers.
00:48:20 <ehird> faxathisia: very nice
00:48:28 <faxathisia> ty :)
00:49:10 <ehird> p.s.
00:49:13 <ehird> /Users/ehird/countdown.pl:1-3: warning: singleton variables [Error] for countdown/3
00:49:14 <ehird> :P
00:49:44 <faxathisia> you can replace Error with _ if you like
00:49:53 <ehird> faxathisia: you should optimize it to use all sources, if possible
00:50:04 <ehird> or at least look for short solutions if you don't want to make it do that :P
00:50:06 <faxathisia> is that case do
00:50:09 <faxathisia> term(Numbers, Term, [])
00:50:20 <faxathisia> then it will use every number
00:50:30 <ehird> faxathisia: well, not if it doesn't work without it
00:50:33 <ehird> but at least err on that side
00:53:25 <ehird> faxathisia: it generates duplicates
00:53:26 <ehird> e.g.
00:53:28 <ehird> X = 1+1-1
00:53:28 <ehird> X = 1+1-1
00:53:28 <ehird> X = 1*1
00:53:28 <ehird> X = 1*1
00:53:44 <faxathisia> I don't mind
00:53:59 <ehird> faxathisia: is there a way to fix it?
00:55:07 <ehird> faxathisia: hmm, it also generates trivial permutations
00:55:11 <ehird> rearranging a*b, e.g.
00:56:06 <faxathisia> you can go setof(X, example(X), Y). % to get Y = [list, of, all, unique, solutions]
00:56:28 <faxathisia> You could have some canonical form for expressions to remove permutations
00:56:36 <faxathisia> I don't see much reason to though
00:56:43 <faxathisia> anyway my program is really stupid
00:56:52 <ehird> meh
00:57:01 <faxathisia> Shin-Cheng Mu does it perfectly :)
00:57:30 <ehird> also, faxathisia --
00:57:31 <ehird> | ?- setof(X, countdown([100,8,1,8,2,9], 983, X), Y).
00:57:34 <ehird> horrendously slow!
00:57:38 <ehird> hasn't aborted yet
01:03:57 <ehird> also if i could strip the tex crap from that shin-cheng mu paper i'd be using it
01:03:58 <ehird> :)
01:09:15 <ehird> faxathisia: or if you did that for me, like evevryone should do when i hint at something
01:09:18 <ehird> i mean, ahem
01:09:19 <ehird> :)
01:13:43 <ehird> faxathisia: oh
01:13:53 <ehird> does your program settle for a near number if it can't get it exactly?
01:14:00 <faxathisia> No
01:14:09 <ehird> i guess i'm less theoretical and more 'i want a computer that's really good at playing countdown'
01:16:25 <ehird> faxathisia: :)
01:34:34 -!- Sgeo has joined.
01:35:16 -!- Corun has quit ("Leaving").
01:43:06 -!- ehird has quit ("This computer has gone to sleep").
01:53:08 <lament> for x = infinity to 0 print x
01:57:56 <pikhq> Sorry, but my computer seems to dislike decrementing infinity.
02:05:04 -!- calamari has joined.
02:38:30 -!- puzzlet has quit ("Lost terminal").
02:39:13 <Sgeo> calamari, pikhq tried PSOX 1.0a1 yet?
03:11:00 -!- puzzlet has joined.
03:17:46 * Sgeo should sleep
03:30:15 <pikhq> Did I happen to mention that it's a bitch to get Gentoo up and running from scratch? :p
03:33:56 <Sgeo> You mentioned that you were setting up Gentoo. Any difficulties are implied when you said "Gentoo"
03:33:56 <Sgeo> >.>
03:34:09 <pikhq> LMAO
04:08:46 -!- puzzlet has quit (Remote closed the connection).
04:08:54 -!- puzzlet has joined.
05:07:13 -!- johnl has quit (Remote closed the connection).
05:07:17 -!- johnl has joined.
05:08:14 -!- Sgeo has quit (Remote closed the connection).
06:11:47 -!- calamari has quit ("Leaving").
06:49:43 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
06:49:47 -!- slereah__ has joined.
07:07:02 -!- slereah__ has quit (Connection timed out).
07:14:04 -!- Slereah has joined.
07:37:34 -!- olsner has joined.
07:58:13 <olsner> yes, I'm the first google hit for "mod_rewrite turing complete" now! :P
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:25 <Slereah> Are you also the only one?
08:26:35 <olsner> no, there are also a few blogs and some hand-waving mailing list posts about mod_rewrite being turing complete
08:27:03 <olsner> (but none, afaics, who have actually implemented a turing complete language with mod_rewrite)
08:37:14 -!- sebbu has quit (Read error: 60 (Operation timed out)).
08:40:45 -!- sebbu has joined.
08:43:15 -!- olsner has quit ("Leaving").
09:21:59 -!- oerjan has joined.
10:03:44 -!- sebbu2 has joined.
10:09:57 -!- sebbu has quit (Read error: 60 (Operation timed out)).
10:09:57 -!- sebbu2 has changed nick to sebbu.
10:30:48 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
10:31:54 -!- bsmntbombdood has joined.
11:09:39 -!- fax has joined.
11:17:00 -!- faxathisia has quit (Nick collision from services.).
11:22:58 -!- fax has changed nick to faxathisia.
11:31:51 -!- oerjan has quit ("leaving").
12:54:17 -!- Tritonio_ has joined.
13:28:03 -!- timotiis has joined.
13:43:19 -!- Hiato has joined.
14:09:23 -!- slereah__ has joined.
14:09:34 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
14:51:33 -!- RedDak has joined.
15:39:50 -!- Hiato has left (?).
15:45:09 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
15:45:25 -!- puzzlet has joined.
16:03:10 -!- jix has joined.
16:34:32 -!- sekhmet has quit (Read error: 104 (Connection reset by peer)).
16:37:10 -!- sekhmet has joined.
16:49:31 -!- sekhmet_ has joined.
16:51:22 -!- sekhmet has quit ("Reconnecting").
16:53:52 -!- sekhmet_ has changed nick to sekhmet.
16:55:57 -!- Corun has joined.
17:03:06 -!- ais523 has joined.
17:39:32 -!- RedDak has quit (Remote closed the connection).
18:15:42 -!- puzzlet has quit (Remote closed the connection).
18:15:47 -!- puzzlet has joined.
18:28:38 -!- Corun has quit ("This computer has gone to sleep").
19:07:58 -!- sarehu has quit (Read error: 110 (Connection timed out)).
19:16:51 -!- Sgeo has joined.
19:33:55 <ais523> Sgeo: do you have any thoughts about using PSOX as a glue layer between esolangs?
19:34:09 <ais523> that is, that allows esolangs to call functions written in other esolangs
19:34:12 <Sgeo> I'm not sure how that would work, exactly
19:34:26 <ais523> you'd need to somehow cause both programs to be run under PSOX in separate threads
19:38:07 <Sgeo> I don't think that really fits in with the current form of PSOX.. maybe a custom domain?
19:38:48 <ais523> custom domain would seem most reasonable
19:43:42 <Sgeo> I think I'm going to work on making custom domains available now
19:43:53 <Sgeo> But does this mean I should release an a2, or can I leave it in SVN?
19:45:24 <Sgeo> Also, domains.txt is rather inelegant :(
19:52:25 -!- sarehu has joined.
19:55:19 -!- Hiat1 has joined.
19:55:35 <Hiat1> Wassup :)
19:55:50 <Hiat1> Is there anyone here willing to aid their mad maths skillz
19:55:59 <Hiat1> I can't think straight and need some help...
19:57:12 <ais523> "mad maths"?
19:58:10 <Hiat1> well, it's just that I think you need simultaneous equations for this thing, but I'm not sure where/how to extrapolate the necessary information
19:58:27 * Hiat1 admits it's not that mad, not really mad at all, it's just later for him
19:59:01 <Hiat1> *late
19:59:41 <ais523> what are you trying to do?
20:02:21 <slereah__> Math skills, is that you?
20:02:30 <slereah__> Are you telling me to kill them all?
20:03:15 <Hiat1> a "word problem" or "story sum" (depending on where you were raised), either way I just can't seem to get it (seems like a logical impossibility to me). Feel free to say no, as it is cheesy and is probably very very easy, I just can't seem to get it... "A train passes completely through a tunnel in 5 minutes. A second train, twice as long as the first, passes through the tunnel in 6 minutes. If both trains are travelling at the same speed of
20:03:15 <Hiat1> I work with complex numbers, draw graphs of the reciprocals in trig and programme fractals, yet this one eludes me...
20:03:38 <ais523> either your client or mine cut off the end of the problem
20:03:48 <ais523> could you try reposting it a bit at a time?
20:03:56 <Sgeo> I can convert any BF program into a PSOX program automatically
20:04:08 <Hiat1> ok, sure
20:04:19 <Hiat1> "A train passes completely through a tunnel in 5 minutes. A second train, twice as long as the first, passes through the tunnel in 6 minutes....
20:04:23 <Sgeo> Thing is, it will only test the output pseudodomain and one use of the input pseudodomain
20:04:26 <Hiat1> If both trains are travelling at the same speed of 24km/h,
20:04:31 <Hiat1> etermine the length of the tunnel and the lengths of the trains"
20:04:33 <Sgeo> (and the result acts as EOF=0)
20:04:34 <Hiat1> *determine
20:04:59 <Hiat1> can you see it all now?
20:05:01 <ais523> yes
20:05:25 <ais523> clearly it must take 1 minute for the length of the shorter train to pass through the tunnel
20:05:31 <oklopol> looks trivial
20:05:37 <ais523> because that's the difference in length between the two trains, and they go at the same speed
20:05:41 <Hiat1> thing is, it says that it takes it 5...
20:05:42 <ais523> that should let you figure out how long they are
20:05:49 <Hiat1> that's what my calculations said
20:06:13 <ais523> 5 minutes for the front of train 1 to enter the tunnel for the end of train 1 to leave the tunnel
20:06:15 <Hiat1> I have the lengths, 2/5 km and 4/5 respectively
20:06:45 <ais523> so it must take 4 minutes for the front of either train to get from the start of the tunnel to the end of the tunnel
20:07:16 <Hiat1> ok, sure, I can't see why (other than average)
20:07:22 <Hiat1> but it sounds tight
20:07:25 <Hiat1> *right
20:07:47 <ais523> because after the front of the train's reached the end of the tunnel, it takes another minute for the end of the train to escape from the tunnel
20:08:09 <ais523> so that's 4 mins for front-front, and another 1 min to escape completely = 5 mins
20:08:15 <ais523> the second train is 4+2=6
20:08:38 <Hiat1> hrmm... Ok, I see this now
20:09:05 <Hiat1> aha, I think I found my mistake
20:09:19 <Hiat1> I was calculating the length of the tunnel in terms of whole train lengths
20:09:29 <Hiat1> which it may not necessarily be
20:10:14 <ais523> it is, though
20:10:18 <ais523> it's 4 train-1 lengths long
20:10:22 <ais523> or 2 train-2 lengths long
20:10:27 -!- sarehu has quit (Read error: 110 (Connection timed out)).
20:10:50 <Hiat1> out of interest, could we not say 3 mins for front-front and then + 2 to escape and the same for train 2 (+3 there though)
20:10:59 <ais523> no
20:11:01 <Hiat1> oh wait, nevermind
20:11:03 <ais523> train 2 is twice as long
20:11:08 <ais523> so it must take twice as long to escape
20:11:08 <Hiat1> yep
20:11:26 <Hiat1> Ithank you so very much ais523
20:11:30 <Hiat1> *Thank
20:11:55 <Hiat1> can I put you in my maths book as "anonymous tutor" ? :P
20:12:39 <oklopol> oh, right, was wondering for a second there, since i missed the train1.length=2*train2.length
20:12:55 <ais523> Hiat1: that's fine
20:13:06 <Hiat1> :D
20:13:38 <ais523> although of course the chance your maths teacher has heard of me is nowadays non-zero (if still quite small), so you might want to try a bit of name-dropping if you prefer
20:13:51 <oklopol> anyway, v=s/t<=>t=s/v, where v=velocity, s=distance, t=time, then just (t+a)/24=(1/12)h && (t+b)/24=(1/10)h && b=2a
20:14:03 <oklopol> and solve
20:15:34 <Hiat1> asi523: you never know ;)
20:15:34 <Hiat1> oklopol: yeah, we use D=S.T but same thing (I prefer Fnet=ma or X=((vf+vi)/2).t :P though that is irrelevant)
20:15:58 <oklopol> (wouldn't call that a math problem)
20:16:16 <oklopol> hmm
20:16:32 <oklopol> how would you use F=ma for this?
20:16:36 <Hiat1> (yes indeed, but I like all the physics problems we have, with the lifts (elevators) acceleration and impact timing etc...)
20:16:59 <oklopol> i hate that, never any challenge, just a million places for error with the precision and all :|
20:17:03 <Hiat1> (pendulums are nice too, preservation of energy etc)
20:17:12 <Hiat1> heh, true
20:17:17 <oklopol> basically, i get to suck at something trivial.
20:17:40 <Hiat1> doesn't happen often I believe :)
20:17:49 <oklopol> what?
20:17:59 <Hiat1> you sucking at something trivial
20:18:08 <oklopol> oh, believe me, it does.
20:18:36 <ais523> on another note, it's impossible to write an Underload interpreter in Befunge-93, right?
20:18:36 <oklopol> i have serious problems with anything related to my senses
20:18:47 <ais523> due to that language not actually being TC unless it uses bignums
20:18:57 <oklopol> err
20:19:02 <ais523> and moreover the bounded-storage is actually a problem on some practical programs
20:19:05 * Hiat1 infers that it sounds right enough to be true
20:19:09 <oklopol> doesn't befunge have a stackie?
20:19:12 <ais523> yes
20:19:14 <ais523> one stack
20:19:16 <ais523> that only stores numbers
20:19:21 <ais523> so Befunge is a PDA
20:19:51 <oklopol> i'm fairly sure you can make an asm-tc ul interpreter, because befunge is tc with the addition of an infinite grid
20:19:59 <ais523> yes
20:20:02 <ais523> Funge-98 would be fine
20:20:17 <ais523> the problem is that the finiteness of the grid actually impacts on practical Underload programs in some cases
20:20:29 <ais523> such as the factorial one on the wiki, which has intermediate strings more than 80 characters long
20:20:50 <oklopol> does funge-98 do infinite dimensions?
20:21:13 <ais523> the size of the grid is equal to the size of the integer type IIRC
20:21:19 <oklopol> the other day, i was thinking, might be interesting to play an infinite dimensional tic-tac-toe
20:21:33 * ais523 has played 4D tic-tac-toe
20:21:37 <ais523> on a 4x4x4x4 grid
20:21:40 <oklopol> me too
20:21:47 <ais523> I don't think infinite dimensions would make it much more interesting
20:22:00 <oklopol> also 10D in my head... for about two moves ;)
20:22:06 <ais523> oklopol: I ended up adding a rule 'a player doesn't win unless they point out that they won'
20:22:07 <oklopol> it might
20:22:18 <ais523> you could do it in Hilbert space easily enough
20:22:24 <oklopol> it essentially gets to coprimeness of the lengths of your pda's creating a move
20:22:34 <oklopol> there's some interesting math there, i believe.
20:22:51 <oklopol> i mean, the repeating lenghts of the infinite strings produced by them
20:22:58 <oklopol> *lengths
20:23:00 <oklopol> err
20:23:04 <oklopol> i always fail that word
20:23:24 * ais523 once managed to misspell the same word 6 times in a row
20:23:31 <ais523> I've forgotten which word it was, though
20:23:31 <oklopol> :)
20:23:48 <ais523> and the ironic thing was after 3 times I knew I was doing it and tried to avoid it but kept on typoing anyway
20:24:14 <oklopol> i once typoed "muista", finnish for "remember", about 50 times in a row
20:24:19 <oklopol> i simply cannot write it
20:24:21 <oklopol> muista
20:24:26 <oklopol> well, i can now, it seems.
20:25:00 <oklopol> ofc once you just start flooding it until you get it, you probably write it the same way every time.
20:26:12 <oklopol> what would be a nice language for making repeating infinite strings
20:26:35 <oklopol> also, how interesting is the equivalence problem of two infinite vectors produced that way
20:26:36 <ais523> I designed 1cnis for that purpose
20:26:45 <oklopol> lemme see that
20:26:50 <ais523> although ironically it turned out not to be able to produce the exact string that I wanted to produce...
20:26:51 <oklopol> on the wiki i assume
20:26:52 <ais523> yes
20:26:58 <Sgeo> Great, custom domains seem to work
20:28:21 <oklopol> 1cnis programs must be finitely long.
20:28:28 <oklopol> i'll try to remember that
20:28:31 * Sgeo should throw in some IllegalPSOXError's
20:28:55 <ais523> the idea is that a finite program outputs infinite output
20:29:04 <ais523> and so 1cnis can be used as an 'encoding' for certain sorts of infinite patterns
20:29:15 <ais523> it couldn't manage 2^2^n in unary, though, AFAICT
20:29:28 <ais523> although if you can figure out how to do that I'd be really pleased to know
20:31:46 -!- puzzlet has quit (Remote closed the connection).
20:32:26 -!- puzzlet has joined.
20:33:41 <oklopol> i like that
20:33:44 <Sgeo> Should I write a BF-to-PSOXBF program?
20:34:23 <oklopol> your languages have a certain pro feel to them
20:34:37 <ais523> Sgeo: would it just allow for quoting of NULs, or would it do something else?
20:34:45 <oklopol> (although i just remember two right now)
20:35:07 <Sgeo> Allow for quoting for nuls, and convert the ",", and add PSOX-Init
20:35:25 <ais523> convert , to allow for EOF conventions?
20:35:36 <Sgeo> Making any regular BF program that assumes EOF=0 run under PSOX
20:35:51 <Sgeo> ais523, in PSOX, you need to use a function before getting input
20:36:00 <ais523> why?
20:36:13 <ais523> to tell PSOX that it needs to pass input to you?
20:36:18 <Sgeo> yes
20:36:48 <ais523> hmm... is there some way you could use select() in PSOX to determine whether the program being run was looking for input?
20:36:49 <Sgeo> Naive comma: [-].+..+++++++++.,,,
20:37:01 <Sgeo> ais523, wouldn't work under Windows
20:37:11 <oklopol> oh, forte is also yours
20:37:13 <oklopol> niec
20:37:22 <ais523> full list at User:ais523 on the wiki
20:37:29 <ais523> some are better than others
20:39:03 <oklopol> ":≠ has finite data storage and is reversible, and so must terminate." this sounds like you're also saying reversibility limits tcness
20:39:07 <oklopol> err
20:39:11 <oklopol> limits computational power
20:39:20 <ais523> no
20:39:24 <ais523> the finiteness limits tcness
20:39:32 <ais523> a reversible finite language must terminate
20:39:48 <ais523> reversible languages with infinite storage, otoh, can be TC
20:39:59 <oklopol> yeah, but you're saying A & B => C, where actually A => C
20:40:02 <oklopol> that is a bit confusing
20:40:05 <oklopol> but that was just a side note
20:40:10 <oklopol> nothing wrong with it
20:40:15 <ais523> 'must terminate' is different from 'not TC'
20:40:26 <ais523> it's more restrictive
20:40:39 <oklopol> ah, indeed.
20:40:53 <oklopol> Hiat1: stupid error here
20:41:08 <oklopol> i do make them
20:46:52 <oklopol> i want a reversible language with assignation
20:46:57 <Hiat1> yes, but occasionaly
20:47:06 <Hiat1> let us say, few and far between
20:48:06 <oklopol> no. i usually fail at everything i do unless it happens completely within my head.
20:48:16 <oklopol> that's my *thing*
20:48:25 <ais523> oklopol: I just posted an Unassignable program I found lying around on my hard drive to Talk:Unassignable on the wiki
20:48:46 <ais523> I have an Unassignable->C++ compiler here, as well, but it seems to be using outdated C++
20:48:55 <ais523> what's the modern equivalent of #include <iostream.h>?
20:49:02 <Hiat1> yeah, I'm the same, diagrams, pictures, graphs etc only help to confuse me. I must see it all in my head, or nothing at all
20:49:28 <Hiat1> that's right ais523
20:49:35 <Hiat1> at least I use it in Dev-C++
20:50:05 <ais523> most of the header files (the ones which were in C) lost the .h at the end and gained a c at the start
20:50:16 <ais523> as in C's #include <stdio.h> became C++'s #include <cstdio>
20:50:23 <ais523> but iostream was never in C to begin with
20:50:34 <ais523> and #include <iostream> works but fails to include cout, which I use
20:50:36 <oklopol> #include<iostream>
20:50:42 <oklopol> err...
20:50:46 <oklopol> i shouldn't fail to do that
20:50:55 <Hiat1> what about system.h
20:50:55 <oklopol> you do know it has everything within std::?
20:51:01 <Hiat1> for console input output
20:51:11 <ais523> oh, of course
20:51:12 <Hiat1> (long time since I messed with this)
20:51:15 <ais523> I forgot the 'using namespace std'
20:51:25 <oklopol> yarr
20:51:30 <ais523> works now, thanks
20:52:01 <oklopol> that did require some heavy thinking, but np
20:52:20 <SimonRC> hm...
20:52:38 <SimonRC> what if a program's first sction under psox is to run a psox command?
20:52:53 <oklopol> hmm
20:52:55 <SimonRC> is the command's result guaranteed to appear before any other input?
20:52:58 <oklopol> main->call is called
20:53:08 <Sgeo> Yes
20:53:09 <oklopol> but you just have a run function in main
20:53:14 <oklopol> in the example program
20:53:19 <oklopol> what am i misunderstanding?
20:53:20 <ais523> yes
20:53:34 <SimonRC> yes to me or to Sgeo?
20:53:37 <Sgeo> Even if the client keeps calling functions, the results are queued up for the client to receive
20:53:41 <ais523> call calls an object's member function 'run' if the object happens to be activated at the time and is a function
20:53:44 <ais523> yes to oklopol
20:53:47 <oklopol> SimonRC: to me
20:53:48 <oklopol> uyeah
20:53:59 <oklopol> oh.
20:54:08 <ais523> so it's usual to declare main to be activated
20:54:14 <ais523> otherwise your entire program is a NOP
20:54:36 -!- oerjan has joined.
20:54:53 <ais523> let me correct that: 'call' can only be applied to function objects, which causes their 'run' method to happen if the function object is activated at the time
20:54:57 <Sgeo> http://pastebin.com/m286a23ce running PSOX with SEEINTERNALS = True
20:55:16 <ais523> and no other object can be activated or deactivated because those are function values
20:56:17 -!- jix has quit (Read error: 104 (Connection reset by peer)).
20:57:32 <ais523> the main challenges in :≠ programming are implementing integers with a non-power-of-2 rollover (see tenloop in the program for an example), and writing loops in such a way as to undo the wreckage they cause
20:59:20 -!- jix has joined.
20:59:36 <Sgeo> Hi jix
20:59:40 <Sgeo> Interested in PSOX at all?
20:59:48 <jix> right now... no
21:00:36 <oklopol> http://www.esolangs.org/wiki/MiniMAX i don't get this
21:00:48 <ais523> the idea is to make the shortest possible interp
21:01:02 <ais523> but it's an interesting language considered as an OISC too
21:01:17 <oklopol> sure, but what does it mean to send something to a command
21:01:40 <oklopol> oih
21:01:41 <oklopol> oh
21:01:41 <ais523> you overwrite the relevant word of the command you're sending data to
21:02:32 <ais523> so if a command is abc
21:02:40 <ais523> then running a command sets the previous command's c to this command's a
21:03:02 <ais523> and b is the distance in words from the previous command's end to the next command's start
21:03:23 <oklopol> and that is all?
21:03:27 <ais523> yes
21:03:28 <ais523> and it's TC
21:03:39 <oklopol> okay, tell me where i go wrong
21:03:41 <oklopol> i have
21:03:46 <oklopol> aaabbbcccdddeeefffggg...
21:03:50 <oklopol> i first exec aaa
21:03:53 <ais523> yes
21:03:53 <oklopol> it does nothing
21:03:56 <oklopol> then bbb
21:03:58 <oklopol> so...
21:04:03 <ais523> no, not neccessarily
21:04:08 <oklopol> ah
21:04:09 <ais523> the second word in each command does control flow
21:04:15 <oklopol> oh, right.
21:04:39 <ais523> by specifying the gap between the previous and next commands
21:04:54 <ais523> so you effectively have two parallel streams of commands (alternate commands), each of which controls the other
21:05:10 <ais523> the BF compilation, for instance, uses every other command for code and every other command for data
21:05:16 <ais523> which are in wildly different areas in memory
21:05:25 <oklopol> neat
21:05:40 <oklopol> hmm, isn't it bounded?
21:05:45 <oklopol> or is the rest of the memory zero
21:05:57 <ais523> the memory is bounded originally
21:06:05 <ais523> but only the first two words of a command have to fit in memory
21:06:20 <ais523> if the third one doesn't, memory is expanded by one byte to fit the data overwritten there
21:06:41 <ais523> so although it's bounded-storage at all times, the interp can allocate memory, allowing it to be TC because unlimited storage is possible
21:07:02 <oklopol> hmm
21:07:08 <oklopol> and how can the third one get bigger?
21:07:18 <oklopol> i mean, you don't actually change any numbers, do you
21:07:24 <ais523> suppose you have aaabbbcccdddeeefffgg
21:07:29 <oklopol> done.
21:07:57 <ais523> then when g runs, the next command might be an earlier one (say c), and then one byte of memory is added for the third byte of ggg
21:08:08 <ais523> now suppose the next command that runs is the /second/ word of ggg...
21:08:16 <ais523> (sorry, I meant 'word' not 'byte' two comments above)
21:08:32 <ais523> so you actually have abcdefghij
21:08:40 <ais523> and bcd is a command, as is cde, as is def
21:08:52 <ais523> the order they actually run in is controlled by the second words of the commands
21:09:27 <Sgeo> Should I have SEEINTERNAL show what was received from the client?
21:09:29 * Sgeo makes it so
21:09:53 <ais523> it's kind of confusing before you get used to it; I could write better docs which make it more obvious what's going on
21:10:05 <oklopol> you could have an example.
21:10:08 <ais523> maybe an example would help, but as I hand-wrote the interp in machine code I've never actually dared to run it
21:10:25 <oklopol> löl :)
21:10:44 * ais523 writes an (untested) example on the wiki
21:10:52 <oklopol> yeah
21:11:07 <oklopol> a few steps of execution, and it should be clear
21:12:47 * oklopol goes to eat some (undigested) food ->
21:13:32 * SimonRC goes
21:13:53 <Sgeo> http://pastebin.com/m648ab65b
21:14:01 -!- faxathisia has quit (Read error: 104 (Connection reset by peer)).
21:14:11 -!- Hiat1 has left (?).
21:15:12 -!- olsner has joined.
21:15:17 <Sgeo> Hi olsner
21:15:30 * Sgeo wonders if pikhq is awake?
21:15:40 <olsner> Sgeo: hi
21:15:53 <olsner> I have no idea whether or not pikhq is awake though :P
21:20:04 <Sgeo> olsner, have you heard of PSOX?
21:20:12 * Sgeo attempts to agressively promote PSOX again
21:20:40 <oerjan> ctcp TIME claims pikhq is at 14:20
21:21:03 <oklopol> stalking innocent people as usual
21:21:27 <oerjan> innocent? hah!
21:21:45 <oklopol> what has pikhq done? :O
21:22:43 <oklopol> (besides possibly electhroqting people)
21:22:43 <oerjan> now that would be telling. do your own stalking.
21:22:46 <olsner> I have heard of PSOX, but don't know what it is... otoh, since I heard if it in here I'm not entirely sure I want to find out :-)
21:26:07 <oklopol> so... gorgasm fans here?
21:26:21 <Sgeo> Giving function: '\x01\x01\n\x00\x01\x01\n\x00\x01\x01\n\x00\x01\x01\n\x00\x01\x01\n\x00\x01\x01\n\x00\x01\x01\x05\x00\x00'
21:26:42 <Sgeo> (That's (10,10,10,10,10,10,5) as a VARG(LNUM)
21:26:55 <Sgeo> Or at least should be
21:27:45 <Sgeo> Now, to figure out why it isn't working..
21:30:04 <ais523> oklopol: MiniMAX has an example now
21:32:00 <oklopol> goodz
21:32:04 <oklopol> i'll look
21:32:50 <ais523> note that any spec vs. reference implementation problems will be resolved in favour of the implementation, unless doing the opposite would make the implementation shorter
21:35:25 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
21:36:01 -!- slereah__ has joined.
21:36:31 <oklopol> heh
21:37:00 <ais523> do you have a better idea of how it works now?
21:37:45 <oklopol> i think i have a pretty complete idea
21:38:02 <ais523> well, there isn't very much to the language
21:38:30 <ais523> with an 8-byte interp, how could there be?
21:38:38 <oklopol> errr
21:38:54 <oklopol> hmm
21:38:59 <oklopol> ah
21:39:01 <ais523> 14 bytes allowing for setting up the registers at the start, and an exit method
21:39:11 <ais523> 32 if you want practical I/O
21:39:21 <ais523> that uses a lookup table to check the input character
21:39:53 <ais523> (less if you just insert the input character directly into the code - I think from memory it was 23 - but that is really difficult to program with for obvious reasons)
21:40:00 <oklopol> i think you have a copypaste error there
21:40:11 <ais523> where?
21:40:13 <oklopol> 1 2 2 1 -1 2 -1 2 1 -3 -2
21:40:13 <oklopol> ======= 4th command: 5th command is 2 words left of the 3rd's end;
21:40:14 <oklopol> the 2 is copied from this command's first word to the 3rd command's third word
21:40:16 <pikhq> Sgeo: Awake, but just got home from school.
21:40:24 <Sgeo> hi pikhq
21:40:26 <Sgeo> brb
21:41:04 <ais523> you're right
21:41:07 * ais523 fixes
21:41:31 <ais523> twasn't actually copypaste
21:41:44 <ais523> it was me constantly changing the original program to try to keep it legal and in bounds, at least for a while
21:42:02 <oklopol> i see
21:42:07 <oklopol> i'll look at the proof
21:42:10 <ais523> I started off with a list of small integers I came up with off the top of my head
21:42:25 <ais523> and then kept changing numbers until the program was legal
21:43:50 <Sgeo> I'm going to update SVN soonish
21:44:01 <Sgeo> With custom domains, bugfixes, and the -i option
21:44:18 -!- ehird has joined.
21:46:32 <oklopol> i'm going to sleep now, you'll have to explain that proof to me later ;)
21:46:35 <oklopol> ->
21:46:35 <Sgeo> Hi ehird
21:47:36 <ais523> ehird: I wrote an Underload interpreter in sed, for anagolf
21:47:53 <ais523> unfortunately I don't have the source on me right now, but you'll be able to see it postmortem in a couple of days
21:48:06 <ais523> it's the same length as the genuine non-binary Postscript entry, and shorter than my Perl entry
21:48:24 <ais523> (mostly because parens aren't metacharacters in sed but are in Perl, so sed saves on backslashes)
21:49:54 <Sgeo> pikhq, are you going to try PSOX?
21:50:03 <Sgeo> If so, please pull the latest version from SVN
21:50:44 <oklopol> god 2L programs are beautiful
21:51:31 -!- cherez has quit (Read error: 110 (Connection timed out)).
21:51:33 <pikhq> Not ATM. Will later tonight.
22:00:44 <ehird> i am back
22:00:57 <ehird> give me about 20 minutes after i come online, then i appear
22:00:57 <ehird> :)
22:02:40 <Sgeo> ehird, I know you don't care, but PSOX now has custom domains
22:02:43 <Sgeo> and VARG is working
22:02:52 <Sgeo> and a bit more comprehensive SEEINTERNAL
22:02:57 <ehird> seeinternal>
22:02:59 <ehird> wtf
22:03:22 <Sgeo> The -i command line option lets you see what the server sees or sends, and things that happen in the server
22:04:01 <Sgeo> http://pastebin.com/m349aa6a9
22:05:08 -!- sarehu has joined.
22:06:05 <Sgeo> hi sarehu
22:16:12 * ais523 has to go
22:16:13 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
22:16:14 -!- ais523 has quit ("bye").
22:25:22 <Sgeo> http://farm2.static.flickr.com/1232/1444236970_38b4d105f2.jpg
22:25:26 <Sgeo> http://www.darkroastedblend.com/2007/09/strange-signs-part-7.html
22:44:20 -!- jix has quit ("This computer has gone to sleep").
22:45:23 -!- sarehu has quit (Read error: 110 (Connection timed out)).
22:48:25 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
22:48:25 -!- EgoBot has quit (calvino.freenode.net irc.freenode.net).
22:50:35 -!- sarehu has joined.
22:50:57 -!- ehird has joined.
22:50:57 -!- EgoBot has joined.
22:54:48 -!- ehird_ has joined.
22:54:51 <ehird_> that netsplit was fun
22:54:55 <ehird_> it was just egobot and me <3
22:54:58 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
22:54:58 -!- puzzlet has joined.
22:55:07 <ehird_> i tried to crash it but oh no, it didn't want me getting ops
22:55:35 -!- sekhmet has quit (calvino.freenode.net irc.freenode.net).
22:55:45 -!- ehird_ has set topic: THIS IS NOT THE END OF THE INTERNET..
22:55:48 -!- sekhmet has joined.
22:55:53 -!- EgoBot has quit (calvino.freenode.net irc.freenode.net).
22:55:53 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
22:55:57 <ehird_> byebye
22:56:10 -!- EgoBot has joined.
22:56:18 <ehird_> Wait, did EgoBot die?
22:56:21 <ehird_> Fuckfuckfuckfuck.
22:56:23 <ehird_> MY OPS :(
22:58:40 <oerjan> !Huh?
22:58:43 <EgoBot> Huh?
22:59:05 <ehird_> no trivial quines for poor oerjan
22:59:16 <ehird_> actually, stuff would be a lot easier if bots listened to themselves
22:59:16 <ehird_> :)
22:59:40 <oerjan> don't mind me i was just checking if it was alive
23:00:48 <ehird_> GOD paul graham is annoying
23:00:54 <ehird_> Somebody: 'Reasoned argument blah blah'
23:01:18 <ehird_> Somebody: 'Blah blah logic reason science blah blah'
23:01:51 <pikhq> Agreed.
23:02:37 <Sgeo> pikhq, going to examine PSOX?
23:02:47 * Sgeo feels like forcing everyone to play with PSOX
23:03:09 <ehird_> Sgeo: You ARE.
23:03:15 <ehird_> Especially pikhq, and iirc SimonRC.
23:03:38 <Sgeo> pikhq and SimonRC have expressed interest in PSOX
23:05:12 <ehird_> is that a reason to bug them every bloody day?
23:05:18 <ehird_> when they play with it, they'll tell you.
23:11:23 -!- cherez has joined.
23:12:25 <Sgeo> Hi cherez
23:13:46 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
23:14:42 -!- puzzlet has joined.
23:31:22 <Sgeo> re puzzlet
23:32:01 -!- sarehu` has joined.
23:32:15 <ehird_> Who is divided by zero?
23:33:20 <olsner> ehird_: the nominator...
23:35:00 <Sgeo> What are we talking about?
23:35:11 -!- sarehu` has quit (Remote closed the connection).
23:35:14 -!- sarehu` has joined.
23:35:15 <ehird_> Sgeo: 1/0
23:35:28 * Sgeo <3 1/0
23:36:18 <ehird_> no, not the comic
23:36:19 <ehird_> :|
23:36:43 <Sgeo> What are we talking about then?
23:36:51 <ehird_> crap
23:37:34 -!- timotiis has quit ("leaving").
23:39:45 -!- sarehu has quit (Connection timed out).
23:49:02 <Sgeo> ?
23:56:48 <ehird_> challenge:
23:57:00 <ehird_> describe a minimal computer architechture using only words of four syllables or less.
23:57:18 <ehird_> also, every opcode description must be 4 or less words
←2008-02-12 2008-02-13 2008-02-14→ ↑2008 ↑all