←2006-08-05 2006-08-06 2006-08-07→ ↑2006 ↑all
00:07:26 <pikhq> Maybe I should write some code for it.
00:07:59 <pikhq> Perhaps an HQ9+ implementation?
00:09:19 <RodgerTheGreat> HQ9+ is a good way to prove a language is functional.
00:09:40 <pikhq> Meh. I'll just do an H interpreter.
00:09:46 <RodgerTheGreat> it'd make a great example, at the very least..
00:09:53 <pikhq> Hmm.
00:10:00 * pikhq needs to think a bit
00:12:30 <pikhq> There's not even a "Hello, world" app in it yet.
00:16:31 <pikhq> Ahah.
00:16:45 <pikhq> Still a simple isomorphism with Brainfuck. . .
00:16:47 <pikhq> Wheee.
00:16:55 <pikhq> Bit more complex, but it is simple.
00:17:11 * pikhq opts to use more dimensions, anyways ;)
00:29:57 * pikhq has got a Hello, World app in Dimensifuck
00:30:31 <pikhq> And it's 3d.
00:39:47 <Razor-X> Where is this Dimensifsck from?
00:44:08 <Razor-X> Wait... this hasn't been done before?
00:44:20 <Razor-X> I thought someone had already made an n-dimensional *Funge.
00:44:31 <Razor-X> I mean, that was what came to my mind the first time I read about BeFunge.....
00:45:06 <Razor-X> You may want to isolate the halting and printing instruction too.
00:47:05 -!- oerjanj has joined.
00:57:15 -!- oerjanj has quit ("some other time").
00:57:26 <Razor-X> Wait.... that's not even multidimensional.
00:58:14 -!- oerjanj has joined.
00:58:40 <oerjanj> one more time, with feeling
00:59:13 <Razor-X> WAIT... THAT'S NOT EVEN MULTIDIMENSIONAL.
00:59:44 <Razor-X> Happy?
00:59:44 <oerjanj> that's better, i saw DF in the logs but thought noone was around to discuss it
01:00:00 <Razor-X> You read the logs? :P.
01:00:52 * oerjanj is watching you. Bwahaha!
01:00:59 <Razor-X> OH NOEZ.
01:01:16 <Razor-X> Well yeah, Dimensifsck is not multidimensional.
01:01:26 <oerjanj> it seemed multidimensional to me
01:01:31 <Razor-X> It's only 3 dimensional.
01:01:53 <oerjanj> what about the example code?
01:02:32 <Razor-X> Oh, I see.
01:02:39 <Razor-X> Wait.. though.
01:02:43 <Razor-X> Oh, yeah.
01:03:07 <oerjanj> but it confuses me still
01:03:12 <Razor-X> But if you have absolute addressing... isn't a lot of the magic gone?
01:03:50 <oerjanj> i had an idea on easing that
01:03:53 <Razor-X> Like, can't you just store constants in a certain dimension, etc.
01:04:42 <oerjanj> basically, if you leave out a number it is the same as in the previous line
01:04:57 <oerjanj> except if it's the last one, then increment
01:05:34 <Razor-X> I see.
01:05:42 <oerjanj> then the combination newline + n NULs works like a page break in the n+1'st dimension
01:05:43 <Razor-X> But when I first thought of a system like this, I had a different vision.
01:06:03 <Razor-X> Which, IMO, would be more consistent.
01:06:49 <pikhq> Razor-X: Yeah, yeah, yeah. . . I barely grok n-dimensional stuff, so anything from me might end up being mildly shitty.
01:07:11 <Razor-X> I spent two years working with this stuff in my head, so I get geeky with dimensions :P.
01:07:25 <pikhq> I mostly have trouble going above 4 dimensions.
01:07:28 <Razor-X> You *can* use absolute addressing, but eh, it defeats the point IMO.
01:07:32 <oerjanj> one thing that confuses me about the example code: it looks like the default for a coordinate is 1, but then two of the lines have the same coordinate, 1.-1 and the following
01:08:00 <pikhq> oerjanj: Blame me for that.
01:08:26 <pikhq> I was mostly trying to give my friend Nick, who was writing the LaTeX spec, some clue about how the code would look.
01:08:36 <Razor-X> Heh.
01:08:44 <Razor-X> Here are the changes I propose:
01:08:52 <pikhq> http://nickv111.is-a-geek.com:8080/~pikhq/dimensifuck.tex is the Dimensifuck spec.
01:08:53 <oerjanj> and also some of the lines have more than one command on them
01:09:35 <pikhq> Each line is supposed to be a one-dimensional string. . . Maybe I didn't make that clear enough?
01:10:09 <Razor-X> Instead of absolute addressing, we have a relative dimension increment for dimensions greater than 2. It'll look like [3(+)] to go ``up'' in the third direction (Z-axis positive) [3(-)] to go ``down'' in the third direction (Z-axis negative).
01:10:35 <oerjanj> so each line is a sequence of commands, all at the same coordinates?
01:10:41 <Razor-X> Yup.
01:10:47 <Razor-X> Just like BF and BeFunge.
01:11:05 <pikhq> Razor-X: Good idea.
01:11:10 <Razor-X> Well, I mean, you can use > < ^ v or whatever you define to move in the first two dimensions but...
01:11:17 <Razor-X> You can, in essence, have [99(+)] which goes ``up'' in the 99th dimension.
01:12:08 <pikhq> BTW, how Dimensifuck works and how you think it works, seems to me to be mildly different. . .
01:12:14 <Razor-X> Makes me feel like implementing an infinity of an infinity of dimensions ;).
01:12:30 <pikhq> Only ^ and v change the dimensions that you're executing code in.
01:12:35 <Razor-X> pikhq: I was using the BeFunge movement, but whatever.
01:12:38 <pikhq> Oh.
01:12:42 <Razor-X> Mine was movement based.
01:12:48 <pikhq> Talking abotu a *different* language. Ah.
01:13:13 -!- RodgerTheGreat has quit ("My damn controlling terminal disappeared!").
01:13:19 <Razor-X> Well, Dimensifsck uses absolute addressing so....
01:13:51 <Razor-X> Hasn't BF been overdone enough already? ;).
01:14:00 <oerjanj> in a sense befunge uses abs addressing too, each line starts at x=0
01:14:09 <pikhq> The absolute addressing is mostly just for the sake of actually writing the code down in ASCII. . .
01:14:25 <Razor-X> *Everything* has an absolute starting point.
01:14:36 <Razor-X> pikhq: Which is why I proposed my dimensional notation, heh.
01:14:49 <oerjanj> well, if you use my suggestion for .. defaults then you can leave off many numbers if you want
01:15:40 <Razor-X> How about we implement something like Tri-n-funge (Trinfunge) ?
01:15:48 <oerjanj> btw i am confused about that "switch v" in the example code
01:16:07 <Razor-X> Where you have three ``super'' dimensions.
01:16:19 <Razor-X> A finite set of an infinity of dimensions. Sounds nifty, no?
01:17:42 <pikhq> oerjanj: The "switch" is a comment; it's just switching to a different dimension there.
01:17:48 <oerjanj> except that 3*infinity is just the same infinity, so it depends a lot on the particulars
01:18:07 <Razor-X> Huh?
01:18:19 <oerjanj> but why are there two v in the line?
01:18:22 <Razor-X> No no, I'm talking about CH type stuff.
01:18:32 * pikhq needs to read that file again, it seems
01:18:39 <oerjanj> continuum hypothesis?
01:18:43 <Razor-X> Yeh.
01:19:15 <pikhq> Ah.
01:19:25 <Razor-X> {A, B, C}, where A, B, and C are sets that look like {a, b, ... , z, ...} where each element of each set is distinct.
01:19:34 <Razor-X> And a, b, z correspondingly looks like:
01:19:58 <pikhq> Follow the flow of execution.
01:20:11 <Razor-X> {あ、の、わ、。。。、た} each of which has mutually exclusive elements.
01:20:25 <Razor-X> Simple, no?
01:20:35 * oerjanj cannot read unicode
01:20:55 <Razor-X> Uggh :P.
01:20:59 <Razor-X> They're symbols, alright?
01:21:05 <Razor-X> That's all you need to know :P.
01:22:52 <Razor-X> So, whaddya think, y'all ?
01:23:32 <oerjanj> it still seems like A,B,C, being infinite, add up to the same infinity
01:23:46 <Razor-X> Yeah but....
01:23:57 <Razor-X> If you have an infinity of such infinities, how can you have the same infinity?
01:24:16 <oerjanj> multiplying an infinity by itself is still the same infinity
01:24:31 <oerjanj> (equivalent to the axiom of choice)
01:24:37 <Razor-X> You still have an uncountable number of elements, but if you have an infinity of infinities, it's intuitively easy to see that this set has more than an infinity of elements....
01:24:52 <Razor-X> But are we really ``multplying'' here?
01:25:16 <oerjanj> if you are somehow taking powers it becomes something different
01:25:28 * oerjanj suddenly has a deja vu feeling
01:26:37 <oerjanj> do you mean there to be one dimension for each sequence (a,b,c,...,z,...) of values? then you get powers
01:27:49 <Razor-X> Yes.
01:27:56 <Razor-X> Heh.
01:28:41 <oerjanj> pikhq: if i understand correctly, the first v in that line is canceled by the second
01:28:48 <pikhq> Nope.
01:29:14 <pikhq> The first v is the second one to be executed.
01:29:44 <Razor-X> Why do you want NUL characters, by the way?
01:29:50 <pikhq> I don't.
01:29:53 <pikhq> I want periods.
01:29:54 <Razor-X> My keyboard doesen't... have a NUL button....
01:29:56 <pikhq> Blame Nick.
01:30:08 <oerjanj> but then you get conflict with the BF . command
01:30:17 <Razor-X> Is this meant to be BF compatible?
01:30:33 <pikhq> Nope.
01:30:37 <oerjanj> i am not sure there is a NUL in Unicode
01:30:47 <Razor-X> There's NUL in ASCII though.
01:30:59 <pikhq> It's meant to be easily compilable into from Brainfuck, but not meant to be BF compatible.
01:31:10 <pikhq> After all, the [ and ] commands aren't around.
01:33:00 <oerjanj> hm, but if all commands on one line have the same coordinates, how do you define which direction to execute it in?
01:34:47 <Razor-X> I was thinking that too, but I assumed it was - to + coordinate.
01:35:27 <pikhq> Code starts executing with each axis set to 0, correct?
01:35:40 <oerjanj> i assumed 1 from the example
01:35:50 <pikhq> The example there is bad.
01:35:57 <pikhq> Ignore it.
01:36:41 <pikhq> Each = will increase the dimension number that ^ and v will change the direction to.
01:37:22 <pikhq> When you use ^, it changes to that dimension, and it moves "up" in that dimension (going positively on the n axis). When you use v, it goes "down".
01:37:27 <Razor-X> What if you go down a dimension at axis 0 ?
01:37:40 <oerjanj> i think i could make sense of the example if there was a specific coordinate that increased along the line
01:37:48 <Razor-X> So you... dynamically change codeflow?
01:38:20 <oerjanj> one not necessarily written as a number
01:38:27 <pikhq> There is.
01:39:11 <pikhq> Each line represents a one dimensional string. . . So, each instruction moves +1 on the X coordinate when the code starts.
01:39:25 * oerjanj thinks he understands the example now
01:39:43 <Razor-X> So then you can go up a dimension and have another two dimensional array?
01:40:06 <pikhq> *sigh* This would be easier to explain if I could just manage to draw an n-dimensional array of code on a piece of paper.
01:40:12 <pikhq> Razor-X: You could, yes.
01:40:20 <Razor-X> Ignoring absolute addressing.
01:40:24 <pikhq> Or, you could have another 3 dimensional array.
01:40:35 <Razor-X> So then, how would you have another three dimensional array?
01:40:41 <pikhq> ===v
01:40:51 <oerjanj> well, your example is essentially 3-dimensional so a figure should be possible
01:41:05 <pikhq> Yeah, it is effectively 3-dimensional.
01:41:33 <oerjanj> i had some thoughts on implementation which might also help with visualizing
01:41:35 <Razor-X> So now that you have 3d-space, show me the instruction pointer going up, down, left, and +Z in it.
01:42:43 <pikhq> To go left? ___v Up? _^ Down? _v +Z? ^
01:43:12 <Razor-X> But wait.
01:43:16 <oerjanj> you can think of commands as nodes in a graph that are connected by edges if only one coordinate differs
01:43:43 <Razor-X> If ==v gives you a 2D space, and ===v gives you a 3D space, by performing ===_v, aren't you again generating a 2D space?
01:44:05 <pikhq> You're going back to the 2D space.
01:44:17 <pikhq> The = and _'s cancel out.
01:44:18 <Razor-X> You're not preserving the dimensional space then.
01:44:52 <pikhq> No spaces are *generated*; the playing field isn't actually having stuff dynamically assigned to it.
01:45:18 <Razor-X> So the moment you have =v you generate a dimension, but ==_v you have a ``floating'' 3rd dimension but you can't move in that space?
01:45:32 <pikhq> Maybe I gave you a wrong command.
01:45:43 <Razor-X> You can only go up on one axis at one time without increasing or decreasing dimensions, which effectively makes it 2D though. You can see that can't you?
01:45:48 -!- RodgerTh1Great has changed nick to RodgerTheGreat.
01:45:57 <RodgerTheGreat> I'm back!
01:46:35 <Razor-X> You're just adding abstractions to what is physically a piece of infinitely thin cardboard.
01:46:44 <oerjanj> not 2D, but a graph structure
01:47:10 <Razor-X> But we want *true* n-dimensional space, which means you need to be able to move along the 1st dimensional axis even in 3D space.
01:47:30 <pikhq> http://nickv111.is-a-geek.com:8080/~pikhq/Hello.dim See if that makes any more sense
01:47:38 <pikhq> (Hello, world in Dimensifuck)
01:48:42 <Razor-X> But you're using absolute addressing here, aren't you?
01:49:04 <pikhq> The last three lines are attached to the 1 dimensional string at 0; it moves out in the third dimension, away from the 4th and 5th to last lines.
01:49:16 <pikhq> I'm really not sure.
01:49:21 <Razor-X> .....
01:49:23 <Razor-X> Heh.
01:50:20 <Razor-X> My argument is simple. Relativistically, you can only move in one dimension at one time, thereby removing the very point of a dimension. Absolutely, you can move in any dimension, but if you use absolute addressing, I would think it destroys all similarity to BF.
01:50:23 <oerjanj> what is the use of the initial 0. on each line?
01:50:42 <pikhq> Hmm. I'm really not sure.
01:50:48 <RodgerTheGreat> the idea is that he can drill down as many dimensional levels as he wants.
01:51:12 <Razor-X> It *works*, but IMO it's pretty unelegant :P.
01:51:19 <RodgerTheGreat> :/
01:51:28 <Razor-X> The only reason it's ``dimensionally complete'' is because of absolute addressing.
01:51:44 <RodgerTheGreat> I don't really see it as a kludge.
01:51:50 <pikhq> Seems to me to be rather elegant, actually.
01:51:58 <oerjanj> the absolute addressing is only a feature of describing the program, not of its execution
01:52:03 <Razor-X> Oh.
01:52:23 <Razor-X> Then how can you move dimensions if you can only move in n-axis in n-space at one time?
01:52:24 <pikhq> 10 instructions and n-dimensions. Simple.
01:52:34 <RodgerTheGreat> he uses "Dimension IP's" to define the nD shape of the code.
01:53:02 <Razor-X> In real life, I'm in 3D space, and I can move in any of the 6 directions at ANY time. I can't *only* walk along the Z axis, until I restrict myself to 2D-space and then *only* walk along the Y axis.
01:53:41 <RodgerTheGreat> hm.
01:53:55 <oerjanj> but you are not restricting yourself. in a sense the space is always infinite dimensional
01:54:03 <RodgerTheGreat> so, you're saying it should allow program flow on arbitrary axes?
01:54:08 <Razor-X> Exactly!
01:54:28 <Razor-X> oerjanj: My point is, this system is topologically equivalent to 2D-space.
01:54:53 <RodgerTheGreat> I agree that that's a bit more elegant, but allowing that has more to do with language semantics than the manner in which you define the topology of your code.
01:55:11 <Razor-X> Simply because you only have one metaxis that increments the space and axis moveable on, and another metaxis that allows you to move along the moveable axis.
01:55:25 <Razor-X> So you can equivalently reduce the space to two metaxes that define your space.
01:55:27 <pikhq> And I suppose you'd argue that any language which is 2D but can't move diagnally is topologically 1D?
01:55:40 <Razor-X> Yes. It is.
01:55:49 <pikhq> What you're asking for is basically diagonal movement in n dimensions.
01:55:58 <oerjanj> not 2d, a subset of 3d. the graph is not necessarily planar
01:56:20 <Razor-X> Which is why I propose the [(9)=] notation.
01:56:29 <pikhq> Which would be damned difficult to do without adding a bunch of commands to the language.
01:56:53 <Razor-X> Or [(8)_] which gives you a *true* n-space at any time.
01:57:11 <pikhq> Like Brainfuck, Dimensifuck is meant to have a sparse instruction set.
01:57:32 <Razor-X> I can see that, but then you are basically getting a 2D space.
01:57:44 <Razor-X> I can probably simulate the operation of Dimensif*ck in BeFunge.
01:58:02 <Razor-X> Even when the Dimensif*ck program uses more than 2 dimensions.
01:58:39 <oerjanj> well, you could probably simulate even with vector movements, if you are just clever enough
01:58:56 <Razor-X> That would make a really sparse instruction set, actually.
01:59:13 <RodgerTheGreat> hm. have you guys considered the ramifications of making tape memory nD as well?
01:59:30 <oerjanj> btw, your [(8)_] notation, is it supposed to increment/decrement a coordinate of a velocity vector?
01:59:30 <Razor-X> RodgerTheGreat: What ramifications?
01:59:51 <Razor-X> oerjanj: Yes.
02:00:07 <Razor-X> In axis 8, move in the - direction.
02:00:17 <Razor-X> [(8)+] In axis 8, move in the + direction.
02:00:20 <oerjanj> isn't that somehow the idea of unefunge? (except that's 1-dimensional)
02:00:33 <RodgerTheGreat> well, I mean in terms of the things you could code with it- it might be extremely useful for creating some types of data structures...
02:01:07 <Razor-X> RodgerTheGreat: Yeah.
02:01:24 <oerjanj> not move, accelerate. there's an important difference there.
02:01:51 <oerjanj> the question is, after (8)+, does it stop moving in the other dimensions?
02:01:58 <Razor-X> oerjanj: Yes.
02:02:04 <RodgerTheGreat> although, from a programmer's standpoint, it'd be equivalent to a tree... I wonder if it would make sorting algorithms easier to implement...
02:02:06 <Razor-X> It's an absolute movement.
02:02:21 <oerjanj> then it cannot be used for diagonal movement any more than the current version
02:02:31 <RodgerTheGreat> I don't think I've ever seen a BF quicksort.
02:02:35 <Razor-X> Why not?
02:03:05 <oerjanj> because diagonal movement is essentially movement which is not parallell to a single axis
02:03:20 <Razor-X> (0,0,0) [(3)+] (0,0,1) [(2)+] (0,1,1)
02:03:45 <oerjanj> (0,0,0) ==
02:03:58 <Razor-X> (0,0,0) [(3)=] (0,0,1) [(2)=] (0,1,1)
02:04:04 <Razor-X> Rewritten in Dimensif*ck form.
02:04:43 <oerjanj> 0.0.0 ==^ 0.0.1 _^ 0.1.1
02:04:58 <oerjanj> completely rewritten, nearly
02:05:33 <oerjanj> (the only problem is that you the current dimension value must be statically determinable.
02:05:47 <oerjanj> argh, my fingers are sloppy
02:05:59 <Razor-X> Aha. I see what the problem is.
02:06:27 <Razor-X> Then I'm moving in some other pseudo-n-dimensional space, but ``more'' topologically equivalent to a true n-space....
02:06:37 <Razor-X> Because I can only move in one direction at any one time.
02:06:44 <Razor-X> Wait, but no.
02:06:51 <Razor-X> Because physically we are restricted to the same movement.
02:06:54 <oerjanj> but still essentially a graph
02:07:21 <Razor-X> Well, *everything* is still just a stack.
02:07:37 <Razor-X> But I mean, I would think my model is a better model of the real world IMO.
02:07:49 <oerjanj> so you need a velocity vector, which is added to current point after each command, and which is itself added to by ^v
02:08:02 <oerjanj> then you could have a truly diagonal velocity
02:08:29 <Razor-X> Velocity vector. Just put that in vector form for me, please :P.
02:08:49 <oerjanj> well, it would be like your
02:09:20 <oerjanj> (0,0,0) [(3)+] (0,0,1) [(2)+] but then (0,1,2)
02:09:37 <oerjanj> argh, no.
02:09:55 <Razor-X> See, then we get into set theory problems again, because if I understand you correctly, these vectors themselves lie on an axis cheaply made to be non-parallel to any other axis in our n-space.
02:10:06 <Razor-X> Darn you Cantor, darn you! :P.
02:10:27 <pikhq> Could we just leave it as "all movement can only be made parallel to an axs"?
02:10:30 <oerjanj> not a big problem. only finitely many coordinates of the velocity are non-zero
02:10:39 <Razor-X> But yeah, that is a better model.
02:10:43 <Razor-X> I like your vector model.
02:11:07 <Razor-X> And we can even have an infinite of these vector axes with corresponding non-parallel axes and have infinite-infinite space!
02:11:07 <Razor-X> :P.
02:11:12 <oerjanj> i think it was used in general Funges before
02:11:27 <RodgerTheGreat> can anyone think of a more efficient way to define the shape of code?
02:11:49 <Razor-X> RodgerTheGreat: Quantum :P.
02:12:03 * RodgerTheGreat shivers
02:12:19 <oerjanj> you could make the IP coordinates" be relative to the previous command
02:12:27 <Razor-X> oerjanj: Yeah.
02:12:32 <Razor-X> I think that would be a nice idea.
02:12:56 <pikhq> Except that each IP coordinate merely defines a one-dimensional string. Which command in that string would it be relative to?
02:13:06 <oerjanj> and you could have a notation for defining which coordinate increases along the string
02:13:06 <RodgerTheGreat> or, you could say that the code runs in a straight line, and each "kink" is defined by an angle vector.
02:13:16 <Razor-X> The previous coordinate on the non-parallel axis.
02:13:22 <oerjanj> the last on the line
02:13:26 <Razor-X> Let's call the non-parallel axis I, for now :P.
02:13:58 <Razor-X> RodgerTheGreat: *Shudder* too mach physics there for me.
02:14:19 <Razor-X> I don't think well in graphical form, sorry :P.
02:14:42 <Razor-X> (n-space works in number form in my head. I have no graphical interpretation.)
02:14:45 <RodgerTheGreat> ... says the person who regularly discusses quantum computing...
02:15:01 <Razor-X> Not regularly.
02:15:03 <oerjanj> you could of course mix relative and absolute coordinates depending on which is more efficient in each case
02:15:06 <Razor-X> That's lament and ihope ^^^.
02:15:12 <RodgerTheGreat> heh
02:15:16 <Razor-X> oerjanj: But then we deviate from BF :(.
02:15:42 <RodgerTheGreat> what we really need is an n-dimensional text editor.
02:15:47 <pikhq> *echm* Plain, simple code means that we do absolute coordinates.
02:15:48 <Razor-X> Haha.
02:15:55 <pikhq> That would be nice, RodgerTheGreat.
02:16:09 <Razor-X> pikhq: But then, doesen't that completely divorce it from BF?
02:16:20 <pikhq> Damned fancy relative coordinates? If you want it, Razor-X, go ahead; I'm not doing it.
02:16:30 <RodgerTheGreat> I've seen projects for building 3d text editors... in theory you could generalize something like that...
02:16:32 <pikhq> How so? It's friggin' isomorphic to Brainfuck as it is!
02:16:42 <Razor-X> BF *is* 1 dimensional.
02:16:45 <Razor-X> Left, right, increment.
02:16:48 <RodgerTheGreat> yes
02:16:50 <Razor-X> Just like any stack.
02:17:14 <RodgerTheGreat> I prefer the term "tape automaton".
02:17:20 <Razor-X> Fine :P.
02:17:26 <RodgerTheGreat> :D
02:17:59 <pikhq> Our code can only *move* in one dimension at a time. However, it can pick any arbitrary dimension to move in.
02:18:06 <oerjanj> the ultimate in relative coordinates would of course be for it to be impossible for the program to know which dimension it is moving along
02:18:30 <Razor-X> pikhq: Read my argument on metaxes.
02:18:30 * RodgerTheGreat feels an aneurism coming on
02:18:43 <Razor-X> oerjanj: Hehe, yeah. That's the ``truest'' way.
02:18:57 <oerjanj> the =_ commands are actually more helpful for this than ()+ notation
02:19:07 <pikhq> And I don't want relative coordinates, because I want to be able to code in this and have a hope of retaining my sanity.
02:19:33 <Razor-X> Well then *shrug*. You kinda lose the BF-fun, but whatever.
02:19:43 <pikhq> What do you mean, lose the BF-fun?
02:19:54 <pikhq> Care to give an example how this divorces it from Brainfuck?
02:20:09 <Razor-X> I'd just put all my constants in (1,y,z), do other operations on (2, y, z), etc.
02:20:34 <Razor-X> Since I have absolute space, I may as well partition out like variables and malloc like in a normal non-stack-based language.
02:20:53 <pikhq> Which you could do in this. . .
02:21:34 <pikhq> Oh. That's your point, isn't it?
02:21:43 <Razor-X> Yeah :P.
02:22:09 <oerjanj> well, you can do it in BF itself, can't you?
02:22:20 <Razor-X> Nope.
02:22:38 <Razor-X> You can only increment or decrement the pointer, it's in relation to the last value of the PC.
02:22:41 <Razor-X> Hence stack-based.
02:22:48 <pikhq> You're just wanting this to be even harder then it already is.
02:22:51 <pikhq> Evil woman.
02:23:04 <Razor-X> I'm trying to make it as mathematically complete as possible :P.
02:23:20 <pikhq> It's Turing complete; what more do you need?
02:23:40 <Razor-X> Well, you're basing it on dimensions, so I thought you'd like ``dimensional completeness'', heh.
02:24:10 <pikhq> The only thing I don't like about the language is the current representation of each dimension in the file.
02:24:20 <oerjanj> but dimensifuck also has some of the same limitations, you cannot point to more than one program location
02:24:40 <Razor-X> oerjanj: Can you do that in C?
02:24:50 <pikhq> Ever heard of multithreading?
02:24:55 <Razor-X> You can't make a pointer point at two places at once....
02:25:03 <Razor-X> Multithreading is a whole different beast.
02:25:10 <oerjanj> you can have pointers to functions
02:25:34 <Razor-X> But the pointer still only points at once place.
02:25:43 <Razor-X> Nothing can point at more than one memory location.
02:25:58 <oerjanj> my point is that DF and BF both have only one pointer into program code
02:26:08 <Razor-X> Well yeah, only one pointer, true.
02:26:18 <oerjanj> while C can have as many pointers as you want
02:26:22 <Razor-X> But a stack also uses relative addressing. That was my main gripe.
02:26:49 <Razor-X> I wanted to make it mathematically complete and more BF-compatible, even if the user is sacrificed :P.
02:27:08 <pikhq> Now I understand.
02:27:30 <Razor-X> Because 2+2 is never equal to 5, no matter how much you want it to ;).
02:27:50 * oerjanj starts calculating mod 1
02:27:58 <pikhq> Now that I understand, I can say that I want it divorced from Brainfuck.
02:28:10 <Razor-X> If you do that, then fine.
02:28:10 <RodgerTheGreat> 2+2=5 for extremely large values of 2.
02:28:14 <Razor-X> ;).
02:28:21 <pikhq> I wanted more capabilities in the language, but still force the coder to be friggin' insane.
02:28:34 <RodgerTheGreat> or if the Ministry of Truth says so...
02:28:35 <oerjanj> a truly worthy goal
02:28:35 <Razor-X> Then you may as well take the Funge route.
02:28:46 <Razor-X> RodgerTheGreat: Doublethink~
02:28:48 <Razor-X> *!
02:28:55 <Razor-X> It's how I learned quantum computing from ihope.
02:28:57 <pikhq> Brainfuck just provides an instruction set that I already grok, really.
02:29:18 <Razor-X> pikhq: I mean like, don't keep it horribly restricted.
02:29:20 <pikhq> It was chosen to spare *me*. ;)
02:29:33 <Razor-X> *Funge has a lot of commands so, it's not a turing tarpit.
02:29:51 * oerjanj gets an idea on relative dimensions
02:29:54 <RodgerTheGreat> too many commands, if you ask me.
02:30:12 * pikhq wants a Turing tarpit; just one that is a lot more capable then Brainfuck. ;)
02:30:16 <Razor-X> True.
02:31:47 <RodgerTheGreat> I think DF is pretty capable.
02:32:16 <pikhq> It just still demands
02:32:19 <pikhq> Argh.
02:32:30 <pikhq> How the hell did I hit enter instead of C-k?
02:32:37 <oerjanj> karma
02:32:44 <pikhq> Something like that.
02:33:00 <pikhq> Someone up there must not be terribly fond of the insanitjy of DF.
02:33:08 <pikhq> You see?
02:33:18 * RodgerTheGreat is fond of DF...
02:33:21 * oerjanj did similarly a moment ago
02:34:10 * pikhq is equally fond of it
02:34:26 <RodgerTheGreat> awesome.
02:34:40 * Razor-X may think of a fork.
02:34:42 <Razor-X> :P.
02:34:51 <RodgerTheGreat> have you tried my DF interpreter?
02:34:51 <oerjanj> hm, to lay out larger 2D portions of DF code, it might be useful to let the IP code start a _page_ rather than a line
02:35:03 <pikhq> RodgerTheGreat: You wrote an interpreter already?
02:35:29 <pikhq> oerjanj: Tried that. Made for a large 3D space, and nothing else.
02:35:37 <RodgerTheGreat> I may be confusing you here- I meant "Doublefuck".
02:35:51 <pikhq> I meant Dimensifuck.
02:36:00 <RodgerTheGreat> yeah, I figured that out.
02:36:16 <pikhq> Thus, the confusion.
02:36:19 <oerjanj> local DF="dimensifuck"
02:36:56 <RodgerTheGreat> local DBF="Doublefuck".
02:37:04 <RodgerTheGreat> now there can be no confusion.
02:38:00 <pikhq> :)
02:39:15 <RodgerTheGreat> anyway, let me restate- do you want to play with my DBF interpreter?
02:39:23 <oerjanj> what about 0.1.2-25.6.-1 This line is laid out in the 3rd dimension
02:40:05 <oerjanj> would make it easier to lay out non-"horizontal" pathways
02:40:14 <pikhq> You know what one of the most amusing things is about Dimensifuck? I can insert comments in the code without adding to the code size at all. ;)
02:40:46 <RodgerTheGreat> a potentially useful trait...
02:42:43 <oerjanj> (actually just 0.1.2-.6.-1 would be enough)
02:44:20 <oerjanj> a question: must DF code be laid out in reverse lexicographic IP order?
02:44:54 <pikhq> I'm fairly certain the code in the file can be laid out in any arbitrary order.
02:54:31 <oerjanj> hm, the tex spec does not seem to allow more than one command per line
03:06:51 -!- oerjanj has quit ("time for bed").
03:50:11 <Razor-X> Wooh. We're still talking about DF? :P.
03:50:25 * RodgerTheGreat shrugs.
03:50:33 <RodgerTheGreat> do you have any other suggestions?
03:50:37 <Razor-X> EDF!
03:50:41 <Razor-X> My fork!
03:50:45 <Razor-X> (Heh.)
03:51:02 <Razor-X> We need a truly innovative language that isn't just unreadable or a turing-tarpit. Something wholly new.
03:51:08 <Razor-X> That's what I really want to find.
03:51:14 <RodgerTheGreat> tarpits are fun...
03:51:46 <pikhq> Fine. Come up with something that is uniquily painful.
03:52:04 <Razor-X> Yes. That is my new purpose.
03:52:18 <RodgerTheGreat> uniquely painful... hm.
03:52:42 <Razor-X> o_O.
03:52:43 <RodgerTheGreat> it'll need to be primarily semantic pain- encryption's been done.
03:53:00 <Razor-X> Wait no, that's not appropriate for this channel.
03:53:10 <Razor-X> Heh.
03:53:22 <RodgerTheGreat> ?
03:53:34 <pikhq> What's not?
03:54:08 <Razor-X> 別に。
03:54:49 <RodgerTheGreat> "Seperately"?
03:55:25 <Razor-X> No. It's an expression :P.
03:55:53 <Razor-X> But yeah, that's (one of) the Kanji for cutting/seperation.
03:56:12 <RodgerTheGreat> then elucidate your wording. I'm sorry to inform you that I am not remotely fluent in Japanese.
03:57:05 <Razor-X> It means ``Nothing'' :).
03:57:24 <RodgerTheGreat> ah
03:57:33 <RodgerTheGreat> that makes significantly more sense.
03:57:38 <Razor-X> Yes.
03:57:50 <RodgerTheGreat> by what means do you come to this knowledge of Japanese?
03:57:58 <pikhq> Is it just me, or do us esoteric coders seem to like Japanese?
03:58:05 <pikhq> Boku mo nihongo o hanasu. ;)
03:58:14 <Razor-X> 私の家の勉強ですよ。
03:58:53 <Razor-X> すみません、ですけど、前に私は「ます」っ言わさせます。
03:59:34 <Razor-X> I speak Esperanto, Bengali, and French too, if you consider French a language.
04:01:25 <RodgerTheGreat> I don't consider french a language worth knowing- I can't imagine it would grant me entrance to anything worthwhile. Japanese is quite useful on the internet, and I imagine that Esperanto might come in handy if you ever choose to create a "utopian society" or something.
04:02:15 <Razor-X> The nifty thing about Esperanto is that, there's always a speaker of some small language or another who can also speak Esperanto, which often means you'll get Esperanto translations.
04:02:53 <pikhq> Esperanto is also nice for stifling boredom (just like Esolangs)
04:03:12 <RodgerTheGreat> one could also argue that learning Esperanto could make the languages it was based on more accessible, but if similarity to other languages is key, English is king.
04:03:12 <Razor-X> Well... may as well learn Lojban then ;).
04:03:38 <Razor-X> RodgerTheGreat: It's helped my French a lot, and enough that I can understand elementary Spanish and Portugese.
04:03:39 <RodgerTheGreat> Esperanto is one of the closest things to a human esolang.
04:03:50 <Razor-X> But it's by no means esoteric.
04:04:00 <Razor-X> It's easy to learn, completely regular, sensible, ....
04:04:01 <RodgerTheGreat> it is, however, synthetic.
04:04:11 <Razor-X> And C isn't? ;)
04:04:22 <Razor-X> Or did somebody just start speaking in pointers one day?
04:04:33 <RodgerTheGreat> it's a bit like Latin- more useful as an exercise than as an actual day-to-day language.
04:04:37 * pikhq has created a true human esolang. . .
04:04:49 <Razor-X> Lojban is the real human Esolang.
04:05:01 <Razor-X> Fascinating in its constructs, and difficult to speak in for that reason.
04:05:22 <Razor-X> But I love a lot about it, and should resolve myself to memorize the 1000 cmavo one day.
04:06:12 <Razor-X> It's truly a pity that the human body requires so much sleep.
04:06:31 <pikhq> A: Any noun. Ba: Any verb. Ca: Any adjective. Da: Any adverb. Ga: Any punctuation. Gxa: any curse word (all pronounced as though in Esperanto)
04:06:52 <Razor-X> Lojban has no real parts of speech :P.
04:06:54 * pikhq was bored in class. Sorry.
04:07:18 <pikhq> Razor-X: 'Tis a pity, indeed.
04:07:25 <Razor-X> pikhq: Why?
04:07:56 <Razor-X> The moment you restrict yourself to parts-of-speech, you keep yourself in the world of the mundane ;).
04:08:18 <RodgerTheGreat> hm.
04:08:20 <pikhq> It was meant to be pointless.
04:08:26 <Razor-X> Heh.
04:08:35 <pikhq> Everything is a wildcard. Easy to translate, hard to grok.
04:08:45 <Razor-X> :P.
04:10:41 <Razor-X> My main complaints about English are that it's A) Horribly irregular and B) Sounds like Bush defiling Chamberlain.
04:11:34 <RodgerTheGreat> the real problem with constructed languages is that humans tend to communicate in a highly predictive, fluid, and redundant manner. You could miss several words in a sentence completely, and easily fill in the gaps (except when those specific words are targets of the sentence- subject, specifier nouns/adjectives). A language that presents information concisely, logically, and in a well-structured manner doesn't play well to n
04:12:41 <Razor-X> What does that have to do with Esperanto? It's structure is more variable than English's structure, and also, you got cut off after ``doesn't play well to n'' .
04:12:46 <Razor-X> *Its
04:12:59 <RodgerTheGreat> * doesn't play well to natural human aptitudes.
04:13:28 <Razor-X> When I speak in Esperanto, I omit explicit the subject, which is something I've picked up from Japanese and Bengali.
04:13:45 <Razor-X> I also use the English habit of often dropping the formal question marker.
04:14:10 <Razor-X> I prefer to put things in the accusative case instead of using a preposition because of my French experience too.
04:14:26 <Razor-X> That's what I love about Esperanto. It's very free in its sentence structure.
04:14:38 <RodgerTheGreat> I simply feel that designed language, rather than emergent language, is a flawed conception of how humans use language- just as attempting to resist change in existing languages is a fallacy.
04:14:38 <Razor-X> *I omit the explicit subject.
04:15:05 <Razor-X> When did we say Esperanto doesen't change?
04:16:17 <Razor-X> In the days of Esperanto's inception, people would call an American ``Usonanto'' now they're called ``Usono'' because of change in the use of suffixes. A verb common in Esperanto in the beginning was ``opinii'' -- to opine (to have an opinion about), that word has since dropped in favor of ``pensi'' -- to think.
04:17:30 <Razor-X> Another one is, in the inception of Esperanto, ĉi tie was used to mean ``here''. It's been superseded by ``tie ĉi'', but I still prefer ``ĉi tie''.
04:21:00 <Razor-X> Errr, I got my Usono example wrong, because Usonanto is used now. I forgot the old word....
04:24:21 <RodgerTheGreat> hm.
04:25:34 <Razor-X> There's also been shifts in the language because of the feminist movement. Male conjugations of occupations (like proffesor, and such, which are Esperanto's default forms) would mean specifically male. It's come to mean a person of both genders now.
04:47:09 <RodgerTheGreat> I think I'm going to call it a night. Goodbye everybody.
04:47:21 * pikhq mumbles about his back hurting too damned much
04:47:52 -!- RodgerTheGreat has quit.
04:47:58 <pikhq> It's like someone has been hitting me in one of ribs with a baseball bat once very few minutes.
04:48:17 <pikhq> That can't be a good thing.
04:48:52 -!- Arrogant has joined.
04:59:56 <Razor-X> You're getting old!
04:59:59 <Razor-X> Old old old!
05:00:06 <Razor-X> Nya nya nya!
05:00:16 * pikhq hits Razor-X in the back
05:00:24 <Razor-X> Hey... it's not nice to hit girls...
05:00:47 <pikhq> You're lesbian. Make up your mind. :p
05:02:28 <Razor-X> I said hit girls, not hit *on* girls ;).
05:02:41 <Razor-X> And I'm bisexual in all technicality, so yeah.
05:03:14 <pikhq> Oh.
06:01:49 -!- ivan` has joined.
06:26:39 -!- Paragon_ has joined.
06:33:07 -!- Arrogant has quit (Nick collision from services.).
06:33:11 -!- Paragon_ has changed nick to Arrogant.
07:28:08 -!- _jol_ has joined.
07:58:12 -!- Brime has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:35 -!- _jol_ has quit ("leaving").
10:31:37 -!- Arrogant has quit ("Leaving").
10:58:10 -!- graue has joined.
11:45:37 -!- Brime has quit ("Leaving").
15:00:04 -!- lindi- has quit (Read error: 54 (Connection reset by peer)).
15:05:14 -!- lindi- has joined.
15:10:38 -!- RodgerTheGreat has joined.
15:10:49 <RodgerTheGreat> 'morning, everybody.
15:11:24 <ihope> Morning.
15:12:42 -!- _jol_ has joined.
15:44:24 -!- CXI has quit (Read error: 110 (Connection timed out)).
15:44:39 -!- _jol_ has quit ("leaving").
15:59:48 <RodgerTheGreat> there is now an EsoLang article upon DBF: http://esoteric.voxelperfect.net/wiki/DoubleFuck
16:00:04 <RodgerTheGreat> (I'm still working on some code examples)
16:02:58 <pgimeno> I like the ease of writing stacks with DF
16:03:14 <pgimeno> of having a stack, even
16:03:33 <pgimeno> or is it DBF?
16:04:16 <RodgerTheGreat> well, we were discussing calling it "DBF", because the DimensiFuck project seems to have claimed "DF"
16:04:40 <RodgerTheGreat> "DBF" is harder to confuse.
16:04:43 -!- CXI has joined.
16:05:19 <RodgerTheGreat> Do you know of any DBF interpreters/programs/etc that you could add to the article?
16:07:46 <RodgerTheGreat> I'm doing some work on a fibonacci sequence program for the "examples" section. I may do a "Hello World" as well, unless someone else does one first.
16:12:53 -!- BigZaphod has quit.
16:27:03 <RodgerTheGreat> bbl
16:56:55 -!- graue has quit ("Leaving").
17:10:34 <RodgerTheGreat> back
18:24:36 -!- smokecfh has joined.
18:46:46 <Razor-X> BF variants are so easy to think up.
18:47:33 <Razor-X> I propose we make DoubleBoolFsck, based on DBF but used with BoolF, we make TritFsck, which is like BoolF with trinary numbers instead, and DOUBLETritFsck, which is like DBF but using TritFsck as well!
18:48:11 <Razor-X> What say you?!
18:51:30 <RodgerTheGreat> if you feel like adding all the wiki entries, go ahead by all means. :)
18:52:08 <Razor-X> Heh.
18:52:20 <Razor-X> BF has been overdone/overused.
18:52:26 <Razor-X> We must find something new!
18:54:04 * RodgerTheGreat puts on his thinking cap.
18:55:26 <Razor-X> Let's get away from stack-based, because that's old and overused.
18:55:54 <RodgerTheGreat> man, I just cracked open a can of canada dry that's been sitting in my closet for a couple of years. It tastes rather odd.
18:56:09 <RodgerTheGreat> by "a couple" I mean around seven.
18:56:37 <RodgerTheGreat> I think "register based" languages have some potential.
18:59:52 -!- Sgeo has joined.
19:00:05 <RodgerTheGreat> we could also go in the direction of a more complex particle automaton.
19:00:58 <Razor-X> Particle automaton?
19:01:14 <RodgerTheGreat> like Life or Noit o' mnain worb.
19:01:26 <Razor-X> ... ?
19:01:34 <Razor-X> Mnain worb?
19:02:05 <RodgerTheGreat> one moment...
19:05:07 <RodgerTheGreat> many of the pages about are down- I'm consulting the wayback machine...
19:08:45 <RodgerTheGreat> argh
19:09:14 <RodgerTheGreat> oh, hey- there's an esolang article about it: http://esoteric.voxelperfect.net/wiki/Noit_o'_mnain_worb
19:09:38 <RodgerTheGreat> shoulda looked there first.
19:10:07 <pikhq> Razor-X: Well, at least with DimensiFuck, yeah. . . Brainfuck has now conquered all. New stuff is needed.
19:10:15 <pikhq> 3D Life? :p
19:10:46 <RodgerTheGreat> worb is designed to be coded in ~5d
19:10:53 <pikhq> Damn.
19:11:26 <ihope> 3D Life?
19:11:56 <pikhq> Just a thought.
19:12:17 <ihope> There are plenty of 3D cellular automata out there.
19:12:59 <RodgerTheGreat> we could experiment with merging cellular automata with programming languages- cells that contain programmable logic of some kind...
19:13:15 <RodgerTheGreat> and of course can reproduce.
19:13:52 <ihope> Just compile some programming language into CA.
19:13:54 <RodgerTheGreat> throw in mutation, and you could have an environment where "programnisms" could evolve to perform tasks.
19:14:08 <Razor-X> There's one Esolang like that already, I just can't remember the name.
19:14:12 <Razor-X> Minus the mutations, IIRC.
19:14:43 <RodgerTheGreat> mutations would introduce enough of an innovation to be worthy of creating a new language.
19:15:12 <RodgerTheGreat> brb- I'll be switching over to my laptop in a moment...
19:15:14 <Razor-X> What would be these ``rules of mutation'' ?
19:15:30 -!- RodgerTheGreat has changed nick to RodgerTheAfk.
19:18:34 -!- RodgerTheGreat has joined.
19:18:53 <RodgerTheGreat> back
19:19:27 <Razor-X> What would be these ``rules of mutation'' ?
19:20:37 <RodgerTheGreat> depends on how you wanted reproduction to work- the "internal" language of the cells would need to be designed to allow for random changes in code without ruining a program
19:20:52 <ihope> Quantum cellular automata?
19:20:58 * Razor-X shudders.
19:21:05 <RodgerTheGreat> <>+- from BF would work well, but [] would be vulnerable to breakage.
19:21:05 * ihope shoots himself
19:21:20 <Razor-X> ihope: So is EQBF technically ``more'' quantum complete than BF?
19:21:24 <Razor-X> *than QBF?
19:21:41 <RodgerTheGreat> having discrete functions in the programnisms would probably be a good way to protect functioning code
19:21:47 <ihope> Razor-X: probably.
19:22:20 <ihope> Apparently the number of quantum gates is uncountable, and QBF is countable in every way, I think...
19:22:50 <Razor-X> Aha. So I must learn EQBF now.
19:25:55 <pgimeno> hey, I've come with a new idea for a language... it has 8 instructions, ,.><+-[]
19:26:17 <pgimeno> , does input, . does output, > increments the data pointer...
19:27:48 <pgimeno> ... < sets the data register, + performs substract without borrow in ternary, - performs rotation, [ does jump and ] terminates the program
19:28:10 <Razor-X> We have rehashed BF!!
19:28:16 <Razor-X> Congratulations!
19:28:33 <pgimeno> nope, it's not a BF derivative, it's a DIS derivative
19:28:38 <pgimeno> :P
19:28:52 <Razor-X> That's what I call ingenuity :).
19:29:00 <pikhq> It just looks like Brainfuck. Insanity.
19:29:08 <pikhq> Now, right a polyglot quine with it.
19:29:13 <pikhq> s/right/write/
19:29:53 <pgimeno> </irony> I'm a bit tired of BF derivatives, you know...
19:30:48 <pgimeno> http://esoteric.voxelperfect.net/wiki/Dis
19:31:00 <pgimeno> Dis is a good language to write 99bob in
19:32:03 <ihope> 99 bobbles of beer on the wall...
19:33:11 <pgimeno> who's up for a round of IRP? "Please write the lyrics of the 99 bottles of beer song"
19:35:06 <ihope> 99 bottles of beer on the wall
19:35:27 <Razor-X> I liked HQ9+.
19:35:29 <Razor-X> I can make 99
19:35:36 <Razor-X> *99-bottles-of-beer pretty easily.
19:35:39 <ihope> 99 bottles of beer
19:36:45 <ihope> Take one down, pass it around
19:36:54 <ihope> (I don't want to get accused of flooding.)
19:38:12 <ihope> 98 bottles of beer on the wall.
19:39:02 <Razor-X> Take 97 down, pass them around
19:39:10 <Razor-X> 1 bottle of beer on the wall
19:39:16 <Razor-X> Take one down, pass it around
19:39:21 <ihope> Take it down, drink it all yourself, we're done.
19:39:22 <Razor-X> No bottles of beer on the wall.
19:39:30 <Razor-X> Aw. Pshhh.
19:39:42 <pgimeno> that was fast :)
19:39:55 <ihope> Yep. We finished before 9:00!
19:40:10 <ihope> My time, that is...
19:52:48 <Sgeo> Bye all
19:53:14 <RodgerTheGreat> cya
19:53:39 -!- Sgeo has quit ("Ex-Chat").
19:55:14 <pikhq> !hq9+ 9
19:55:17 <EgoBot> Huh?
19:55:25 <pikhq> It needs to do hq9+.
19:56:16 <ihope> !help
19:56:19 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
19:56:21 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
19:57:35 <pikhq> d!ls
19:57:37 <pikhq> !ls
19:57:39 <EgoBot> bf/, glass/, linguine/
19:57:45 <pikhq> !ls bf
19:57:49 <EgoBot> LostKng.b, numwarp.b
19:58:03 <pikhq> !bf file:///bf/LostKng.b
19:58:06 <EgoBot> Lost Kingdom
19:58:23 <ihope> !ps d
19:58:26 <EgoBot> 1 GregorR-W: daemon cat bf
19:58:28 <EgoBot> 2 pikhq: bf
19:58:29 <EgoBot> 3 GregorR-W: daemon EgoBot bf8
19:58:31 <EgoBot> 4 ihope: ps
19:58:44 <pikhq> Seems he modded it a bit so that it goes to private messages.
19:58:48 <ihope> !i 2 h\n
19:58:49 <EgoBot> Enable long room descriptions (Y/N) ?
19:58:52 <ihope> Oh.
19:58:55 <pikhq> Or not.
19:59:02 <ihope> All but the first line?
19:59:08 <ihope> !daemon lostkng bf file:///bf/LostKng.b
19:59:11 <EgoBot> Lost Kingdom
19:59:15 <pikhq> Most of it is going to me.
19:59:32 <pikhq> Probably the anti-flooding stuff.
19:59:33 -!- _jol_ has joined.
19:59:44 <ihope> Aye.
19:59:57 <ihope> !lostkng look
20:00:00 <EgoBot> Enable long room descriptions (Y/N) ?
20:00:14 <ihope> !kill 2
20:00:17 <EgoBot> Process 2 killed.
20:00:19 <ihope> !undaemon lostkng
20:00:24 <EgoBot> Process 4 killed.
20:00:37 * pikhq prefers LostKng done using Basm. . .
20:00:50 <pikhq> Can't even tell it's written in Brainfuck, not C.
20:03:56 <RodgerTheGreat> I emailed the guy that created LostKingom- he let me look at the commented source. fascinating stuff.
20:04:28 <GregorR> pikhq: That's not a mod, that's how it's always worked.
20:06:12 <GregorR> The rule is: for every line of input it receives, it is allotted one line of output (plus the one line it is always allotted upon startup)
20:06:13 <pikhq> GregorR: I thought it was all going to private message at first. I then realised it's just your anti-flooding stuff.
20:09:55 -!- pgimeno has quit ("You're lucky as you can read this message but I can't").
20:10:38 * ihope points pgimeno to the logs
20:20:39 -!- smokecfh has quit (Remote closed the connection).
20:22:31 <RodgerTheGreat> brb
20:22:38 -!- RodgerTheGreat has quit.
20:27:22 -!- RodgerTheAfk has changed nick to RodgerTheGreat.
20:27:30 <RodgerTheGreat> back
20:31:13 <ihope> Reboot time.
20:32:24 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
21:19:56 -!- _jol_ has quit ("co'o").
21:25:08 <pikhq> http://nickv111.is-a-geek.com:8080/~pikhq/Hello.dim
21:25:43 <RodgerTheGreat> nicely formatted.
21:25:59 <pikhq> :)
21:26:31 <pikhq> Kind of hard to draw out a diagram of that.
21:28:01 <pikhq> Argh. Minor bug in it; fixed.
21:29:03 <pikhq> All that code, BTW, was merely systematically translated from the Brainfuck equivalent. . .
21:29:57 <RodgerTheGreat> yeah, I noticed
21:30:30 <pikhq> Nice, clean, simple.
21:30:58 <pikhq> So, I've managed to prove Dimensifuck Turing complete while writing it.
21:31:33 <RodgerTheGreat> Hello World != Turing complete. :)
21:31:48 <GregorR> Write a BF interpreter.
21:31:54 <GregorR> Or BitChanger if that's easier.
21:31:58 <RodgerTheGreat> otherwise HQ9+ would be turing complete... *shudder*...
21:32:30 <RodgerTheGreat> would writing an HQ9+ interpreter prove it turing complete? That requires math and flow control...
21:32:45 <pikhq> Actually, I proved it Turing complete because of how I wrote the program; I just systematically converted from Brainfuck.
21:33:55 <RodgerTheGreat> well, that's not really a proof. It's turing complete because it's a polymorphism OF a turing-complete language- proof by distribution.
21:34:07 <RodgerTheGreat> ... er, association.
21:34:20 <pikhq> Well, it's not a formal proof or anything.
21:36:36 <pikhq> http://esoteric.sange.fi/brainfuck/bf-source/prog/dbfi.b Fine. I'll rewrite that in Dimensifuck.
21:37:14 <RodgerTheGreat> there ya go.
21:37:19 <RodgerTheGreat> now *that's* a proof.
21:37:38 <RodgerTheGreat> pikhq: did you ever look at the doublefuck page I added this morning?
21:38:00 <pikhq> Not yet.
21:38:20 <RodgerTheGreat> http://esoteric.voxelperfect.net/wiki/DoubleFuck <- :D
22:07:55 <ivan`> why do almost all esoteric languages only parse one-instruction per byte?
22:08:04 <ivan`> surely that limits the amount of esotericness possible
22:09:07 <Razor-X> Do you mean per instruction word?
22:12:04 <ivan`> yep
22:12:29 <pikhq> Let me just do a simpler proof of Turing completeness
22:12:35 <pikhq> [ equals:
22:12:45 <pikhq> =v
22:12:47 <pikhq> _
22:12:55 <pikhq> ^
22:12:59 <pikhq> And ] equals:
22:13:08 <pikhq> =v
22:13:14 <pikhq> Err.
22:13:25 <pikhq> =v ^-
22:13:30 <pikhq> _ _
22:13:41 <pikhq> =^+^
22:13:44 <pikhq> Argh.
22:13:46 <Razor-X> Flood!
22:13:52 <pikhq> -_-'
22:15:15 <pikhq> 0[=v =v ^-
22:15:16 <pikhq> 1 _ _ _
22:15:20 <pikhq> 2 ^*insert code here*=^+^
22:15:34 <pikhq> There. [ and ].
22:16:42 <pikhq> s/-/-]/, please. (gets the point across better)
22:16:57 <Razor-X> More flood!
22:17:10 * pikhq cries a river which floods the world
22:22:27 <pikhq> Infinite loops are easy to write.
22:22:42 <pikhq> ^+v Voila.
22:59:14 -!- nooga has joined.
22:59:20 <nooga> u u
23:02:15 <pikhq> 0[=v =v ^-]
23:02:20 <pikhq> 1 _ _ _
23:02:23 <pikhq> 2 ^*insert code here*=^+^
23:05:42 <nooga> wut's that?
23:07:38 <pikhq> My simple proof of Dimensifuck's Turing completeness.
23:08:05 <pikhq> Basically, implementing [ and ] in Dimensifuck (all the other Brainfuck opcodes are also valid in Dimensifuck)
23:09:31 <nooga> oh
23:09:48 <pikhq> If you come up with something simpler, I'd be glad to hear it.
23:10:46 <nooga> well
23:10:54 <nooga> idk need to reboot %|
23:11:15 -!- nooga has quit (Read error: 104 (Connection reset by peer)).
23:48:46 -!- calamari has joined.
23:52:55 <Razor-X> It would help if I knew what Turing-completeness meant.
←2006-08-05 2006-08-06 2006-08-07→ ↑2006 ↑all