< 1205107331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: opinions? < 1205107350 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I've used UMSDOS < 1205107399 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :seemed to work fine < 1205107420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: hmm < 1205107420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one way to do IPC < 1205107420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :would be very simple < 1205107433 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can send off an opaque message -- (void *) -- to a process < 1205107433 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :my latop hd was too small to partition, so win95 and linux shared the drive < 1205107439 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then use poll() or whatever to get a response, async < 1205107454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if IO is a process, then all IO becomes async < 1205107574 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :best period 1260 sequence (5 moves): L F' R2 L U' < 1205107600 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: p.s. i've seen this passed around http://www.jamesmolloy.co.uk/tutorial_html/index.html < 1205107605 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe better than bran's tutorial < 1205107720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it seems to be more modern & thorough < 1205107760 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Tutorial, shmootorial. < 1205107789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: hey, i haven't seen one "COPY 'N PASTE THIS" in it yet < 1205107799 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& it has even a chapter on multitasking < 1205107802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so i'd say -- worth a look < 1205107812 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :calamari: i found a wikipedia article on the Rubik's Cube group, but nothing about its largest element order < 1205107823 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: heh, the gdt stuff is nice and long < 1205107826 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& actually explains it ;) < 1205107845 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1205107848 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I'm having success combining that sequence with color-based turns < 1205107868 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm still proud of doing it myself. :p < 1205107869 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1205107880 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: for example if the upper right color is red, turn the right side < 1205107938 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so far I've gone out to a million iterations and it's not too bad.. right now tweaking it for the most even distribution < 1205107941 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I would still take a look at the stuff there. < 1205108016 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you mean it hasn't come back after a million iterations? < 1205108050 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: if it had, then the distribution would badly skew < 1205108067 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm wait, are you actually iterating the same exact moves? < 1205108074 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205108091 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :those 5 moves, plus 1 color based move < 1205108120 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no i mean, the color based move does not necessarily repeat after a while < 1205108133 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :only if the cube does < 1205108137 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it might not be reversible < 1205108147 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :that's a good thing, isn't it? < 1205108184 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean you might _never_ get back to the original state < 1205108191 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :perhaps not < 1205108217 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :calamari: you should check if any intermediate states repeat < 1205108221 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yes I should < 1205108229 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but I am not sure how to do that < 1205108235 0 :oklofok!n=ville@194.251.103.33 JOIN :#esoteric < 1205108252 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :do you know of an algorithm that doesn't use a linear amount of ram? < 1205108264 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there's a simple way - you keep the states at time n and 2*n < 1205108276 0 :oklopol!unknown@unknown.invalid QUIT :Connection reset by peer < 1205108313 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you can easily calculate those incrementally < 1205108314 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what do mean? < 1205108343 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://www.jamesmolloy.co.uk/tutorial_html/7.-The%20Heap.html this kind of thing jus treminds you that malloc()ing small blocks frequently should probably be considered harmful ;) < 1205108348 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(1) put your original state in two variables < 1205108370 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(2) do one iteration on the first copy, two iterations on the second < 1205108387 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(3) check if they have become equal. if not, go to (2) < 1205108394 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1205108411 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :thank you.. I will do that immediately < 1205108466 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this will show if they repeat, although not necessarily the first point at which a repetition occurs < 1205108518 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :is there a name for that algorithm? < 1205108525 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :don't know < 1205108527 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to read more about it on wikipedia < 1205108545 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ahh ok.. well thanks :) it's good < 1205108952 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :boom.. repeated < 1205108963 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is not surprised < 1205108965 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so it's not good enough yet < 1205109007 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1205109060 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well it'll have to repeat eventually since there are only ~45-48 bits of state in a rubiks cube < 1205109083 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but I'm sure that look much less time than 45 bits < 1205109087 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :tool < 1205109092 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :argh... < 1205109095 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :took < 1205109361 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sorry, but i just googled for "rubik's-cube period 1260" and the first result contains the text "Maximum order for the Rubik's Cube is known to be 1260". < 1205109454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Hmm. mallocd. < 1205109455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1205109459 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205109491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: mallocd is, of course, started by procd, which while doing the internal book-keeping required to start mallocd, utilizes mallocd to allocate its structures. < 1205109499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205109546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh, if mallocd existed: < 1205109568 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And I assume you've got mallocd running in ring 1? < 1205109639 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205109646 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure how you'd send stuff off to the malloc process < 1205109653 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a normal 'fd' sounds tempting, but somehow wrong :) < 1205109655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: heh, guess so < 1205109662 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but that recursive dependencys kinda the main nag! < 1205109665 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Message-passing, of course. < 1205109677 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yes < 1205109682 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but through which method < 1205109686 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :FDs would be the unixy way < 1205109737 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: however that is when applying the algorithm without taking color into account < 1205109739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: e.g., assuming 'write' is the syscall.. < 1205109745 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you represent sending over a size_t? < 1205109752 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since write takes a const void * < 1205109765 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& you can't reliably cast < 1205109784 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but anyway, PSEUDOcode for malloc: < 1205109802 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :sorry, what are you guys doing? < 1205109811 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :looks like an operating systems class in here < 1205109838 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: heh < 1205109843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: pikhq's writing a little kernel < 1205109847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm throwing around batty ideas < 1205109861 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :posix? < 1205109867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: that's his intention < 1205109871 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :nifty < 1205109878 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :calamari: yeah. i think if you have a sufficiently complicated test you should be able to take a tour around the longest path of the _graph_ of the cube, which surely must be longer < 1205109902 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(graph of configurations) < 1205109931 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah I figure there's no algorith that'll result in every combination being used in the sequence < 1205109937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://www.exclaim-project.org/ I would admire the progress on this toy OS if the creator didn't take it so ?$()%@?! seriously < 1205109959 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :He seriously thinks that some day not far from now it could be actually used on real systems in place of linux < 1205109966 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/sigh < 1205109984 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :calamari: that's essentially the question of whether the configuration graph has a hamiltonian path < 1205109997 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :right < 1205110044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if that is even known, this being NP-complete to check and all < 1205110070 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ah, i know how mallocd could exist < 1205110078 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the kernel 'pretends' to be multiple processes < 1205110081 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :procd, mallocd, etc < 1205110089 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they act just like regular, good ol' fashioned processes < 1205110099 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but they're actually coupled into the kernel core, because well -- they are core < 1205110112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: good idea? < 1205110162 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: thanks for all the help with this :) < 1205110184 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Evil. < 1205110188 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But that'd work. < 1205110195 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is there a point to Exclaim? < 1205110205 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :mallocd? < 1205110207 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Probably not. < 1205110238 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :what's mallocd? < 1205110326 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A malloc daemon. < 1205110352 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :WHY would there be a malloc daemon? < 1205110363 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes insane < 1205110365 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: You didn't even know what malloc was before I told you. < 1205110372 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't think you really should be questioning things like that ;) < 1205110387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :However, mallocd may be a bit overkill, but still pretty awesome. < 1205110414 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Make all library stuff a separate process while we're at it! < 1205110427 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1205110433 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Welcome to microkernel. < 1205110467 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Actually, my plan is to just provide enough syscalls to easily port over some good library. < 1205110477 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(POSIX/C library, of course) < 1205110496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: There's a nice one of them specifically deisgned for hobby OSes < 1205110497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let me find it.. < 1205110502 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :who was talking about newlib the other day? < 1205110519 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :libgloss? < 1205110559 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I was. < 1205110579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Here you go < 1205110579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://sourceforge.net/projects/pdclib < 1205110586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Plus it's public domain-ey-ness. < 1205110588 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Which is nice. < 1205110595 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And the configuration to bind it into your kernel is really simple. < 1205110641 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How does one go about making a kernel? < 1205110651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Oh god, please don't. < 1205110651 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :With much pain and agony. < 1205110662 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If you don't grok C, don't bother. < 1205110666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I do *not* want to have to support the design desicions of Sgeokern. < 1205110668 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not that much pain or agony.. depending on the kernel :) < 1205110675 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :if lgdt [eax] makes you run in fear, then don't. < 1205110678 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: C knowledge is hardly enough; you need to know quite a bit about how the actual machine works.. < 1205110688 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: He doesn't use C, as far as I know. < 1205110688 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for various values of 'quite a bit' < 1205110694 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I guess Python doesn't cut it < 1205110702 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ahh that's right .. hehe < 1205110704 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: What lead you to make that deduction? < 1205110712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sheer cunning intellect? :-) < 1205110713 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :although my BOS kernel was written in x86 asm < 1205110713 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: True, but if you don't know C, then you *don't* know enough about how the machine works. < 1205110720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Quite true. < 1205110726 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although, why can't Python be compiled into x86 instructions? < 1205110733 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Okay, if you write it in assembly, you've *proven* that you know enough. < 1205110735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: that wouldn't help < 1205110740 0 :sebbu!unknown@unknown.invalid QUIT :"@+" < 1205110741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you still need lower-level access than python exposes < 1205110747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :plus, python is pretty uncompilable < 1205110752 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: How would you make Python write to an arbitrary address? < 1205110754 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :youd just compile it down to some vm opcodes, basically. < 1205110757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's been done. < 1205110761 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just too dynamic. < 1205110775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :besides, if you DO do that, AND then strap on the low-level tweaks into python.. < 1205110781 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you've just lost any advantage of python and made it a pain. < 1205110789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's a reason C is so close to the metal in all aspects. :) < 1205110794 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And you would've spent less time learning C and assembly. < 1205110811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Also, if you're doing kernel C you learn to be edgy. < 1205110831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :In Python code, you just throw anything around and the gc will mostly make everything go peachy in the end. < 1205110833 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Are there other C-likes that are easy like Python, but still compilable and can access low-level stuff? < 1205110838 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Whereas in a kernel... < 1205110838 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: so are you planning on using newlib then? probably a gcc compiled for it so you don't have to go through that pain < 1205110842 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: hee < 1205110854 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Probably. < 1205110856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'I want to write a kernel!! But that low-level stuff frightens and confuses me, so I don't want to really learn it.' < 1205110863 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Compiling GCC for it is *not* that big of a deal. . . < 1205110866 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I've done worse. < 1205110871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: check out pdclib! < 1205110881 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(Setting up a Hurd cross-dev environment? *shudder*) < 1205110898 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks up libc < 1205110911 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Sure there is. It's called *C*. < 1205110918 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1205110951 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I forget the compiler option used for compiling kernels < 1205110956 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't at least some of the ker.. no, I guess you write in C, compile it on an already-made system, and it works as a kernel, and you could possibly compile the source on that kernel now that exists < 1205110958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: But C is haaaard! Let's go shopping. < 1205110990 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no need to mock < 1205110995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: that's a meme :) < 1205111004 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Yes, at least some of the kernel needs to be in assembly. < 1205111016 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you didn't know C at one time too.. hehe < 1205111037 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..but why? Can't C be compiled into x86? Isn't that why C is used? < 1205111037 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks at gdt_asm.s. . . < 1205111039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: No actually < 1205111044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I learned C before my conception < 1205111051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :God gave me the power as soon as I was formed < 1205111052 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Because C doesn't expose *everything*. < 1205111059 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what was your return code when you came out ? < 1205111062 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Like, say, the registers. ;) < 1205111063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Aborting me would be a henious crime indeed, because all my genius was already there! < 1205111067 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: pi. < 1205111081 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: float or double? < 1205111083 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :calamari: in http://www.math.niu.edu/~rusin/known-math/00_incoming/dirac Chip Eastham makes an educated guess that the graph does not have a hamiltonian path < 1205111096 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm curious, though. . . Would it be possible, or even *sane*, to implement my asm_gdt_load function via just some inline assembly? < 1205111105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: No. Every digit. < 1205111108 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Do you need direct access to registers to make a kernel? < 1205111109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The truly godly type! < 1205111112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Yes. < 1205111114 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you need to go back to C class < 1205111117 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, why? < 1205111122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: You need direct access to *everything* < 1205111133 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't quite see why.. < 1205111137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :If the thing at the root of your system doesn't access every part, what are they going to do? sit around being bored? :) < 1205111167 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Shush. < 1205111178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Nature's 4-day harmonious time cube allowed me to do it. < 1205111195 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :People who say that the real pi cannot be a return value are educated stupid! < 1205111228 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION returns pi < 1205111231 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Base pi, of course. < 1205111236 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although I guess the libc needs to be partially in asm.. although what if libc is compiled with another libc, then once that preliminary version is done, compile it with itself? < 1205111239 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :lol, #awesome is being invaded by people, apparently related to a project called awesome :P < 1205111273 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: great link, thanks < 1205111274 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I can make *libc* without assembly. < 1205111285 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ehird: :DD < 1205111295 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :owned those bastards! < 1205111297 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Assuming that my syscall interface has a function entering the kernel at a specified address. . . < 1205111306 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hmmmmmmmm < 1205111320 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If I made a project called libjesus, I'll bet I could protest FreeNode and take over #jesus . < 1205111328 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyways, are people here going to test PSOX 1.0b1 when it comes out? < 1205111332 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: libc is basically all in C < 1205111341 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because, well, it < 1205111347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'s the *C library* < 1205111348 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205111349 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Then, I need only do (kernel_entry)(syscall, args); < 1205111350 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1205111350 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: just make sure it's your project otherwise you'll only get ##jesus :( < 1205111360 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: It sometimes has inline assembly. < 1205111403 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... actually that means the current channel should be ## too < 1205111406 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Specifically, asm("foo. . ." /* Load args to the syscall in registers.*/ "int $0x80" /* Enter the kernel. */); < 1205111480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: yes < 1205111483 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but once we get irc.eso-std.org ;) < 1205111487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :we can have # ! < 1205111491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1205111495 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#!/bin/esoteric < 1205111520 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Does anyone in here besides myself even care about PSOX? < 1205111522 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :# is a valid channel name! < 1205111523 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it works, it exists. < 1205111537 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: i mostly care about your mother, tbh < 1205111537 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yeah < 1205111542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: More people did before you started whining about how nobody cares about it and bothering everyone about that fact :-D < 1205111582 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: well, I thought I'd try to be interested, but you shot down every one of my ideas and suggestions without giving them a moment's though.. so yeah then I lost interest.. oops :) < 1205111614 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :calamari, um.. oO log link? < 1205111624 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :calamari is one bitter bitch < 1205111625 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :! < 1205111639 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1205111641 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :we could have + < 1205111648 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: people try to eat me, so I became bitter to dissuade them < 1205111650 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: so true, so true < 1205111681 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205111684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo should learn to phrase his questions as 'anyone want to reaffirm the way i'm doing this?' :) < 1205111692 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes that neither #islam, #muhammed nor #buddha exist... < 1205111727 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :this is fun, i went to sleep at about 22.00 so that i could wake up early... < 1205111734 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[00:15] * Cannot join #christian (Channel is invite only). < 1205111734 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :woke up at 1:14 < 1205111737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is that appropriate for freenode < 1205111737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1205111758 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :let's report them! < 1205111766 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[00:15] * You have left channel #anus (requested by ChanServ: "GODDAMNED*WANKERS") < 1205111770 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wanted to be in anus < 1205111772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1205111798 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : I think I made a comment about it needing and/or/xor < 1205111839 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..and it does < 1205111844 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION imagines GregorR going to protest #jesus and Freenode staff answering, "Oh no, the channel owner gave us conclusive proof that he is representing Jesus. Unfortunately we are not at liberty to disclose it" :D < 1205111848 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What else did you suggest? < 1205111933 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes calamari  < 1205111945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: that kind of incessant prodding is why people have been ignoring psox < 1205111950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can't you be .. a little more patient? < 1205111995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :KjSDKLFjsdf;jsdjsdfsdfsdf < 1205111998 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#awesome is REGGD < 1205112012 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :awesome. < 1205112032 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hm, a discussion about the LNUM/LBYTES format < 1205112035 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :umm... by you? < 1205112064 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :between myself and calamari < 1205112101 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes calamari with some salt and pepper, and olive oil < 1205112122 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://bespin.org/~nef/logs/esoteric/08.02.17 < 1205112156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ircbrowse.com < 1205112157 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :srsly < 1205112215 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION realises that it is possible to implement *hard links* using FAT. < 1205112243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fat is not a REAL MAN < 1205112773 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I want driectory hard links :P < 1205112807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: what about a file system whose structure is a filesystem < 1205112808 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I use mount --bind for that now.. so never mind :) < 1205112810 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not an opaque amount of bits < 1205112813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ditto for that one < 1205112817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :turtles, down, all the way < 1205112838 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: need a base case to end the recursion < 1205112844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: nonsense < 1205112848 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just use an infinity machine < 1205112860 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the empty system, of course. if it works for ZFC... < 1205112861 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the #1 preferred platform of choice for turtle-system designers & implementers < 1205112872 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Infinity machine: http://www.chiark.greenend.org.uk/~sgtatham/infinity.html < 1205112901 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hmm, has anyone coded the empty os yet? < 1205112902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :If endeavour was written, I'd pronounce that as '@what infinity machine=http://www.chiark.greenend.org.uk/~sgtatham/infinity.html' < 1205112915 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205112933 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :that would be ...well, awesome < 1205112936 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: it was coded by Zen Buddhist monks in the early 9th century < 1205112948 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh, i see < 1205112968 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :they didn't need to invent hardware for it, since it was empty. < 1205112984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, and if i ever decided i was pasting '@what infinity machine' to people too much after mentioning it, < 1205112987 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'd do something like: < 1205113002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'@counter infinity machine=@what infinity machine' < 1205113007 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :where @counter msg=cmd < 1205113017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :means 'whenever i say something which contains msg, run cmd.' < 1205113017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205113021 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :need to make an ipod shuffle os < 1205113034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: no uclinux support < 1205113035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205113041 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Somebody should make an emulator for the infinity machine that always displays just how much slower than realtime it's going :P < 1205113050 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yeah.. guess I need the compiler first don't I < 1205113110 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: linux boots slow on my ipod video.. at least make yours boot really fast :) < 1205113134 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1205113139 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you know what a really good infinity machinie program would be? < 1205113142 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Back < 1205113146 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the universe? < 1205113147 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What did I miss? < 1205113151 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one that somehow interacted with a normal webserver machine < 1205113152 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically < 1205113161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it would accept programs < 1205113165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :over the web < 1205113168 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :check them for safety < 1205113171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then send it off to the infinity machine < 1205113177 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which would run them < 1205113182 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then send its computation result over the wire < 1205113185 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :back to the browser < 1205113196 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also a web service with api bindings to most langauges < 1205113203 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :infinite computing made easy, for everyone! < 1205113225 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and since it can speed everything up infinitely, it will only EVER take about a millisecond more than the network lag for any computation < 1205113251 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Way to aim high. < 1205113300 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: to be honest < 1205113305 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you have a web server < 1205113308 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and an infinity machine < 1205113312 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it would be a few weeks project < 1205113327 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :safety checking -- the infinity machine would probably have stuff for that anyway, see the article < 1205113350 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :My last statement was what we in the biz call "sarcasm" < 1205113354 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, all it has to do is splice in 'infinity's at every step possible, so that even non-'infinity'-using code will run fast < 1205113359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Still. :p < 1205113410 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205113446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Would be pretty useful. < 1205113447 0 :bsmntbombdood!n=gavin_@75-166-180-115.hlrn.qwest.net JOIN :#esoteric < 1205113454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Especially since you'd only ever need a one function api. < 1205113461 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :string -> ? < 1205113467 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hi bsmntbombdood < 1205113472 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :an optionally a 'cluster' thingy < 1205113480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to specify a custom infinity machine < 1205113557 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: :D < 1205113627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: hmm < 1205113633 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :procd handles sending messages to procs < 1205113636 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it does this through a message < 1205113644 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> solve(CONUNDRUM); < 1205113694 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1205113716 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Your kernel would need to handle the message-passing system. < 1205113739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: But the kernel only manifests itself in the multiple processes it pretends to be. < 1205113784 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :messaged. < 1205113785 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :; < 1205113787 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;p < 1205113805 0 :CakeProphet!unknown@unknown.invalid QUIT :"haaaaaaaaaa" < 1205113806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Well, messaged would just essentially split up about 2 parts of procd for no reason and retain the same problem < 1205113806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205113813 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fine, fine. < 1205113822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess I could have TWO primitives.. < 1205113829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That is, the send, and the async-get-response < 1205113834 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1205113837 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :who here linked the bogosort paper? < 1205113841 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :was it faxathisia? < 1205113843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Of course when programming an app you shouldn't worry about any of this stuff < 1205113845 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And optimise the fuck out of that. < 1205113848 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it's low level, behind the scenes stuff < 1205113852 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you'll have to do < 1205113864 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#include < 1205113868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and they'll haev names like < 1205113878 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MyOS_send_ < 1205113884 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the trailing underscore means BEWARE < 1205113897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but yeah, in most apps you'll just use everything like normal. < 1205113916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :except that if you want to use asynchronous IO you can use the stadard posix interfaces with one difference.. < 1205113926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :everything will seem a lot snappier, because in the background, that's what its doing natively :) < 1205114004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205114031 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, and of course < 1205114043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it will include a user-level version of that message passing stuff < 1205114055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to make asynchronous server and client programming <3, even in C < 1205114060 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: awesome idea, or pwnsome idea? < 1205114073 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and ofc you could easily port the api to an inferior OS by emulating the ipc interface it uses :) < 1205114191 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: hmm, i think the main user-level interface will be this < 1205114209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205114211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :better post an example < 1205114211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205114428 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1205114600 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: behold -- < 1205114611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/935965 actually nice-looking event based programming thingy in c < 1205114665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm, wait < 1205114668 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :need a null terminator there < 1205114710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: new - http://pastebin.ca/935970 < 1205114760 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :typedef struct {char *name; size_t ac; void *fp;} LWmessage_t; < 1205114767 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wish i could give you a scary funcptr type < 1205114772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but that's all that iwll work :) < 1205114858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I like my cheap interning trick though < 1205114945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205114947 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :need a cast < 1205114948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205115153 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205115154 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no char < 1205115171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1205115178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :const *const is a valid type on c < 1205115180 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :all on its own?! < 1205115184 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1205115299 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :defaults to int perhaps? < 1205115309 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :like short int = short < 1205115561 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And const = const int. < 1205116232 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is bored < 1205116243 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And I really should be doing homework < 1205116601 0 :ehird!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1205116686 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1205117056 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1205117111 0 :Corun!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205117273 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1205118030 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i just realized the translation of "windows for workgroupsversion 3.11" on my old comp was wrong < 1205118072 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :quite dazzzzzling < 1205118085 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :also, i need a better keyboard < 1205120029 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1205120049 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1205120511 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wow, spacewar on PDP-1 actually looked really pretty. < 1205120512 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Image:Spacewar%21-PDP-1-20070512.jpg < 1205120638 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1205120691 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, of course. The PDP1 wasn't this piece of crap that we have on our desks. . . < 1205120710 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, you meant it actually *looked* pretty, not that its code was elegant. < 1205120711 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1205121350 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yes, it looks pretty < 1205121362 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :compare with http://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/KSpaceDuel1.1.png/800px-KSpaceDuel1.1.png < 1205121367 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ewww < 1205122412 0 :AnMaster!unknown@unknown.invalid QUIT :Connection timed out < 1205122474 0 :AnMaster!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1205122839 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1205123020 0 :calamari!n=calamari@ip24-255-58-177.tc.ph.cox.net JOIN :#esoteric < 1205126212 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Bye all < 1205126216 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1205131716 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1205135476 0 :BMeph!unknown@unknown.invalid QUIT :"calls it a night" < 1205135999 0 :clog!unknown@unknown.invalid QUIT :ended < 1205136329 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1205136329 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1205141018 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1205142537 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1205142785 0 :slereah__!unknown@unknown.invalid PRIVMSG #esoteric :http://obsoleteskills.com/Skills/Skills < 1205144082 0 :faxathisia!unknown@unknown.invalid QUIT :"If there are any aliens, time travellers or espers here, come join me!" < 1205144290 0 :AnMaster!unknown@unknown.invalid QUIT :Connection timed out < 1205144371 0 :AnMaster!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1205145708 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1205147161 0 :Xion!n=Xion@195.85.238.202 JOIN :#esoteric < 1205147203 0 :Xion!unknown@unknown.invalid PRIVMSG #esoteric :Carlos Castaneda rulezZ < 1205147227 0 :slereah__!unknown@unknown.invalid PRIVMSG #esoteric :FIGHT! < 1205147315 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION informs Xion that #esoteric is about esoteric programming languages. Our topic has just been a bit anarchic of late. < 1205147400 0 :Xion!unknown@unknown.invalid PRIVMSG #esoteric :Ouch < 1205147410 0 :slereah__!unknown@unknown.invalid PRIVMSG #esoteric :Although it doesn't mention castenada < 1205147417 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed not < 1205147626 0 :Xion!unknown@unknown.invalid PART #esoteric :? < 1205148777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now excuse me while i go to refill my Qi... < 1205148780 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1205158700 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1205159091 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1205160228 0 :atsampso1!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1205162774 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1205163508 0 :RedDak!n=dak@host65-89-dynamic.3-79-r.retail.telecomitalia.it JOIN :#esoteric < 1205165491 0 :faxathisia!n=ultravio@137.195.250.2 JOIN :#esoteric < 1205165523 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1205165525 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :http://pb.eso-std.org/ < 1205165553 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :does not load < 1205165562 0 :BMeph!n=chatzill@wsip-70-167-169-169.sd.sd.cox.net JOIN :#esoteric < 1205168689 0 :sebbu!n=sebbu@ADijon-152-1-75-250.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1205168937 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1205169322 0 :timotiis!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205170439 0 :ais523!n=ais523@pp02-fap01.bham.ac.uk JOIN :#esoteric < 1205170478 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :slereah__: INTERCAL's unary operators work by opping the number and the number rotated to the left < 1205170496 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. #V2 is #6 (...0010 or ...0100) < 1205171027 0 :Tritonio_!unknown@unknown.invalid QUIT :Remote closed the connection < 1205171417 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1205173613 0 :boily!n=boily@poste13-168.wl.t.ulaval.ca JOIN :#esoteric < 1205173692 0 :boily!unknown@unknown.invalid QUIT :Client Quit < 1205174445 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :is there a programming language with macros that are easy to write? < 1205174764 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: depends on what you mean by "macros" < 1205174773 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and "easy to write", for that matter < 1205174807 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, i'm looking at scheme and CL macros... < 1205174812 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and they just seem way too complicated < 1205174817 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :to actually use extensively < 1205174837 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :unlike scheme and lisp, which are nice languages, scheme and lisp macros are not nice languages. < 1205174869 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'd rather do my pattern matching and substitution with some other, better-suited tool. < 1205174870 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: you could use m4 < 1205174878 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it's not all that easy to write due to issues with nested quoting < 1205174891 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it's a TC language based entirely on macros, and almost an esolang) < 1205174919 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yeah, i know about m4, but it seems a good macro system should be aware of the syntax of the language (as it is in lisp) < 1205174979 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i guess the real problem is that each macro definition is a compiler < 1205174998 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and to write a lot of compilers you want a very powerful language < 1205175023 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :which syntax-rules doesn't strike me as :) < 1205175105 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ISTR there was an assembler which used Brainfuck as a macro language < 1205175112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I'm pretty sure it was an esolanger who wrote it < 1205175116 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1205175198 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oh, i actually haven't looked at r6rs macros < 1205175289 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(r6rs seems pretty cool...) < 1205175796 0 :ais523!unknown@unknown.invalid QUIT :"Moving to a different connection." < 1205176418 0 :ais523!n=ais523@147.188.254.202 JOIN :#esoteric < 1205176776 0 :jix!n=jix@dyndsl-085-016-234-050.ewe-ip-backbone.de JOIN :#esoteric < 1205178504 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there? < 1205178506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../include/d/4.1.2/tango/core/Array.d:141: Error: cannot implicitly convert expression ('\xff') of type char to char[1LU] < 1205178506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../include/d/4.1.2/tango/core/Array.d:152: Error: cannot implicitly convert expression ('\xff') of type char to char[1LU] < 1205178511 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when I try to build ccbi < 1205178534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and: < 1205178534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi/mini/funge.d: In function 'loadMiniFunge': < 1205178534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi/mini/funge.d:103: error: conversion to non-scalar type requested < 1205178542 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tango-0.99.5 < 1205178556 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the former sounds like a tango problem < 1205178563 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or rather a GDC problem < 1205178589 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I can't change gdc version < 1205178596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it would be painful < 1205178598 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I haven't tested tango 0.99.5, can't guarantee that will work < 1205178607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what one have you used then? < 1205178616 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ gcc --version < 1205178617 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gcc (GCC) 4.1.2 20070214 ( (gdc 0.24, using dmd 1.020)) (Gentoo 4.1.2 p1.0.2) < 1205178623 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :like it says on the page, tango 0.99.4 < 1205178626 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ah, gdc 0.24 < 1205178627 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I installed tango from source < 1205178630 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :there's a note about that on the page as well < 1205178633 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I did the change < 1205178635 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for it < 1205178644 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"If you’re using GDC 0.24, you’ll need to make a slight change in utils.d for compilation to work, replacing the line:" <-- that one < 1205178645 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it looks like the same change has to be done in mini/funge.d < 1205178647 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :followed that < 1205178653 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :since the line is identical < 1205178659 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :do the same change there < 1205178711 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm learning emacs!! < 1205178720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and the tango thing? downgrading is not an option, I got other apps needing the latter version < 1205178732 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i'm earning lemacs!! < 1205178759 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: good to hear it < 1205178764 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think that's your only option. there's nothing in my code that uses tango.core.Array so it's a problem within Tango < 1205178765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just out of interest, did you already know vi? < 1205178778 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: or rather, the problem is that your version of GDC is too ancient for Tango < 1205178781 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i predict i'll learn emacs for about 5 minutes, then stop < 1205178784 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm < 1205178786 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yes, i use vim < 1205178791 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lament, emacs here < 1205178830 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: you can get by with the arrow keys and backspace (or C-f C-b C-n C-p C-d if your terminal is really old) < 1205178844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I can't find 0.99.4 anywhere < 1205178857 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://www.dsource.org/projects/tango/wiki/PreviousReleases < 1205178861 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i know, but everything else seems really difficult < 1205178865 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you only really get the gain over GUI editors when you learn some of the more useful shortcuts; C-s and C-M-% are good ones < 1205178883 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: the docs give a misleading view of what it's like, in my mind < 1205178892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because different people use different shortcuts < 1205178902 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ais523: a lot of the time, a list of completions appears in a different window and it's so many keystrokes to switch to that window, select an appropirate completion and switch back. Is there a fast way to do that? < 1205178920 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: type the first letter that you haven't written so far and hit tab again < 1205178926 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's bolded in recent versions < 1205178946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(if that isn't unique, then you type another letter and so on) < 1205178973 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i don't get it < 1205178978 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well < 1205178981 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :they're not completions sometimes < 1205178996 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :like when you want to switch to another buffer (C-x C-b) < 1205179005 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you get a list of buffers, itself in another window < 1205179025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: C-x C-b is different from C-x b < 1205179038 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :one puts up the list, the other lets you tab-complete the name on the minibuffer line < 1205179047 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(unfortunately, I can never remember which is which) < 1205179052 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oh, true < 1205179059 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'd like both at once, of course < 1205179066 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :show a list of all buffers, and tab-complete the name < 1205179075 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :can emacs do that? < 1205179099 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: go to the minibuffer-entry version, then hit tab twice < 1205179107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that puts up a list of things for everything that tab-completes < 1205179110 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(just like in bash) < 1205179117 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oh, cool < 1205179141 0 :atsampson!n=ats@7hw.poik.net JOIN :#esoteric < 1205179146 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that older tango fails to build < 1205179146 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1205179151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :warning - gcx.d:319: Error: implicit conversion of expression ((p - *(pool + 0LU)) / 1L / 16L) of type long to uint can cause loss of data < 1205179170 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :baah < 1205179180 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :make things easy and get DMD < 1205179193 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or the latest SVN version of GDC < 1205179212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, then I'd rather skip ccbi, *shrugs* < 1205179231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and this tango thing doesn't even want to install to a prefix < 1205179234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :imo that's shitty < 1205179244 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know about tango, join #d.tango and complain < 1205179256 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it works for me using DMD just fine < 1205179259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'm writing a conformat c one :) < 1205179283 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :already GOOD up to k test, k is not yet implemented < 1205179301 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, C99 btw :) < 1205179312 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :go ahead < 1205179334 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/Y44uBK56.html < 1205179336 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so far < 1205179344 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :started coding on it yesterday < 1205179355 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :nice :-) < 1205179381 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I have some issues with finding a sparse matrix library or something for C though < 1205179403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :currently I just allocate a rather large array and use an abstraction so it should be easy to replace with something sane later < 1205179407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :got any good idea? < 1205179531 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://pastebin.ca/936934 is the changes I had to make to ccbi to get it to run under gdc < 1205179543 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(mostly on Deewiant's guidance) < 1205179586 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205179590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what file is first change in < 1205179594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the diff isn't valid < 1205179606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's missing a line < 1205179641 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :diff -r ccbi_src/fingerprints/rcfunge98/base.d ../ccbi_fixed/fingerprints/rcfunge98/base.d < 1205179651 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, missed it off my copy&paste somehow < 1205179658 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I've since changed that code so it no longer uses tango.core.Array < 1205179663 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1205179676 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but hmm, I'm getting this tango error with DMD on Linux myself < 1205179677 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :am investigating < 1205179692 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, with the current tango? heh < 1205179722 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not sure which version it is, SVN HEAD from a few weeks back i think < 1205179744 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think I know what could cause it but I'm not sure how to fix it < 1205180162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, should k work on z btw? < 1205180169 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :IMO it should < 1205180172 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not on space < 1205180185 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but when looking at CCBI source it looks like it ignores z too? < 1205180195 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the specs aren't clear on that point < 1205180228 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :well, it ignores z because it doesn't matter < 1205180236 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but it only reflects on space and ; IIRC < 1205180237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it does when concurrent doesn't it? < 1205180243 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :k always takes one tick < 1205180247 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1205180257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : if (i == ' ' || i == ';' || i == 'z') < 1205180257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : return; < 1205180265 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :looks like it doesn't reflect on either? < 1205180270 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you got that tango.core.Array problem with the latest tango (0.99.5) correct? < 1205180272 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :apparently not :-P < 1205180280 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, indeed it was 0.99.5 < 1205180283 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :doesn't matter, the spec is so unclear < 1205180286 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: alright, thanks < 1205180291 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and 0.99.4 fails to compile < 1205180382 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I got a minimal sample which doesn't compile due to that error < 1205180401 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'll see if it's fixable or a bug < 1205180707 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :looks like it's an ages-old compiler bug which everybody hates but for some reason has never been fixed < 1205180726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so what will you do, if it affects both gdb and dmd? < 1205180736 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'll fix the code < 1205180745 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the problem is that I'm calling "tango.text.Regex.find" < 1205180751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :send me a patch for ccbi when you fixed it < 1205180757 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but there's no function called 'find' in that module any moore < 1205180758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pastebin that is < 1205180770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so why don't it report that error instead? < 1205180782 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1205180784 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :tango.text.Regex privately imports tango.core.Array < 1205180802 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :this should mean that trying to call regex.find would fail since there is no find < 1205180825 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but due to the private import and the age-old bug, which is that fully qualifying names like that ("regex.find" as opposed to just "find") bypasses private imports, it tries to call tango.core.Array.find < 1205180831 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and, of course, fails since the param types don't match < 1205180841 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* I HATE this bug < 1205180854 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :reported it myself, about 20 months ago < 1205180860 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1205180880 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ah well, so what I need to do is figure out the right way of doing regex matching with the new tango.text.Regex < 1205181011 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :here we go < 1205181046 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there's a function called 'help' in ccbi.d < 1205181054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes? < 1205181056 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :replace its definition with the following < 1205181059 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :static bool help(char[] s) { return (regex.Regex("^(--?|/)([?]|h(e?lp)?)$", "i").test(s)); } < 1205181079 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :aaaagh, no don't < 1205181080 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :darn < 1205181086 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it compiles, but doesn't work :-P < 1205181094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok *waits* < 1205181109 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is trying to get the darn k to work < 1205181119 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ccbi is "gpl 2 or later" right? < 1205181141 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think it's BSD actually < 1205181149 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah, can still use it < 1205181153 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :my project is gpl3 < 1205181154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205181165 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I just need to read your code to understand how k should work < 1205181186 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205181208 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the bit about moving if executing k did move it is complex < 1205181216 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yes, it is < 1205181225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : scope (exit) < 1205181225 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and that's the main reason why I didn't implement nested k < 1205181225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : if (ip.x == x && ip.y == y && ip.dx == dx && ip.dy == dy) < 1205181225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ip.move(); < 1205181227 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf is that < 1205181243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, mine will reflect on nested k, and print a warning < 1205181262 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(with warnings enabled that is) < 1205181290 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :mine just does something random :-) < 1205181322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I try to make all undefined cases sane and also clean up the standard at the same time < 1205181328 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I pastebinned the nested k stuff last time, so you can have a look-see there too < 1205181329 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still waiting for answer on that though < 1205181344 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes I did, and your code really makes it much clearer < 1205181352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I'm not going to do nested k < 1205181393 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if you reflect on nested k, wouldn't it be possible to form an infinite loop by jumping into the middle of three ks? < 1205181394 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that scope(exit) stuff is why it's tricky to get stuff like 4k] right as well < 1205181396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes all instructions apart from k are inlined into the case blocks for the instructions in ExecuteInstruction function < 1205181408 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, gaaa! < 1205181433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, then it's a problem of the programmer IMO < 1205181433 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not that 111#kkk is particularly useful, anyway < 1205181435 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: okay, it seems that the fact it doesn't work is a problem on my end (not using 0.99.5), try what I said earlier < 1205181462 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: at that point it's prudent to ask "what did you expect?" :-) < 1205181467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi/stdlib.d:238: function ccbi.stdlib.RawCoutFilter!(false).RawCoutFilter.write of type ulong(void[] src) overrides but is not covariant with tango.io.Conduit.OutputFilter.write of type uint(void[] src) < 1205181467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi/stdlib.d:238: function ccbi.stdlib.RawCoutFilter!(false).RawCoutFilter.write function write does not override any < 1205181467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi/stdlib.d:386: template instance ccbi.stdlib.RawCoutFilter!(false) error instantiating < 1205181471 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I get that now < 1205181484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :O_o < 1205181489 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :dammit < 1205181495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what does that mean < 1205181501 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is a C programmer! < 1205181515 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: my function returns ulong while the library function returns uint or vice versa < 1205181535 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or no, incorrect < 1205181541 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :this is due to the fact that you're on x86_64 < 1205181543 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :sec < 1205181551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, indeed I am :) < 1205181568 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, don't you have some intptr_t or such for your pointers? :P < 1205181580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you can always get the same type as standard libraries < 1205181591 0 :fizzie!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1205181594 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm using size_t < 1205181599 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but it appears the code uses uint :-P < 1205181605 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1205181606 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I just assumed it would be size_t < 1205181617 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: just change the return type of write from size_t to uint < 1205181625 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, where should I do so? < 1205181644 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ccbi/stdlib.d:238 as it says :-) < 1205181646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw rebuild failed to build until I did: ln -s . ccbi < 1205181656 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just FYI < 1205181665 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yeah, because I'm an idiot and packaged the code under ccbi_src directory instead of ccbi < 1205181670 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I noticed that myself :-) < 1205181715 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh god! < 1205181726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :obj/ccbi.ccbi.o: In function `_Dmain': < 1205181726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi.d:(.text+0x711): undefined reference to `_D5tango4core9Exception24IllegalArgumentException7__ClassZ' < 1205181726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi.d:(.text+0x72c): undefined reference to `_D5tango4core9Exception24IllegalArgumentException5_ctorMFAaZC5tango4core9Exception24IllegalArgumentException' < 1205181730 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :LOTS of things like that < 1205181732 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :O_o < 1205181735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe 2-3 screens < 1205181754 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :are you using rebuild? < 1205181757 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I am < 1205181763 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: are you recursing into the source directories, and linking tango? < 1205181765 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :from dsss-0.75 < 1205181771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ? < 1205181779 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :WTF? I click off of a D channel, and find D talk. < 1205181780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I had that sort of error when I built, due to only linking files in the main src directory < 1205181783 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but not its subdirs < 1205181783 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and it outputs a six-line command line when it tries to build? < 1205181787 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: :-) < 1205181789 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I installed tango following http://dsource.org/projects/tango/wiki/UnixInstallGdc < 1205181792 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ^ < 1205181829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, err? < 1205181841 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :now it says: ccbi.d(19): module instructions cannot read file 'ccbi/instructions.d' < 1205181842 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :instead < 1205181843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1205181854 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i.e. a huge "gcc tango/core/Exception.d" etc. < 1205181854 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait it removed the symlink < 1205181857 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that was needed < 1205181861 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for it to build < 1205181868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION renames source dir instead < 1205181891 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: did you see the "Troubleshooting" section on that page? < 1205181896 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :May I ask: Since when do so many people in #esoteric use D? < 1205181905 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: only I do, and people can't get stuff to compile :-P < 1205181907 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: it's the language in which CCBI was written < 1205181910 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, aha < 1205181924 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION strokes his nonexistent beard. < 1205181929 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION then goes to eat lunch :P < 1205181936 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :GregorR is the D guru < 1205181937 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: tango + GDC 0.24 isn't a good combination < 1205181945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/bin/gdmd < 1205181945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/bin/x86_64-pc-linux-gnu-gdmd < 1205181945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2/gdmd < 1205181945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2/x86_64-pc-linux-gnu-gdmd < 1205181946 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what one? < 1205181948 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ask him !! < 1205181963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/bin/gdmd is some gentoo specific wrapper < 1205181972 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to select version of gcc < 1205181980 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: probably the third but I'd check all to be sure < 1205181995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah a perl script < 1205182060 0 :oklofok!unknown@unknown.invalid NICK :oklopol < 1205182120 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205182128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :now it fails to build < 1205182130 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :new tango that is < 1205182157 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries clean sources < 1205182159 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205182184 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if that also fails I guess my gdc install got borked because of tango < 1205182199 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I'm not going to recompile gcc and gdc < 1205182205 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :takes too long < 1205182216 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't be necessary < 1205182232 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the binaries are the same, after all < 1205182295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nop just fails still < 1205182302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ar -qsv libtango-cc-tango.a core/BitManip.o core/Exception.o core/Memory.o core/Runtime.o core/Thread.o core/ThreadASM.o stdc/wrap.o stdc/posix/pthread_darwin.o < 1205182302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ar: creating libtango-cc-tango.a < 1205182302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ar: core/BitManip.o: No such file or directory < 1205182302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gmake[1]: *** [libtango-cc-tango.a] Error 1 < 1205182303 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :how does it fail < 1205182310 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in that way ^ < 1205182315 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :odd < 1205182323 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1205182342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :look, it replaced libgphobos.a it seems < 1205182345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I blame tango for it < 1205182368 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it didn't even create a backup < 1205182368 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you can always compile lib/common/core/BitManip.d yourself < 1205182375 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how? < 1205182397 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: "gdmd -c lib/common/core/BitManip.d" or whatever :-) < 1205182437 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it cleans it out on a new build < 1205182448 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :make it not clean it out < 1205182533 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: tell you what, see if http://iki.fi/deewiant/ccbi works for you < 1205182584 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it can execute yes < 1205182594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ ./ccbi --help < 1205182594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tango.core.Exception.ArrayBoundsException@/u/opi/48/mniemenm/bin/../opt/dmd/import/tango/core/Array.d(2131): Array index out of bounds < 1205182595 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1205182602 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah, right < 1205182607 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that's because I don't have 0.99.5 < 1205182612 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and the trunk I do have is buggy :-P < 1205182614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it won't work for me then? < 1205182628 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :well, I guess not since it dies if it gets command line arguments :-) < 1205182632 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'll get 0.99.5 and build a new one < 1205182636 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ ./ccbi ~/bashfunge/trunk/mycology/mycology.b98 < 1205182637 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tango.core.Exception.ArrayBoundsException@/u/opi/48/mniemenm/bin/../opt/dmd/import/tango/core/Array.d(2131): Array index out of bounds < 1205182641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :very nice < 1205182643 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :exactly :-) < 1205182927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yay k works as it should now I just got the f93 space issue (will fix later when I restructure some things) and now: < 1205182927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Unknown instruction at x=11 y=49: ' (39) < 1205182927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :BAD: ' reflects < 1205182927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION implements < 1205182949 0 :BMeph!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205183001 0 :sebbu2!n=sebbu@ADijon-152-1-75-250.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1205183137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION implements x < 1205183200 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what lang are you writing the implementation in? < 1205183215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, C, using several C99 features < 1205183219 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :BAD: wraparound with non-cardinal delta doesn't work < 1205183223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders that one < 1205183240 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to solve < 1205183269 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not really, you just reverse the direction of the pointer, not executing any commands en route, and reverse it again when you hit the edge of the playfield a second time < 1205183305 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes, but that is slow and painful, *me is caching edges for each column and row* < 1205183309 0 :SimonRC!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205183326 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my INTERCAL debugger, for instance, implements the 'set next instruction' command by putting a loop around the program, preventing any commands executing until the right point is reached, and running the program until it reaches the right point < 1205183328 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and then there is the stack stack thingy < 1205183357 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, err what? < 1205183371 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's the whole ABSTAIN thing < 1205183380 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :assume I don't know intercal < 1205183383 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you just need a way to make things tickless (if threading), and to prevent commands running < 1205183391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you have a flag in your interp which makes all commands into NOPs < 1205183401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes I got a mode enum < 1205183410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then, every time you hit the playfield edge, you toggle the flag and change the IP direction < 1205183415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like ipmCODE ipmSTRING and so on < 1205183428 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes I know that version < 1205183430 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1205183444 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but still... < 1205183484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you only need to do it for non-cardinal directions < 1205183493 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how on earth to find if this is the edge or not when traveling non-cardinal! < 1205183501 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I can't see how I could find it < 1205183509 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: try again? < 1205183518 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: err, referring to CCBI of course :-P < 1205183521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, wgetting same binary? < 1205183524 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1205183532 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :appears to work on my end, at least :-) < 1205183572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also where does one find docs on the official catseye extensions < 1205183585 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :reverse engineering your code = not fun < 1205183587 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I believe I linked there last time < 1205183596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes the registry < 1205183599 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: same place as the funge-98 spec, move one directory up < 1205183602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that is dead and broken < 1205183616 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: as in, http://catseye.tc/projects/funge98/ < 1205183621 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1205183622 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the library/*.html < 1205183660 0 :SimonRC!n=sc@fof.durge.org JOIN :#esoteric < 1205183822 0 :sebbu!unknown@unknown.invalid QUIT :No route to host < 1205183823 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1205183860 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, if you got a matrix that you can acccess using x and y, how would you find edge or not when traveling non-cardinal? < 1205183886 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :store some sort of bounding box and reflect only when you hit it? < 1205183894 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err not reflect, but wrap I mean < 1205183918 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in 2D, if you know for certain you're going non-cardinal, then technically speaking you only need to store the top and bottom < 1205183929 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because anything that goes off the left or right edge will hit the top or bottom eventually < 1205183941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless it goes directly left or right < 1205183944 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what I do is keep track of min/max X and Y < 1205183966 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: which isn't 100% accurate (c.f. the mycology tests on wrap at edge of file/line) but works < 1205183988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ah, so a kind of bounding box then < 1205183994 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: check against each edge in turn and drop it down at the one it leaves first, i think < 1205183995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in 3D < 1205183996 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2d* < 1205184001 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :aye < 1205184004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so really bounding rect < 1205184008 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :there are other ways, too < 1205184021 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1205184023 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think GLfunge98 did something cool, but I can't remember for sure < 1205184024 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right, can't do that though until I get the final fungespace thing to work < 1205184034 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the CCBI bin works? < 1205184041 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :such as having some 'uninitialised' value on the playfield that magically turns into 32 when you try to read it < 1205184044 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it passes mycology at least < 1205184051 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: alright, good enough :-) < 1205184072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but it isn't 64-bit :( < 1205184083 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :don't have a 64-bit machine, sorry < 1205184090 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :compile it yourself if that's a problem ;-) < 1205184106 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you know the problems that cause < 1205184126 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: AFAIK GDC's 64-bit support is a bit flaky anyway < 1205184150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway I'll fix my fungespace later, I got a abstraction anyway, so it is easy to replace get/set/wrap/loadfile with something else < 1205184182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because current is just extended 800x2500 array, until I find some sparse matrix that work XD < 1205184218 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(oh and setting -1,-1 would still work, it wraps to positive value, so even if you jumped there, mycology would never know) < 1205184228 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(but it breaks cardinal wrap) < 1205184296 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, err your y is not correct it seems, it leaves out some utf8 from env variables? < 1205184311 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: how's that < 1205184328 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the envvar support on linux is fairly untested < 1205184329 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :LC_ALL=sv_SE.UTF8 one env variable contains a ö < 1205184344 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: pipe it to a file and see what comes out at that pos < 1205184346 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you don't run a real OS normally? < 1205184352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pipes < 1205184356 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, I like my computer games :-) < 1205184374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no ö < 1205184383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just empty in that place < 1205184387 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: just nothing? like "aäb" becomes "ab"? < 1205184389 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1205184392 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes CCBI is NOT conforming :P < 1205184395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs < 1205184398 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1205184506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, if I make a new standard (that is I'm still waiting for answer on my mail about license) I'm going to define all the undefs < 1205184527 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :possibly in some cases to other values than what ccbi does, (though I will keep those I find sane) < 1205184563 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... does anyone here know of a command (preferably POSIX, or something else reasonably available on Linux) that looks for two identical lines in a file, but doesn't need to read in the whole file before it can check? < 1205184588 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you mean uniq -d ? < 1205184594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that style of thing? < 1205184598 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, the lines needn't be consecutive < 1205184609 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to verify that my infinite loop program is actually working < 1205184609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah like sort -n | uniq -d ? < 1205184618 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1205184626 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, try seen trick in awk < 1205184627 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::O < 1205184629 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P* < 1205184646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : awk '!seen[$0]++' # Remove second and subsequent instances of each input line, without having to sort them first. < 1205184655 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :adapt to your case < 1205184660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I assume you know awk < 1205184668 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: actually I don't < 1205184681 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I don't very well either, just the basics < 1205184685 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I know sed and perl, though < 1205184693 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :don't know those < 1205184700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I'm sure you could do it in them < 1205184711 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heck, you could even do it in befunge if you wanted, it is turing complete < 1205184727 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs that awk script through a2p < 1205184735 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I could guess what it did anyway < 1205184755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a2p? < 1205184768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :awk to perl compiler < 1205184778 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a useful thing to have around if you don't know awk < 1205184782 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because it compiles almost literally < 1205184789 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :without making too much of a mess of the code < 1205184801 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: export A=ä; and then running Mycology works just fine here < 1205184811 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, interesting < 1205184829 0 :slereah_!n=slereah@ANantes-252-1-53-134.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205184846 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, my infinite loop works! < 1205184860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#!/usr/bin/env underlambda < 1205184860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(((x)\x)(((((z)y(z)x^)\z^)\y^)\x^)((y)(y)z^)\y\z)((x)x^)\x^| < 1205184861 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the code for getting the env vars is quite pointer-mathy and should be understandable for a C coder like you, if you see the problem let me know ;-) < 1205184877 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, if I have time that is < 1205184881 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :of course, it's possible to write that much more simply as (:^):^, but I wanted to do it Unlambda-style < 1205184891 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, of course < 1205184903 0 :slereah__!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205184913 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(what I've written there is almost literally ```sii``sii, except that to save space I lambdad ``sii in `xx) < 1205184920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm I wonder, a sandbox mode, that doesn't allow file, and restricts some extensions partly, would that be nice? < 1205184932 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: definitely < 1205184934 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: for CCBI? < 1205184964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, for funge08 as a flag it can check with y to see if the interpreter is in that mode < 1205184965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :someday I have a plan of running an esogolfing site that sandboxes by restricting the capability of interps and compilers to be able to do evil things < 1205184966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bleh, grammer < 1205184970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :grammar* < 1205184977 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, y already says whether files are supported < 1205184986 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: so if the interpreter is in that mode it can just say so in y < 1205184988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, some extensions allow IO right? < 1205185004 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not all interps have to support all fingerprints anyway < 1205185005 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, and you can tell that they don't work by the fact that you try and load them and it fails ;-) < 1205185006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like say, that drawing thing < 1205185019 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :TURT, DIRF, FILE, some others maybe, yes. < 1205185029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but some may have useful stuff that does work in a sandbox but other parts that don't? < 1205185050 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: none of those do, and I think it's poor style to make a fingerprint which does < 1205185058 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm ok < 1205185068 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: of course "useful" is relative :-P < 1205185080 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but if the output doesn't work, the corresponding instruction just reflects < 1205185085 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :so I don't think it's that bad < 1205185098 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :a conforming script should just say "output failed" at that point and not die < 1205185110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw, mycology did some very interesting thing when I had an error in turn right code that meant dy changed but dx didn't < 1205185117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or maybe it was turn left < 1205185121 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway, one of them < 1205185127 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I can't test for every possible bug < 1205185133 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, indeed not hehe < 1205185167 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if your ] is the equivalent of 0"/ fr- mr"x it's not my fault that Mycology runs a ] expecting it to work .-P < 1205185180 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :x or =? < 1205185184 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: darn, good point < 1205185193 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but either way, really :-P < 1205185212 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that'd set the IP's delta to (109,114) and leave some crap on the stack < 1205185218 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I can't test for that, either :-P < 1205185231 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, you can, because they're pretty large numbers, but you probably shouldn't < 1205185231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how can you write strings backwards in your head < 1205185237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I still don't get that < 1205185250 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I can only give as much output as possible and then the developer can see what did work and look at the src to see what didn't < 1205185252 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ysae s'ti < 1205185255 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: 1 year of writing Befunge :-D < 1205185262 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hahah < 1205185268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, :( < 1205185286 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1205185288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, if mycology was easier to read :/ < 1205185290 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but no, I usually had a program reverse long strings for me < 1205185298 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :retsaMnA ,:( < 1205185312 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :d-: '325sıɐ < 1205185315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha that actually makes sense in Swedish backwards < 1205185316 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ^ < 1205185324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :retsam = teasing < 1205185338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and you are doing that! < 1205185350 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :dǝʎ < 1205185369 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok now you are just crasy, using uncide to write upside down < 1205185370 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1205185372 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: are you copy-pasting those upside-down letters from a character map, or do you happen to know how to type them offhand? < 1205185375 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so it's not the same as retvis? < 1205185391 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: suggestion if you haven't done so already - implement a "trace mode" (or full-blown debugging) < 1205185394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw this test suite I use to test some basic things (it is longer than this): http://rafb.net/p/uCth5W27.html < 1205185398 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :much easier to read < 1205185406 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: lɯʇɥ˙dılɟ/ɯoɔ˙pɐɟʌǝɹ˙ʍʍʍ//:dʇʇɥ < 1205185422 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pɐɟʌǝɹ? < 1205185430 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :my font fails on that < 1205185433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :partly < 1205185435 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you put the question mark at the wrong end of that word < 1205185439 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's revfad upside-down < 1205185445 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yeah, that was my mistake really < 1205185454 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: at the start I didn't expect it to become nearly as long as it did < 1205185460 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(my font managed it fine) < 1205185471 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the Befunge-93 area had to be squashed since it has to fit in 80x25 < 1205185474 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, heh, yes mine just does 38 basic tests < 1205185480 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: after that I figured maybe 80x200 would fit the whole thing < 1205185485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hah < 1205185492 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or you could have used several files < 1205185495 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: rather 200x25 < 1205185502 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I decided against that early on < 1205185505 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... now we need a reversible esolang in which writing a string upside-down reverses what a function does < 1205185508 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why? < 1205185517 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :because I wanted it to be easy to use < 1205185526 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that way you don't need all instructions to be self-inverse, but still have symmetry < 1205185527 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"foo mycology.b98" and bam, you know whether your interpreter works or not < 1205185548 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fungus is much more annoying than that - it tries to load parts of itself using y and i < 1205185549 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, the upside-down i and l are wrong < 1205185577 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: at least it doesn't try to load parts of itself using compression and p < 1205185581 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, interesting < 1205185582 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :so if y and/or i aren't supported properly you get all kinds of problems < 1205185594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but, so does mycology, it tries to load the randomness thing < 1205185600 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah, but that's late < 1205185606 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and it should fail nicely < 1205185611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it does < 1205185621 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and it continues despite that < 1205185622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, where do you find fungus? < 1205185629 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :probably linked from my page < 1205185633 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :J^4's site < 1205185640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :J^4? < 1205185647 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/fungus.php < 1205185659 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :guy who made !Befunge < 1205185661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow at that domain name < 1205185673 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah, he's proud of it, a domain name which is valid befunge code :-) < 1205185684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hehehe < 1205185687 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: aren't all strings valid Befunge code? < 1205185695 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :look, I bet there isn't any fight over that domain < 1205185724 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ...and does something meaningful and doesn't loop infinitely < 1205185737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK, that's harder < 1205185765 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :although I suppose if you run sed s/at/@/g you'll get many non-infinite-looping domain names < 1205185783 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but I guess the idea is that it spells out some code, not that it is code in itself :-) < 1205186200 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow, there's a Befunge-in-INTERCAL there < 1205186203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tests it < 1205186217 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if it works, I'm going to ask for permission to add it to the C-INTERCAL distribution < 1205186244 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it hit an error when I first tried to run it, though < 1205186433 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: mycology is unfortunately more than 80 chars wide < 1205186445 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is there an 80x25 version for use with Befunge-93 interpreters? < 1205186682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, there is < 1205186696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, the first 80x25 chars in mycology is 93 testsuite < 1205186701 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so just discard the rest < 1205186703 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, I just realised that < 1205186705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like a interpreter should < 1205186717 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a nonconformance in the INTERCAL interp already, then < 1205186736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1205186818 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is suddenly surprised there isn't a befunge debugger named penicillin < 1205186861 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, heh? most times you can output such in interpreters < 1205186862 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or something like that < 1205186866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like a trace mode < 1205186868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1205186890 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean i am surprised no one has used that name... < 1205186969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I don't see anything obvious about it < 1205186996 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in other news, interfunge passes Mycology-93 < 1205187010 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :penicillin is made from a fungus... < 1205187104 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, interfunge? < 1205187114 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah intercal fungus < 1205187120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it seems J^4 wrote a Befunge interp in INTERCAL < 1205187121 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah well < 1205187130 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ok that's insane < 1205187143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :next you are going to tell me someone did that in brainfuck < 1205187146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan wrote an Unlambda interp in INTERCAL, though, so I'm not sure which is more insane < 1205187155 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I'm just waiting for a befunge98 interpreter in befunge98 < 1205187158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1205187159 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and AnMaster: brainfuck is marginally easier to program in than INTERCAL, in most cases < 1205187171 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah, that's amazing < 1205187179 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except for those cases where INTERCAL's more advanced features come in useful < 1205187189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, PLEASE COME FROM? < 1205187190 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1205187203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL's probably better for really complex programs, but writing such in esolangs is normally inadvisable anyway < 1205187206 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(no idea what that would do) < 1205187216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: threading and backtracking can be useful < 1205187227 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: PLEASE COME FROM by itself is a syntax error < 1205187230 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, isn't there some threaded brainfuck versions? < 1205187246 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, look I don't know intercal! I just know a few words < 1205187250 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although there are expressions starting with ?, so it needn't be a syntax error depending on what's on the next line < 1205187256 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and yes, there's Brainfork < 1205187263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but INTERCAL's threading model is more elegant IMO < 1205187281 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, look, anything is more elegant than threading in esoteric languages IMO < 1205187292 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION points to nptl on linux < 1205187299 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can't get much more elegant than aiming two COME FROMs at the same line < 1205187312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what would that do? < 1205187323 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: multithread and run both < 1205187328 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh god < 1205187347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what did you expect it to do? < 1205187454 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no clue < 1205187456 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :error out maybe < 1205187499 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it does that if multithreading is disabled < 1205187614 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :BTW, the backtracking model is more general than Prolog's < 1205188797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't know prolog either < 1205188798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tell me < 1205188802 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is backtracking? < 1205188839 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :do you know what a continuation is? < 1205188847 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you do, it's slightly easier to explain < 1205188873 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, isn't that something like passing some code and it's context around? < 1205188884 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the context itself is the continuation < 1205188892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you were describing Continuation Passing Style < 1205188893 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :note: I'm an imperative and object orientated guy! < 1205188906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :backtracking is an imperativish version < 1205188916 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1205188922 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :go on, I'll join in when I can < 1205188930 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :basically, at a point in the program, you can decide to MAYBE perform an action (with MAYBE being an INTERCAL keyword; other languages have other ways to specify it) < 1205188941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so for instance, you could MAYBE assign a value to a variable < 1205188953 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right, no problem if (random() %1) < 1205188954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205188967 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should likley be uniform or close enough < 1205188971 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the assignment is done, but the software remembers the state when it was done < 1205188994 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and at any time later in the program, you can GO BACK to before the assignment was done, and run the code instead in an alternate version where the assignment wasn't done < 1205189011 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I see, useful for debugging, but not much else? < 1205189013 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or you can GO AHEAD and forget the saved state just before the assignment < 1205189022 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's useful not just for debugging < 1205189028 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for instance if you want to implement regexps < 1205189033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or a parser < 1205189044 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes, I'd use pcre, or for parser, bison/yacc/whatever < 1205189051 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for instance, you might not be sure what a particular symbol means without reading more context < 1205189060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lex I mean probably < 1205189065 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or whether a particular bit of a regexp matches here or later < 1205189076 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah, evil lookaheads :P < 1205189077 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for instance, consider /ab/ matching "cdaefabg" < 1205189090 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yep it does < 1205189099 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :instead of looking-ahead, you can MAYBE match the a of /ab/ to the first a in the string < 1205189118 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but that is likely to be slower? < 1205189120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and when you find the b doesn't match, you can GO BACK and match the a to the second a instead < 1205189129 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and backtracking is infamous for being slow < 1205189143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then it's pointless *true C programmer* < 1205189145 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and also producing useless debug info in the case that none of the options match < 1205189160 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but sometimes it's the easiest option < 1205189167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it isn't the best still < 1205189170 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(in that way it's sort of like recursion; slow but sometimes easiest) < 1205189202 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I still wouldn't do recursion if I could avoid it! < 1205189236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in fact, while gcc think my function that does looping will recurse, and therefore won't inline it, it won't recurse < 1205189247 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because I won't excute looped k instructions in funge < 1205189260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I can hardly blame gcc for not being smart enough < 1205189298 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for an example, you can look at http://pastebin.ca/937153 < 1205189310 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's permute.i from the C-INTERCAL examples, and its documentation < 1205189381 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's actually pretty easy to read for an INTERCAL program, which is 'not very' < 1205189385 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :horrible < 1205189420 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :look, at least befunge got some kind of elegance! < 1205189622 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL has its own kind of elegance < 1205189631 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's a translation into a weird C/INTERCAL/Prolog mix lower down the page < 1205189645 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes and that is equally hard to read < 1205189651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't know prolog < 1205189658 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't know intercal < 1205189662 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I DO know C < 1205189683 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the program, as written, is basically impossible to express in C < 1205189693 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(even though I compile into C) < 1205189701 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you have to write it really differently < 1205189708 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to paste the C it compiles into < 1205189756 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I guess a lot of goto could do it < 1205189778 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/937166 < 1205189782 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: worse. setjmp < 1205189790 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eww < 1205189800 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you have to save all the variables involved, too < 1205189804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ick_? < 1205189815 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's the INTERCAL compiler's name < 1205189823 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I understand it < 1205189828 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ick is how I feel over that code < 1205189828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the ick_ is the name-mangle prefix it uses so as not to clash with other people's code < 1205189839 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's only half of it < 1205189856 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because you have to link in libickmt too, which contains most of the heavy work for the backtracking < 1205189862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait a sec, how does rand differ from random < 1205189869 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see it use rand function < 1205189874 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's standard C89, rather than POSIX < 1205189890 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :CONFORMING TO < 1205189890 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : The functions rand() and srand() conform to SVr4, 4.3BSD, C89, C99, POSIX.1-2001. The function rand_r() is from POSIX.1-2001. < 1205189892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and although there's no reason for it in either standard, random tends to be more random < 1205189896 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1205189908 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah that's good, I use random() < 1205189928 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :weird man srand works, but man 3 rand gives me an openssl man page < 1205189929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :stupid < 1205189998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what about drand48 then? < 1205190013 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :are they more or less random? < 1205190014 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no idea < 1205190016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :than random() < 1205190021 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.muppetlabs.com/~breadbox/intercal-man/blotch.gif < 1205190025 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :What's this symbol? < 1205190033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :slereah_: it doesn't actually mean anything < 1205190043 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was listed in the original spec as being available for future expansion < 1205190059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :slereah_, inkblot? < 1205190066 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :But does it exist in an actual character set? < 1205190074 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you get it by overprinting a whole load of punctuation marks < 1205190084 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1205190085 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it's [^H]^H-^H# but I'm not sure < 1205190095 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Punching the fuck out of the punch card? < 1205190111 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hey, at least two INTERCAL-72 operators were overpunches < 1205190125 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but they've since been added to Unicode < 1205190125 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That's why I ask! < 1205190131 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh god < 1205190134 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait a second < 1205190135 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Even the rabbit one? < 1205190141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, not the rabbit < 1205190152 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :intercal used PUNCH CARDS? < 1205190156 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the bookworm is the mathematical for-all symbol < 1205190168 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the change symbol is a cent sign < 1205190169 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1205190172 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :someone was stupid enough to do an esoteric language on punch cards!? < 1205190174 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1205190175 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it dates from the days of EBCDIC < 1205190182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was invented in 1972, after all < 1205190183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's just, fucked up < 1205190184 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, it was all that was available < 1205190198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :slereah_, what about MULTICS thing? < 1205190202 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :CLC-INTERCAL still accepts the "Hollerith" input format < 1205190222 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I tried to find some punch card computer or something, but there's only one company that sells them, and it isn't cheap :o < 1205190228 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :MULTICS? < 1205190234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1205190239 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :before unix < 1205190257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Multics < 1205190259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that one < 1205190259 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I'm not old enough, AnMaster < 1205190268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :slereah_, nor am I < 1205190279 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I'm also not that computer savvy < 1205190285 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah, I'm that < 1205190305 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if you feel insane enough, read http://filebin.ca/vjsonz/unravel.c < 1205190315 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :The internet really let me down when it comes to punch cards. < 1205190321 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bah bad mimetype < 1205190337 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's the multithreading/backtracking part of C-INTERCAL's runtime library < 1205190343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh god < 1205190349 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that interacts with the compiled-from-INTERCAL program I pasted recently < 1205190383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :look you can do that *without setjmp < 1205190389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you just need some goto < 1205190395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, in theory you can do anything without setjmp < 1205190404 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in this case, though, the setjmp jumps out of the library and into the user program < 1205190406 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and even it's easy here now < 1205190420 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in most special cases it's easy < 1205190431 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but have you even seen what the general case looks like? It's horrific < 1205190482 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't want to read more of that file < 1205190487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's a well commented mess < 1205190489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :horrible < 1205190518 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :any budding open source programmer is invited to refactor if they feel they're up to the challenge < 1205190538 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no that's way below me < 1205190551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't want to mess with INTERCAL ever in compiled form < 1205190592 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unravel.c manages to safely contain most of the really gnarly stuff, anyway < 1205190599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there? < 1205190603 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the rest of the compiler is completely sane by comparison < 1205190614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I find my interpreter faster up to the point where it fails mycology < 1205190617 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205190647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(incidentally, anyone reading this in the logs, if the filebin link has gone you can extract the file from the tarball at http://intercal.freeshell.org/download) < 1205190687 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: My client flags Deewiant as being away, so you're unlikely to get an answer immediately < 1205190694 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I know < 1205190697 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but then it flags you as beeing away too < 1205190704 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I should be < 1205190708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I'm not < 1205190713 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION really needs to sleep < 1205190804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, huh, think I found a bug in CCBI on returning from the request 18 of y instruction < 1205190810 0 :Corun!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1205190812 0 :GregorR!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1205190833 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1205190833 0 :GregorR!n=gregor@71.237.179.105 JOIN :#esoteric < 1205190858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, n29*y <-- shouldn't that return 1? because there is one item on the single stack, the top stack < 1205191020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, further, ccbi gets into an infinite loop or something on mycouser if I do this: < 1205191021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Assuming Befunge-98 instructions work... < 1205191022 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Which base to read input in? 3 < 1205191022 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Selected base 3 < 1205191022 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Input a number in that base: 47 < 1205191029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1205191060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Which base to read input in? 473 < 1205191060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Selected base 473 < 1205191060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Input a number in that base: < 1205191065 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :didn't let me input anything :( < 1205191279 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow: http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/tquine.php < 1205191290 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's certainly a new twist on the notion of a quine < 1205191331 0 :RedDak!n=dak@host65-89-dynamic.3-79-r.retail.telecomitalia.it JOIN :#esoteric < 1205191341 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Awesome < 1205191380 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :wonderful domain name too < 1205191388 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1205191549 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has to go, anyway < 1205191551 0 :ais523!unknown@unknown.invalid QUIT :"Bye!" < 1205191568 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Found this in the vintage computer section : http://cgi.ebay.com/chinese-ABACUS-WITH-LEATHER-DRAGON-PHOENIX-WOOD_W0QQitemZ180222253443QQihZ008QQcategoryZ1247QQssPageNameZWDVWQQrdZ1QQcmdZViewItem < 1205191652 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :heh, "vintage computer" < 1205191670 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :Item location: ??, ??, China < 1205191745 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/jbefbef.php <-- heh < 1205191771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/unebef.php <-- befunge interpreter in unefunge :( < 1205191813 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1205193349 0 :jix!unknown@unknown.invalid QUIT :"CommandQ"