00:10:35 -!- Razor-X has left (?).
00:10:41 -!- Razor-X has joined.
00:38:40 <GregorR> http://www.donotputthebaby.com/index.php?s=Snakes
00:47:32 <jix> GregorR: there was a discussion 'bout that movie on #codegolf
00:47:39 <jix> just in this moment
00:48:34 <jix> WTF?! i posted the link just because you told me OMG!?
00:49:34 <jix> np: The Sounds - Hope Your're Happy Now [ Living in America ]
00:54:08 -!- ihope_ has quit (Connection timed out).
01:01:25 <Razor-X> I only heard about the movie recently. Sorry, I'm not much into pop culture.
01:01:34 <Razor-X> But I could only think about bestialities when I heard the name.
01:05:03 -!- oerjanj has joined.
01:07:27 * pikhq had a crazy idea. . .
01:07:48 <pikhq> Imagine a programming language which operates on a Rubik's cube.
01:08:32 * pikhq has nothing fleshed out; just a random, odd idea
01:09:27 <oerjanj> it is a bit small for a memory...
01:09:41 <pikhq> Just idle thought.
01:09:48 <RodgerTheGreat> yes. you'd want something larger, unless you had something like a stack in addition.
01:09:55 <oerjanj> perhaps as pointer to memory
01:10:04 <oerjanj> although it would still be finite then.
01:10:23 <pikhq> Or make the memory a *set* of Rubik's cubes.
01:10:25 <RodgerTheGreat> you could perhaps use the cube as your working register(s), with memory and program space seperate.
01:10:51 <oerjanj> so a RC state would be your basic data type
01:11:07 <Razor-X> You mean you have to line up the cubes right to access the memory?
01:11:16 <RodgerTheGreat> map a word of memory to each face, and then perform calculations with rotation instructions.
01:11:25 <pikhq> . . . And no, I'm not wanting to flesh this out any further.
01:11:31 -!- kipple has quit (Read error: 110 (Connection timed out)).
01:11:37 <Razor-X> Sounds like your average 3D language to me.
01:12:38 <oerjanj> there are many options for such a language
01:12:45 <pikhq> The memory would be composed of Rubik's cubes. . . All operations on it would be "rotate face foo". . .
01:13:02 * pikhq is fleshing this out even though he doesn't want to. . . GAH!
01:13:33 <pikhq> I go in here working on an Esolang once, and I'm *stuck*.
01:13:58 <oerjanj> it would be simple to make a BF clone based on this idea
01:14:17 <Razor-X> <Darth Vader> NOOOOOOOOOOOOOOOOOOO!!!! </Darth Vader>
01:14:44 * pikhq wonders how addition could be expressed in terms of rotating a cube. . .
01:15:04 <oerjanj> it would be group multiplication
01:15:57 <jix> pikhq: rubics cube rules... but i'm slow at solving them was like 4 minutes or something
01:16:20 <oerjanj> i recall that there is a pattern of rotations that takes more than a thousand repeats to return to the initial state, that would
01:16:35 <oerjanj> give you increments modulo a somewhat large number
01:16:36 <pikhq> jix: I can't remember how to solve the last layer (that's what brought me to this evil idea).
01:16:49 <jix> pikhq: depends on which method you choose
01:16:51 <oerjanj> basically turn one face, then the whole cube
01:17:10 * oerjanj sometimes did this when bored
01:21:12 <oerjanj> i remember there was a trick using commutators: do rotation 1, then rotation 2, then reverse rotation 1, then reverse rotation 2
01:21:59 <jix> oerjanj: you do that to rotate edges on the last layer (if you use the algorithm i use)
01:22:02 <RodgerTheGreat> the other fun thing would be to use the cube for I/O, somehow.
01:22:07 <oerjanj> where each rotation can be a more complicated operation
01:22:39 <oerjanj> the thing about that is that anything not touched by both rotations will not be moved by the combination
01:23:17 <pikhq> RodgerTheGreat: Yes! Make I/O just a special cube in the memory!
01:24:07 <oerjanj> this makes me think of C-intercal's turing tape I/O
01:24:41 <oerjanj> where you have to know everything that was previously inputed/outputted
01:25:13 <oerjanj> in order to know the right thing to put next
01:26:10 <oerjanj> except this RC version would be more difficult since you can't reach every state with just one operation
01:26:28 <oerjanj> operation=rotation in this case
01:27:14 <oerjanj> or maybe the final state of the cube would be the entire output? but then it would be bounded in size
01:27:14 <RodgerTheGreat> well, we should allow the program to base it's actions on the contents of each cube.
01:27:51 <RodgerTheGreat> if a programmer requires a specific orientation, they'll have to "solve" the cube first.
01:28:11 <RodgerTheGreat> this would lend itself toward allowing the creation of libraries.
01:28:27 <oerjanj> uh, this could be _worse_ than malbolge...
01:29:10 <CakeProphet> Hmmm... an esolang that functions like a rubix cube...
01:29:17 <RodgerTheGreat> it wouldn't be as bad as malbolge if you can build libraries.
01:29:44 <RodgerTheGreat> malbolge is a pain in the ass because it's almost impossible to reuse code in other programs.
01:30:20 <pikhq> I was thinking of making the only esoteric part of this being the Rubik's cube part.
01:30:32 * CakeProphet figures out how a programming language could work like brainfuck-style but with a rubix-cube like interface.
01:31:07 <oerjanj> so, basically you would have RC states instead of ints as the basic data type?
01:31:38 * CakeProphet didn't know we were already talking about this...
01:31:38 <RodgerTheGreat> you need a good way to map the faces of the cube to numbers.
01:32:20 <oerjanj> i told you you can get numbers up to about 1500 with a combination of two rotations,
01:32:21 <CakeProphet> One for a surface... and one for the individual squares.
01:33:45 -!- bsmntbombdood has quit ("all your basment are belong to bsmntbombdood").
01:34:00 <CakeProphet> But... it would be difficult to keep track of what numbers are were.... would the numbers "move" with the rotations... or would they stay in place?
01:34:40 <oerjanj> razor-X: you trying to program INTERCAL?
01:34:57 <Razor-X> oerjanj: I almost got a BF interpreter done.
01:35:08 <oerjanj> feel free to borrow parts from my Unlambda interpreter
01:35:25 <RodgerTheGreat> this is why I like my idea- ignore the actual rotations for values, just say each face is a variable, each cube represents a digit 0-5 (based on color).
01:35:52 <Razor-X> The idea was easy, and is essentially similar to most languages A) Test for input B) Modify state based on input.
01:36:32 <pikhq> Rotating is just how you set values to that variable.
01:37:19 <RodgerTheGreat> and preform math, in a vaguely Malbolge/INTERCAL style.
01:37:31 <CakeProphet> That would be mindboggling to code with... and I can't imagine anything working on it but... eh.
01:37:51 <oerjanj> but what would be the connection to rubik's cube, other than the names of the commands?
01:37:53 <pikhq> I'm sitting here with my cube, figuring out arithmetic with it.
01:38:29 <CakeProphet> I'd imagine it'd be easy to make with like an associative array or something.
01:38:41 <RodgerTheGreat> depending on the instruction set, it could be as bad as DIS, or as easy as LISP with only primitive operators.
01:41:17 <oerjanj> if Face(1).center = Green then Face(2).rotateCW ?
01:43:05 <pikhq> Okay, arithmetic is going to be rather tricky. . .
01:43:11 <pikhq> Not impossible, just tricky.
01:43:37 <CakeProphet> Like... a 7 digit number system... or something...
01:44:41 <RodgerTheGreat> it seems like you'd want pretty complex loop constructs to accomplish anything/
01:45:55 <pikhq> RodgerTheGreat: We're doing complex conditionals, along with a macro feature in the compiler/interpreter.
01:46:14 <pikhq> I'm not *that* cruel. :p
01:46:55 -!- tgwizard has quit (Remote closed the connection).
01:46:56 <oerjanj> but... wouldn't having a boolean datatype be cheating?
01:47:25 <CakeProphet> I mean... what's the test we're easing ourself out of? :D
01:47:59 <RodgerTheGreat> if you can do recursive function calls and returns and conditional evaluation, you get implicit temporary storage for free, so you could certainly synthesize math.
01:50:19 <oerjanj> hm, maybe there shouldn't be just six colors for each face...
01:50:39 <oerjanj> maybe each color should be an entire Rubik's cube
01:51:13 <oerjanj> hm, infinite recursion might give some trouble...
01:51:18 <pikhq> Macros, not functions.
01:52:03 <oerjanj> not if the macros are evaluated at compilation time...
01:52:38 <pikhq> We're talking "evaluatable via sed" kind of macros.
01:52:44 <pikhq> Not terribly complex.
01:52:48 <oerjanj> just to limit their power...
01:53:44 * CakeProphet feels like this is way out of league... probably because it is.
01:53:54 <oerjanj> well, the complexity doesn't so much enter into it as the question of whether the program can start running before every macro is expanded
01:54:34 <oerjanj> if it can, then recursive macros aren't so hard...
01:55:08 <oerjanj> you would need conditional expansion of macros though if you want your program to ever end
01:56:12 <oerjanj> you still need it if you want to ever end a macro to continue with something else
01:56:53 <oerjanj> maybe Come From would be sufficient
01:57:09 <RodgerTheGreat> wouldn't nesting the macro call in a conditional take care of the infinite recursion "problem"?
01:57:20 * oerjanj wouldn't suggest something as trivial as Go To
01:57:23 <CakeProphet> Bah... True and False are old... I want new forms of truth..
01:57:57 <CakeProphet> You could set how "deep" the cubes go at the very beginning... with some sort of global variable.
01:58:22 <oerjanj> i was sort of thinking you could assign values to each face
01:58:55 <oerjanj> building linked lists and the like...
01:59:33 <CakeProphet> recursions = 5 cube-within-cube-within-cube-within-cube-within-cube
01:59:59 <oerjanj> if you limit recursions then you make memory finite
02:00:09 <CakeProphet> That's... even more mindboggling than the original idea.
02:00:16 <oerjanj> bad for turing-completeness
02:01:10 <CakeProphet> Well.... how could you have infinite recursions? I mean... how can the program work with an infinite number of "cubes".
02:01:37 <oerjanj> maybe have six colors as base values and every other value a cube of other values
02:02:36 <pikhq> Maybe just have it be a real-life Rubik's cube, instead of cubes with an infinite amount of colors on it?
02:02:41 <oerjanj> might be too simple to program with
02:02:58 * CakeProphet still has no idea how the coding would work... he's still trying to conceptualize what allows you to code with rubix cubes.
02:03:17 <oerjanj> that last comment was not to pikhq but to myself
02:03:20 <CakeProphet> Pfft... but an infinite fractal cube sounds way more mindboggling.
02:03:36 <pikhq> But it's not a Rubik's cube.
02:04:04 <oerjanj> it could have the same rotations, even if not the same colors
02:05:02 <CakeProphet> I mean... how would the code operate? I'm seriously stumbed on even that part? What allows addition, or even variable assigment to occur?
02:05:08 <oerjanj> maybe just two levels of values then: 6 colors and the cubes with colors
02:05:33 <pikhq> if(1,2,3 = 6)(rotate(L);)(rotate(F);)
02:05:52 <pikhq> CakeProphet: Pick up a Rubik's cube. Have fun.
02:05:54 <oerjanj> assignment would be by reference, i assume, it's really just a pointer
02:06:20 <pikhq> if(3,2,1 = 1)(cube++;)(cube--;)
02:06:31 * pikhq is giving you example code. . .
02:06:39 * CakeProphet is a bit... uh... dense when it comes to stuff like this.
02:06:53 <pikhq> Let's say you have a simple Rubik's cube.
02:07:27 <pikhq> You assign white=0, red=1, blue=2, orange=3, green=4, and yellow=5.
02:07:53 <oerjanj> i suppose in the simple case you might not have assignment at all, but rather a reversible language of conditional rotations (or nearly reversible)
02:08:41 <pikhq> You have rotations, conditional rotations, movement to a different cube, and conditional movement to a different cube.
02:09:15 <pikhq> Hmm. Need a looping construct in there.
02:09:32 <oerjanj> what would be the pattern of layout of different cubes? a tape, a meta-cube, variable names?
02:09:55 <pikhq> oerjanj: Just a straight row of cubes. . .?
02:10:15 <CakeProphet> Yeah.. I get all that... but how... does that turn out to be code? How would you add and subtract?
02:10:39 <oerjanj> which makes you earily close to a BF-clone
02:11:16 <pikhq> Pointer to a cube.
02:12:47 * CakeProphet is still working on how that work though...
02:12:56 <pikhq> By that logic, the Turing machine is a BF clone.
02:13:37 <pikhq> Just some similarity.
02:14:40 <oerjanj> at least with bounded cell values, translation is trivial
02:15:40 * CakeProphet wishes he could make one of those nifty languages that Turing machines can't deal with.
02:15:41 <pikhq> I'm not doing [!@#$!%^&] for my operations; I'm doing "while (1,2,3) (rotate (F); rotate (R); rotate(D'))".
02:16:26 <oerjanj> CP: just include an unsolvable problem (such as the Halting Problem) as an instruction
02:16:58 <pikhq> Also, I could do "macro rotateFRD' () (while (1,2,3) (rotate (F); rotate (R); rotate (D'));if (3,2,1) (rotateFRD')".
02:17:08 <pikhq> That's not exactly Brainfuckish.
02:17:19 * CakeProphet designs a language that works like jumprope.
02:18:13 <CakeProphet> I dunno... just thinking of how jump rope could be translated into a coding environment...
02:18:13 <pikhq> Hell, let's do it all in sexp's, just to seperate it from Brainfuck further.
02:18:29 <CakeProphet> Everybody else is doing physical-to-code analogies these days... I might as well do it too.
02:20:07 <RodgerTheGreat> I'm working on a fairly normal language, currently. I'm trying to make an esolang that has some real utility- like console, file, and socket I/O.
02:20:14 <CakeProphet> Each rotation of the jump rope is a change in state... and you can alter the speed of swingage... and which direction you're rotating, as well as the direction the "person" is facing, and somehow translate that to IO
02:20:31 <RodgerTheGreat> and function definitions that I can modify on the fly.
02:21:02 <CakeProphet> Yes yes... flexibility in functions would be nice.
02:21:36 <pikhq> That doesn't seem esoteric.
02:22:09 <CakeProphet> There could be TWO PEOPLE swinging a jumprope... and an arbitrary number of people inside the area of the rope... !
02:22:27 <CakeProphet> I could so easily turn that into brainfuck... but I'm going a different directions.
02:22:50 <RodgerTheGreat> well, it uses character-based instructions and a large amount of it's functionality is derived from self-modification. I think that's at least *kinda* esoteric...
02:22:55 <oerjanj> each of those people could be having their own, smaller rope
02:23:56 <oerjanj> esotheric would be if the functions had to change themselves on the fly each time they were called
02:24:08 <oerjanj> and it was awkward to keep them stable
02:24:36 <RodgerTheGreat> there's a difference between "odd" esoteric, "theme" esoteric, and "sadism" esoteric.
02:25:03 <RodgerTheGreat> Chef is theme esoteric. Malbolge is sadism esoteric. BF is odd esoteric.
02:25:08 <CakeProphet> Hmmm.... actually... the jumprope idea would work nicely for event-based multi-processeing asynchronous loops
02:25:46 <oerjanj> maybe it belongs to a fourth category: minimalistic esoteric
02:26:15 <RodgerTheGreat> yeah, I could agree with that. Many things fall into both minimalistic and another category, though.
02:26:16 <CakeProphet> Sadism esoteric sounds like fun.... I like beating things.
02:26:41 <pikhq> I've got a theme minimalist esolang. . . whee. . .
02:26:47 <pikhq> CakeProphet: Malbolge is for you.
02:26:52 <oerjanj> i thought the rubik's cube language had some potential for sadism
02:27:08 <pikhq> oerjanj: It does, but I'm not feeling like it.
02:27:29 <RodgerTheGreat> the difference between odd and sadism lies in the instruction set.
02:27:43 <oerjanj> maybe an RC bytecode, similar to Malbolge but with rotations for self-modification
02:28:42 <oerjanj> the source code would be a list of rotations - which would have side effects
02:29:14 <oerjanj> and you would need to keep track of the current state of the cube to know which side effect
02:30:36 <CakeProphet> The "rope" could be a pending vending... and the different processes are people... and the people "jump" everytime the event (jumprope) occurs.
02:31:25 <oerjanj> (if you understood that you are probably norwegian)
02:31:56 <CakeProphet> And then reversing the jumprope is changing from input to output.
02:32:48 <oerjanj> would the programs be in the form of children's verse?
02:33:19 <CakeProphet> And... I'm still working on how fractal ropes would work ^_^
02:33:38 <oerjanj> well, some ropes could be faster than others
02:34:09 <CakeProphet> And... just for fun... we could have the option to have the child not jumping and being tripped by the rope... just cause I like to imagine a child planting their face in the concrete...
02:34:24 <CakeProphet> Yes... I had imagined you could set different speeds for different ropes.
02:34:35 <CakeProphet> But... if the ropes are events... you can't really choose speeds.
02:34:38 <oerjanj> and here i thought this was _not_ a sadist language
02:35:06 <RodgerTheGreat> Razor-X: will you kill me if SYNTHESYS makes use of a tape?
02:35:10 <CakeProphet> a "not jump" would be the equivalent of a pass.
02:36:11 <oerjanj> you could choose how many times a rope turns (including fractional) each time the outer rope turns
02:36:21 <CakeProphet> hmmm... so I wonder if the ropes are individual events... or if they're how -often- events should be checkes for... how would speed work if the ropes are events?
02:37:13 <CakeProphet> Or... I could just scratch the whole event thing... and go back to a more non-specialize d approach.
02:37:14 <oerjanj> for ropes in the output direction it doesn't seem like a problem
02:37:35 <oerjanj> only if you had inner ropes listening for external events
02:38:25 <CakeProphet> And of course there can be multiple ropes at different speeds on the same "layer"
02:38:26 <oerjanj> a rope might be listening for two events: it's own and the turning of an outer rope
02:39:20 <oerjanj> it would be somewhat similar to a window system
02:39:53 <oerjanj> as far as the passing of events, and nesting goes
02:40:55 <CakeProphet> Let's reverse it... jumping is a pass... and tripping is an action... just cause that sounds better that way
02:41:07 <CakeProphet> I like imagining the children tripping when something happens.
02:41:49 <CakeProphet> hmmm... let's get out of the event-oriented paradigm... and imagine it more abstractly..
02:42:10 <oerjanj> THERE IS SUCH A THING AS A ROPE
02:42:25 <CakeProphet> We have... little kids, jumping at a somewhat steady tempo, that changes given new conditions... and we have ropes... covering certain numbers of these kids, spinning at their own speeds.
02:43:01 <CakeProphet> Imagine gravity mixed with ORK fixed with our original idea mixed with some other shit I can't think of right now.
02:43:19 <oerjanj> ORK would be the obvious implementation language for this...
02:43:51 <CakeProphet> So... the more off-tempo the kids get with the rope... the closer and closer they get to tripping...
02:44:24 <CakeProphet> Tripping (or not tripping... or almost tripping... or any increment inbetween) can trigger certain bits and pieces of code...
02:44:57 <CakeProphet> Eh... sure... I was thinking more broadly though...
02:46:53 <CakeProphet> Imagining a programming happening in RL is quite.... astounding...
02:47:39 <CakeProphet> A programming language modelled after DNA/RNA?
02:48:48 <CakeProphet> hmm... so what would happen if a kid -holding- a rope trips?
02:49:03 <RodgerTheGreat> cells can communicate locally via protein links, and more globally using hormones and other chemical messengers.
02:49:32 <RodgerTheGreat> DNA and internal chemical status are both program and memory space.
02:50:02 <RodgerTheGreat> ribosomes and transcription enzymes are the interpreter.'
02:50:31 <oerjanj> have you looked at chemical programming languages? they actually exist
02:50:56 <RodgerTheGreat> and at the same time, the ribosomes and the rest of the protein synthesis chain are the I/O system and flow control operators.
02:51:42 <oerjanj> one is called gamma calculus, if i remember right
02:52:30 <RodgerTheGreat> the code in our cells is primarily concerned with maintaining and building everything necessary for cell function, and in turn it's own execution. There is, however, plenty of processing power that could be used for other purposes.
02:53:16 <RodgerTheGreat> If I weren't studying computer science, I'd be studying biology.
02:53:19 <CakeProphet> So... lets say an event is triggered only when Kid1 is tripped... but Kid1 is holding a rope... so does it temporarily pause that rope from happening until Kid1 stands up (which itself could be set to a certain speed)?
02:53:41 <oerjanj> that's what viruses do, essentially...
02:54:22 <oerjanj> except they usually destroy the cell's own processing in the end
02:54:32 <RodgerTheGreat> yes. viruses are hacks that take advantage of existing cellular machinery to circumvent all the "unnecessary" maintenance code most cells have.
02:54:40 -!- bsmntbombdood has joined.
02:55:22 <RodgerTheGreat> there are some viruses that actually repair cells to an extent, to make them usable for reproduction. it's quite fascinating,
02:55:26 <oerjanj> hm, overload is an overloaded term here
02:55:28 <CakeProphet> Hmm.. I think I'm going to make a giant super-language called Playground... that has a bunch of different sub-languages built for certain applications..
02:55:45 <CakeProphet> hop-scotch, jumprope, red cover, duck duck goose.
02:56:53 <RodgerTheGreat> I seem to remember a case with a strain that could infect algal cells whose chloroplasts had been damaged by UV-radiation of some kind. they would apply "patch" code that could rebuild the affected proteins before making use of the cell.
02:58:27 <oerjanj> hmm... but are there any symbiotic viruses? perhaps they exist but tend to get integrated into the cell's own DNA
02:59:03 <oerjanj> but then they wouldn't still be viruses. hm.
02:59:10 <RodgerTheGreat> I feel that the primary requisite for life, contrary to the complex list posited in most biology texts, is simply reproduction with inherited change. Viruses are alive, because they are not static.
03:00:08 <RodgerTheGreat> in fact, retroviruses are often used by genetic engineers as an easy way to patch existing organisms.
03:00:08 <oerjanj> yes, but by symbiotic i mean mutually benifical rather than parasitic
03:00:29 <RodgerTheGreat> well, I don't know of any offhand, but it's certainly possible.
03:00:49 <CakeProphet> Hmmm... could you synthesis a artificial virus?
03:01:06 <RodgerTheGreat> there are few viruses that can reproduce without destroying their host, though..
03:01:18 <CakeProphet> Such a "created" viruses could be used for beneficial crap.
03:01:59 <RodgerTheGreat> sequence the handful of genes your virus needs, and then PCR millions of copies.
03:02:45 <CakeProphet> We could patch all sorts of problems that way
03:02:59 <RodgerTheGreat> introduce the raw DNA loops to some prokaryotes and disrupt their cell walls. Odds are, some will take up the new DNA.
03:03:23 <RodgerTheGreat> then, you just isolate your affected organisms and culture them.
03:04:37 <RodgerTheGreat> if it's a retrovirus, you just patched the prokaryotes with new DNA. If it's a normal phage or something, the infected hosts will spawn fully-formed viruses with their normal protein coat, which can then reproduce without help.
03:05:26 <RodgerTheGreat> and like most quines, you can rebuild the complete program from just the data portion if you bootstrap it manually.
03:08:49 <RodgerTheGreat> just to allay the natural fears here, most man-made viruses would end up being extremely fragile, easily broken by mutation, and wouldn't be as effective in the wild as evolved ones (even if they did specific things better). So, making viruses from scratch is not a path to an artificial "super-virus" plague.
03:09:28 <RodgerTheGreat> maybe in 100 years we'll know enough about cellular machinery to worry.
03:09:45 * CakeProphet likes how he made his IRC bot able to change itself mid-running with only one line of code... which is pretty damn cool given his newbiness.
03:09:51 <oerjanj> even our biological programs are buggy :-)
03:12:09 <CakeProphet> I'm trying to think of what applications my jumprope could have... other than event programming,
03:12:15 <pikhq> What else do you call genetic disorders?
03:12:52 <CakeProphet> Well... genetic mutations are one thing most programs don't have.
03:13:44 <pikhq> Some computer viruses do that.
03:14:01 <pikhq> Intentionally, of course. . .
03:15:09 <CakeProphet> So... everyone help me out with my jumprope idea.
03:15:36 -!- jix has quit (Read error: 110 (Connection timed out)).
03:16:24 <CakeProphet> I need some other stufff to make it different... what about variable assigment?
03:19:15 <CakeProphet> Aww... the esolang wiki won't let me use "the prophet wizard of the craoyon cake" as a username.
03:19:38 <oerjanj> what is wrong with CakeProphet?
03:20:06 <CakeProphet> Well... that's just my IRC nickname... the prophet wizard of the crayon cake is much more drawn out and esoteric.
03:21:57 <oerjanj> well, what you set as your signature nickname can be different.
03:22:32 <oerjanj> although i don't know how long it can be - or whether anyone would complain
03:22:57 <oerjanj> that shows up in Talk pages only though
03:24:14 <oerjanj> what is a crayon cake btw?
03:24:45 <CakeProphet> Such things are not known by barely stew.. and are thus incomprehensibility to the data sphere supsanct modular crystal Bizera
03:25:27 <oerjanj> although not quite grammatical...
03:26:53 <oerjanj> as for your variable assignment, you should be able to let people move between ropes
03:26:55 -!- ihope_ has joined.
03:27:11 -!- ihope_ has changed nick to ihope.
03:27:57 <oerjanj> cloning children might not be suitable for a playground alas
03:28:50 -!- ihope has quit (Client Quit).
03:29:07 <oerjanj> hm, scared ihope away with that comment
03:29:38 <oerjanj> cloning ropes might have fewer problems
03:31:25 <CakeProphet> Wait... how does moving between ropes create variable assignment?
03:31:57 <oerjanj> if persons are data, you have moved that data
03:32:16 <CakeProphet> Placement in the row doesn't mean anything though.. it's not like brainfuck.
03:32:38 <oerjanj> no, but what rope you are under might matter
03:32:40 <CakeProphet> Think of people as function-like datatypes.
03:32:51 <pikhq> Could you do something else evil, like proove Homespring Turing complete?
03:32:58 <CakeProphet> Right right... I could say that being useful... but not the equivaent of variable assignment.
03:32:58 <oerjanj> functions are data to, says this unlambdaist
03:33:22 <pikhq> That's just functional programming.
03:34:01 <CakeProphet> Well... the kids can be anything really... not nessicarily functions... but functions would be the way to go if I were going to make a -practical- language.
03:34:29 <oerjanj> well, ropes can be assigned, just split then move
03:34:31 <CakeProphet> But I'm think of something between ORK, gravity-ish, multi-threading shit :D
03:35:24 <oerjanj> hm, then you would have the ropes being the data and the children the functions acting on them
03:36:15 <CakeProphet> Originally.. in my event-based model... the ropes were events, and the children would "jump" when the event happens... but... I've changed it a bit now.
03:36:53 <oerjanj> well, events can be data too
03:38:01 <CakeProphet> I'm starting to shift away from a practical language to a fun-and-interesting-to-play-around-with-while-still-being-usable-although-a-little-bit-more-difficult-than-your-regular-language type language.
03:38:45 <CakeProphet> You'd need "timing" to get everything to synchronize right in your program...
03:55:30 <CakeProphet> I don't think rope merging is possible... unless the ropes are exactly the same as far as data goes.
04:01:09 -!- EgoBot has quit (calvino.freenode.net irc.freenode.net).
04:01:53 <CakeProphet> Wow... this will be amazingly complex to code in... I like it.
04:02:19 <pikhq> I don't think many people use sterling. . .
04:03:18 <CakeProphet> http://www.esolangs.org/wiki/User:CakeProphet (that's the basic outline for JumpRope)
04:03:51 <pikhq> oerjanj: Only a handful of people got lost in the netsplit.
04:05:21 <CakeProphet> JumpRope is turning out to be like a mix between some sort of OO language and a gravity-like system that involves multiple things rather than just a single "gravity"
04:07:44 <oerjanj> "There can be any number of ropes being spun by a single child" sounds a bit unrealistic
04:08:24 <CakeProphet> Is splitting and merging ropes realistic... no... hahahahaha muyhahahahahahaha... I just like imaginging it.
04:08:37 <CakeProphet> And I don't mean a "single" child... there will be two children per every jumprope.
04:08:41 -!- EgoBot has joined.
04:08:45 <oerjanj> btw, only children at the end of a rope should be able to spin it
04:08:59 <oerjanj> inside, or outside, or either?
04:09:34 <oerjanj> if it is inside it could be single, _if_ there are no other children inside the same rope
04:09:36 <CakeProphet> Holding a jumprope.... think of them as the "border" of the rope... any childreen inbetween the two holders will be jumping... but theywill only be spinning.
04:09:58 <oerjanj> but "realistic" restrictions can add to the difficulty of programming
04:10:28 <CakeProphet> Nope... I'm not making restrictions... I'm making it so complex that it'll be difficult.
04:11:02 <CakeProphet> There's so many different options and ways for things to happen.... that the coder will have to set everything up as though it were a puzzle.
04:11:06 <oerjanj> but unnecessary complexity can be ignored
04:11:59 <oerjanj> i mean, restrictions can actually make it less likely that you can ignore a complexity
04:12:21 <CakeProphet> I doubt more-than=one=rope being held by two kids will make anything that much easier.
04:13:06 <CakeProphet> We'll see... I'm still just in the early phases of thinking-things-out.
04:13:52 <oerjanj> hm, actually... if there is no way to add unlimited children then they may have to hold unlimited number of ropes
04:15:03 <oerjanj> or maybe not. the unbounded speeds might be enough to get unlimited memory
04:15:25 <oerjanj> i am assuming you would want turing completeness
04:15:32 <CakeProphet> Yeah... I'm not sure if there's a strict "limit" to how many children can be under one rope... if it's pre-determined by the ropes "length" (range of children), or if unlimited children can just be impossibly fitted into one rope.
04:16:08 <CakeProphet> So far... I've got everything limitless... so chances of turing-ness are looking good.
04:16:53 <pikhq> Unless you prove it impossible to do Brainfuck in it.
04:17:47 <CakeProphet> Unlimited jump tempo... unlimited possibilities for different asynchronizations... unlimited rope geld by a child between anyone, unlimited numbers of children inside a rope.
04:18:20 <oerjanj> i assume you could add new children at any point. how do you assign functions to children?
04:18:21 <CakeProphet> If () is the confines of the rope and a 0 is a child... you could pretty much put them in any combination.
04:18:56 <oerjanj> would there be a limited number of functions or would you write classes of children?
04:20:18 <CakeProphet> I'm thinking either the children are functions... any specific datatype... or an subclass of Child with their own methods.
04:20:25 <oerjanj> who is holding the outermost rope in that diagram?
04:21:11 <oerjanj> will the children always form a line?
04:21:44 <CakeProphet> No idea how I could implement 2-D placement of kids though.
04:21:55 <CakeProphet> And still make it usable... jump ropes are pretty linear.
04:22:28 <CakeProphet> I want to make this as limitless and complex as possible :D
04:22:59 <oerjanj> more like a turing great flood
04:23:16 <CakeProphet> hmmm... I -could- limit two jumpropes per child.. one per hand or something.
04:23:36 <oerjanj> that's what i was thinking
04:24:29 <CakeProphet> Or would it -have- to be like this o( o o o o o o o o o ) o ( o o o o o o o o o o o)0
04:24:46 <CakeProphet> instead of o(( o o o o o o o o o o o ) o o o o o o )
04:25:53 <CakeProphet> Hmmm... actually... I think the children will act like functions... not objects... that will make it more complex.
04:26:13 <CakeProphet> You would need more children... thus more tempos.. and crap...
04:26:28 <CakeProphet> Yeah.. I see what you mean by restrictions creating more interesting situations.
04:27:16 <CakeProphet> It all seems needles though... you could probably accomplish a number of things with just one rope and a few children... so it would be neato if I could implement it so that any usable programable needs a large number of children and ropes.
04:29:17 <CakeProphet> Oh... that's right... the kids aren't functions at all... I totally forgot my idea there.
04:29:28 <CakeProphet> The children act as conduits for a number of situations.
04:30:02 <CakeProphet> Using some Python-like code... it would look like.
04:32:19 <CakeProphet> if Kid1.async(5) from Rope1: jump 3 faster, Kid1 = "h"
04:33:16 <oerjanj> that would make it hard to add an unlimited number
04:34:01 <CakeProphet> It would be hard to do much of anything with -only- variables.
04:34:54 <oerjanj> i mean if each kid has its own name then you cannot add them on the fly
04:35:53 <CakeProphet> When kids are created... they have specific, immutable datatypes... but never functions... they can be lists, strings, integers, or maybe even conditionals if I'm feeling dangerous.
04:37:24 <CakeProphet> "conceive Tom the variable" "Tom jumps in cheesestringRope"
04:37:27 <oerjanj> well, it depends on how you can refer to kids, i suppose
04:37:45 <oerjanj> what i mean by on the fly is:
04:38:07 <oerjanj> add an unlimited number of kids at runtime
04:38:29 <oerjanj> their names cannot all be mentioned in the program
04:38:43 <CakeProphet> how would that be possible in the first place?
04:39:23 <oerjanj> if you have some way of referring to a kid other than a name unique to it
04:39:42 <CakeProphet> Well.. there has to be something identifying them...
04:41:15 <oerjanj> names would work if they were local to a function
04:41:36 <oerjanj> then each function invocation could conceive of a new kid
04:41:43 <CakeProphet> Well... in the language itself.. there will be no functions.
04:41:58 <oerjanj> some kind of lexical scope then
04:42:38 <CakeProphet> THe children themselves will be objects of a class... but that won't come into play in the language itself.
04:44:01 <oerjanj> will the code of the program have to be encoded entirely in the arrangement and data of the ropes and kids?
04:44:10 <CakeProphet> "conveice Tom the variable" Would create a variable object named Tom... variable is a subclass of Child
04:44:50 <CakeProphet> I won't it to be challenging... puzzle-like.
04:45:18 <CakeProphet> I'm considering making -all- statements depending on certain conditions...
04:45:36 <oerjanj> ah, my brain is about to stop working - need to go to bed
04:46:16 -!- oerjanj has quit ("Leaving").
05:36:23 -!- Razor-X has quit (Remote closed the connection).
05:37:05 -!- Razor-X has joined.
05:40:31 <Razor-X> Emacs has crashed twice since my computer has been on. I guess it's not quite as stable as the rest of the OS.
05:41:02 <RodgerTheGreat> so, you never answered my question: will you kill me if my language has a tape?
05:41:31 <Razor-X> That depends on the advantages I get, and whether it outweighs the pain received from using the tape.
05:42:24 <RodgerTheGreat> how about functions that can be modified on the fly, and socket I/O?
05:42:44 <Razor-X> Maybe I'll just ask Xenu to prove to you that world that is the gestalt being and watch thousands of years of useless faith go down the toilet along with hundreds and thousands of once-devout worshippers masochating (is that a word?) in agony.
05:43:57 <pikhq> Maybe I'll just get a good ol' clambake to show you that Xenu == shit.
05:44:23 <Razor-X> Well, he's not exactly a looker, no. He made our vision spectrum inferior to his.
05:44:26 <RodgerTheGreat> I was thinking about creating loops with [] that are non-conditional and that use a # to break out of the loop (optionally prefaced with a conditional operator).
05:44:30 <CakeProphet> I've extended my concept... check out http://www.esolangs.org/wiki/User:CakeProphet
05:44:50 <pikhq> No, I mean that he is literally made of shit.
05:45:13 <Razor-X> Don't you dare downplay Xenu.
05:46:04 <Razor-X> Wow. Are we creating non-BF languages?
05:46:10 <Razor-X> What is the Esolangs community COMING to?!
05:47:02 <RodgerTheGreat> we're COMING to the realization that some people have blood feuds brewing against BF clones.
05:47:30 <CakeProphet> We've dilutted its greatness by making too many damn clones.
05:47:38 <Razor-X> Wow. I guess we're finally emerging from the Dark Ages.
05:48:04 <Razor-X> No. That sounds too vulgar.
05:48:19 <Razor-X> Stupid BF revealed itself just as the Imagination Nomads invaded Esome.
05:49:08 <Razor-X> Then the old Emperor of Esome split the Empire in two. He created the NotSoEsome which began creating semi-useful languages, and the Western Esome fell into darkness.
05:49:32 <Razor-X> But both NotSoEsome and Esome both embrace BF as their new religion.
05:49:51 <Razor-X> Even though the FsckProphet has revealed himself in later occasions.
05:50:50 <Razor-X> Now Esome is emerging from the Brain Ages. Only to take the entire OSS World by storm, to hopeless colonize the OSS World, and to create a whole breed of new bas**** languages.
05:51:31 <CakeProphet> So... we should all talk JumpRope and how to make it even more kickass.
05:52:41 <Razor-X> But soon, the NotSoEsome will collapse by BFA, the ``newer'' version of BF.
05:53:22 <Razor-X> If this sounds like History class, I'd maybe imply that you were correct, but reveal nothing.
05:54:11 <Razor-X> I can't wait for the Rennaisance.
05:54:30 <Razor-X> I wonder what we'll create! And the Obfuscated-NewLogic wars too.
05:54:57 <RodgerTheGreat> would you be interested in helping be develop synthesys once I get further along in writing the spec?
05:55:06 <Razor-X> Then the worshipers of BF will drive out the BFA infidels from their mailing lists, unite, and begin colonizing.
05:56:42 <RodgerTheGreat> it's going to kinda place emphasis on self-modification while attempting to actually be a useful language.
05:57:56 <RodgerTheGreat> and I'm trying to make the code not look ass-ugly, as some languages have a tendency toward.
06:00:55 <RodgerTheGreat> code modularity and the loading of external libraries seems like a good goal as well.
06:01:05 <CakeProphet> so... if "offset = Childtempo - Ropetempo" would tripping occur when offset = o?
06:02:25 <RodgerTheGreat> 'cause, the offset would have to stay in a particular range to be logical..
06:03:23 <CakeProphet> I was going to make the range for offset being unlimited...
06:03:43 <RodgerTheGreat> well, let's assume the movement of the rope and the kid are sinusoidal.
06:04:34 <RodgerTheGreat> nevermind, then- I'm not going to try to explain this at 1AM.
06:05:03 <CakeProphet> At some point the offset would factor down.
06:06:38 <RodgerTheGreat> if you go three complete times around, you still have only made one circle.
06:07:54 <CakeProphet> Ropetempo/Childtempo - Childtempo/Roadtempo" ????
06:10:00 <RodgerTheGreat> my work here is done. Good... morning... everyone, I'm going to get some sleep.
06:10:44 -!- RodgerTheGreat has left (?).
06:15:40 <CakeProphet> I need to figure out how the hell offset effects the different increments of asynchronization... and how to even create a workable notation for that.
06:17:33 -!- CXI has quit ("If you're reading this, it's probably xchat's fault.").
07:12:50 -!- Arrogant has joined.
07:17:24 -!- CXI has joined.
07:55:25 <CakeProphet> Holy crap.... head hurts... from trying to... code... in my prototype JumpRope code.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:49 <Razor-X> Will you get scared if I say ``sine curve'' ? ;)
08:01:52 <CakeProphet> I'm just putting random numbers in as tempos and working with them.
08:02:04 <Razor-X> Blah. T3h family went out all day, and now I must churn my vocabulary.
08:06:57 <CakeProphet> If I can compile this thing... I dare say it may be one of the most difficult language I've ever seen.
08:30:50 <CakeProphet> Check out the hello world prog: http://www.esolangs.org/wiki/User:CakeProphet
08:31:02 <CakeProphet> I realized halfway through I could have made it so much simpler.
08:54:58 <Arrogant> That is not worse than Malbolge, I have to say.
09:03:55 <CakeProphet> Arrogant, o,o It took me near 45 minutes of tedious, repetitive typing and math calculating to get it to print "Hello, world!" ....how sucky is Malbolge?
09:04:20 <Arrogant> Malbolge encrypts the instruction after executing it
09:04:23 <Arrogant> http://www.esolangs.org/wiki/Malbolge
09:29:10 <Razor-X> CakeProphet: Don't think you've made the worst language in the world.
09:29:19 <Razor-X> It's hard to beat Malbolge.
09:29:47 <Razor-X> The Hello World program of INTERCAL is 200+ lines, IIRC (when not using the standard library).
09:29:49 <CakeProphet> Hmm.. well I wasn't even going for difficult to begin with.. so...
09:30:05 <pgimeno> (not actually hard to beat it)
09:30:25 <Razor-X> Well Malbolge skirts that invisible line of still programmable.
09:31:12 <pgimeno> it has severe weaknesses as a cryptosystem
09:32:13 <pgimeno> see http://www.lscheffer.com/malbolge.shtml - near the end, a section entitled "It could be worse"
09:35:13 <pgimeno> programmability in Malbolge comes from its weaknesses
09:42:49 <pgimeno> however, making a language hard to program in is not very original as a goal
09:44:40 <Razor-X> I think that's the slump the entire Esolangs Community (hereby referred to as Esome) suffers under, IMO.
09:45:23 <pgimeno> exploring new possibilities is nice, though; making original contributions is too
09:45:39 <pgimeno> but I especially miss the humour part in recent esolangs
09:45:51 <pgimeno> that's the very heart of INTERCAL
09:46:07 <Razor-X> Well, Esolangs are becoming quite academic now.
09:46:18 <pgimeno> I have an idea in my mind which I want to develop
09:46:35 <pgimeno> where you specify what NOT to do
09:46:53 <Razor-X> None of my ideas seem novel enough. I had an idea to base on sine curves, but I need more thinking time.
09:47:51 <Razor-X> I think we really need a nice competitive language, like Redcode but more esoteric/fun too.
09:48:48 <Razor-X> I know but... no offense to GregorR, it just seems a bit... blah.
09:50:10 <pgimeno> the types in Numb would be non-negative (unsigned), non-numeric (string), non-real (imaginary)
09:50:39 <GregorR> "<Razor-X> None of my ideas seem novel enough." ... "I think we really need a nice competitive language" \ "<pgimeno> there's already FyB" \ "<Razor-X> (generic argument)
09:50:44 <GregorR> Speaking of being novel :P
09:51:06 <Razor-X> Well, I can go into specifics if you want.
09:51:58 <pgimeno> I'm still trying to get ideas on what to do to get Numb to actually execute code; I'm considering a statement "DON'T OBEY NEXT" and a clause "DON'T <do something> UNLESS blah"
09:52:41 <Razor-X> It seems too simple an extension to BF. We can make a similar extension to any stack-based language relatively easily and get a competitive language.
09:52:57 <Razor-X> pgimeno: Heh. Lots of INTERCAL inspiration it seems.
09:53:29 <pgimeno> not exactly but it's harder and harder to be original :)
09:54:00 <Razor-X> Doesen't mean we can't try.
09:54:38 <pgimeno> yeah but I'm poor in imagination
09:54:56 <pgimeno> I already wrote the BitXtreme specification
09:55:08 <GregorR> Hi pgimeno. And now, I'm going to sleep :P
09:55:15 <GregorR> Razor-X: That's hardly an argument.
09:55:34 <Razor-X> GregorR: It's not bad by any means, I just was hoping to make something *more* original.
10:01:03 -!- _jol_ has joined.
10:22:50 -!- kipple has joined.
11:01:19 -!- Arrogant has quit (Read error: 104 (Connection reset by peer)).
11:53:55 -!- _jol_ has quit (Read error: 110 (Connection timed out)).
12:04:45 -!- pgimeno has quit (Read error: 54 (Connection reset by peer)).
12:19:38 -!- pgimeno has joined.
12:43:12 -!- tgwizard has joined.
12:55:31 -!- ihope has joined.
13:17:50 <ihope> Is {} a valid compound statement in C?
13:23:01 -!- CXI has quit ("If you're reading this, it's probably xchat's fault.").
13:52:08 -!- _jol_ has joined.
14:01:46 <ihope> What about {something()}? Is that valid, or would I have to use {something();}?
14:03:10 <ihope> Is there a way to avoid using semicolons in a C program?
14:04:08 <pgimeno> I think at least one semicolon is needed
14:04:21 <pgimeno> for everything but an empty main(), that is
14:05:10 <pgimeno> or an infinite loop: main(){while(0){}}
14:05:24 <pgimeno> that opens a whole can o' worms
14:05:40 <pgimeno> it is possible to write someting
14:07:40 <fizzie> main(){while(printf("Hello, world!\n"),0){}}
14:07:42 <pgimeno> er, while(0) was not an infinite loop
14:07:57 <fizzie> I think comp.lang.c had a discussion about this once.
14:08:03 <fizzie> (Or maybe it was somewhere in IRC.)
14:08:04 <pgimeno> main(){while(expr,expr,0){}}
14:08:17 <ihope> What's the comma do?
14:08:48 <pgimeno> it concatenates expressions to form an expresion whose result is the last in the comma series
14:09:09 <pgimeno> e.g. the result of 1,2,3,0 is 0
14:09:16 <fizzie> Also, in "a,b" the "a" and "b" are evaluated sequentially, from left to right, with a sequence point in-between.
14:09:39 <fizzie> It's rather useful in, say, for(i = 0, j = 0; ....)
14:09:45 <pgimeno> you can't use do, for, if, while... as expressions though
14:09:46 <ihope> Oh, say, is main(); a valid program?
14:09:57 <pgimeno> nope, functions require {}
14:10:24 <pgimeno> that's a stupid limitation IMO but anyway
14:10:45 <pgimeno> well, I think these are prototypes
14:11:23 <fizzie> "Hello world without semicolon": http://groups.google.com/group/comp.lang.c/browse_thread/thread/eaaa5febf2f108f7/b6762266408b5e10
14:11:38 <ihope> Well, I'd say that C-without-semicolon is Turing-complete.
14:13:14 <ihope> Just use recursion instead of loops.
14:14:48 <pgimeno> impossible, C is not TC ;)
14:18:33 <ihope> Even without malloc(), you have local variables.
14:19:25 <ihope> Does the C spec state that storage is bounded?
14:19:38 <fizzie> We had a discussion about *that* here.
14:20:26 <pgimeno> the C spec states that sizeof(a pointer) returns an int IIRC
14:20:33 <fizzie> I don't recall the results, though. I think it depended on the reading of the standard: the storage needs to be addressable, at least, but I don't remember if the spec implicitly allowed or disallowed "int of infinitely many bits".
14:22:33 <pgimeno> unfortunately the result is not a float, where infinity is a valid value
14:23:01 <fizzie> You (possibly) might still have an unlimited integer.
14:23:56 <pgimeno> that's what I recall from the discussion, at least
14:24:22 <fizzie> I'm not sure it was very clear, but could be.
14:26:37 <pgimeno> I think that the same limitation of sizeof() applies to all types
14:26:58 <fizzie> C-without-semicolon doesn't even need recursion for looping, btw: http://colin.tky.hut.fi/~fis/fibo.c.txt is a very simple iterative fibonacci proggie.
14:28:17 <pgimeno> heh, true... the while() itself does loop
14:29:25 <fizzie> It's still a bit iffy: can't really declare variables (outside parameter lists) or return anything from functions (without using a pointer as an output parameter).
14:31:22 <ihope> Okay, let's see here...
14:31:27 <pgimeno> I'd write that sentence the other way around: you can declare variables (within parameter lists) and return anything from functions (using a pointer as an output parameter)
14:31:45 <fizzie> Perhaps I'm just a bit negative.
14:31:57 <fizzie> You must be one of the "glass is half full" type of people.
14:33:15 <ihope> Wait... can we write C-without-semicolon without using if, for, or while?
14:33:23 <ihope> Or until, if there's such a thing?
14:34:46 <fizzie> There's no "until", but "yes".
14:35:15 <fizzie> My first thought did not work out. :p
14:39:31 <fizzie> You could possibly use a switch.
14:41:59 <pgimeno> yeah, maybe, like line numbers in BASIC
14:42:55 <fizzie> I mean, switch(..., ..., 0) {}
14:42:57 -!- _jol_ has quit ("leaving").
14:43:38 <fizzie> But if you outlaw everything the spec calls an "selection-statement" or an "iteration-statement", then it might be impossible.
14:44:32 <pgimeno> in Spain there's a saying: what you want is that the bull catches me!
14:46:33 <fizzie> At least any "statement" you could put an expression in either includes a ";" or is a selection/iteration-statement (if, switch, while).
14:46:59 <fizzie> (According to my reading of C99 6.8.)
14:48:20 <pgimeno> "What if you're in a street and there's a bull coming towards you?" "I'd climb to a fence" "And if there's no fence?" "I'd look for a shop or something" "And if there's no shop" "I'd try to run to the closest corner" "And if there's a wall?" "I'd try to jump it" "And if it's too high?" "Hey, what you want is me to be caught by the bull!"
14:54:16 <pgimeno> hm, according to the thread there's a problem: in C89 main() must return a value and thus needs a semicolon.
14:57:14 <pgimeno> incidentally, you can avoid both ; and {} by using trigraphs
14:57:23 <fizzie> There's no trigraph for ;.
14:58:15 <pikhq> pgimeno: Funny, I thought that was part of the POSIX spec, and not the C spec.
14:58:36 <fizzie> There are trigraphs for #, ], |, [, ^, }, \, { and ~.
14:58:46 <fizzie> "No other trigraph sequences exist."
14:58:49 <pgimeno> fizzie: I know, you have to avoid ; as discussed here
14:59:05 <fizzie> Ah, right; misinterpreted, then.
14:59:25 <fizzie> Trigraphs are just sick, though.
14:59:28 <pgimeno> a not very good wording on my side
15:01:08 <pgimeno> pikhq: do you mean the trigraphs as part of POSIX?
15:01:34 <pikhq> pgimeno: No, I mean the part about main() needing to return a value.
15:02:17 <pgimeno> there's a discussion here: http://groups.google.com/group/comp.lang.c/browse_thread/thread/eaaa5febf2f108f7/64fd1228e56f23ec?hide_quotes=no
15:02:30 <pgimeno> (part of the above pointed by fizzie)
15:02:54 <pikhq> Hmm. Couldn't someone do some C coding with stuff like if(step_1) {null} if(step_2) {null} to avoid semicolons? :p
15:03:08 <pikhq> Hmm. Couldn't someone do some C coding with stuff like if(step_1) {} if(step_2) {} to avoid semicolons? :p
15:03:30 <fizzie> Wasn't that what we've been talking about?
15:03:51 <pikhq> Oh. Someone mentioned that already?
15:04:34 <pikhq> This is giving me some evil obfuscated C ideas. . .
15:08:03 <fizzie> POSIX does give additional semantics for the return values, though. The C only defines the meaning of returning 0, EXIT_SUCCESS or EXIT_FAILURE from main.
15:24:08 -!- RodgerTheGreat has joined.
15:27:30 -!- jix_ has joined.
15:27:48 -!- jix_ has changed nick to jix.
15:49:43 <ihope> "My first dream that I can remember was a nightmare. I was about 3 years old. I dreamed that my eyes popped out of my head and they were flying away from me and I tried to catch them, I never did"
15:51:02 <ihope> http://ld4all.com/forum/viewtopic.php?p=21920#21920
15:51:14 <ihope> I never forget to paste the URL's right after quoting...
16:20:39 <pgimeno> damn, I was planning to start using minix3 but it would seem it doesn't suppoprt virtual memory or shared libraries... that is a serious limitation
16:35:37 <ihope> So? BF is a serious limitation.
16:41:42 <pgimeno> I don't use BF for serious work, but I do use Linux for it
17:10:22 * ihope tries to listen to this sound clip, but fails
17:10:29 <ihope> "Enough is enough! I have--"
17:11:21 <ihope> Ah, there we go. "Enough is enough! I have had it with these mother[beep]ing planes on this mother[beep]ing snake!"
17:11:40 -!- CXI has joined.
17:15:05 <pgimeno> the planes will need snake oil
17:21:40 -!- Keymaker has joined.
17:22:45 <RodgerTheGreat> is it odd that I seriously want this movie to exist? http://i.somethingawful.com/inserts/articlepics/photoshop/12-30-05-hybrids/Trent.jpg
17:23:53 <ihope> What do you want, universe?
17:24:18 <RodgerTheGreat> It would star Samuel Jackson, so it'd be more like "Hello world, MuthaF#@ka!"
17:24:44 <ihope> You mean hello, muthaf#@in world?
17:25:45 <Keymaker> is snakes on a plane already in movies?
17:25:56 <Keymaker> or whatever that soap was called
17:29:15 <ihope> A Snakes on a Plane opera!
17:42:42 * Keymaker returns to an old quine work..
17:44:55 <ihope> Oh, I'll just let someone else write the spec for Thubi :-P
17:45:29 <ihope> It's a lot like Thue.
17:46:10 <Keymaker> write at least something at esowiki.. if i understand it i may expand the article :)
17:57:02 -!- Sph1nx has joined.
17:58:37 <ihope> So what's \? used for in C?
18:05:58 <fizzie> You mean "\ and ?" or the combination "\?"?
18:06:16 <ihope> The escape code \?.
18:08:35 <fizzie> I assume it's used to write something like "??=" without having it changed to "#" when trigraph processing is enabled.
18:09:34 -!- _jol_ has joined.
18:09:40 <fizzie> ISO/IEC 9899:1999 (C99), 5.2.1.1 ("Trigraph sequences"), paragraph 2: "EXAMPLE The following source line printf("Eh???/n"); becomes (after replacement of the trigraph sequence ??/) printf("Eh?\n");"
18:09:46 -!- Keymaker has quit (Read error: 60 (Operation timed out)).
18:09:49 <ihope> You'd write "?\?=" instead?
18:10:09 <fizzie> Or "\?\?=", if you want to be explicit about it.
18:10:16 <fizzie> Either way would work.
18:10:51 <ihope> Okay. I won't include it in Thubi, then.
18:11:25 <fizzie> Although I have to admit I haven't really been paying attention to ?s in my strings.
18:15:20 <lindi-> i just get 'trigraph.c:9:19: warning: trigraph ??/ ignored' from printf("Eh???/n");
18:15:51 <lindi-> with -trigraphs i get "trigraph.c:9:19: warning: trigraph ??/ converted to \"
18:17:26 <fizzie> Yes, well, no-one uses trigraphs, so I guess gcc thinks it prudent to warn.
18:17:55 <fizzie> But it does convert trigraphs if you use -ansi or -std=x, where 'x' is one of the ISO standards.
18:18:13 <ihope> What're trigraphs for?
18:18:54 <fizzie> Some computing environments lack some of the punctuation (like {} or []) C needs.
18:19:24 <ihope> What computing environments are those?
18:19:36 <fizzie> Probably something very ancient.
18:20:28 <lindi-> nokia communicator 9110 for one does not do { easily
18:20:41 <fizzie> Early ASCII versions before the 1968 standard lacked ^.
18:20:48 <fizzie> (They used to have an up-arrow there.)
18:20:57 <lindi-> i wrote a filter to convert "[[" to "{" before i heard about trigraphs
18:35:13 -!- CakeProphet has changed nick to GrandmotherChaos.
18:35:31 -!- Sph1nx has quit (Remote closed the connection).
18:41:05 -!- GrandmotherChaos has quit ("haaaaaaaaaa").
18:42:29 -!- CakeProphet has joined.
18:53:26 -!- _jol_ has quit ("temci lo nu citka").
19:36:49 -!- _jol_ has joined.
19:54:55 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
20:09:48 -!- oerjanj has joined.
20:23:19 -!- CakeProphet has joined.
20:25:48 -!- _jol_ has quit ("co'o rodo").
20:34:53 -!- oerjanj has quit ("Leaving").
20:37:40 -!- Sph1nx has joined.
20:38:45 -!- Sph1nx has left (?).
20:40:00 -!- Sph1nx has joined.
21:02:42 <pikhq> ihope: The ISO 640 character set has those symbols as optional (ISO 640 is a subset of ASCII). . .
21:03:11 <pikhq> They're now outdated, but provide for some evil code obfuscation possibilities.
21:16:16 <pikhq> He's getting it. :p
21:20:08 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
21:21:13 -!- CakeProphet has joined.
21:35:30 <GregorR> Hm, does palmOS also have the funky smiley-face for char 1?
21:35:32 <RodgerTheGreat> because the palm fonts don't have characters for low-order ASCII
21:36:48 <GregorR> Hey, watch a DirectNet DHT forming: http://directnet.sourceforge.net/dht.avi ^^
21:58:42 <RodgerTheGreat> hey, GregorR- I made something for you. DO NOT PUT THE BABY IN THE PIXEL ART! http://rodger.shadowarts.org/images/BabyPixel.gif
21:59:29 <GregorR> It doesn't /quite/ fit the theme.
21:59:34 <GregorR> I'll accept it if you put the yellow bg on.
21:59:44 <GregorR> Erm, and is it the same size?
22:00:03 <RodgerTheGreat> okie dokie. (It's on a transparency atm. I can rescale it as needed)
22:00:42 <GregorR> Just make sure it's the same size as all the others, put the same color yellow as the BG (it's 254-254-0) and give me a copyright line.
22:01:47 <GregorR> No license except that I can put it on the site :-P
22:02:11 <GregorR> And I may put it on merch if said merch has a bunch of 'em.
22:06:21 <RodgerTheGreat> do you want a copyright notice *on* the image, or what?
22:07:42 <GregorR> No, I put it below the image.l
22:07:50 <GregorR> I just need the name for the notice so I can put it there :-P
22:09:19 <RodgerTheGreat> license granted for use on website, merchandise sold, and any other direct or indirect representation of the above image.
22:14:38 <RodgerTheGreat> this is a doodle I drew the other day of how I imagine the ravenous beast looking: http://rodger.shadowarts.org/art/Wumpus.gif
22:15:44 <GregorR> http://www.donotputthebaby.com/index.php?s=Pixel
22:22:02 <Razor-X> RodgerTheGreat: Do you have any notes on SYNTHESIS?
22:22:13 <Razor-X> Ow. My wrist is cramping. Mind my slow speed.
22:22:58 <RodgerTheGreat> not at the moment. I'm trying to decide how I'm going to handle memory, which kinda defines how a lot of other things should work.
22:23:41 <Razor-X> What's the basic concept about?
22:24:29 <RodgerTheGreat> self modification via recursive string manipulation and evaluation.
22:25:41 <RodgerTheGreat> using a tape-based memory makes conditionals really simple, which I like. However, there may be a more appropriate way to do them.
22:25:55 <Razor-X> Recursive string manipulation? Example?
22:27:04 <RodgerTheGreat> well, you could have a function that evaluates itself near the end. By having that same function modify the string that represents itself, it could change from iteration to iteration.
22:27:27 <Razor-X> Oh. So like a standard functional language recursive function?
22:28:40 <RodgerTheGreat> a language based on self-modification naturally needs a fairly straightforward syntax, so that it isn't extremely painful to use this ability.
22:29:19 <Razor-X> I suggest a simple two-array system, one of functions and one of arrays.
22:29:52 <RodgerTheGreat> so, each "cell" represents an entire string, rather than a character?
22:30:13 <Razor-X> Using a set of builtins, we can add to an array slot, modify the slot, push a string, pop a string, and such.
22:30:40 <RodgerTheGreat> yes. string manipulation could be stack-based in some way.
22:31:29 <Razor-X> We can make it Unlambda style where the builtins are simple letters. That'll make it easy to swap the arrays so you can have functions modifying functions.
22:31:52 <RodgerTheGreat> in this case, separate arrays for functions and "normal" strings would be unnecessary, by just saying that you can attempt to evaluate any string as a function.
22:32:12 <Razor-X> The only reason I wanted the seperate arrays was for self-code-modification.
22:32:53 <Razor-X> The only thing unchangable in the language is the structure of the two arrays and the builtins theselves. Everything else is game.
22:33:10 <RodgerTheGreat> well, we could make it buffer a string whenever it's evaluated, and then any modifications to the string while it runs would be ignored until it iterates again.
22:33:49 <Razor-X> Well, I was making the assumption that this is a functional world.
22:34:01 <Razor-X> It's just one mutable string on a stack.
22:35:51 <RodgerTheGreat> what type of operators do you think this language would need, on a basic level?
22:36:46 <Razor-X> Push string, pop string, concat strings, ....
22:36:53 <Razor-X> Are we making this turing complete?
22:37:14 <RodgerTheGreat> it's easy to work with characters by themselves, but working on larger groups in a meaningful way can get more complex..
22:37:32 <Razor-X> Then we need integer operations too.
22:41:08 -!- Sph1nx has quit (Remote closed the connection).