00:33:39 -!- Jophish has quit (Connection timed out).
00:49:52 -!- oerjan has quit ("Good night").
02:16:31 -!- KingOfKarlsruhe has joined.
02:25:22 -!- sebbu2 has joined.
02:38:53 -!- sebbu has quit (Read error: 110 (Connection timed out)).
02:57:43 -!- olsner has joined.
03:03:00 -!- akiross has joined.
03:05:25 -!- akiross has quit (Client Quit).
03:18:32 -!- KingOfKarlsruhe has quit (Remote closed the connection).
03:25:48 <kerlo> oklopol: what's not true?
03:39:18 -!- Azstal has quit (Read error: 104 (Connection reset by peer)).
03:46:58 -!- Azstal has joined.
03:49:20 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
03:56:19 -!- GreaseMonkey has quit ("Client Excited").
05:13:43 <kerlo> oklopol: also, bitphase.com
06:56:23 -!- asiekierk has joined.
06:56:26 -!- asiekierk has changed nick to asiekierka.
06:56:57 <asiekierka> Lemme check the logs to see WHAT'S GOING ON
06:57:23 <asiekierka> too... much... logs... on... tunes.org....
06:58:38 <asiekierka> uh, so, bsmntbombdood: What do you mean
06:59:12 <asiekierka> Who did you ask "how do you implement copy-on-write?"
06:59:41 <asiekierka> where do you want to implement and why do you want to implement
07:01:02 <bsmntbombdood> update: if reference count = 1, do destructive updates; otherwise, make a copy with refcount=1, decremement refcount of original
07:05:02 <asiekierka> I'm going to make something in I/O SNUSP
07:05:28 <asiekierka> Sets the new filename using a string from the cell memory interrupted by 0 (by default it's stdin, if you feed 0 to it it's back at stdin)
07:11:25 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
07:41:00 -!- kar8nga has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:22 -!- BeholdMyGlory has joined.
08:12:19 -!- Jophish has joined.
08:22:58 -!- kar8nga has quit (Remote closed the connection).
08:36:23 -!- BeholdMyGlory has quit ("rebooting").
08:52:17 -!- Mony has joined.
09:47:41 -!- kar8nga has joined.
10:42:25 -!- ugo123 has joined.
10:44:09 -!- ugo123 has left (?).
11:01:01 -!- kar8nga has quit (Remote closed the connection).
11:05:01 -!- tombom has joined.
12:29:30 -!- tombom has quit ("Peace and Protection 4.22.2").
13:22:28 -!- akiross has joined.
13:46:53 -!- Mony has quit ("Quit").
13:49:34 -!- Mony has joined.
15:12:56 -!- kar8nga has joined.
15:25:11 <ehird> 05:13 kerlo: oklopol: also, bitphase.com
15:33:42 <ehird> hi akiross, you new?
15:43:33 <akiross> sorry, i was afk. Yes, i'm new
15:44:28 <akiross> actually, i'm developing a programming language (which is quite esoteric i think...).
15:44:48 <ehird> neat! care to tell us anything about it? :)
15:45:31 <akiross> but since it's really under heavy development (by only me), i didn't write anything on the wiki... so i came here to see how's the community and if it may be interesting for someone (in future)
15:46:26 <akiross> well... Actually it's not for any specific reason, nor a toy language (well, neither for serious use :D), but it's like... uhm, assembly-for-message-passing :D
15:46:40 <akiross> **reason i mean use. It's general purpose
15:46:40 <ehird> I can see what you mean
15:47:31 <akiross> and well, the idea behind it is to write something that's fully modifiable by the user: the language itself will contain a parser object allowing to modify the syntax
15:48:22 <asiekierka> As the amount of commands added to an esolang must be 0 or 1
15:48:28 <ehird> I've pretty much wanted that
15:48:41 <ehird> a fully modifiable compiler
15:49:43 <akiross> eheh, the problem is that... modifying the code on the fly need to handle the code itself: i can't see compilation feasible in near future.
15:49:48 <ehird> asiekierka: what are you rambling about this time
15:49:53 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
15:49:56 <ehird> akiross: you can do it lisp-style
15:49:58 <akiross> asiekierka, sorry, but what's an esokernel?
15:50:03 <ehird> having the compiler modifiable at compile time from itself
15:50:05 <ehird> akiross: disregard asiekierka
15:50:08 <asiekierka> A project to make a mini-kernel thing in an esolang
15:50:11 <ehird> he keeps saying he'll make an operating system in an esolang
15:50:14 <ehird> this is the 500th time
15:50:20 <ehird> I don't think he's ever got further than rambling
15:51:13 <akiross> ehird, yes, i thought about lisp in some ways, but actually i'm not a guru of lisp and... well, it's with objects, not lists. So it remembers smalltalk in some ways
15:51:27 <ehird> akiross: I meant the compiler model
15:51:39 <ehird> i.e. you can modify the compiler at compile-time, but not runtim
15:52:55 <akiross> ok. I'll hope to learn more in future... I'm quite a noob in the programming languages field
15:53:09 <ehird> this is a good place to learn, assuming you're crazy :)
15:53:20 <asiekierka> see: DOBELA, a failed attempt at an esolang
15:53:27 <ehird> asiekierka: haven't you been here since 2006.
15:53:38 <akiross> eheh good, i'm a bit crazy and i learn quickly ;)
15:53:41 <asiekierka> but being a noob doesn't equal being here for two days
15:53:51 <asiekierka> You stop being a noob when you quite understand something
15:54:02 <asiekierka> Well, I could say i'm less of a noob and more of a newbie but nah
15:55:25 -!- sebbu has joined.
15:55:37 <asiekierka> and i'm rambling for the sake of rambling
15:56:06 <asiekierka> And... did anyone actually look at DOBELA?
15:57:21 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
15:57:21 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
15:57:23 -!- Jophish has quit (calvino.freenode.net irc.freenode.net).
15:57:26 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
15:57:26 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
15:57:28 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
15:57:28 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
15:57:28 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
15:57:30 -!- olsner has quit (calvino.freenode.net irc.freenode.net).
15:57:30 -!- oklopol has quit (calvino.freenode.net irc.freenode.net).
15:57:32 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
15:57:33 -!- sebbu2 has quit (calvino.freenode.net irc.freenode.net).
15:57:33 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
15:57:35 -!- SimonRC_ has quit (calvino.freenode.net irc.freenode.net).
15:57:35 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
15:57:37 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
15:57:37 -!- Dewi has quit (calvino.freenode.net irc.freenode.net).
15:57:37 -!- Mony has quit (calvino.freenode.net irc.freenode.net).
15:57:37 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
15:57:39 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
15:58:48 -!- Mony has joined.
15:58:48 -!- Jophish has joined.
15:58:48 -!- olsner has joined.
15:58:48 -!- sebbu2 has joined.
15:58:48 -!- dbc has joined.
15:58:48 -!- Ilari has joined.
15:58:48 -!- Slereah has joined.
15:58:48 -!- Asztal has joined.
15:58:48 -!- oklopol has joined.
15:58:48 -!- ehird has joined.
15:58:48 -!- SimonRC_ has joined.
15:58:48 -!- AnMaster has joined.
15:58:48 -!- rodgort has joined.
15:58:48 -!- Robdgreat has joined.
15:58:48 -!- GregorR has joined.
15:58:48 -!- Leonidas has joined.
15:58:48 -!- Dewi has joined.
15:58:48 -!- pikhq has joined.
15:58:48 -!- ineiros has joined.
15:58:48 -!- mtve has joined.
15:59:08 <akiross> asiekierka, i'm taking a look right now
15:59:32 <akiross> ahah it looks interesting :)
15:59:43 <asiekierka> wait, you mean DOBELA looks interesting?
15:59:47 <asiekierka> akiross: This was my first and currently last esolang
15:59:47 <akiross> yes, DOBELA looks interesting
15:59:47 <asiekierka> I may find the logs from the day DOBELA was discussed on my PC
16:00:21 <akiross> and still aren't you sure about that 1% ?D
16:00:52 <akiross> oh, i was just wondering... It's just a theoretical model?
16:01:08 <akiross> sorry, my english is really bad.
16:01:08 <asiekierka> I would call it an "esolang-made-in-free-time"
16:01:18 <asiekierka> My english was bad when I joined here too
16:01:53 <ehird> I couldn't possibly comment.
16:03:20 <akiross> ...ouch, NOW i see what did you mean with "operates on bit"
16:04:36 -!- kar8nga has joined.
16:04:49 <asiekierka> You can flip dots, output and input them, collect them to a FIFO and use ^ | : v to configure data
16:05:59 <asiekierka> It's that something hitting the left of | goes down or up, depends on the set value thing
16:06:29 <akiross> an interpreter would be fun :)
16:06:30 <asiekierka> hitting the down of | makes all dots hitting it left/right go down
16:06:42 <asiekierka> hitting the up of | makes all dots hitting it left/right go up
16:08:16 <akiross> in some way it remembers me the blackbox logic game
16:12:33 -!- sebbu2 has quit (Connection timed out).
16:24:05 -!- BeholdMyGlory has joined.
16:37:16 -!- BeholdMyGlory has quit (Remote closed the connection).
16:47:55 -!- M0ny has joined.
16:48:46 -!- M0ny has quit (Read error: 104 (Connection reset by peer)).
16:50:08 -!- BeholdMyGlory has joined.
16:50:33 -!- M0ny has joined.
16:59:05 -!- BeholdMyGlory has quit (Remote closed the connection).
17:06:11 -!- Mony has quit (Read error: 110 (Connection timed out)).
17:07:07 -!- akiross has quit ("Leaving").
17:08:20 <ehird> [[Apple Computer, Inc. v. Franklin Computer Corp., 714 F.2d 1240 (3d Cir. 1983), was the first successful attempt in a court of law in the United States to prove that computer software in electronic form (not visual) could be protected by copyright[citation needed]. ]]
17:15:19 -!- oerjan has joined.
17:23:45 <oerjan> <Slereah> What about Esme
17:23:57 <oerjan> doesn't that go a bit beyond "failed"...
17:30:46 <ehird> typeof [1,2] -> [1 | 2], or typeof [1,2] -> [num] where type num = ... | -1 | 0 | 1 | 2 | 3 | ...
17:31:55 <GregorR> At what point between "food" and "inorganic matter" does something start being considered inedible?
17:32:15 <GregorR> A rock is clearly inedible, but if I ground that rock into powder and mix in a little bit of gravy, is that now edible?
17:33:51 <oerjan> ^ul ((ESME. )(Esme, )):^!S(~:^:S*a~^~*a*~:^):^
17:33:52 <fungot> ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. Esme, ESME. ...too much output!
17:34:59 <oerjan> salt is edible, in moderation
17:35:27 <oerjan> as is ice. water is potable.
17:36:05 <kerlo> GregorR: salt is both food and inorganic matter.
17:36:34 <oerjan> asiekierka: an underload program for printing the thue-morse sequence, modified slightly to look like Esme.
17:36:49 <kerlo> Oh, oerjan said that.
17:45:10 <Deewiant> Aside: bugs like http://hackage.haskell.org/trac/ghc/ticket/3079 amuse me.
17:45:48 <fizzie> Incidentally, I made a compiler: (pre-sorry for the flood; but it should be just 6 lines)
17:45:50 <fizzie> fis@eris:~/src/java$ cat primes.f
17:45:53 <fizzie> { writes all prime numbers between 0 and 100 }
17:45:55 <fizzie> 99 9[1-$][\$@$@$@$@\/*=[1-$$[%\1-$@]?0=[\$.' ,\]?]?]#
17:45:58 <fizzie> fis@eris:~/src/java$ java -cp bin:/usr/share/java/bcel.jar fi.zem.jvmfalse.Compiler primes.f
17:46:01 <fizzie> fis@eris:~/src/java$ java -cp .:bin JVMFalse ; echo
17:46:04 <fizzie> 97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3 2
17:46:12 <ehird> okay how is that special?
17:46:14 <ehird> i mean i dun get it
17:46:15 <fizzie> So it does False -> java VM bytecode.
17:46:56 <fizzie> Well, I don't think announcing any compilers here is very out-of-the-ordinary.
17:47:17 <ehird> fizzie: how does it handle clozrs
17:47:23 <fizzie> There are no closures in False.
17:47:42 <ehird> they're just closures on nothing.
17:48:21 <fizzie> Right, well, [...] is compiled so that the insides of the function is compiled, it's placed somewhere, and a piece of code to push a pointer to that function is generated wherever the [...] was.
17:48:28 <oerjan> even C has closures on nothing :)
17:48:57 <fizzie> There's nothing especially *special* about this; it's more of a continuation to yesterday's discussion on False being easy to compile. It can't be that difficult, if even I could do it.
17:49:11 <ehird> I may write False->asm, why not.
17:49:17 <ehird> Speed for your enterprise false!
17:49:29 <ehird> No. No it would not.
17:49:49 <ehird> fizzie: do you handle ß?
17:50:27 <fizzie> Well, in the sense that the flush() method of the FalseIO interface is called on ß. In the default implementation it calls out.flush(), where out is by default System.out.
17:51:02 <ehird> i just meant the funnay charactar.
17:51:33 <fizzie> Oh. Well, yes. I think it uses the platform's default character encoding, whatever that may be, to read the contents. So I think here you need a utf-8 ß in the file.
17:53:22 -!- tombom has joined.
17:53:41 <oerjan> You want False? You can't _handle_ the False.
17:54:17 <oerjan> i considered trying it in german
17:55:11 <fizzie> Java bytecode is a rather friendly target for False, being stack-based itself. Although the operand stack is local to a method, so all False code needs to be inside a single method; and the ! call/return thing goes through some double-jumping because (probably for safety reasons) JavaScript doesn't really have a computed-goto-like instruction. (Except the 'ret' in a jsr/ret pair, but the return address type is so magical you can't put it inside any sort of stac
17:56:08 <fizzie> Did I say JavaScript? I meant Java.
17:56:47 <ehird> afety reasons) JavaScript doesn't really have a computed-goto-like instruction. (Except the 'ret' in a jsr/ret pair, but the return address type is so magical you can't put it inside any sort of stac
17:56:51 <ehird> you got cut off there
17:57:00 <fizzie> Oh. -- any sort of stack with any JVM opcodes.)
17:58:50 <Deewiant> Consider installing the 'splitlong' script if you're using irssi.
18:00:06 <fizzie> I just resorted to building a big table of all possible jump targets (beginnings of non-inlined [...] blocks and all ! sites) and use indices of that table as return addresses / function pointers, plus a single tableswitch opcode. In Java it would probably look like the whole program was inside a "while (true) { switch (pop()) { ... } }" structure, and jumps were written as "push(x); break;".
18:01:23 <fizzie> Normally I just manually say any long-looking sentences to myself to see if I get cut off; this time I didn't rememer. A script might be fine too.
18:55:36 <ehird> Hey, someone paste me a utf-8 beta.
18:58:17 <oerjan> please be advised that ß from above is not a beta, but an ess-zed [sp]
18:58:55 <oerjan> which is part of iso-8859-1
18:59:18 <oerjan> an actual greek beta is beyond my current setup
19:07:01 <oerjan> (this is not meant to imply more than a very slight possibility that you were being confused about this)
19:10:58 <ehird> fizzie: does your compiler handle <int>` for inline jvm? :D
19:11:18 <ehird> and a initially contains cmd line args? and first line of input unless you flush is the command line opts joined by " "?
19:23:46 <oerjan> lol wat, a slightly less known temple complex in cambodia
19:24:01 <bsmntbombdood> strstr(str, "foo") (written in assembly in glibc) is twice as fast
19:24:01 <ehird> bsmntbombdood: well... no?
19:24:06 <ehird> it has tons of branches.
19:24:12 <ehird> bsmntbombdood: strstr isn't just in asm
19:24:14 <ehird> it uses freaky tricks
19:24:22 <ehird> which you could probably write in C
19:24:40 <bsmntbombdood> i doubt boyer-moore is gonna be faster in this case
19:25:28 <bsmntbombdood> i'll get rid of some of the branches and find out what happens
19:25:49 <ehird> bsmntbombdood: may I interest you in the *((int*)s) trick?
19:25:54 <ehird> it is very efficient use of his time.
19:26:14 <bsmntbombdood> i can't really compare more than one character at a time here
19:27:27 <oerjan> hm you should only need to check each third char initially...
19:27:35 <oerjan> is that what boyer-moore does?
19:33:57 -!- tombom has quit.
19:35:10 <bsmntbombdood> using a couple lookup tables makes it as fast as strstr
19:35:26 <ehird> I am clearly the best C coder ever.
19:35:46 <oklopol> kerlo: oklopol: what's not true? <<< err, the thing you said?
19:36:02 -!- k has joined.
19:36:25 -!- kar8nga has quit (Nick collision from services.).
19:36:27 -!- k has changed nick to kar8nga.
19:36:32 <oklopol> kerlo: if you're referring to that causality thing, you pretty much said implication implies equivalence, which is simply not true.
19:36:43 <ehird> bsmntbombdood: neat
19:36:50 <ehird> how big are these strings :P
19:37:21 <oklopol> anyway probably some sleep before i explode
19:37:54 <oklopol> kerlo: also what about http://www.bitphase.com/?
19:37:56 <kerlo> Let's see. "If lack of correlation implies lack of causation, then correlation implies causation."
19:38:46 <oklopol> kerlo: yeah that's a well-known logical error no one sane would ever make
19:38:48 <kerlo> How do you get "implication implies equivalence" from that?
19:39:14 <kerlo> Let me rephrase it, then.
19:39:27 <kerlo> "If lack of correlation is evidence for lack of causation, then correlation is evidence for causation."
19:39:44 <kerlo> Do you agree with me now?
19:40:24 <oklopol> kerlo: (a=>b)^(!a=>!b) is just another way to do equivalence with implications
19:40:37 <kerlo> What does ^ denote?
19:40:55 <oklopol> you're saying the first implies the latter, which would mean a=>b implies a<=>b
19:41:02 <oerjan> http://en.wikipedia.org/wiki/Denying_the_antecedent except switched
19:41:12 <oklopol> if i'm not mistaken, do realize i can't keep my eyes open.
19:41:32 * oklopol is a bit too tired for interactive conversation
19:41:32 <kerlo> I venture that if A is evidence for B, then B is evidence for A.
19:42:20 <oklopol> kerlo: you should probably read the newest xkcd
19:42:32 <kerlo> I did. That's why I'm saying this at all.
19:42:49 <oklopol> i know you did, that's why i said that.
19:42:57 <oerjan> kerlo: the first part is much stronger evidence than the second though
19:43:49 <oerjan> the first is proof of absense, the second just absense of disproof
19:44:36 <kerlo> Okay, enough venturing.
19:44:44 <kerlo> Theorem: If A is evidence for B, then B is evidence for A.
19:44:57 <oklopol> yeah absense of *that specific* disproof; just "A is evidence for B" simply says nothing about the other direction in general
19:45:18 <oklopol> kerlo: stating stuff seemingly formally does not make it rigorous.
19:45:31 <kerlo> I'll make it rigorous and give you a proof.
19:45:32 <oklopol> and sorry for being cranky, not sure i mentioned this yet but i'm pretty tired
19:45:40 * oerjan swats kerlo and gives him an F -----###
19:45:42 <oklopol> i'll read it when i'm back to my senses
19:45:52 <kerlo> Would you agree with this statement: P is evidence for Q if and only if the probability of P(Q|P) > P(Q).
19:45:56 <ehird> I think kerlo enjoys winding people up by trying to prove the idiotic.
19:46:23 <ehird> while(c = *str++) {
19:46:30 <ehird> maybe summat *((int*)s)?!?!?!?!?!?!?!?!?!
19:46:42 <oerjan> kerlo: i guess that's a reasonable definition in some cases
19:46:47 <ehird> can you avoid the comparison?
19:47:36 <bsmntbombdood> i don't think so, because you have to break out somewhere
19:47:43 <kerlo> Well, take Bayes' theorem: P(A)P(B|A) = P(B)P(A|B). Rearrange it: P(A)/P(A|B) = P(B)/P(B|A).
19:47:46 <oerjan> lessee, that's equivalent to P(P /\ Q) > P(Q)*P(P), huh.
19:48:01 <ehird> bsmntbombdood: but, *((int*)s)?
19:48:18 <kerlo> Cool, oerjan just proved it using symmetry.
19:48:45 <kerlo> Anyway, with this rearrangement, it's obvious that if P(A|B) > P(A), then P(B|A) > P(B).
19:48:51 <ehird> bsmntbombdood: use it to read instead of one char at a time?
19:49:11 <kerlo> Assuming, of course, that all probabilities are positive. If one of them is negative or zero, you've got bigger problems.
19:49:16 <bsmntbombdood> ehird: my computer doesn't have memory for a 4 gigabyte lookup table
19:49:29 <ehird> bsmntbombdood: that's why you use a mask
19:50:01 <ehird> me & ais523 helped comex recently
19:50:04 <ehird> lemme dig up a link
19:50:07 <comex> you may be interested to know that my final solution is
19:50:20 <ehird> comex: a slower one? :P
19:50:26 <comex> http://pastie.org/409469
19:50:44 <comex> specifically, instead of nulling out the characters after the space, the lookup table includes every possibility
19:51:06 <comex> not really, most of the morse codes are three characters anyway
19:51:26 <comex> and it's faster, only one branch
19:51:41 <comex> but I found out that it was only taking ~20ms, and the other ~180ms was JNI being slow :p
19:51:54 <ehird> comex: 20ms for a 6 megabyte string?
19:52:04 <ehird> can you pastie the resulting asm?
19:52:23 <comex> isn't java supposed to be open source now? but I can't find JNI's implementation anywhere
19:52:27 <ehird> bsmntbombdood: that decodes morse code
19:52:52 <ehird> note the huge STUFF line
19:54:56 <olsner> why on earth is that an array of chars rather than an array of shorts?
19:55:19 <comex> because they're separate values? it doesn't matter :u
19:56:15 <comex> gcc on my desktop gives me http://pastie.org/410377
19:56:37 <ehird> bsmntbombdood: #define STUFF
19:56:42 <ehird> is like 23948578349345 columns wid
19:56:56 <ehird> #define STUFF 63, 1, 63, 1, 63, 1, 63, 1, 77, 3, 65, 3, ravenous black hole
19:56:58 <ehird> that's the lookup table
19:57:06 <comex> blame pastie for not wordwrapping
19:57:09 <ehird> comex: wow, that's really compact
19:57:20 <ehird> is this with all the optimizations?
19:57:26 <olsner> unsigned short ink = stuff[a%381]; would be a lot easier to read
19:57:36 <bsmntbombdood> comex: no, blame you for not writing stuff sensibly
19:57:44 <ehird> bsmntbombdood: he was optimizing
19:58:08 <comex> bsmntbombdood: yeah, but when writing nomic stuff I have to use pastebin because pastie doesn't wordwrap
19:58:34 <ehird> in the function body
19:58:44 <ehird> oh shut the fuck up
19:58:52 <ehird> nobody gives a shit how pretty it looks, it's trivial code
19:59:02 <olsner> could've at least used \ when defining the macro
19:59:05 <bsmntbombdood> well then i might actually be able to see the whole thing!
19:59:11 <ehird> horizontal scrollbar
19:59:12 <comex> bsmntbombdood: it's not mainly because it was easier for me to copy and paste from a python script if it was all on one line
19:59:17 <ehird> and copy it into an editor
19:59:43 <fizzie> (I was in the sauna.) No, it doesn't do <int>` for inline jvm, but I was thinking of extending ` for FFI to Java or something; the "strange" False command-line-as-input thing it doesn't do at all.
19:59:52 <olsner> could've made the python script print a header, then include that header
20:00:02 <comex> it was a quick hack
20:00:06 <ehird> fizzie: what about the 'a' thing
20:00:36 <fizzie> ehird: What is the 'a' thing?
20:00:36 <comex> bsmntbombdood: brute force modulos until it found one that gave unique results for each possibility
20:00:48 <ehird> fizzie: a-z variables; a is initialized to a pointer to argv
20:00:50 <fizzie> Oh, right, that 'a' thing.
20:00:55 <ehird> so you can read it and + it to access argv
20:01:03 <comex> bsmntbombdood: yeah, I know
20:01:12 <ehird> just do an #if on the endianness
20:01:16 <ehird> and have two tablse
20:01:17 <comex> if I cared I would fix it and do that :p
20:01:31 -!- asiekierka has quit (Read error: 113 (No route to host)).
20:01:59 * comex tries to find the right include files for compiling it on linux
20:02:33 <fizzie> Yes, no, it doesn't do that. The peek/poke ;/: operations work only for a-z (which actually push 0-25 as the varadr). I don't see where that 'a' thing is specified either.
20:02:51 <ehird> so it's not really false
20:02:59 <bsmntbombdood> maybe i should see if i can write that a little more sensibly
20:03:15 <comex> fizzie/ehird; what're you ralking about?
20:03:32 <ehird> we're ralking about rizzie's ralse interpreter in rava
20:03:34 <bsmntbombdood> more sensible, less fast is probably how it'll turn out :(
20:04:03 <ehird> bsmntbombdood: if you adopt the ugly, you get 20ms to morse-decode a 6mb string :P
20:04:20 <comex> bsmntbombdood: well, the original assignment was to implement it in Java using a binary tree
20:04:25 <ehird> bsmntbombdood: why not?
20:05:28 <comex> I wonder why linux gives less accurate results for clock()
20:06:07 <comex> bsmntbombdood: hey, java was weird
20:06:29 <bsmntbombdood> i assume all the crud in there is so you can call the function from java?
20:07:05 <comex> in my java implementation, even though it was written so that it should be O(n), the time taken was increasing way faster than that
20:07:24 <comex> when I saw that, I gave up :p
20:07:47 <comex> (charAt and indexOf only, no new string creation or anything)
20:10:50 <bsmntbombdood> if you want it done right, you have to do it yourself i guess
20:15:04 -!- tombom has joined.
20:31:50 <oklopol> yeah like i could sleep after that many liters of coffee :<
20:32:42 <oerjan> for sound sleep, always make sure your blood percentage exceeds your coffee percentage
20:33:03 <oklopol> kerlo: Would you agree with this statement: P is evidence for Q if and only if the probability of P(Q|P) > P(Q). <<< heh, no. i guess i should've asked what you meant before starting to insult you :D
20:33:06 * oerjan has only had one cup today
20:33:24 <oklopol> kerlo: by that definition you're right, i think.
20:33:53 <oklopol> i'd define A implies B by P(B|A)>e for some positive e, probably.
20:34:07 <oklopol> and that's not a two-way street
20:35:22 <kerlo> So if P(B) = 0.7, then A implies B for all A independent of B.
20:36:06 <oklopol> yeah and the moon being yellow implies 1+1=2
20:36:29 <oklopol> that's just how i'd define it, A implies B means if you know A is true, then B is probably true.
20:37:03 -!- oerjan has set topic: WARNING: Mad (Statistical) Science | Logs: http://tunes.org/~nef/logs/esoteric/.
20:37:13 <kerlo> Hmm. This chewing gum tastes like rubbing alcohol all of a sudden.
20:37:42 <oerjan> kerlo: that means a little more chewing will set your gums on fire
20:38:04 <kerlo> I wonder if this is the taste of glycerol.
20:38:07 <oerjan> the gums of your teeth, too
20:39:34 <oerjan> yeah it cannot distinguish space from return
20:40:32 <oklopol> i had a great comeback to that, but it would've been many, many lines, and you wouldn't have seen its last word.
20:40:47 <oklopol> so i just decided to do this meta stuff
20:41:09 <oerjan> i never meta stuff i didn't enjoy
20:42:27 <oklopol> ...you're chokes are killing me
20:43:11 * oklopol is listening to a song coauthored by kerlo and himself
20:43:21 <kerlo> I didn't know I coauthored a song.
20:43:30 <kerlo> What did I contribute?
20:43:59 <oklopol> i wrote it on gp and added some random stuff, and now it found it
20:44:53 <kerlo> Can you send it to me?
20:45:27 <oklopol> well it's a really short snippet but sure
20:48:08 <oklopol> i just wanted to try out that transition i heard in my head when i listened to yours
20:50:02 <oklopol> and the second part is just a random continuation to it, i think i just hacked it up without that much thought, i don't usually go for anything that conventional
20:50:19 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
20:56:13 -!- bsmntbombdood has joined.
21:01:17 <oklopol> kerlo: did you not get it or just didn't feel like commenting?
21:01:44 <oklopol> not saying there's anything to comment, just asking because i have nothing else to do :P
21:03:02 <kerlo> Sorry, my dad asked me for help with something.
21:03:38 <kerlo> I wonder if I'll recognize this.
21:03:57 <oklopol> no worries, i'm not sure what you could possible want to comment about it anyway :P
21:05:50 <kerlo> Yes, I do recognize that.
21:06:35 <oklopol> was that the background you were thinking? i mean i was going songsmith there
21:07:37 -!- KingOfKarlsruhe has joined.
21:08:09 <kerlo> I was thinking something more like the music in Spore, I guess. Something suggestive of being underwater.
21:08:19 <kerlo> Since Spore takes place underwater. :-P
21:08:26 <oklopol> also i should make more music, kinda getting boring listening to this same stuff all the time
21:09:33 <oklopol> kerlo: right i don't really do atmosphere :|
21:09:44 -!- madbr has joined.
21:10:27 <kerlo> Add arpeggiated B minor and C major chords.
21:10:36 <kerlo> And tell me how to spell "arpeggiated" while you're at it.
21:11:14 <madbr> kerlo: together at the same time? :o
21:11:17 <AnMaster> <oerjan> oh and befunge too, with fungot and with AnMaster improving his cfunge
21:11:18 <fungot> AnMaster: but those are about sound, not the host)
21:11:36 <oklopol> kerlo: arpeggiated b minor and c major where exactly?
21:11:48 <oerjan> AnMaster: someone asked what esolangs were popular at the moment
21:11:52 -!- sebbu2 has joined.
21:12:28 <AnMaster> oerjan, to allow calling external code from funge
21:12:37 <AnMaster> however the tasks seems very difficult
21:12:50 <AnMaster> I mean, expressing prototypes and such from funge
21:13:05 <AnMaster> and using libffi to construct calls on the fly
21:13:20 <AnMaster> a better approach may be having the user make a simple module that can be useful
21:13:36 <kerlo> No, not at the same time.
21:14:02 <AnMaster> kerlo, err what language is this?
21:14:16 <oklopol> kerlo: well i don't know how to pluralize "where".
21:14:33 <kerlo> AnMaster: um, I'm talking about music in English.
21:14:50 <kerlo> I was replying to madbr when I said "no, not at the same time".
21:15:20 <AnMaster> kerlo, there are some esolangs based on music
21:15:30 <oklopol> kerlo: ohh, i thought madbr was some irc contact of yours, and asked you when you'd meet :P
21:16:39 <kerlo> The main melody goes like this, if I'm not mistaken: (.) F# B D . . E . . B . . . G C D . . E . . C . . . (F# B)
21:18:29 -!- Slereah has set topic: There is no "i" in UBUNTU | WARNING: Mad (Statistical) Science | Logs: http://tunes.org/~nef/logs/esoteric/.
21:18:51 -!- sebbu has quit (Read error: 145 (Connection timed out)).
21:18:52 -!- sebbu2 has changed nick to sebbu.
21:19:27 <kerlo> Add arpeggiated B minor and C major like this: (G) C E F# B D F# B D F# B D F# B D G C E G C E G C E G (C E)
21:19:50 <kerlo> Omit the G C E at the beginning the first time around.
21:19:57 <madbr> that's like B phrygian
21:20:22 <oklopol> kerlo: so Bm on top of the E..B.. too?
21:21:49 <madbr> reminds me of the transformers theme (except that's in A I think)
21:22:23 <oklopol> listening to other stuff, so i can't say for sure what it'd sound like
21:22:32 <oklopol> seems like that E'd be a waste
21:23:13 <oklopol> madbr: congrats for perfect pitch
21:23:23 <madbr> I don't have perfect pitch
21:23:42 <kerlo> F is sharp, A is not used, everything else is natural, and I don't know what the tonic is but suspect it's B.
21:24:05 <madbr> just a keyboard right next to my computer :D
21:24:39 <madbr> kerlo: Is it some song or something you're composing?
21:25:19 <kerlo> madbr: not willfully. :-P
21:25:37 <kerlo> I mentioned a melody once, and then oklopol used it.
21:25:40 <oklopol> kerlo: yeah i don't think you can have Hm
21:26:25 <kerlo> oklopol: how are you dividing this into bars?
21:26:31 <madbr> Well, E is the 4th of B
21:26:40 <madbr> And specifically Bm
21:26:49 <oklopol> kerlo: so that there are two bars of Bm in yours.
21:27:07 <oklopol> madbr: well yes, clearly it doesn't work on paper
21:27:09 <kerlo> F# B | D . . | E . . | B . . | . G C | D . . | E . . | C . . | .
21:27:10 <madbr> Afaik that's a weak note but no problem over Bm
21:27:27 <oklopol> i just don't think it sounds good.
21:27:34 <oerjan> tonics divided into bars, but no gin?
21:28:02 <kerlo> C E | F# B D | F# B D | F# B D | F# B D | G C E | G C E | G C E | G
21:28:07 <madbr> Bm, Em, Bm, C could fit too
21:28:16 <oklopol> kerlo: okay i had twice as long bars
21:28:37 <kerlo> F# B | D . . E . . | B . . . G C | D . . E . . | C . . .
21:28:45 <oklopol> madbr: yeah Em is what i had, and what's the obvious chord
21:28:53 <kerlo> C E | F# B D F# B D | F# B D F# B D | G C E G C E | G C E G
21:29:51 <kerlo> oklopol: so you don't like the chords I gave?
21:30:08 <oklopol> kerlo: no i think the second bar kills the melody.
21:30:32 <oklopol> do realize i'm used to my own chords, i may just not understand your vision.
21:30:52 <kerlo> oklopol: I'd like you to send me a MID of it.
21:31:06 <kerlo> Not that I don't have a piano and some ability to play it.
21:31:07 <oklopol> it's a short snippet, esoteric ideas will usually sound crappier without company.
21:31:13 <kerlo> MID is easier. :-P
21:32:55 <oklopol> http://www.vjn.fi/oklopol/music/jeesjess.mid
21:34:32 <AnMaster> kerlo, what does "arpeggiated" _mean_?
21:34:39 <oklopol> i don't see how that'd sound good in any context, so i'm assuming you either explained or represented it wrong
21:34:41 <AnMaster> I can't find it in a dictionary
21:34:46 <AnMaster> so I can't translate to Swedish
21:34:48 <kerlo> AnMaster: play the notes sequentially, not simultaneously.
21:34:56 <oklopol> explained or thought it wrong
21:35:12 <AnMaster> kerlo, what was the melody supposed to be?
21:35:22 <kerlo> oklopol: I don't think you aligned it right.
21:35:25 <AnMaster> I tried it on my piano, but not knowing any timing information...
21:35:32 <madbr> what is it, some sort of musical tarpit? :D
21:35:52 <oklopol> kerlo: well how about you do it.
21:35:53 <kerlo> The first F# of the chords is aligned with the first D of the melody.
21:35:58 <AnMaster> there was one with music as only storage
21:36:04 <kerlo> Okay. What program are you using to do this?
21:36:14 <kerlo> AnMaster: the melody isn't supposed to be anything in particular.
21:36:20 <AnMaster> madbr, with a "Schönberg command" for 12 random notes
21:36:48 <AnMaster> madbr, it was one of the entries to the esolang contest of some year
21:36:59 <oklopol> kerlo: so don't listen to the first three notes of the guitar, it's not like they are the ones that sound bad.
21:37:06 -!- Sgeo has joined.
21:37:45 <AnMaster> http://www.stephensykes.com/choon/choon.html
21:37:58 <kerlo> In that case, it sounds perfectly fine to me.
21:38:15 <AnMaster> madbr, also has the "john cage" command. Pause
21:39:09 <bsmntbombdood> i was going through ~, cleaning it out, and look what i find...
21:39:24 <bsmntbombdood> oklopol professing something strange about chainsaws
21:39:32 <kerlo> I thought you were referring to the dissonance at the final repetition of F# B D overlaid with . G C.
21:40:24 <AnMaster> bsmntbombdood, original file name?
21:40:26 <oklopol> no dissonance, just sounds worse than Em imo.
21:40:48 <AnMaster> madbr, yes it is Finnish, I know that, but I don't speak the language
21:41:00 * AnMaster can handle Swedish and English
21:41:09 <madbr> was just trying to guess what language it was
21:41:32 <AnMaster> oklopol, and what does it mean?
21:41:51 <oklopol> listen closely to the last word
21:42:00 <oklopol> then ask again if you're still interested.
21:42:24 <AnMaster> oklopol, I can't hear the last word really, it is cut short it seems
21:42:39 <AnMaster> bsmntbombdood, also what was the original filename
21:42:45 <AnMaster> oklopol, anyway what did it mean?
21:43:11 <Sgeo> So a John Cage isn't simply a zero
21:43:32 <oklopol> AnMaster: fuck me gently with a chainsaw
21:43:41 <oklopol> the blades feel great on my genitals
21:44:11 <oklopol> (bsmntbombdood's sentence, i was just the delivery boy.)
21:44:22 <oklopol> and yeah, i guess i might be a little
21:44:38 <AnMaster> bsmntbombdood, you wanted that said?
21:45:04 <madbr> he needed to explain it to his finnish hooker
21:47:08 <oklopol> kerlo: okay this is getting ridiculous
21:47:32 <oklopol> you're thinking of the "F# B" notes as a... wait what's the term
21:47:40 <oklopol> anyway that they start before the first bar
21:47:55 <oklopol> in that case, Bm *would* work for the second bar.
21:48:17 <AnMaster> oklopol, anything works. As Schönberg proved ;P
21:48:21 <kerlo> oklopol: well, I said "omit the C E the first time around". You actually have B D where I have C E.
21:48:24 <oklopol> (but, in that case i'm less impressed by the melody)
21:48:43 <lament> i thought schonberg actually proved that most things don't work :)
21:49:13 <madbr> and almost killed classical music?%
21:49:15 <AnMaster> but it all depends on how you measure "works"
21:49:16 <oklopol> kerlo: i'm talking about the two first notes, so i'm not sure what you're saying.
21:49:34 <lament> he became famous in what was basically the age of mass hysteria where everybody went crazy and started claiming that bad art was good.
21:49:41 <oklopol> "kerlo: F# B | D . . E . . | B . . . G C | D . . E . . | C . . ."
21:49:49 <AnMaster> madbr, hm? Personally I like classical music, as well as more modern music (like Debussy)
21:49:58 <oklopol> i did not read that, sorry.
21:50:00 <AnMaster> I consider classical music to only refer to the classical period
21:50:02 <madbr> tenchincally first bar is | D . . E . . |
21:50:14 <lament> AnMaster: Debussy was way before schonberg killed classical
21:50:24 <madbr> Well, I mean classical music in the large sense of course
21:50:35 <AnMaster> lament, yes. But schonberg didn't kill classical. Since classical refers to the classical period
21:50:36 <oklopol> kerlo: so, my updated opinion is we're both right, and that our disagreement was because of the snippet being too short.
21:50:42 <madbr> Just like "tonal" can have both a large meaning or a small one
21:50:47 <AnMaster> in Swedish we have a better name for the larger sense: konstmusik
21:51:10 <oklopol> madbr: yes, i thought it was | . F# B D . . |
21:51:12 <lament> schonberg didn't really kill anything, music is still around
21:51:15 <oklopol> the melody is more interesting that way.
21:51:17 <AnMaster> modern classical music just sounds utterly silly
21:51:24 <AnMaster> oerjan, you don't have it in Norwegian?
21:51:40 <oerjan> actually no, though that was a pun
21:51:41 <oklopol> anyway, back to sleep, just came to apologize for once again not actually listening to anyone else, just assuming they're idiots.
21:51:57 <AnMaster> Anyway I don't like all of the music Debussy produced.
21:51:58 <oklopol> WHICH YOU STILL PROBABLY ARE, I JUST HAVEN'T CAUGHT YOU YET
21:52:00 <madbr> lament: no, but the output of classical composition stuff in universities is disappointing because of people like him
21:52:45 <lament> madbr: the output of classical composition stuff in universities is disappointing because it's a bad way to teach composition
21:52:51 <lament> nothing to do with schonberg
21:53:32 -!- Arrogant has joined.
21:53:32 <ehird> 21:51 AnMaster: modern classical music just sounds utterly silly <-- considering your general reaction to these things, 'classical' can be omitted for you.
21:53:49 <AnMaster> ehird, what I was talking about the word...
21:53:51 <lament> madbr: as i understand it, academical classical composition basically spends years showing you how to compose in the styles of dead people.
21:54:02 <AnMaster> as in the term "modern classical music"
21:54:06 <ehird> yes, don't let that detract from my joke
21:54:16 <madbr> lament: probably depends on the place though
21:54:20 <AnMaster> ehird, your joke is highly irrelevant
21:54:30 <ehird> your butt is highly irrelevant.
21:54:32 <AnMaster> ehird, Plus I *do* like some modern non-classical music.
21:54:39 <oerjan> AnMaster: actually we seem to have the term (kunstmusikk)
21:54:41 <ehird> so anyway, it turns out this works in C:
21:54:42 <AnMaster> ehird, just you would never believe what
21:54:51 <ehird> gives you an infinite length array
21:54:58 <ehird> (I knew it worked inside functions0
21:55:07 <AnMaster> ehird, for example would you believe I liked Leonard Cohen's earlier works? Or Enya?
21:55:18 <ehird> AnMaster: I wouldn't if you hadn't already said that 50 times in the past.
21:55:25 <lament> madbr: not really, i mean, what else can they teach?
21:56:12 <ehird> what does -fomit-frame-pointer actually do, btw
21:56:46 <AnMaster> ehird, it omits the frame pointer register reservation, making back traces impossible, but freeing up a general purpose register for use by the register allocator
21:56:52 <AnMaster> ehird, as google could have told you
21:57:01 <madbr> lament: well, what I've had was "analysis" class where they basically taught classical style, and "composition" where they taught, ahem, "avanced" techniques
21:57:04 <ehird> 21:56 AnMaster: ehird, as google could have told you
21:57:10 <ehird> don't you see any irony in that?
21:57:16 <AnMaster> ehird, yes, I was being ironic
21:57:20 <ehird> AnMaster: also, google only gives me things like 'Suppress creation of frame pointers on call stack. Frees the EBP register for other uses.'
21:57:24 <lament> madbr: was it all a huge waste of time?
21:57:29 <AnMaster> INSTEAD OF GOOGLING WHICH YOU ALWAYS SUGGEST I SHOULD DO
21:57:30 <ehird> which is patently useless, as I didn't know what the fuck a frame pointer was
21:57:41 <ehird> CAPS LOCK MAKES YOUR ARGUMENT MORE VALID RAAAAR INTERNET RAGE
21:57:44 <AnMaster> ehird, it is used for stuff like back traces
21:57:52 <ehird> if I ask here, I've already google.
21:58:09 <AnMaster> ehird, to find where the return address is iirc
21:58:26 <ehird> globally, where does 'int stk[1]', I wonder?
21:58:30 <madbr> lament: Depends, not all of it, but I wonder how those people can say they're making music with a straight face :D
21:58:33 <ehird> It's mutable, so not in one of the .o sections.
21:58:48 <ehird> es 'int stk[1]' go, I
21:59:08 <AnMaster> ehird, if you have a global variable like that it goes into the .data section
21:59:13 <ehird> AnMaster: .data is mutable?
21:59:37 <lament> madbr: mass insanity, i'm telling you.
21:59:38 -!- oerjan has quit ("Gah tired").
21:59:40 <ehird> because with {int stk[1]} i'm successfully doing "stk[100] = foo"
21:59:45 <bsmntbombdood> that foo matcher from before is slower that strstr on long strings
21:59:51 <lament> madbr: the past 100 years is kind of the dark age in the history of culture.
22:00:03 <lament> madbr: it seems to be mostly over though
22:00:04 <AnMaster> ehird, err, that may cause nasal demons
22:00:24 <madbr> lament: dunno... frankly I wonder if it's a religion or something
22:00:25 <ehird> to hell with nasal demons, it works well and does what I want ("just put this shit anywhere, man")
22:00:35 <ehird> if it breaks I accept full responsibility :D
22:00:47 <AnMaster> ehird, anyway, doing stk[4097] = foo is less likely to work
22:00:53 <AnMaster> depends on how large the data segment is
22:01:03 <AnMaster> but since x86 page size is 4096 bytes..
22:01:05 <ehird> well, FALSE only guarantees a 20kb stack iirc
22:01:13 <madbr> seems tied with "postmodernism" (which is like the most concentrated form of that sort of thought)
22:01:15 <ehird> so I could possibly break it into segments
22:01:22 <lament> madbr: mass hysteria - see the dutch tulip mania for a similar example
22:01:24 <ehird> madbr: postmodernism is so stupid.
22:01:36 <madbr> And with some marxism tied in it
22:01:44 <ehird> AnMaster: before you're blabbing about this,
22:01:51 <AnMaster> ehird, anwyay you are likely to end up overwriting stuff like stdout
22:01:54 <ehird> keep in mind that my next solution is to put this on the c stack.
22:02:04 <ehird> So, you might wanna keep quiet.
22:02:07 <AnMaster> ehird, that is the data segment stuff needed by stdio
22:02:16 <ehird> bsmntbombdood: Evil.
22:02:20 <madbr> It's like a ball of pseudointellectualism
22:02:34 <AnMaster> ehird, just do it the well defined way, it is way less likely to crash
22:02:49 <ehird> AnMaster: what's the well-defined way to have a global VLA that works in C89
22:03:18 <madbr> Usually with some french intellectuals
22:03:20 <AnMaster> ehird, there is also stuff like __data_start and __dso_handle
22:03:38 <AnMaster> ehird, on heap do the 1 variant
22:03:54 <ehird> Right, I don't want to continually check bounds & realloc
22:03:56 <AnMaster> ehird, but you were asking about global/static variables right?
22:04:07 <ehird> This is for the global data stack of the language
22:04:09 <AnMaster> ehird, even with VLAs you need to check bounds.
22:04:47 <ehird> I'm fine crashing on that
22:05:21 <AnMaster> ehird, also VLAs == on stack. Flexible array members is the thing in C99 structs
22:05:35 <ehird> yes, I meant VLA in a generic sense
22:06:13 <ehird> [8221`29184`9336`4`50510`20142`65338`50510`11008`]a:{ allocmem (size-mem) }
22:06:18 <ehird> somehow I doubt this will work on non-Amiga :D
22:06:26 <ehird> (i` writes the raw machine code i to the output file)
22:06:32 <AnMaster> ehird, then the portable way is probably: mv main.c main.cpp and replace with std::stack<std::default_allocator<<<>>>,...>
22:06:42 <AnMaster> ehird, there is no trivial VLA in C
22:06:48 <ehird> AnMaster: then I'll stick with what I have til it breaks :P
22:06:58 <AnMaster> ehird, how large array do you need?
22:07:06 <ehird> as large as possible.
22:07:30 <ehird> for values of portable limited to the real world
22:07:49 <AnMaster> ehird, idea: malloc a huge chunk, if it fails try again with a smaller size
22:07:55 <AnMaster> until you find the largest working one
22:08:03 <ehird> yeah that'd kill my startup time
22:08:27 <AnMaster> ehird, implement the stack as a linked list, very very slow
22:08:30 <ehird> bsmntbombdood: writing a FALSE compiler, since fizzie did
22:08:54 <ehird> http://strlen.com/false/
22:08:57 <AnMaster> bsmntbombdood, he said portable C...
22:09:05 <AnMaster> ehird, also did you say compiler?
22:09:17 <Sgeo> "The doctors did what had to be done: save the life of a girl of nine years old,'' he said, adding that "in this case, the medical profession was more right than the church.''
22:09:18 <AnMaster> ehird, then just use the system stack
22:09:20 <ehird> AnMaster: I generate C. But I'm adding an asm backend after this, the C is just to check it worked.
22:09:23 <AnMaster> ehird, in the compiled program
22:09:34 <ehird> AnMaster: I'm calling c functions
22:09:38 <ehird> so using the c stack would fail badly
22:09:43 <AnMaster> brk(), sbrk(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
22:10:07 <AnMaster> ehird, it would allow you to use the C stack however
22:10:25 <AnMaster> ehird, just make sure to never malloc anything else
22:10:29 <ehird> I'm just doing int stk[1] until I get an overflow.
22:10:39 <AnMaster> ehird, you are going to get memory corruption
22:10:47 <ehird> I'll let you know when that happens, then fix it.
22:10:58 <AnMaster> ehird, I don't know Mach-O exactly, but on Linux you would hit it after 1-2 pages
22:11:54 <AnMaster> and .bss is for "zero fill at load time"
22:12:03 <AnMaster> while .data loads the actual data from the binary
22:12:10 <AnMaster> you are going to get page faults yes
22:12:23 <AnMaster> by writing out into the void of the heap
22:12:41 <AnMaster> but his suggestion is even less portable than sbrk()
22:12:47 <AnMaster> it is unportable to *EVERYTHING*
22:13:18 <AnMaster> bsmntbombdood, he want to do this on heap anyway
22:13:36 <ehird> AnMaster: how many more times do I have to say "I will fix it when it comes up"
22:13:39 <ehird> before you stop whining about it?
22:13:51 <ehird> bsmntbombdood: technically, 20kb would be enough.
22:13:57 <ehird> since that's what the old FALSE used
22:14:13 <AnMaster> ehird, just one last thing: Likely you are going to get hard to detect corruption first. Only after are you going to segfault
22:14:30 <AnMaster> so it may seem to run fine even with your solution while your stack is corrupted
22:17:37 <AnMaster> ehird, idea: char stack[1024*20];
22:18:37 <AnMaster> ehird, you could use the C stack, and that would be fastest. But probably you would run out pretty quickly
22:18:50 <ehird> ehird: AnMaster: how many more times do I have to say "I will fix it when it comes up"
22:18:50 <ehird> 22:13 ehird: before you stop whining about it?
22:19:41 <AnMaster> ehird, just saying that you _will_ most likely get hard to debug issues. Like memory corruption in libc, or of other variables. Stuff on heap
22:19:52 <ehird> I would thank you if you hadn't told me 50 goddamn times already!!
22:20:17 <AnMaster> ehird, you seem to confuse 50 and 5 a lot
22:20:30 <AnMaster> bsmntbombdood, duh. He said that above.
22:20:41 <AnMaster> bsmntbombdood, A FALSE to C compiler
22:21:54 <bsmntbombdood> and why is allocating a fixed size stack on the C heap not acceptable?
22:22:49 <AnMaster> go ahead, highlight him, ask it. Don't be shy!
22:23:07 <ehird> this is all AnMaster talking, actually
22:23:14 <ehird> if you want to know something about the warped model he has of my compiler, ask him
22:23:36 <AnMaster> (yes I realise that wasn't relevant at all)
22:26:44 <ehird> wonder if gcc can optimize
22:26:48 <ehird> x = *--top; y = *--top;
22:26:54 <ehird> (to x = (int)f0; y = (int)f1; ofc)
22:27:27 <AnMaster> ehird, what about modifying top?
22:27:39 <ehird> AnMaster: top++; top++; --top; --top;
22:27:43 <AnMaster> well, rather were top points to
22:27:54 <ehird> wait, what are you talking about?
22:28:06 <AnMaster> ehird, gcc still has to write to the location top points to.
22:28:26 <AnMaster> well, it can't know it is a stack
22:28:30 <ehird> the above is semantically equivalent to x=(int)f0; y=(int)f1;
22:28:37 -!- Arrogant has quit ("Leaving").
22:28:41 <ehird> yeah, I guess gcc is idiotic
22:28:45 <AnMaster> ehird, yes but only because top is the top of a stack
22:28:55 <AnMaster> it can't know the values aren't useful to you
22:29:07 -!- M0ny has quit ("Quit").
22:29:16 <ehird> i'll get wright on it
22:29:30 <AnMaster> ehird, x = *top = (int)f0; y = *(top+1) = (int)f1;
22:29:56 <ehird> right, those two are from separate parts
22:30:02 <ehird> to merge them would be a pain on the backend
22:30:15 <ehird> x = *--top; y = *--top;
22:30:18 <ehird> are generated right after each other
22:30:49 <AnMaster> ehird, generate an IR and then merge the nodes in the graph
22:31:52 <ehird> - if you do not write a flush (ß) at the start of a program that
22:31:52 <ehird> processes the input to the output, you will get a <lf> as
22:31:53 <ehird> first input: this is actually the commandline. example:
22:31:56 <ehird> a.out blabla <in >out
22:31:58 <ehird> then a.out will first read "blabla" as a line, then the contents
22:32:28 <ehird> because I have to convert argv to a space separated string, and then every time I read check if we're done reading argv yet
22:32:42 <AnMaster> " if you do not write a flush (ß)"
22:32:49 <ehird> whatever the amiga used
22:32:52 <ehird> the original compiler was for the amiga
22:32:55 <ehird> its implementation defined
22:32:59 <ehird> I handle both utf-8 and iso
22:33:02 <ehird> the examples use iso
22:33:08 <ehird> windows style I think
22:33:33 <AnMaster> ehird, but do you handle... UTF-EBCDIC?!
22:33:54 <ehird> Patches unwelcome.
22:33:54 <AnMaster> http://en.wikipedia.org/wiki/UTF-EBCDIC
22:34:11 <AnMaster> it is one of the strangest ideas I have come across
22:34:43 <ehird> strlen((char *)argv) + argc - 1 /* i so hope this works */
22:34:48 <AnMaster> that is strangest ideas in the charset encoding area
22:35:10 <AnMaster> that assumes argv is one argument
22:35:19 <AnMaster> that would get string length of argv[0]
22:35:41 <ehird> that's why I casted it
22:35:42 <AnMaster> ehird, they aren't even after each other in memory
22:36:10 <AnMaster> ehird, why is it so hard to handle?
22:36:19 <AnMaster> I mean. cfunge has to handle it.
22:36:19 <ehird> bsmntbombdood: i'm lazy
22:36:26 <ehird> also, I'm not actually asking
22:36:36 <AnMaster> wait, I don't need to strdup it there
22:36:42 <ehird> I'm just whining before fixing it and AnMaster gives a 10 minute response about how he would never complain
22:37:05 * AnMaster goes optimising away a strdup call in cfunge
22:39:42 <ehird> hmph, stpcpy isn't portable. it should be
22:44:41 <AnMaster> ehird, and nor is strdup() btw
22:49:02 <ehird> zsh: bus error ./a.out
22:49:09 <fizzie> Yes, but stpcpy is not.
22:49:17 <ehird> 22:44 AnMaster: ehird, and nor is strdup() btw
22:49:20 <ehird> AnMaster: no, it's not that
22:49:27 <ehird> i know this because the stack was EMPTY
22:55:40 <Sgeo> Someone should work on implementing the ABCDEF language *ducks*
22:56:18 <AnMaster> http://esolangs.org/wiki/Special:Search?search=ABCDEF&go=Go
22:56:27 <Sgeo> http://www.harderweb.de/tmp_jix/allofthem.txt
22:56:33 <Sgeo> http://esolangs.org/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory
22:58:56 <AnMaster> Sgeo, that is TOO incoherent to be implementable
22:59:44 <ehird> nothing there is particularly glarly
22:59:48 <AnMaster> go ahead and implement it then
22:59:55 <AnMaster> ehird, what about the GregorR rule?
23:00:22 <ehird> those are command definitions.
23:00:27 -!- kar8nga has quit (Remote closed the connection).
23:03:31 -!- MizardX has quit ("kåmpjuter köttdaon").
23:03:49 -!- MizardX has joined.
23:05:22 <ehird> 2. <arm_data_op (aNd eOr sUb rSb aDd aDc sBc rSc tSt tEq cMp cMn oRr mOv bIc mVn) 2nd letter upcase others lowercase >[S] [dest_var,] [n_var,] m_var
23:05:22 <ehird> calculates the arm data op of n_var and m_var storing the result in dest_var (treating them all as 33 bit registers)
23:05:25 <ehird> flags get stored when S is set (like on a real arm)
23:07:21 <AnMaster> ehird, can't find it in FALSE spec?
23:16:18 -!- tombom has quit ("Peace and Protection 4.22.2").
23:19:22 <fizzie> Why is it always "Illegal type in constant pool"? And why can't it give the constant pool index with the supposedly illegal type while it's at it.
23:31:28 <fizzie> That static-analysis bytecode verifier is not liking my stuff. "Expecting to find object/array on stack".
23:33:45 <fizzie> Well, False, in a way.
23:36:38 <fizzie> Ha! The power of open sores: gij-4.3's version of that same error includes also the location: java.lang.VerifyError: verification failed at PC 10 in JVMFalse:main((Lfi.zem.jvmfalse.FalseIO;)V): incompatible type on stack
23:40:03 <fizzie> Next up: VerifyError: Inconsistent stack height 2 != 3. I have a feeling using the jvm operand stack as the False stack won't really work, since the VM is so really intensely boring about what kind of code it wants.
23:42:33 <fizzie> Yes, it complains at the jump-table spot of the code, which is indeed entered with various stack depths. Meh. It sounds like an unfixable restriction. I mean sure, I could use some explicit stack object and push/pop method invocations, but it sounds really boring. (And optimize by using the operand stack inside basic blocks. But that's just boringly boring.)
23:44:25 <fizzie> Yes, it's there in the "4.8.2 Structural constants" of the Java VM specification: "If an instruction can be executed along several different execution paths, the operand stack must have the same depth (§3.6.2) prior to the execution of the instruction, regardless of the path taken."
23:45:10 <fizzie> I have this compiler (maybe too fine a word) which translates False into Java VM bytecode, and it uses the Java VM's operand stack as the False stack.
23:46:15 <fizzie> But the VM has these all kinds of silly restrictions; I can't really require that the False stack depth is always the same for a particular instruction, since it wouldn't make sense at all.
23:47:47 <fizzie> Wow, writing that "compiler" was one rather colossal waste of time.
23:56:16 <ehird> Great, a bus error.
23:56:20 <ehird> Programmer got hit by a bus.