00:00:15 <oklofok> also maybe there aren't names dunnoes.......
00:00:59 <ehird> where are the namez
00:03:59 <ehird> err wow i can't figure out how to get a newline in a string in j
00:05:52 <ehird> err oklofok, I keep meaning to ask
00:05:56 <ehird> how do you explicitly refer to a param
00:06:00 <ehird> e.g. id=:{my param}
00:07:36 -!- Blipi has quit ("- nbs-irc 2.39 - www.nbs-irc.net -").
00:18:31 <ehird> ah you gotta use a 3: thing
00:20:36 <ehird> for dyadic you get (x,y) as the argers
00:20:39 <oklofok> i haven't used them...........................
00:20:47 <ehird> but x and y are undefinered for monadies hwo stupiiiidy
00:21:08 <oklofok> x and y are the args afaik
00:21:34 <ehird> it's y for mony-attic
00:21:57 <ehird> calling another fucktion fails
00:22:07 <oklofok> maybe there should be a language that had sads too
00:22:08 <ehird> gives a valueerror on the y part of say y
00:22:22 <ehird> oklofok: the opposite of fun is boringness, duh
00:22:24 <oklofok> although i guess that's technically not a good opposite for fun
00:22:31 <ehird> (boringness x <- x+1)
00:22:33 <oklofok> i was just thinking 3 letters
00:22:38 <ehird> I don't know how that would work but hrm.
00:22:41 <oklofok> but a really long one works just as well
00:23:06 <ehird> the idea is basically
00:23:08 <oklofok> maybe it's boringness that should be functions
00:23:09 <ehird> anti-do things to the arguments
00:23:14 <oklofok> and fun should be something fun
00:23:14 <ehird> instead of arguments you get unarguments
00:23:17 <ehird> and you undo things to them, see?
00:25:31 <lament> you undo undergarments?
00:25:52 <ehird> that's not boringness, that's fun
00:33:00 <ehird> and the latter is what you want
00:33:03 <ehird> so infuriating :DD
00:35:26 <oklofok> well you're the guy who didn't like random numbers for foreigns, so...
00:36:34 <ehird> system/extras/util/lab.ijs:output=: [: empty 1!:2 & 2
00:36:38 <ehird> cannot figure out why that works.
00:37:00 <ehird> system/main/conlib.ijs:echo=: 0 0&$ @ (1!:2&2)
00:37:00 <ehird> system/main/conlib.ijs:stdout=: 1!:2&4
00:37:02 <ehird> system/main/conlib.ijs:stderr=: 1!:2&5
00:38:09 <ehird> #!/usr/bin/env jconsole
00:38:09 <ehird> echo 'Hello, world!'
00:39:27 <ehird> system/main/stdlib.ijs:exit=: 2!:55
00:39:33 <ehird> #!/usr/bin/env jconsole
00:39:33 <ehird> echo'Hello, world!'
00:39:46 <ehird> that's valid shell _and_ j
00:54:10 <ehird> http://www.schneier.com/blog/archives/2009/03/blowfish_on_24_1.html <-- hahaha
01:00:45 <oklofok> wait the algo has a backdoor?
01:01:03 <ehird> 24 is a stupid tv show
01:01:21 <ehird> i mean they're not exactly technical accuracers are they
01:01:33 <ehird> i love concising things I verb.
01:01:46 <oklofok> if they actually used the term "wavelength", i find that much funnier
01:02:03 <oklofok> i don't see why there couldn't be a backdoor in the algo in theory
01:02:33 <oklofok> anyway after time travel, hacking is probably my least favorite thing in tv shows
01:02:46 <oklofok> of course, i love watching both; but at the same time they are so goddamn painful to watch
01:02:59 <ehird> I like hitchhikers guide to the galaxy's time travel
01:03:09 <ehird> you can't change the future, because it all just sort of works out.
01:03:18 <ehird> who cares about the butterfly effect if you're not a butterfly.
01:03:24 <ehird> also, there's temporal paradoxes in it
01:03:29 <ehird> except they don't actually do anything.
01:03:42 <ehird> BLATANT DISREGARD FOR TIME hoooooo
01:04:22 <oklofok> i hate all the time travel types
01:05:50 <ehird> http://qntm.org/?models
01:06:02 <ehird> there's some crazy ass ones
01:07:33 -!- olsner has quit ("Leaving").
01:10:16 -!- Sgeo has joined.
01:28:32 <oklofok> the two timelines interacting stuff i don't remember seeing anywhere
01:29:18 <oklofok> but no i didn't like any of those, i just think the whole idea is incredibly stupid
01:42:12 <oklofok> you might start by asking why i don't believe einstein is correct about time even being bendable
01:42:59 <oklofok> firstly i don't know any physics, secondly i'm a coconut.
01:59:21 <Sgeo> Someone thinks I'm a bunch of penguins
01:59:39 <psygnisfive> well, "sgeo" IS italian for "bunch of penguins", you know
01:59:41 <Sgeo> http://www.flickr.com/photos/83024403@N00/3266023863/
02:00:17 <psygnisfive> i feel like that's something cory doctorow would write in one of his stories
02:00:42 <psygnisfive> a posthuman who's embodiment is as a half dozen or so penguins
03:32:08 <kerlo> People who "the xkcd guy" can refer to, in order: 1. Randall Munroe. 2. That guy who always wears a hat. 3. Cory Doctorow. 4. That furry.
03:32:29 <kerlo> Except that furry isn't actually related to xkcd in any way.
03:37:35 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
04:02:28 -!- GreaseMonkey has joined.
06:23:10 -!- Sgeo has quit ("Leaving").
06:49:24 -!- Asztal__ has joined.
07:01:59 -!- Asztal has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:31:09 -!- neldoret1 has quit (Read error: 110 (Connection timed out)).
10:09:31 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:37:53 -!- Otrez has joined.
10:39:21 <Otrez> That was my friend -.-
10:42:42 -!- Otrez has quit (Read error: 104 (Connection reset by peer)).
14:21:56 -!- neldoreth has joined.
14:41:49 -!- Hiato has joined.
16:18:39 -!- Hiato has quit ("Leaving.").
16:56:21 -!- ais523 has joined.
17:13:08 -!- Hiato has joined.
17:13:45 -!- asiekierka has joined.
17:14:15 <asiekierka> What's the current "channel topic" as in, what are you currently talking aout?
17:15:12 <asiekierka> So uh, what's the current "esolang with interest", as in, what's the popular-esolang-of-the-while?
17:15:46 <ais523> I was thinking a lot about MiniMAX last night
17:15:58 <ais523> although nobody else knew I was doing that, so it probably hasn't caught on elsewhere yet
17:17:59 <asiekierka> Wow, MiniMAX's intepreter is only 14 bytes
17:18:06 <asiekierka> I think you could pull it off as a compiler
17:18:16 <asiekierka> just by making a compiler appending the MiniMAX code to the interpreter
17:18:29 <asiekierka> The goal is to make it 14 bytes too :P
17:18:48 <asiekierka> cuz it must be more than the program you're appending
17:19:01 <ais523> well, the main loop of the interp is 8 bytes
17:19:06 <ais523> my actual target was 32
17:19:21 <ais523> but I was going for the very shortest main loop I could, so I could use the rest for startup code
17:20:22 <ais523> that's without I/O or anything
17:20:32 <ais523> I have a 32-byte version with I/O somewhere lying around
17:20:39 <ais523> although I've never dared run it, so I don't know if it works
17:21:05 <ais523> (the 14-byte version has I/O in that it reads the program, IIRC; but the actual program can't do I/O)
17:21:52 <asiekierka> I think you could make the 14-byte version into a floppy disk compiler
17:22:01 <asiekierka> As in, the bootsector loads the data from the floppy disk into the RAM
17:22:20 <asiekierka> You can do it with any small-interpreter esolang
17:22:25 <asiekierka> or even with any ASM-interpreter esolang
17:22:46 <asiekierka> It's 1024 bytes of 68000 machine language
17:23:35 <ais523> probably you could translate it
17:23:40 <asiekierka> What about Shelta then? With 512 bytes of code it's impossible to add any code for the bootsector thing, right?
17:23:52 <asiekierka> Well, the trick is to load the program from the floppy disk too
17:24:03 <asiekierka> And I think you could make a 3-language interpreter bootsector
17:24:06 <ais523> you'd need a floppy disk driver
17:24:15 <ais523> but this gives me an idea
17:24:23 <ais523> an OS written entirely in esolangs
17:24:27 <ais523> apart from a few bytes of asm
17:24:38 <ais523> well, it's a good idea then if we both thought of it
17:24:38 <asiekierka> and I made it about a year and a half ago
17:24:43 <ais523> there have been EsoOS plans before
17:24:50 <ais523> but none of them really got anywhere, AFAIK
17:25:17 <asiekierka> Well, I think the EsoOS could consist of a "bootdata" program
17:25:30 <asiekierka> and it'll be a bootdisk for running esolangs
17:25:37 <ais523> this reminds me of suuda
17:25:38 <asiekierka> I have a bootsector BF ASM implementation by my friend
17:25:43 <ais523> which is in my esolangs directory, even though it isn't really
17:25:44 <asiekierka> He made a bootsector executing BF ASM code
17:26:05 <ais523> you know of self-extracting executables
17:26:14 <ais523> as in, compressed files with a .exe extension
17:26:26 <ais523> well, suuda creates self-uudecoding executables
17:26:32 <ais523> the resulting executable's entirely plain text
17:28:27 <asiekierka> Actually, that implementation is smaller than 240 bytes
17:29:36 <ais523> people have written Linux executables for BF
17:29:36 <asiekierka> I think it could be about 155-160 bytes when modified
17:29:41 <ais523> where the entire program fit in the header information
17:29:45 <ais523> so there's nothing but the header
17:30:12 <asiekierka> So we have ready versions of: BF, Shelta, Barely, MiniMAX, MinISCule
17:30:50 <ais523> I've never actually run the MiniMAX interp
17:30:51 <asiekierka> The bootsector-specific code is mostly configuring the stack so it MIGHT BE needed
17:30:59 <ais523> I tend to be scared to run programs I've written by hand in machine code
17:31:35 <asiekierka> actually, I must make myself The Reference of Assembler
17:31:59 <asiekierka> me coding = PC, keyboard, book or references on the desk, some paper (if needed)
17:32:12 <asiekierka> I can quickly find information and I use that ability
17:32:14 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
17:33:04 <asiekierka> I need to print myself a book (or just print a stack of paper) containing memory stuff, commands, INT stuff and some other tricks
17:33:19 <asiekierka> a stack of paper hold by something so i can browse it nearly like a book
17:33:57 <asiekierka> So basically, I would need to write a shell, a very simple FS (256 numbered files probably, as in, 00-FF)
17:34:08 <asiekierka> Basically, there will be the Data Table, which will contain:
17:34:19 <asiekierka> ...er, 256 pointers to different positions on the floppy disk
17:34:48 <asiekierka> While reading, it will jump to the proper spot, read the header (containing a "magic", type and some other stuff) and run the app
17:35:59 <asiekierka> Basically, the first sector is the bootsector, then there's disk data (pointer to the files and some other misc. stuff), then th efiles
17:37:20 <asiekierka> And if you need INT information, I will link you to a good webpage in a sec
17:38:12 -!- asiekierka has quit.
17:41:44 -!- asiekierka has joined.
17:42:17 <asiekierka> http://www.ctyme.com/intr/int.htm - Possibly the best interrupt reference in the world
17:43:05 <ais523> asiekierka: I went and got hold of a DOS 3 user's manual from the uni library
17:43:16 <ais523> or at least, I do whenever I want to do low-level DOS programming
17:43:21 <ais523> I put it back when I'm not using it
17:44:10 <asiekierka> and the closest manuals we had pre-1989 were translated German ones
17:44:27 -!- oerjan has joined.
17:47:55 <asiekierka> Basically, I will store the position as sector/cylinder/head
17:48:21 <asiekierka> bits 6-0: cylinders, of whom there are 80
17:49:43 <asiekierka> And hopefully, the file data will take exactly 512 bytes
17:50:03 <oerjan> <Otrez> That was my friend -.-
17:51:19 <asiekierka> Oh, and each file has a magic of 0xA51E
17:51:39 <asiekierka> If I will need any other magic, I may use 0x0523
17:55:16 <ais523> using more than 2 bytes magic tends to help
17:55:17 <AnMaster> oerjan, I read it hours ago....
17:55:32 <ais523> at least, if you want to distinguish from other files
17:55:33 <asiekierka> Basically, the header format is magic, size in sectors, 1 byte for data information (bit 7 = Secret (not inputtable via shell)?, bit 6 = Read-only?, bits 5-4 = Resered and bits 0-3 = Type
17:55:45 <asiekierka> ais523: I can distinguish from other files
17:56:00 <asiekierka> And the magic is just to check if the sector is correct
17:56:06 <asiekierka> Cuz every file will be at least 2 sectors
17:56:18 <ais523> well, 2 bytes could still happen by coincidence
17:56:21 <oerjan> AnMaster: good i didn't bother spoiling it, then
17:56:53 <asiekierka> The magic is now 0xA51E + file number (00-FF)
17:56:56 -!- FireFly has joined.
17:57:02 <asiekierka> So positioning on the wrong file is out too
17:57:36 * oerjan hands FireFly a free non-swat coupon
17:57:42 <oerjan> would you like to cash it now?
17:58:17 * oerjan swats FireFly -----###
17:58:55 <FireFly> I was going to write "Inbefore: :("
17:59:19 <asiekierka> if the size is 0, then it shows the number, but the reserved place is still there
17:59:34 <oerjan> i was fast? i even had an intermediate comment.
17:59:54 <FireFly> I started writing after "I see"
18:00:03 <asiekierka> Oh, and I added another 2-byte magic at the end
18:00:27 <oerjan> well obviously your next comment was splattered across the screen, the reason should be obvious
18:00:58 <asiekierka> The current filesystem allows for 256 files, 32K each
18:01:04 <Deewiant> asiekierka: You're here! I have issues with DOBELA.
18:01:30 <Deewiant> Well, as serious as can be when esolangs are concerned. :-P
18:01:43 <Deewiant> asiekierka: So, basically, the spec sucks.
18:02:11 <Deewiant> I'm trying to implement and I have about 20 questions here, so here we go.
18:02:23 <Deewiant> asiekierka: For starters: what happens with non-command chars?
18:02:40 <asiekierka> ...non-command chars? I think they would be ignored, as in, wiped when running
18:02:41 <Deewiant> asiekierka: I.e. if a dot hits one, does anything happen? Can they be considered blank spaces when loading the file, or what?
18:03:02 -!- MigoMipo has joined.
18:03:22 <Deewiant> asiekierka: BTW, are you going to write this stuff down or should/can I add stuff to the wiki page
18:03:40 <asiekierka> Just increment the spec number by 1 and add (modified by asiekierka and Deewiant)
18:04:05 <Deewiant> asiekierka: Next: what happens when a dot hits =? Does it bounce off like from a #, reflect, go through, what?
18:04:34 <Deewiant> I.e. if on cycle 1 it collides with =, where is it on cycle 2
18:04:45 <Deewiant> Does it start moving from on top of the =
18:04:50 <Deewiant> Or does it start from behind the =
18:05:03 <Deewiant> Yes, but there's a timing issue her
18:05:15 <Deewiant> Okay, so it sort of jumps over it.
18:05:37 <Deewiant> Then: what happens to a dot that hits _?
18:06:23 <ais523> hmm... would it be possible to write a DOBELA interp in ALPACA + a preprocessor, I wonder?
18:06:43 <asiekierka> Maybe there will need to be slight spec changes
18:07:01 <Deewiant> 4. Is $ supposed to buffer until either the program ends or a ^ gets hit south?
18:07:57 <Deewiant> So nothing is output until then
18:08:15 <Deewiant> 5. What's the default state of |?
18:08:41 <Deewiant> I.e. when a dot hits it east/west do they go up or down by default
18:08:59 <asiekierka> As in, bounce off based on the dot's whims
18:09:16 <asiekierka> Setting it makes both dots bounce to the same direction
18:09:36 <asiekierka> I'm going to go to 10. and take a break from my PC
18:09:45 <Deewiant> While you're gone, think about v
18:09:54 <Deewiant> I basically don't get it at all
18:10:14 <asiekierka> The dot hops over, but it's changed into whatever comes from the FIFO
18:10:25 <asiekierka> Except if hit south, then the dot is destroyed
18:10:30 <Deewiant> Hops over? It says dots are destroyed always
18:10:45 <asiekierka> Well, I think i just explained it wrongly
18:10:55 <Deewiant> And okay, but what if there are _
18:12:05 <asiekierka> Cat wouldn't sadly work cuz it never clears and outputs the FIFO
18:12:17 <Deewiant> Yeah, I was going to ask that next
18:12:26 <Deewiant> Should the FIFO be flushed at end of program or not
18:12:43 <Deewiant> So cat does work after all? :-P
18:13:04 <Deewiant> Well, no point in clearing it if the program ends anyway :-P
18:13:39 <Deewiant> Do they output on the first or second cycle?
18:13:40 -!- BeholdMyGlory has joined.
18:13:47 <Deewiant> Every second, yes, but when is the first
18:14:03 <asiekierka> _ outputs every cycle it gets a keystroke
18:14:30 <Deewiant> With buffered input _ has no choice in the matter
18:14:38 <asiekierka> and outputs 1 bit from the buffer if it has one
18:14:40 <Deewiant> I mean, stdin is buffered on the OS's side
18:14:58 <asiekierka> Basically, if it has a bit from stdin, it outputs it
18:15:04 <asiekierka> If it doesn't have any, it does nothing
18:15:06 <Deewiant> Yeah but if you have say just a _
18:15:16 <Deewiant> Then does it ask for input from the OS on the first or second cycle
18:15:48 <Deewiant> Well, I don't think it matters
18:15:55 <Deewiant> It's just something that has to be known :-P
18:16:11 <Deewiant> Alright, I think this is number 7 or 8: what do multiple _ do?
18:16:30 <asiekierka> I think a fair one will be for them to do it sequentially, top-left
18:16:43 <asiekierka> Like, if there's "_ _ _" in the first row and " _ _ " in the second
18:16:45 <Deewiant> Number 10 would have been "what exactly is topleft"
18:17:30 <asiekierka> And if there's more than one _, they go sequentially every cycle
18:17:36 <asiekierka> ignoring the "every other cycle" thing
18:17:45 -!- Mony has joined.
18:17:54 <Deewiant> So the 'every other cycle' rule only applies if there's one _?
18:18:08 <asiekierka> Weird design but I wanted it to be like that
18:18:15 <asiekierka> So now Number 8 or 9 or 10 or whatever
18:18:24 <Deewiant> Yeah, whatever: north-south collision isn't specced
18:18:49 <Deewiant> Yes, but 0/0 and 1/1 are different
18:19:55 <Deewiant> asiekierka: Multi-dot collision, I basically don't get how it should work
18:20:16 <Deewiant> So the topleftmost one moves first, then collides with whatever
18:20:34 <asiekierka> the east-west ones are scanned top-down
18:20:49 <asiekierka> and north-south are scanned left-right
18:20:58 <Deewiant> If we have that, to me it seems like there's no collision
18:21:02 <asiekierka> first east-west, so the 2 .. dots would collide
18:21:54 <asiekierka> Then it scans the board for east-west collisions
18:22:09 <asiekierka> Then it scans the board for north-south collisions
18:22:23 <Deewiant> There are no east/west or north/south collisions
18:22:43 <Deewiant> To me it seems like, if they all move at the same time, we just have the next state be:
18:23:15 <Deewiant> The topleft one moved east, the topright one moved south, the lower right one moved west
18:23:27 <Deewiant> At the end of it, no two are on top of each other
18:23:52 <asiekierka> What about "if more than 2 dots collide (as in, collide, not what I did there), all are bounced"
18:23:59 <Deewiant> I guess this cuts back to a bigger issue
18:24:13 <Deewiant> Which is: how exactly are moves timed
18:24:27 -!- neldoreth has quit ("leaving").
18:24:31 -!- neldoreth has joined.
18:24:36 <asiekierka> I think they should be handled top-left
18:25:30 <Deewiant> Yeah, but that still doesn't say how they move (I don't think)
18:26:12 <Deewiant> Aren't 1/1 supposed to create a wall?
18:26:56 <FireFly> "Program ends when there is no more dots moving." <-- So shorter cat example would die in gen 2, since inputs are only spitted out every other generation?
18:26:59 <Deewiant> That's still not 100% clear with regard to what you said about detecting all collisions at once
18:27:03 <Deewiant> FireFly: Shush, that's question 13
18:27:38 <asiekierka> Firefly: Uh, no more dots moving AND no _'s
18:27:51 <Deewiant> asiekierka: So if a dot has participated in a collision, it won't collide with anything else any more
18:27:58 <Deewiant> I think that disambiguates it completely
18:28:11 <asiekierka> Well, if it patricipated in a collision, the exception is carried out
18:28:16 <asiekierka> so it changes either into a wall or nothing
18:28:20 <FireFly> Hm, what about multiple _'s then?
18:28:39 <asiekierka> The rules are a mess of a mess of King the Mess
18:28:49 <Deewiant> asiekierka: So basically the dots are instantaneously destroyed/walled half-way through an iteration
18:29:38 <Deewiant> asiekierka: Simplish question: what does 'ASCII files' actually mean? Is non-ASCII an error? (You probably just meant that #,.= etc are ASCII and not EBCDIC)
18:30:17 <asiekierka> This is not a rule but more of a "Unicode not needed"
18:30:18 <Deewiant> Yeah, but since the only commands are all ASCII anyway
18:30:30 <asiekierka> but some Japanese nerd might want Unicode for comments
18:30:31 <Deewiant> It doesn't really make a difference whether you say "not Unicode" or not :-P
18:30:51 <Deewiant> Ah, okay, so you're just saying that impls don't need to support anything beyond ASCII
18:31:06 <asiekierka> they don't even need to support extended ascii
18:31:08 <Deewiant> Alright, few longer questions now
18:31:43 <Deewiant> So what happens if the OS provides IO which can't be done at bit granularity
18:32:02 <asiekierka> Then the bit separation must be carried out by the interpreter
18:32:19 <Deewiant> So then, what if the FIFO contains a single 1
18:32:32 <Deewiant> Is that 0b10000000 or 0b00000001
18:32:51 <Deewiant> What about on big-endian machines?
18:33:03 <asiekierka> Well, it should be 0x01, whatever the binary result is
18:33:30 <Deewiant> So basically a DOBELA program always sees a little-endian world
18:33:46 <Deewiant> (I think. Or big-endian. Whatever.)
18:33:59 <asiekierka> I think it just inputs data converted to little-endian
18:34:07 <asiekierka> and outputs data converted from little-endian to whatever the OS needs
18:34:29 <Deewiant> Yeah, that's basically what I meant
18:34:37 <Deewiant> Alright, then what FireFly said earlier
18:34:59 <Deewiant> Although I guess you responded to that already
18:35:04 <Deewiant> About program ending when there are no more dots
18:35:10 <asiekierka> <asiekierka> Firefly: Uh, no more dots moving AND no _'s
18:35:24 <Deewiant> And to clarify, I guess you mean that the program runs as long as _ has not hit EOF
18:35:25 <asiekierka> So if the program has no _'s, the program end when there are no more dots moving
18:35:33 <FireFly> I guess you'd have to include :'s too?
18:36:05 <asiekierka> if the program has _'s, program ends when 0x00 is send via the FIFO
18:36:53 <asiekierka> And if 0x00 is detected by the outputting mechanism
18:37:04 <asiekierka> no matter if there's no _'s or there are _'s
18:37:12 <Deewiant> Since now a DOBELA program can't output 0x00
18:37:21 <asiekierka> Why should any program output 0x00 anyway
18:37:47 <FireFly> It could be nice for compilers
18:37:49 <Deewiant> E.g. you make a JPG encoder in DOBELA
18:38:05 <Deewiant> asiekierka: I think it just makes sense that the conditions are: no dots, and _ has not hit EOF
18:38:38 <Deewiant> Do dots conceptually carry on moving forever?
18:38:49 <Deewiant> If you have a dot go off the edge of the original file
18:38:56 <Deewiant> Is it an infinite loop since that dot lives forever
18:39:13 <asiekierka> But the board size must be a minimum of 256x256
18:39:25 <Deewiant> Interpreter supported size or not
18:39:30 <asiekierka> as in, if the TXT file is <256x256, the board is 256x256
18:39:32 <Deewiant> If a dot goes off the edge of the original file
18:39:39 <Deewiant> It doesn't matter what the board size is
18:39:48 <Deewiant> Since dots only matter if they collide with something
18:40:05 <Deewiant> asiekierka: If a dot goes off a 32x32 TXT file, it is gone for all practical purposes
18:40:12 <Deewiant> The only difference is the concept
18:40:18 <Deewiant> Does it live forever in the void or not :-)
18:40:35 <Deewiant> So if it's destroyed, that means it dies, okay
18:40:40 <asiekierka> well, no interpreter supported size then :P
18:40:50 <Deewiant> asiekierka: Yeah, since it doesn't really matter, only as far as can it load the orig file
18:41:09 <Deewiant> (Equally well .=# or whatever)
18:41:29 <Deewiant> asiekierka: Can the dot be superimposed over the _ or = there, or what?
18:41:45 <asiekierka> the dot needs an empty space to be output
18:42:01 <FireFly> The spec never says that the original (hardcoded) dots should move east?
18:43:31 <Deewiant> asiekierka: I think making this consistent would be a good idea :-P
18:43:35 <Deewiant> asiekierka: I.e. one rule covers all
18:43:43 <Deewiant> (Destruction would be fine IMO)
18:44:01 <asiekierka> Well, = is an exception since it's pretty much one of the most important parts of a DOBELA program
18:44:03 <Deewiant> I have to go now myself, this isn't important so you can answer later ->
18:44:26 <FireFly> Ah, now I found the default direction
18:44:58 <asiekierka> so if the TXT file already contains a dot
18:45:09 <asiekierka> until it bounces off something or whatever
18:45:42 <FireFly> Wait, wouldn't ".." turn into " #" first gen?
18:46:07 <FireFly> ,.,,.,,,,..,,.,.,..,..,,,..,..,,,..,....,,.,,,,.,,,,.,., $
18:46:25 <asiekierka> cuz it doesn't yet have a generator to output stuff
18:47:06 -!- asiekierka has changed nick to asie[away].
18:47:15 <FireFly> I'll enjoy playing around with this some day
19:05:44 <FireFly> Or, away from nick = from computer
19:08:55 <Deewiant> FireFly: I realized that about 3 minutes after I left; that 'Hello!' program can't possibly work with the collision semantics he described
19:09:19 <Deewiant> Hey, you're supposed to be [away]
19:09:27 <asie[away]> Deewiant: I'm only here for a short period of time
19:09:33 <Deewiant> asie[away]: So you think that that behaviour is still preferable?
19:10:03 <asie[away]> that do insane stuff for insane reasons
19:10:14 <Deewiant> I.e. that ' ..' is ' #' if they're moving east but it's '.. ' if they're moving west
19:10:23 <Deewiant> It seems awfully inconsistent to me
19:10:41 <asie[away]> The "collision" works only if they both move in opposite directions
19:10:48 <asie[away]> If they move in the same direction, they just move
19:10:55 <Deewiant> By opposite do you mean different
19:11:18 <Deewiant> asie[away]: You're contradicting what you said earlier
19:11:38 <Deewiant> 2009-03-20 19:25:31 ( asiekierka) V
19:11:39 <Deewiant> 2009-03-20 19:25:35 ( asiekierka) ->..
19:11:39 <Deewiant> 2009-03-20 19:25:38 ( asiekierka) .<-
19:11:39 <Deewiant> 2009-03-20 19:25:42 ( asiekierka) will be on the next cycle
19:11:39 <Deewiant> 2009-03-20 19:25:53 ( asiekierka) .<-
19:11:41 <FireFly> Eg. one to the right, one downwards
19:11:44 <Deewiant> asie[away]: That's what you said earlier
19:12:18 <asie[away]> except if something happens like this:
19:12:33 <Deewiant> That's what I've already implemented
19:12:38 <Deewiant> So I won't have to change it ;-)
19:13:05 <Deewiant> So then there's an additional question though
19:13:25 <Deewiant> Lower dot is also moving to the same point, north
19:14:01 <asie[away]> Well, then the collision "->. .<-" is first carried out
19:14:28 <Deewiant> You have totally arbitrary different rules for different situations >_<
19:14:42 <asie[away]> So if there is a collision, it's carried out
19:14:48 <asie[away]> if not and a dot is blocked, it doesn't move
19:15:06 <asie[away]> and if the dot is not colliding nor blocked, it just moves in whatever direction it should.
19:15:07 <Deewiant> Previous example was a collision of 3 dots
19:15:30 <asie[away]> A "collision" is when two dots hit that are moving in opposite directions
19:15:54 <FireFly> [19:14:31] <Deewiant> You have totally arbitrary different rules for different situations >_<
19:16:19 <FireFly> Requires an asie~ platform for the intp
19:16:21 <asie[away]> You know how i said scanning is topleft?
19:16:31 <Deewiant> Yes, and you've contradicted that twice now
19:18:05 <Deewiant> What you've been trying to say is
19:18:39 <Deewiant> If two dots would go in the same spot but they're not moving in opposite directions, the later dot simply doesn't move
19:18:59 <asie[away]> remember the board is scanned left-right, top-down
19:31:08 <Deewiant> In the end the rules weren't so tricky, a few exceptions I couldn't predict (.=# and the non-opposite collisions) but other than that it went the way I guessed
19:32:12 -!- Hiato has joined.
19:34:04 -!- javahorn has joined.
20:03:27 -!- asie[away] has changed nick to asiekierka.
20:04:17 <asiekierka> As in, a floppy disk with a very simple FS
20:04:23 <asiekierka> running esolang programs and ASM programs
20:04:29 <asiekierka> from esolang programs, BF will be there
20:07:02 <asiekierka> The bootsector only needs to read the file 00 and execute it
20:07:42 <asiekierka> decode them to be the head, cylinder and sector
20:08:47 <FireFly> But, this comp has no floppy drive :(
20:09:55 <asiekierka> But I need some data on the limits of HDD geometry
20:10:03 <asiekierka> so I can know how much bits to allocate for what
20:10:12 <asiekierka> why? Because I want this to work on USB too
20:12:05 <asiekierka> Basically, I need to allocate 6 bits for the sector, 8-10 for the cylinder and 1 for the head AFAIK
20:14:38 <asiekierka> And I don't know how will I realize the detection of the medium I booted from
20:14:57 <asiekierka> But modifying it to work from HDD is hard
20:15:45 -!- Sgeo has joined.
20:15:51 <asiekierka> which allows to execute 32-bit commands in 16-bit mode
20:16:51 <AnMaster> anyone here know if you can add in a rpath entry in a ELF binary *after* linking
20:17:00 <AnMaster> don't* want to recompile this huge program
20:17:42 <Deewiant> You might have to mess with some other offsets though
20:18:22 -!- FireFly has quit ("Brb...").
20:18:31 -!- FireFly has joined.
20:24:55 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)).
20:25:37 -!- asiekierka has joined.
20:26:34 <oerjan> at least you didn't lose any verbs in the process
20:28:30 <FireFly> oerjan, you forgot to swat me
20:29:20 * oerjan swats FireFly twice as compensation -----### -----###
20:31:33 <AnMaster> hm It seems the rpath is in the .dynamic section
20:32:27 <fizzie> There seem to have been some plans in Solaris to add some free space in all ELF files so that they can be more easily tweaked: http://blogs.sun.com/ali/entry/changing_elf_runpaths
20:33:37 <fizzie> That suggests it's not completely trivial to do without it. (Although I don't see why it wouldn't work if you actually bother fixing all those other offsets that change.)
20:35:21 -!- Hiato has quit ("Leaving.").
20:35:22 <oerjan> i do recall some online game where you swatted mosquitoes...
20:35:39 <AnMaster> anyway the issue is I needed to install a newer gcc in a prefix to be able to build llvm correctly, and I wish to add a rpath to llvm-gcc since it now depends on libstdc++ from this newer gcc.
20:35:58 <AnMaster> system gcc is 4.1.2, prefixed gcc is 4.3.3, llvm gcc is 4.2.1
20:36:23 <AnMaster> and I don't want to have to recompile one or more gcc's just to make this work...
20:40:13 -!- psygnisfive has quit (Remote closed the connection).
20:40:51 <AnMaster> hm I suspect recompiling will be easier in fact
20:41:00 <AnMaster> if the dynamic section had been last...
20:42:06 <AnMaster> also I thought bootstrapping gcc would work around it..
20:45:34 -!- tombom has joined.
20:57:38 -!- oerjan has quit ("Good night").
21:11:49 -!- StelK has joined.
21:12:51 <Slereah> I think it's the orgies on speed
21:13:01 <ais523> err... on IRC, is that even possible?
21:13:22 <StelK> I'm looking for some idea to code a new esolang
21:14:25 <ais523> as in, you have the esolang idea, and need it coded?
21:14:29 <ais523> or want to code something and don't know what?
21:14:34 <StelK> I didn't expect to find so many people in a esolang-related channel
21:14:50 <ais523> this is the main esolang discussion place anywhere, as far as I know
21:15:02 <ais523> although it would be great if there was an even bigger secret one I didn't know about
21:15:08 <Slereah> I've got plenty of ideas that I need a chump^H^H^H^H^H experienced programmer to write an interpreter
21:15:38 <ais523> http://esolangs.org/wiki/Category:Unimplemented may give you some ideas
21:16:00 <ais523> although note that some of those are awful, and some are theoretically impossible to implement
21:16:03 <Slereah> Forgot to put Limp in here.
21:16:10 <StelK> I've already read that
21:16:17 <StelK> I think Primordial
21:16:53 <StelK> is quite nice... but there not enough specification to create an interpreter
21:16:58 <ais523> wtf, why is Easy in the unimplemented section?
21:17:05 <ais523> has really nobody bothered to implement it all this time?
21:17:21 <Slereah> Also I'm an English interpreter
21:17:21 <ais523> no it isn't, it's basically BF with the program and input streams mixed up
21:18:18 <ais523> if you don't mind implementing something that's been implemented before, implementing functional esolangs can be instructive
21:18:26 <ais523> like Underload (relatively easy), or Unlambda (Much harder)
21:19:04 <StelK> Well.. I've created two simple esolangs until now, SPL and P in the Wiki... so I'd like to create something new
21:20:22 <asiekierka> something with relatively tricky specs and totally weird syntax
21:20:27 <Slereah> I hear limp is an awesome functional esoland
21:20:46 <asiekierka> The spec is currently v11b and needs to be fixed
21:22:02 <asiekierka> It has been done waaaay too much times
21:22:40 <StelK> already done it one time
21:23:29 <asiekierka> If you're very bored, implement DOBEL---oh wait, Deewiant is already doing THAT.
21:24:01 <StelK> I'll try to come up with something new :D
21:24:10 <Deewiant> And the spec wasn't updated so you'd do it wrong anyway :-P
21:24:33 <FireFly> I like some of the ideas in that lang
21:24:56 <asiekierka> Also, I'm making (with little idea help from ais523) the MiniShell
21:25:10 <asiekierka> the most important purpose of it is to run esolangs from a floppy disk without dependence from any OS
21:25:45 <asiekierka> And uses a simple FS which uses 256 numbered files without names
21:29:02 <asiekierka> It is planned for it to run programs in MiniMAX, MinIScule and Barely for v0.01
21:29:10 <asiekierka> Why? Because they have ASM interpreters
21:29:22 <asiekierka> Especially MiniMAX cuz it is independent
21:29:39 <asiekierka> and with about 6-10 lines of ASM code, it's very small
21:29:47 <ais523> are you running asm, or machine code?
21:30:29 <asiekierka> a PC runs machine code, which is compiled ASM
21:31:02 <Deewiant> Running "compiled X" doesn't really say anything at all about what you're actually running :-P
21:32:32 <Deewiant> I take issue with that usage of the word "assembler"
21:32:45 <Deewiant> "Assembly" is the language, "assembler" is the compiler, dammit!
21:33:10 <asiekierka> Also, seems MinIScule uses DOS interrupts
21:40:01 <asiekierka> this is the types of files I plan for 0.1
21:41:54 <asiekierka> well, I don't exactly need to implement 0000
21:46:07 <StelK> I gotta go see you
21:46:30 -!- StelK has quit ("good bye").
21:47:11 -!- psygnisfive has joined.
21:49:30 -!- asiekierka has quit.
22:20:29 <Sgeo> What's asiekierka's language?
22:34:57 -!- BeholdMyGlory has quit (Remote closed the connection).
22:35:34 -!- rideauli has joined.
22:35:43 -!- rideauli has left (?).
23:05:09 -!- zzo38 has joined.
23:05:52 <zzo38> I wrote a program in CLCLC-INTERCAL to output 1 to 2000 in Roman numbers but I can't test it. Can you look and tell me if you found a mistake, or another comment about this program
23:06:09 <ais523> zzo38: would it run in CLC-INTERCAL?
23:06:20 <ais523> or does it rely on CLCLC-INTERCAL specific features?
23:06:59 <zzo38> It uses CLCLC-INTERCAL specific features
23:07:09 <ais523> assign to constants is legal in C-INTERCAL, by the way
23:07:14 <ais523> with a compiler switch
23:08:05 <ais523> also, how does the addition work in your program/
23:09:06 <zzo38> My program has no addition. The way [I think] it works is based on the && operator and also how CLCLC-INTERCAL assigns to expressions (which may not be always the same as other INTERCALs)
23:10:37 <zzo38> Is there still something else you do not understand about it
23:11:17 <oklofok> so addition works using the && operator?
23:12:11 <zzo38> No, the && operator doesn't do addition. The && operator allows you to learn a lecture inside of a expression.
23:12:19 <ais523> I just don't see why assigning to the result of a learnt lecture would add 1 to a number
23:13:11 <zzo38> It doesn't. The interpreter would try each value of .1 (the left side of the lecture) in order, and stop when the value of .1 causes .1&� to have the value #2000
23:13:39 <zzo38> It starts at zero but it won't output zero because it is abstained the first time
23:14:14 <ais523> you can't rely on that behaviour, surely
23:14:44 <zzo38> Maybe not in CLC-INTERCAL but in CLCLC-INTERCAL it is specified that this kind of behaviour is standard
23:15:07 <ais523> it's incredibly inefficient
23:15:23 <ais523> assigning to expressions should be done by using the inverse of the expression, obviously
23:16:19 <zzo38> For expressions that have inverses that will work (as long as they are not overloaded to other expressions) but the && operator doesn't have a inverse so it has to try each one until one of them works
23:16:52 <ais523> I wonder what happens if you try to reverse-assign to a created expression in C-INTERCAL?
23:16:57 <ais523> that's pretty similar to what you're doing
23:16:57 <zzo38> Also note that in CLCLC-INTERCAL, when assigning to a expression only the far left side of the expression is the register which will be changed (even if it is a constant!)
23:17:19 <ais523> what about DO .1 $ .2 <- #10
23:17:43 <FireFly> What does the "LC" in CLC-INTERCAL stand for?
23:17:58 <ais523> FireFly: CLC is Claudio Calvelli's initials
23:18:00 <zzo38> In CLCLC-INTERCAL .2 has to have the correct value already if it doesn't then it is a fatal error
23:18:09 <ais523> that's incompatible with other INTERCAL implementations
23:18:12 <ais523> very incompatible, in fact
23:18:34 <zzo38> It's INTERCAL, so who cares about compatibility with other INTERCAL implementations?
23:18:54 <ais523> Claudio and I care a lot about compatibility
23:18:59 <ais523> after all, no other language seems to
23:19:23 <zzo38> Then just use compatibility mode if you want to be compatible
23:21:01 <ais523> ICL277IYOU CAN ONLY DISTORT THE LAWS OF MATHEMATICS SO FAR
23:21:05 <ais523> hmm... I'm not surprised
23:21:19 <ais523> PLEASE DO CREATE (4) t
23:21:23 <ais523> (4)DO .1603 <- .1601 $ .1602
23:21:45 <ais523> an error is more or less the best you can hope for with code as insane as that
23:24:30 <oklofok> please explain that codence
23:24:44 <ais523> oklofok: ok, the first line defines a new operator t
23:24:48 <ais523> whose code is found starting at (4)
23:24:56 <ais523> the second line assigns .3 to .1 t .2
23:25:07 <ais523> that's known as a reverse assignment, and is one of the less sane operators in INTERCAL
23:25:10 <ais523> it has a lot of limitations atm
23:25:27 <ais523> then the third line exits, and the last two lines are the definition of t, which doesn't really matter to make the point
23:26:26 <oklofok> what's so insane about that
23:27:00 <oklofok> oh the fact it needs to find the reverse of an arbitrary operation
23:27:18 <oklofok> that's used to make a loop? how?
23:27:30 <ais523> it doesn't make a loop in C-INTERCAL
23:27:44 <zzo38> The output 1 to 2000 program was wrong but now I fixed it. The third line now says DO .1&&.1 <- #2000 it used to say DO .1&� <- #2000 but that was wrong
23:27:49 <ais523> apparently zzo38's mandating that in CLC-INTERCAL, the way it reverses an operation is to try all possibilities until one works
23:28:32 <zzo38> ais523: s/CLC-INTERCAL/CLCLC-INTERCAL/
23:30:45 <oklofok> but wouldn't it be kinda weird for it to actually produce incorrect output and only then realize it failed to reverse it
23:30:49 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:33:04 <oklofok> also is #2000 simply the constant 2000_10?
23:33:28 <ais523> yes, # introduces a decimal number
23:33:53 <oklofok> for a moment i thought numbers were given in some weird format, but it was probably just the prefix bluffing my brain or something
23:34:19 <oklofok> because i remember seeing things like #65536 (or 65535, or different prefix, but anyway)
23:34:41 <zzo38> It doesn't backtrack any side-effects of the expression (such as attending a lecture or overloading) so you can do anything inside the lecture and it won't care. A fatal error is still a fatal error (or maybe it can be defined a different way instead, that a fatal error in this case backtracks?)
23:34:55 <ais523> zzo38: what if there's a choicepoint inside the lecture?
23:35:04 <ais523> and someone backtracks into it?
23:35:08 <ais523> what happens in a multithreaded program?
23:35:23 <oklofok> then if it's specified clclc tries the values in order, that is a very elegant way to write the program imo
23:35:44 <oklofok> in fact something i'd like to see a language based on
23:36:42 <zzo38> If someone backtracks into a choicepoint inside the lecture then it will backtrack the implicit loop also and continue trying different values for .1 where it left off. And in a multithreaded program it will only deal with the current thread, values in other threads are unaffected and there is no guarantee what order it will output in
23:36:55 <oklofok> am i misunderstanding something here, why are you asking zzo38 how things work, isn't there a spec?
23:36:56 <FireFly> Yeah, I agree, reading this a bit makes it sound really interesting
23:38:29 <oklofok> prolog is based on that isn't it kinda
23:38:54 <oklofok> assuming you define naturals, and it tries them in order
23:39:52 <oklofok> of course it won't continue if the expression gives the wrong answer, it just tries out all the right answers
23:40:53 <oklofok> was zzo38's idea that the function to be reversed had the side-effect of always writing out the current number being tried?
23:41:22 <ais523> oklofok: yes, that's how it worked
23:41:36 <ais523> zzo38: I was referring to timing issues between the threads
23:41:42 <oklofok> and can't that be done in prolog, basically you say X is an integer, then you say X satisfies P, and P's definition prints X's value
23:41:49 <oklofok> then you say X needs to be 2000
23:41:49 <ais523> certainly, you wouldn't expect an expression to take several thousand ticks
23:41:52 <zzo38> O, I forgot one thing about what it should do if the student is an array. And I'm not sure what it should do in that case.
23:42:54 <zzo38> Maybe you can in prolog but I don't know much about prolog
23:43:24 <oklofok> and i think i do, although i haven't really used it
23:43:49 <ais523> zzo38: in Prolog, integers are special-cased for sanity
23:44:01 <ais523> although that sort of thing works "fine" (although inefficiently) if you define integers yourself
23:44:07 <ais523> rather than relyingon the stdlib definition
23:44:13 <zzo38> I have a question that you can help me define the spec of CLCLC-INTERCAL: What should it do if you assign to a && expression where the student is an array
23:44:21 <oklofok> ais523: was that an answer to me as well?
23:44:31 <ais523> oklofok: possibly, I'm tired and confused
23:44:46 <oklofok> ais523: what does it mean they are special-cased?
23:45:00 <ais523> oklofok: look up the is operator
23:45:15 <ais523> I mean, they don't work anything like the rest of the language
23:45:23 <ais523> they're syntactic-sugared loads
23:45:31 <ais523> and none of the arithmetic operators are interchangeable
23:45:46 <oklofok> wait what do you mean interchanceable
23:45:57 <oklofok> anyways is is just something that tests two numbers for equality
23:45:58 <ais523> interchangeable means you can swap around what's the result and what's the arguments to a predicate
23:46:05 <ais523> and no, is doesn't test for equality
23:46:18 <ais523> 2+2 isn't an expression in Prolog
23:46:26 <ais523> it's just an inert term, '+'(2,2)
23:46:44 <ais523> is basically recursively evaluates terms which look like arithmetic expressions
23:47:15 <oklofok> yes anyway i know they're not interchangeable, and that prolog doesn't understand math
23:51:00 -!- ais523 has quit (Remote closed the connection).
23:53:34 -!- zzo38 has quit ("because ais523 quit").