00:00:28 -!- FireFly has quit (Quit: swatted to death). 00:12:36 -!- Sgeo has joined. 00:14:30 -!- Sgeo_ has quit (Ping timeout: 250 seconds). 00:17:39 -!- Sgeo_ has joined. 00:19:16 -!- Sgeo has quit (Ping timeout: 250 seconds). 00:27:30 -!- Sgeo has joined. 00:29:12 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 00:32:13 -!- Lymia has joined. 00:34:42 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 01:15:16 -!- Vorpal has quit (Ping timeout: 252 seconds). 01:26:17 -!- pikhq_ has joined. 01:26:20 -!- pikhq has quit (Ping timeout: 260 seconds). 01:39:00 -!- pikhq has joined. 01:41:45 -!- pikhq_ has quit (Ping timeout: 276 seconds). 02:02:59 -!- Wamanuz2 has joined. 02:04:56 -!- augur has joined. 02:09:04 -!- elliott has quit (*.net *.split). 02:09:04 -!- Wamanuz has quit (*.net *.split). 02:09:05 -!- variable has quit (*.net *.split). 02:09:31 So, apparently Intel thinks it can have exaflop computing by 2020. 02:10:02 It is estimated that that would suffice for a whole-brain simulation from a low-level physics simulation. 02:11:35 So from there we'd just need to scan in a brain? 02:12:01 If I die around then, I volunteer 02:12:14 Sgeo, but. 02:12:25 You don't get to be an AI brain with free internet access direct to brain. 02:13:07 Sgeo: Actually, there's a decent chance we will have done so by then. 02:14:26 Lymia, well, better than being dead. I suspect that if they're just starting brain scans then, it's only going to be one or two people. 02:15:14 Hmm... 02:15:29 Think the US would move to pass laws to make AIs legal persons? 02:15:49 Lymia: I suspect the law would be moot not long after. 02:16:08 This would be an intelligence with the ability to improve itself. 02:16:35 pikhq, a scanned in brain? 02:16:35 pikhq, hey, if you build it from a dead human, it /might/ avoid killing off the human race. 02:17:03 Lymia: Nonono, I mean "intelligence with the ability to improve itself" → singularity 02:17:14 I guess a scanned-in brain might have ... actually, it would probably be slower than a human 02:17:36 Sgeo: And be modifiable with ease. 02:17:38 Sgeo, but it would get faster with faster computers. 02:17:51 Or with faster simulation. 02:17:57 pikhq, if we know how to scan brains in but not how to modify them... 02:18:25 Sgeo: If we have a brain simulation in digital form, *it is data*. 02:18:29 Hence, we can modify it. 02:18:40 pikhq, but are likely to screw up... 02:18:41 A lot. 02:18:46 pikhq, doesn't mean we know the correct way to modify it. 02:18:54 Sgeo: No, but we can learn. 02:19:06 It's like looking at a C program and trying to modify it without knowing the slightest thing about programming. 02:19:11 Better yet, looking at machine code. 02:19:25 Yes, but the point is, *we would be capable of experimenting*. 02:19:34 I'd rather be the first strong AI than the first scanned brain. 02:19:35 Which we can't realistically do right now. 02:19:45 pikhq, hmm, true. 02:19:52 But what are the ethics of experimentation? 02:20:03 Mightn't it be cruel to the simulated person? 02:20:39 Perhaps it is better not to avoid killing off the human race (eventually) 02:21:14 Best way is invent the programming language doing these kind of things you are trying to do. 02:21:16 I'm actually presuming the first experimentation would be to try and perfect a high-level neuron or neocortical column simulation... And be able to compare functionality given real data. 02:21:45 pikhq, for faster simulation speeds? 02:21:47 Suddenly, order of magnitude or more on the brain's performance. 02:23:41 And this brain could improve itself with the suddenly freed up computer time. Perhaps by doubling the size of its neocortex. 02:23:44 Recurse. 02:24:12 You are going to run out of energy!!!!! 02:24:29 pikhq, all the more reason it should be MY brain >:D 02:24:38 You don't trust me as God? 02:24:42 Sgeo: *You* are going to run out of energy!!!!! 02:25:04 zzo38: Come now, all I've suggested so far is something that could reasonably happen in, oh, 15 years. 02:25:33 No need for absurdly large quantities of energy, just a much faster computer than exists now. 02:25:53 One which companies are claiming they can have in 10 years. 02:25:57 I should transfer to neuroscience 02:26:01 So I'm somewhat prepared 02:26:45 If the singularity is based off a human, that human will have cognitive biases :/ 02:26:59 Although if the human can tear those biases out, that would be awesome 02:27:01 Could happen sooner if Blue Brain's neocortical column simulation is actually good, and they succeed in getting the neocortex mapped. 02:27:05 Say, 5 years? 02:27:29 do babies have good brains 02:27:58 Sgeo: See? Now everything will be biased. Make unhumans and then it will still be biased but all will be equally small bias instead of being too much bias for you by being too world-centered. 02:28:18 A baby who wants its mommy and is capable of destroying the world to find her.. may not be such a great idea... 02:28:34 You cannot avoid being biased but you can try to improve anyways 02:28:57 02:30:43 Sgeo, an AI that can rewrite itself would be... 02:30:57 Well, if it works.... 02:31:07 Well, it is experiment I suppose you can try 02:31:15 -!- pikhq has quit (Quit: Reconnecting). 02:31:31 zzo38, yes, let's try destroying the world.. 02:31:53 What's the worst that can happen that's outside expected results? 02:32:07 Sgeo: The worst that can happen depends on a lot of things. 02:32:25 If you just write a computer program then the worst that can happen is to get the incorrect answer output. 02:32:36 (Or a useless answer, even if correct) 02:32:54 And you might waste energy if you try too hard. 02:32:58 So don't try too hard. 02:33:07 if you hook it up to a gun and stand in front of the gun 02:33:08 watch out 02:33:37 Sgeo, the world not being destroyed? 02:34:03 monqy: Then you have to put it in a box to make the Schrodinger's Cat experiment, but with a person who enters the box to be suicide instead of a cat. 02:34:50 someone should try quantum suicide sometime 02:35:06 And then if someone exits, the experiment failed. If someone doesn't exit, the experiment also failed. If you see no people, but monsters, you almost succeeded. If you see a computer printout, then you have succeeded for sure. 02:35:35 monqy: I have thought about that very long time ago even and my answer to that is the same as it was before: There is no way to get results from such an experiment. 02:35:42 :( 02:36:04 what if the subject is a (terminally ill or suicidal) cat 02:36:06 -!- pikhq has joined. 02:36:09 does that help 02:36:14 zzo38, the person who entered would see the result... 02:36:23 suicidal cat? 02:36:28 monqy: Maybe. 02:36:28 suicidal cat. 02:36:38 Sgeo, here's a question. 02:36:51 Do the mathematics and figure it out. 02:37:17 If in the world you live in, a piece of $HIGHLY_RADIOACTIVE_MATERIAL has failed to decay for 10 hours due to a quantum suicide experiment, what do you conclude? 02:38:19 Lymia, good point, but what if there's no person inside, and I see the same thing? 02:38:37 Lymia: Good question. I think the only thing to conclude is that if you were dead that you could not conclude, therefore do the mathematics the same thing and probability and so on, you should get the same answer regardless. 02:39:23 I think if I was terminally ill, and not going to interfere with cryonics, then I'd want to try the quantum suicide experiment 02:40:04 Sgeo: Try if you want to. It is not my fault whether you do so or not. 02:40:18 If cryonics is wrong, and MWI is true, then I'd wake up in the living world 02:40:28 What is MWI? 02:40:29 And would know that cryonics fails, and be sad 02:40:39 Many-worlds interpretation 02:40:50 OK. 02:41:23 I'd also want to make sure it completely kills me without destroying my brain 02:41:29 I have no idea how to accomplish this. 02:41:40 I think many-worlds interpretation is just one way of seeing it. There are also other ways to see it. Only the mathematics is true not any of interpretations. 02:42:21 zzo38, you can never prove the many-worlds interpretation. 02:42:22 quantum guillotine 02:42:30 You can be very very very sure that it exists form a subjective viewpoint. 02:42:43 However the interpretations can still work but results in nothing of experiment so it is more philosophical. 02:43:19 Lymia: I know that you cannot prove it. It is my point! That doesn't make it untrue, but that doesn't make it true either. 02:43:45 If Robin Hanson's right about small probability worlds disintegrating, then MWI could be true yet quantum suicide be a failure 02:43:50 Unless I'm misunderstanding him 02:45:50 Then it would be a different kind of MWI. However I think speaking of those kinds of things isn't really very meaningful. Disintegrating? No, simply it is "less existence" relative to high probability ones. It is a new kind of relativity, rather than spacetime, is relative by point of quantum observer. 02:47:17 Hm... 02:47:21 Here's a question. 02:47:38 Assuming MWI, why do events exist with probabilities that are not 1/x, where x is an integer. 02:48:09 Lymia: Because some possible universes agree in many things with others. 02:48:16 I think in MWI worlds are a bit more fluid than "1 world or 2 worlds" 02:48:20 Also, because you did not understand MWI. 02:48:39 MWI is not really multiple worlds. It is like all uncountable possibilities. 02:49:32 Learn the mathematics dealing with quantum physics and quantum cosmology and then see how it is the case. 02:53:13 -!- rabc has joined. 02:53:43 -!- rabc has left ("Leaving"). 02:53:47 Therefore the probability does not even have to be rational. 02:57:38 But it is a question why the probabity is squared instead of absolute value, isn't it? 02:57:43 With MWI? 02:58:14 The name "many worlds interpretation" is somewhat misleading, I think. 02:58:52 It is not a LITERAL "many worlds" it is a bit different. 03:12:18 -!- CakeProphet has quit (Ping timeout: 276 seconds). 03:14:00 -!- CakeProphet has joined. 03:14:01 -!- CakeProphet has quit (Changing host). 03:14:01 -!- CakeProphet has joined. 03:18:52 -!- copumpkin has joined. 03:18:52 -!- copumpkin has quit (Changing host). 03:18:52 -!- copumpkin has joined. 03:30:37 -!- BeholdMyGlory has quit (Remote host closed the connection). 03:34:05 -!- azaq231 has joined. 03:35:42 -!- azaq23 has quit (Ping timeout: 264 seconds). 03:48:51 -!- elliott has joined. 03:56:30 02:09:31: So, apparently Intel thinks it can have exaflop computing by 2020. 03:56:30 02:10:02: It is estimated that that would suffice for a whole-brain simulation from a low-level physics simulation. 03:56:30 02:11:35: So from there we'd just need to scan in a brain? 03:56:30 02:12:01: If I die around then, I volunteer 03:56:33 Sgeo: I'll arrange your death. 03:57:08 02:19:25: Yes, but the point is, *we would be capable of experimenting*. 03:57:16 pikhq: yes modifying sentient, intelligent brains at random and simulating the results 03:57:22 that sounds productive and also extremely ethical 03:57:37 we'd pick it up in no time, just after the first thousand or so horrific traumas 03:57:38 elliott: Modifying small portions thereof. 03:57:53 i don't imagine the brain is organised in such a way to make modification of it easy 03:58:06 it's ridiculous to expect it to be modular at the small scale like a designed computer program is 03:58:18 02:19:52: But what are the ethics of experimentation? 03:58:18 02:20:03: Mightn't it be cruel to the simulated person? 03:58:18 Might? Undoubtedly. 03:58:20 Why the hell would we randomly change parts and test the whole brain at once? Seems like a pointless waste of computer power. 03:58:29 Not to mention ethical issues. 03:58:40 pikhq: btw a hard takeoff with a modified human brain sounds insane to me 03:58:48 We're as far from rational as you can get :) 03:59:03 also, how do you propose simulating only part of a brain 03:59:21 -!- kjafshlkjh23 has joined. 03:59:32 02:26:59: Although if the human can tear those biases out, that would be awesome 03:59:32 yeah you just have to find the bias lobe and pull it out. 03:59:37 then we become perfect bayesian rationalists. 04:00:05 elliott: Actually, y'know what? That whole line of thought was stupid. 04:00:16 yes i'm feeling sorry for your past selves reading this log :( 04:00:21 yay i think it ended 04:00:25 NO NO NO YOU STUPID VIDEO GRAVITY IS NOT A RUBBER SHEET 04:00:31 it's a rubber sheep 04:00:36 02:35:42: :( 04:00:36 02:36:04: what if the subject is a (terminally ill or suicidal) cat 04:00:38 monqy: suicidal cat 04:00:45 02:36:23: suicidal cat? 04:00:45 02:36:28: suicidal cat. 04:00:45 ah. 04:01:04 02:38:37: Lymia: Good question. I think the only thing to conclude is that if you were dead that you could not conclude, therefore do the mathematics the same thing and probability and so on, you should get the same answer regardless. 04:01:05 good question, not necessarily good answer 04:01:18 No real reason we would want to do a whole-brain emulation from raw physics simulation. Though we probably *could* in 10 years, that wouldn't actually help us that much in and of itself. 04:01:25 02:40:18: If cryonics is wrong, and MWI is true, then I'd wake up in the living world 04:01:25 MWI doesn't imply quantum immortality, dude 04:01:40 also "if cryonics is wrong" what is the relevance of cryonics here 04:01:41 oh 04:01:44 well that makes no sense at all 04:01:53 quantum immortality is a bad deal even if it's true 04:02:02 What we'd want is a better understanding of how the brain works, and WBE doesn't help that too much. 04:02:13 how do you think your human body will handle being seven thousand years old, Sgeo? 04:02:16 elliott, not if the choice is "completely dead" vs "completely alive and fine" which the experiment ould be 04:02:16 protip: incredibly badly. 04:02:19 *would 04:02:28 Sgeo: that's not quantum immortality 04:02:34 quantum immortality is just equating observers with sentiences 04:02:46 Well. If a more high-level simulation could be done, it might be helpful. 04:02:48 (plus a bit more) 04:03:10 02:41:23: I'd also want to make sure it completely kills me without destroying my brain 04:03:10 02:41:29: I have no idea how to accomplish this. 04:03:10 that's sort of a contradiction 04:03:15 ugh im just going to ignore sgeos lines 04:03:18 02:42:22: quantum guillotine 04:03:18 + 04:03:18 Say, if the brain actually has *some* level of higher structure, such that improvement of a digital simulation would be apparent. 04:03:45 Some level of simulable higher structure, I should specify. 04:03:50 elliott, I just wanted cryonics to still be an option 04:04:13 (perhaps if clusters of neocortical columns could be considered to be black boxes?) 04:04:23 So either I'd learn quantum suicide's result of MWI being true, or cryonics works, or I'm dead. 04:05:05 Sgeo: I can't think of a situation where quantum suicide wouldn't immediately lead to a degenerate situation 04:05:20 i.e., yes, still sentient, but beyond that... 04:05:41 Well. One obvious thing we could find out from successfully doing whole-brain emulation. Strong AI is computable. 04:06:16 Well, forgetting the cryonics stuff, throw an equivalent amount of antimatter in at 99/100 probability, leave alone 1/100 04:06:20 (not that that is *too* controversial; it seems pretty unlikely that there's an oracle sitting in there. :P) 04:06:40 I think 1/100 is higher than surviving antimatter in a degenerate way 04:07:22 07:07:26: Do you know if there is a way to switch Linux out of UTF-8 mode? 04:07:22 rip out the utf lobe 04:08:07 `addquote You just went from "no sexualized ads" to "we have ads for dildos, but they're different for ads for Orangina" X-D 04:08:10 459) You just went from "no sexualized ads" to "we have ads for dildos, but they're different for ads for Orangina" X-D 04:08:26 This video called "How gravity really works" better not betray me 04:08:54 Sgeo: you could, you know, try and learn the mathematics behind it if you want to know how it _really_ works, rather than learning a metaphor which will never be the actual workings of gravity. 04:09:12 how everything really works 04:09:14 with randy powell 04:09:40 monqy: yes 04:10:10 15:47:19: <3 hard-boiled eggs 04:10:10 16:09:29: ... 04:10:10 16:11:09: What? 04:10:10 16:11:37: That wasn't a perverted sense of the word "eggs". I'm not ripping out someone's ovaries 04:10:23 elliott: That wouldn't let him know how it _really_ works; that is presently an open question. He could, however, learn our best understanding of it thus far. :P 04:10:35 Sgeo: How much physics would you say you know? 04:10:36 -!- bacaw has joined. 04:10:37 pikhq: well for that he'd have to learn intelligent falling 04:10:40 sgeo knows lots of metaphors 04:10:41 i think 04:10:43 elliott: XD 04:10:45 he could be indoctrinated into a gravity-cult 04:10:45 or at least wants to know lots of metaphors 04:10:54 or 04:10:55 uh 04:10:56 inducted 04:10:58 or whatever the word is 04:11:02 i don't know if he's expressed any interest in any sort of actual actually-mathematical-you-know physics 04:11:07 pikhq: tru fax 04:11:30 who needs actually mathematical you know physics when you know how it really works 04:11:37 elliott: So, the physics-that's-actually-difficult. :P 04:11:49 maybe Sgeo could get a phd in pop science 04:12:21 16:46:19: oerjan, anyway, why didn't we ignore that person who complained about it, it seems silly 04:12:29 hard to ignore a moron who likes whining to staff. 04:12:46 (I'm not a physicist, but I've taken a year of it in college. Which is at least enough to get to the point that you can be not-completely-ignorant.) 04:13:18 Oh, right, Sgeo's got a horrendously unrigorous collegiate experience. 04:13:38 I liked reading books when I was a kid, and looking stuff up online now 04:13:48 rigour rigour rigour 04:14:13 Sgeo: by books you mean pop science books right 04:14:15 not like 04:14:27 Einstein's Very Own "Relativity -- Now With More Mathematics!" 04:14:30 I once vaguely, not in detail, understood that mass in a nucleus is .. it gets smaller as you go towards iron or something? 04:14:35 by Albert "Genius" Einstein 04:14:58 elliott, Einstein did write what one might call a pop science book. 04:15:01 Sgeo: *sigh* no. 04:15:09 Sgeo: have you read it 04:15:17 is it as good as calculus the easy way 04:15:29 as if it ever wasn't 04:15:29 pikhq, ok, what did I get wrong? 04:15:43 monqy: ? 04:15:47 oops 04:15:55 monqy: i agree 04:15:57 Sgeo: As you go up the periodic table of elements, the mass in the nucleus generally goes up. 04:16:09 pikhq, oh, I misphrased that 04:16:18 As in.. the amount of mass in a nucleon 04:16:25 Or.. something... 04:16:31 Iron is special in some way, at least 04:16:58 Sgeo: As each number you go up, the proton count goes up by one, and the neutron count is likely to go up by some amount (it's not as clean as "goes up by one", for complex reasons). 04:17:26 21:03:26: Phantom_Hoover, what, really? 04:17:26 21:03:28: why 04:17:26 21:03:47: [1..] and so on would no longer work 04:17:36 You're just about linearly increasing the mass whilst stepping through. 04:17:37 pikhq, yes, but the mass of 52 protons+neutrons in a nucleus != mass of 52 individual protons + neutrons alone 04:17:42 yeah, what use is a language if it can't evaluate [1..] in the standard product list type??? 04:17:46 YOU'D HAVE TO DEFINE STREAMS EVEN 04:17:55 21:24:36: Guys, I need you to name something really, really gay. 04:17:55 21:24:42: No time to explain. Just do it. 04:17:59 vampire mchoover 04:18:06 Sgeo: Uh, wut. 04:18:08 elliott, Phantom_Hoover 04:18:17 Lymia: yes hes a gay vampire 04:18:31 21:37:28: Phantom_Hoover, which sense of the word gay do you need 04:18:31 21:37:44: Phantom_Hoover, the old sense or the homosexual sense 04:18:31 21:37:49: Phantom_Hoover, if the latter: Batman 04:18:34 Batman... so homosexual. 04:18:35 * Sgeo does a bit of googling 04:18:54 * Lymia notes Sgeo down as "wtf" 04:19:14 Lymia: it took you this long? 04:19:29 I have sgeo down as "sgeo" 04:19:36 monqy: pretty much this exactly 04:19:54 pikhq, what are some single-isotope elementss? 04:20:08 Are there any? 04:20:30 Aside from perverse edge-cases where we've only observed a handful of atoms? 04:21:03 http://en.wikipedia.org/wiki/Mononuclidic_element still loading 04:21:37 -!- kjafshlkjh23 has quit (Quit: asdf). 04:21:54 * Sgeo looks at the table, and notes that the isotopic masses aren't integers. 04:22:14 *That's including electrons you dolt*. 04:22:32 pikhq: why are you hurting yourself like this 04:22:34 come back to us son... 04:22:59 ... Wait, there's ones with masses less than the sum of proton and neutron. Guess there's something I don't grok happening. 04:23:08 =P 04:24:46 pikhq, where does the energy from fusion come from? 04:25:25 BRB 04:26:10 Ah, 1 proton-mass is slightly less than 1 u is slightly less than 1 neutron-mass. 04:27:11 So of course the sum of proton-mass units and neutron-mass units is not going to be an integer expressed in u. 04:27:30 But merely be an approximation thereof. 04:30:16 Sgeo: The energy from fusion comes from the binding energy needed to bind two individual nuclei being greater than the energy needed to bind their constituents into a single nucleus. 04:30:55 And before you ask, the energy from *fission* comes from a mass-to-energy conversion during the fission process. 04:32:41 What is the mass of He4, and what is the mass of C12? 04:32:54 Wait, hold on 04:33:05 n/m the hold on 04:33:07 C12 is precisely 12u, by definition. :P 04:33:37 (1u is defined as 1/12 the mass of C12) 04:33:47 By your proton < u < neutron, it makes sense that protons and neutrons balance out, right? 04:33:58 Oh, wait, electrons 04:34:14 Sgeo: If there were equal quantities of each. There aren't usually. 04:34:28 There are equal quantities of each in C12 and in He4 04:35:58 If the explanation for He4 mass > 4 had to do with electrons influencing the value of u, then you'd expect um... you'd still expect He4 to have an integer mass, I think. 04:38:14 Yeah, because if you assuming what I think you're still assuming, then 12u = 6p+6n+6e, so /3 -> 4u = 2p + 2n + 2e 04:38:26 The mass of He-4 is, BTW, 4.002602u. The mass of 1 electron being... 1,822.8884845^-1 u. *Okay*, then something I don't grok is definitely happening! 04:38:50 =P 04:39:33 Fucking quantum. 04:40:01 Let's see if I can find what I'm looking for on Wikipedia 04:41:53 Found it, not on Wikipedia 04:42:13 http://www2.slac.stanford.edu/vvc/faqs/faq1.html 04:42:38 ". Each nucleus has a mass which is a little less than the sum of the masses of the protons and neutrons that it contains." 04:43:15 I think I read the right pop sci books... 04:43:51 I think you should take actual science courses, personally. 04:44:20 That you are less wrong than I on this issue is irrelevant. :P 04:46:52 Also, the only pop science book I've really read is Hawking's "The Universe in a Nutshell". Which doesn't even touch on the physics of atoms. 04:47:23 I think where I learned this from was some Isaac Asimov book 04:47:47 Isaac Asimov was pretty much my primary pop sci author as a kid 04:48:05 I can't say I blame you. Asimov is awesome. 04:48:30 Um, except for some book on quantum physics that had pretty colors. 04:49:11 Which probably didn't do the subject justice, even from a pop sci perspective. 04:51:05 Yeah 04:52:53 what's the best tetris 04:53:24 Gotris! 04:53:32 (No, not really) 04:55:32 pikhq: What's the standard penalty for an online music store charging more for lossless? 04:56:09 (OK, {standard reward for actually OFFERING lossless + standard penalty for charging more for lossless} is obviously still a large positive number because of how rare that is, but still.) 04:58:14 * Sgeo pokes Lymia 04:58:21 Am I still in the wtf column? 04:58:39 hahahahahahahaha 04:58:45 Lymia: i think you better take him out or youll hurt his feelings 05:20:52 -!- Lymia has quit (Read error: Connection reset by peer). 05:21:50 -!- zzo38 has quit (Quit: *** OH MY GOD YOU'VE GONE BLIND ***). 05:22:25 elliott: BitTorrent. 05:25:20 that's not a penalty 05:25:59 Okay, fine, fine. 1st level of hell. 05:29:27 -!- aloril has quit (Ping timeout: 250 seconds). 05:30:29 don't you think that's rather unfair 05:31:27 2nd level of hell 05:33:13 -!- IronEagle has joined. 05:33:20 lol 05:33:24 lol 05:33:57 -!- Nuck has joined. 05:34:21 -!- Nuck has left. 05:34:51 hi 05:35:09 hi 05:35:57 so, who here programs in brainfuck 05:36:11 what's brainfuck 05:36:14 Most of us have, I think. 05:37:20 -!- Lymia has joined. 05:40:14 IronEagle: what's brainfuck?? 05:41:06 cheap P'' ripoff 05:41:09 hahaha oh wow "Esoteric programming languages were designed to test of the boundaries of computer programming language design, but now they are more commonly used for educational purposes." 05:41:10 http://itunes.apple.com/gb/app/esolang/id442156004?mt=8 05:41:13 monqy rate the zeptoness of this 05:41:32 brainfuck, _the_ esoteric language 05:42:00 i wonder who was last educated with an esolang 05:42:15 http://www.davenicholas.me.uk/blog/view_post/31/esolang-esoteric-programming-for-iphone oh this is going to be embarrassing to read 05:42:21 "esolang is free and always will be" 05:42:26 why, i'd totally pay for a bf interp on my phone 05:42:43 monqy: I have limited the app to 256 memory locations and a max byte size of 256 to keep the foot print down. I may choose to increase this size in the future. 05:42:52 hmm, wonder IronEagle isn't this guy, he might get offended :< 05:42:56 [asterisk]hope 05:42:57 not wonder... 05:43:04 :'( 05:43:16 so is esolang just a brainfuck interpreter or what 05:43:24 -!- aloril has joined. 05:43:25 "How to c++ mysql mac osx" this guy is a good blog 05:43:32 i've always wanted to know how to c++ mysql mac osx 05:44:05 Augmented Reality on Android 05:44:07 hello sgeo 05:44:25 Hi 05:44:55 is augmented reality comparable to virtual worlds 05:44:57 in terms of amazing 05:45:21 elliot: what? 05:45:27 :) 05:45:33 get ofended by what? 05:45:38 offended 05:45:43 monqy, more useful maybe, more fun, no. 05:45:48 us making fun of yet another brainfuck impl that's on the apple store :P 05:45:49 if I understand what you mean 05:46:06 monqy: im really tempted to make the implementations section of the brainfuck esolang wiki page hidden by default since it's so polluted, discuss 05:46:54 elliott: hey, I regularly explore that area. 05:47:01 IronEagle: seriously? 05:47:12 checking pollution now wow that's a lot 05:47:13 its just a bunch of people writing their very first bf interpreter in five minutes then putting a link up 05:47:28 maybe we need a separate implementations article considering how huge it is 05:47:29 elliott: any excuse to say the word fuck 05:47:33 :P 05:47:37 everything brainfuck-related ever is just a mess 05:47:44 oh maybe i should read out the implementations section 05:47:47 like as an avant garde thing 05:47:51 should i do that, or sleep 05:48:38 "Brainfuck Culture" page containing derivatives, implementations, discussion, fandom 05:48:40 There's very few implementations of Brainfuck deserving of mention. 05:48:43 or category who cares 05:48:57 monqy: #REDIRECT [[Category:Shameful]] 05:49:04 <3 05:49:09 You could probably just omit all the non-optimising ones and cut that list to 1/4th the size. 05:49:18 ok im going to do this im going to read out the implementations section of the brainfuck article 05:49:20 this is going to happen 05:49:24 can you all handle my squeaky voice for this 05:49:26 im going to remix it 05:49:28 self-interpreters are pretty nifty 05:49:33 pikhq, is things like considering +++++ together optimizing 05:49:34 also, 05:49:38 how do you pronounce Müller 05:49:46 In that case, my crappy thing written in Haskell that no longer exists counts. 05:49:58 ok im going to restart 05:50:00 into os x 05:50:01 and do this 05:50:03 are you ready guys 05:50:06 always 05:50:06 for the masterpiece 05:50:07 Sgeo: If we don't count RLE, then we'd make that list be like 10 long. 05:50:12 http://esolangs.org/wiki/Brainfuck#Implementations 05:50:14 because 05:50:15 that is its title 05:50:17 ok get ready 05:50:53 Wasn't referring to BF-RLE 05:50:54 -!- elliott has quit (Read error: Connection reset by peer). 05:51:04 -!- elliott has joined. 05:51:04 lol 05:51:07 to big 05:51:26 you guys dont think im serious about this dramatic reading thing do you 05:51:32 you don't BELIEVE me yet 05:53:32 elliott: I spy with my little eye a brainfuck compiler made in assembly 05:53:54 an amazing feat 05:58:39 elliott: I have a language idea. brainfuck+ruby+assembly 05:58:46 I shall call it: fuckbyass 05:58:58 is it a good language idea 05:59:02 what is the language idea 05:59:30 monqy: it's yo mamma 05:59:33 oh my god 05:59:36 the dramatic reading is six minutes long 06:00:49 IronEagle: my mother would make a godawful esoteric language 06:01:57 .actually... why isn't there an esoteric language called 'Yo-Mamma' 06:02:03 monqy: the beat of this reading is SICK 06:02:08 oh yeah 06:02:24 IronEagle: maybe because it is an awful idea and it would be awful 06:02:56 and Intercal wasn't? 06:03:02 intercal is brilliant 06:03:08 hey IronEagle have you ever heard of something called 06:03:09 or whitespace 06:03:10 FURscript 06:03:12 oh god 06:03:52 monqy: have you ever heard "esolang a brainfuck interpreter for iphone written in objective c" turned into a beat 06:03:53 EVER 06:04:06 no, I must say I haven't 06:04:09 ;-; 06:04:18 monqy: I'm googling it now 06:04:25 http://esolangs.org/wiki/FURscript 06:04:45 -!- pikhq_ has joined. 06:06:09 -!- pikhq has quit (Ping timeout: 246 seconds). 06:06:14 monqy: HAAHAHAHAHHA 06:06:20 down at the bottom 06:06:21 ok now to read the optimising implementations section 06:06:29 Category: Shameful 06:06:33 on top of my "esolang a brainfuck interpreter for iphone written in objective c" 06:06:39 IronEagle: I BELIEVE THAT WAS MY IDEA 06:06:43 or slereah's, i forget who's 06:07:06 "Broken Angel is working on a simple compiler in Visual Basic. Einsidler does not approve of the idea. " 06:07:14 anything in visual basic is a bad idea 06:07:46 https://github.com/pikhq/haskell-bfc/blob/fe9942d452d99df34a1d0687be89f9f5afedfa0b/main.hs Your compiler must be at least this good. :P 06:07:48 Optimizing BF interpreter is a very fast C interpreter, fastest in its class. 06:07:54 a bold statement 06:08:26 monqy: Probably the fastest interpreter is a hacked-up fusion of esotope and tcc. 06:08:29 :) 06:09:12 monqy: especally with that YASM brainfuck compiler down a little further 06:10:01 optimizing bf interpreter's author must be shaking in his proverbial boots 06:10:41 monqy: it actually is 06:12:44 what I don't get is, what the hell is optimizing compiled brainfuck going to do? is there a BF project large enough that it doesn't take under 1 second to finish 06:12:54 IronEagle: yes 06:12:57 Yes. Very yes. 06:13:01 see mandelbrot.b, lostkng.b startup time 06:13:07 gcc-bf output 06:13:12 monqy: oh my god it's amazing 06:13:19 Well, with my compiler mandelbrot.b takes like a quarter of a second. 06:13:23 I'd remix it if I could (but I can't) 06:13:33 And esotope-bfc does half that. 06:13:57 monqy: i'll just remix it myself UNDER A PSEUDONYM 06:13:59 so, who here programs in whitespace? 06:14:25 (yes, I really did pull off "only half as bad as esotope" with that thing) 06:15:48 monqy: can you play flacs 06:15:53 I think so yes 06:17:36 elliott: Say, what would you consider to be, say, the top 5 Brainfuck compilers, as far as optimisation goes? 06:17:47 esotope, esotope, esotope, esotope, esotope 06:18:01 Esotope is not 5 compilers. 06:18:18 yes it is :) 06:18:26 it's actually a suite ! 06:18:28 [asterisk]suite! 06:18:30 but i meant just the bf one 06:18:36 monqy: uploading are you READY 06:18:43 i hope so 06:18:45 Okay, esotope-bfc is not 5 compilers. 06:19:30 monqy: at some points i just get floored and repeat a sentence over and over because i can't believe it 06:19:44 spoiler: "Does not correctly handle nested loops." is such a point 06:19:54 (following "A Brainfuck interpreter with debugging capabilities. Also Brainfuck to PHP/Javascript/Omgrofl converter.") 06:20:09 how does a brainfuck implementation not handle nested loops 06:20:12 who would do thAT 06:20:36 I really like how I pronounced "byte (!)" 06:20:41 I have by *mistake*... 06:20:45 it's like a parrot yelling "byte" 06:20:54 That was one stupid parser bug. 06:21:16 im reading the omgrofl spec 06:21:23 this is twenty megabytes btw but i think its worth it 06:21:27 you have to experience this lossless really 06:22:16 admittedly I've never understood thematic languages 06:22:33 (except when they're amazing) 06:22:37 easy to make 06:22:42 ((omgrofl is not amazing)) 06:22:45 (((:'())) 06:24:30 eighty five percent monqy 06:24:32 eighty five percent 06:25:09 im fantasizing about it 06:25:30 monqy: if you're hoping for like 06:25:38 shakespearean exclamations of the list 06:25:44 then i tried that but unfortunately my voice is too cringeworthy to deal with it 06:25:54 im like Sgeo except not as bad and also i know when its bad 06:26:02 * pikhq_ wonders why neither of the two C-to-Brainfuck compilers decided to use PCC. 06:26:03 think of it as avant-garde instead 06:26:10 monqy: http://www.mediafire.com/?2kf3id40u613db5 06:26:12 good thing I like avant-garde 06:26:13 sry for the shitty upload site 06:26:30 monqy: i should send this to brian eno he'd totally remix it 06:26:35 RIGHT UP HIS ALLEY 06:26:38 is brian eno you 06:26:42 yes 06:26:45 you worked it out 06:26:46 totally 06:27:02 i like how the various "lol you got a new IM/highlight on IRC" noises pop in at various points 06:27:07 its totally ambient background 06:27:40 listening 06:28:20 caught up with the beat 06:28:40 wondering how to dance to this 06:28:46 what do you mean caught up with the beat 06:28:48 its totally in free time yo 06:28:52 apart from the esolang iphone bit 06:28:54 Your voice is funny and British. 06:29:01 pikhq_: i don't normally sound like this 06:29:04 i was trying to sound toneless 06:29:07 like a robot 06:29:09 a condescending robot 06:29:09 I caught up with part of the beat then fell behind again 06:29:28 elliott: Your voice is funny and British. 06:29:46 :D 06:30:11 byte (!) 06:30:18 that cough thing after the first "does not correctly handle nested loops" is me not believing it 06:30:36 does not correctly nested loops 06:30:45 Recursion, people. Not that hard. 06:30:45 handle oops 06:31:52 two voices 06:31:54 this is fancy 06:33:42 oh god are you reading the esolang site 06:33:48 what 06:33:53 were you 06:33:54 I mean 06:34:00 that was... what that was, yes 06:34:01 did you not realise 06:34:10 it took me a second 06:34:13 oh wait you mean the app store page 06:34:14 yeah 06:34:17 final touch 06:34:51 this is my finest work btw 06:35:08 monqy: should i read the furscript or esme page next 06:35:14 aaaaaaa 06:35:23 if I do esme ill sing the stuff in code blocks 06:35:38 how would you even pronounce the stuff in code blocks 06:35:48 thats for me to know and you to wonder whether you want to find out 06:35:56 -!- newsham has quit (Read error: Connection reset by peer). 06:36:18 monqy: i'm also up for [[Snack]] 06:36:23 and Graue's angry rant at Stux 06:36:29 Snack....:( 06:36:31 http://esolangs.org/wiki/User_talk:Stux 06:36:33 the incident heading 06:36:36 ooh I've never seen that 06:37:43 I am imagining this as an opera and I cannot stop 06:38:10 monqy: i will totally do that 06:38:21 just the original comment or should I include Stux's reply 06:38:40 I was doing it for the reply too 06:39:41 the Hi! section is amazing too 06:42:44 oh look someone put esolang on the wikipedia brainfuck page 06:43:05 under external links but there 06:43:12 monqy: im going to do Esme 06:43:44 I've never understood esme 06:43:53 too avant-garde 06:44:47 -!- azaq231 has quit (Quit: Leaving.). 06:45:42 -!- IronEagle has left. 06:48:41 so the guy who put esolang there doesn't have a wikipedia account but did edit the List of female bodybuilders and douted the validity of the statement "The Eternaut has become one of the most influential comics series of the 20th century" 06:49:08 doubted not douted what 06:49:21 are you ready for esme 06:49:27 I'm not sure 06:49:30 i tried to make it sound as awkward as the language itself 06:49:37 also I dunno how to pronounce Esme lol 06:49:50 I was thinking like "esme" but I dunno 06:50:15 uploading 06:50:16 Esmé 06:50:32 monqy: I'd certainly doubt the validity of that claim. 06:50:44 I mean, I haven't even heard of "the Eternaut". 06:51:00 Nor has Wikipedia. 06:51:16 http://en.wikipedia.org/wiki/El_Eternauta 06:51:19 maybe 06:51:21 google returns that 06:51:50 Seem quite obscure, though. 06:51:56 yes I think that's it 06:52:12 And has to compete with a large number of influential comics... 06:52:24 monqy: are you ready 06:52:32 its kind of awkward 06:52:35 but i guess that FITS 06:52:35 totes 06:52:42 aaaaa 06:52:52 http://www.mediafire.com/?019mn3890e9kwwj 06:52:55 Considering that nearly all of them were made in the 20th century, saying "one of the most influential comics of the 20th century" is a ballsy claim. 06:52:59 it has legit singing of the code block parts though monq 06:53:00 it has legit singing of the code block parts though monqy 06:53:54 I mean, shit, that's got to compete against motherfucking Little Nemo. 06:54:12 oh god 06:54:36 Or Osamu Tezuka, inventor of modern manga. 06:55:19 (you may know him for such things as "large eyes" and "long-form narratives") 06:55:28 monqy: i accidentally started singing the stub line :( 06:55:35 it confused me :( 06:56:03 I like how the page has been accessed ~6,862 times 06:56:10 the esme page that is 06:56:12 oh no, has veebeewiki gone down? 06:56:17 aha nope 06:56:19 http://www.festipedia.org.uk/wiki/User_talk:Dagoth_Ur,_Mad_God 06:56:28 Also, *Superman* was in the 20th century... 06:56:29 monqy: the inventor of esme like 06:56:32 terrorised the owner of this random wiki 06:56:41 by trying to make him switch to his nonexistent veebeewiki software 06:56:41 its 06:56:42 its just wow 06:56:43 read it 06:56:45 dagoth ur, mad god.....:( 06:56:46 As I have pointed out on Wiki talk:About, you may NOT move Festipedia to MediaWiki and you may NOT unilaterally alter the hosting arrangements for this wiki. This is an FR Heritage Group project. All decisions about the hosting arrangements for this wiki will be made by the Heritage Group Committee and no-one else. Please stop this IMMEDIATELY --Peter Harrison (talk) 18:54, 20 June 2008 (UTC) 06:56:46 AKA "the defining work of US comics". 06:56:49 monqy: its amazing 06:56:55 I didn't mean to do that. Why I needed FestWiki? For a private wiki called V.F.D.. Dagoth Ur, Mad God (Talk contribs E-mail) 00:53, 21 June 2008 (UTC) 06:58:40 monqy: im going to sing [[Talk:Esme]] over the premade backing tracks offered by this "Magic GarageBand" functionality 06:58:42 it will be a funk song 06:59:15 magic garageband? didn't microsoft try something like that too? 06:59:21 I remember it being hilarious but that's all 06:59:37 Hasn't GarageBand had that for a while now? 07:00:07 its not the same thing 07:00:09 its basically like 07:00:12 predefined backing tracks? 07:00:14 that you can swap out? 07:00:16 and a predefined song structure? 07:00:17 http://www.youtube.com/watch?v=3oGFogwcx-E 07:00:17 and 07:00:19 yeah im just going to 07:00:25 this is it 07:00:30 the most amazing thing 07:00:32 monqy: yeah songsmith is amazing but this isnt the same thing 07:00:42 :( 07:00:43 i have to have watched like fifty videos of putting popular songs through that thing 07:02:40 is magic garageband at least amazing 07:03:21 its yeah 07:03:32 monqy: damn i didnt leave enough time to actually read it out i was too busy doing cheesy backing vocals first 07:03:37 * elliott listens to this trainwreck 07:03:39 I get the feeling Songsmith works best because people tend to do fairly bland song structures by default. 07:03:44 oh god what 07:03:45 ahahha 07:03:51 monqy: its done effects to my voice 07:03:52 so it sounds like a guitar 07:03:54 jesus what 07:03:54 oh 07:03:56 its set as a guitar 07:03:56 yessssss 07:04:10 hahahahahaha lmao 07:05:39 monqy: yeah im just going to upload this as it is 07:05:47 you deserve to hear 07:05:49 i wish my voice was a guitar 07:06:14 Well, you could get a talk box. 07:06:21 monqy: its called Talk Esme Baby by the way 07:06:37 apparently the drum track is called "Hard Working" 07:07:58 monqy: uploading be very scared 07:08:12 im scared 07:10:18 pikhq_ should be scared too i expect him to listen to this amazing work of art 07:11:14 pikhq_: monqy: http://www.mediafire.com/?oz8yd7s17bgv2zp 07:13:58 I like how I didn't understand a word 07:14:05 it's great 07:14:14 monqy: well the talk page only starts like 07:14:17 three quarters of the way through 07:14:22 did you catch "i can't do it, i can't do it" at the end 07:14:27 as i realise i have a url and a reply to go and 0 seconds lefr 07:14:28 left 07:14:28 vaguely 07:15:04 I got sort of a icadoih/icadoih 07:15:08 good enough 07:15:25 :D 07:17:52 -!- monqy has quit (Quit: hello). 07:18:01 oh man he leaves jsut as i stumble upon the best idea 07:21:46 grauenwolf is an idiot :( 07:32:39 -!- oerjan has joined. 07:32:43 hi oerjan 07:33:14 g'day elliott 07:33:26 oerjan i read out the implementations section of the brainfuck article 07:33:33 and also the esme page 07:33:39 they're works of art 07:33:45 ic 07:33:58 CLEARLY YOU WANT TO LISTEN TO THEM 07:34:07 -!- MigoMipo has joined. 07:34:07 oh wait they're flacs. MY ONE WEAKNESS 07:34:57 uflaks 07:36:39 three pounds of flacs 07:42:46 get a flac jacket to protect you from all those flacs 07:43:49 "Did it work? You bet your sweet ILAsm it worked:" --oh my fucking god jeff atwood actually just said this, best coding horror "article" yet 07:54:03 -!- elliott has quit (Remote host closed the connection). 07:55:54 -!- elliott has joined. 08:11:17 -!- choochter has joined. 08:35:04 -!- choochter has quit (Ping timeout: 263 seconds). 08:46:04 oh hey oerjan can i bug you about... some thoughts i had for... a ring programming language :< 08:51:23 EVIDENTLY NOT 09:08:49 MAYBE 09:09:09 it's probably going to just go around in circles, though 09:09:43 elliott: ^ 09:09:50 oerjan: hyuk hyuk hyuk 09:10:35 oerjan: I was basically thinking that you could have + be parallel evaluation like has been thought here before, but the problem is that you need inverses; my idea was that every instruction in the language could be dependent on some "global" state or channel of data or whatever 09:10:48 So you can send _any_ program into an infinite loop by simply tweaking the global data appropriately 09:11:03 So -a becomes a sort of "hostile program" to a, using the definition of the instructions to simply send any loop it enters into an infinite one, etc. 09:11:07 wicked 09:11:15 This has the fun consequence that even a simple output instruction has to be able to enter an infinite loop based on some global data 09:11:20 But oh well, a minor cost 09:11:41 Also to do a+b = b+a while still having output I was thinking you'd just do all output via bits, and output zero before one always 09:12:04 elliott: so 0 is an infinite loop? you know that 0+a = a is also an axiom? 09:12:11 oerjan: yes, and? 09:12:15 oerjan: + is "race" 09:12:20 hm oh right 09:12:22 oerjan: whichever program terminates first (= fewest reduction steps) wins 09:12:25 and the whole evaluation stops 09:12:41 oerjan: but of course, you can't have a+a = a unless a=0... 09:12:52 oerjan: if a does output, then obviously intermingling the output fixes this 09:13:01 but I don't know how you would make a pure function fail to add to itself 09:13:13 so I guess every operation has to try and detect itself running and mess with the global data I mentioned 09:13:14 um "whichever program terminates first wins" looks like it could break with _three_ programs 09:13:19 this is a really ugly way of thinking about it of course 09:13:21 oerjan: erm, how? 09:13:49 hm except parts with a and -a obviously must interact somehow 09:14:06 well, in a+(b+c), all three programs would run simultaneously 09:14:06 elliott: but i mean if you add a, b, c where a is shortest run 09:14:12 because it'd step a, and step (b+c), which would step b, and step c 09:14:28 basically you do it with small-step reduction in mind, or at least i did 09:15:26 (a+b)-b 09:16:11 oerjan: = (a+b)+b'... admittedly, a's evaluation will get fucked up 09:16:19 but b and b' will cancel each other out. unless a stops them. 09:16:24 hmm. 09:16:32 it has to be equal to a ofc 09:16:35 yeah, this is hard :( 09:16:51 i guess it's not _obviously_ impossible 09:17:37 why is haskell's type system so weeeeeak 09:18:08 oerjan: oh I suspect proving it impossible would be a very deep and difficult result, not that i'm an expert of any kind :) 09:19:05 oerjan: cpressey's page which lead me onto thinking about this made the point that a ring seems much harder to do than a group because it gets you fairly close to a euclidean domain, and computing gcd on programs seems intuitively like something that should be "impossible" 09:19:12 here it is 09:19:21 "I suspect that the underlying reason that getting a ring language is hard (at least when you insist on sticking to "intuitive" operations) is because a ring is starting to approach a structure (a Euclidean domain) in which you can perform the Euclidean algorithm and obtain greatest common denominators. Now, if you could perform that algorithm on programs, you'd be able to decompose every program into "prime subprograms". This sounds intuitively 09:19:21 a little too powerful — you'd be able to find programs which are in some sense optimal! I'm not certain this would actually *violate* established undecidability results like Rice's theorem, but it certainly sounds like it's edging up against them." 09:19:54 there are many rings which are _not_ euclidean domains though 09:20:18 oerjan: ofc 09:20:23 oerjan: but it's still getting closer :D 09:20:28 YQY 09:20:32 *YAY 09:20:34 aVec :: forall n. (Nat n) => n -> Vec n () 09:20:35 aVec Z = Nil 09:20:35 aVec (S n) = Cons () (aVec n) 09:20:36 WHY DOES THIS NOT TYPE 09:20:42 Couldn't match type `Z' with `S n0' 09:20:42 In the pattern: Z 09:20:42 In an equation for `aVec': aVec Z = Nil 09:20:43 WHYYYYY 09:20:44 bank of canada decided to import australian plastic money 09:20:57 coppro: your long national nightmare is finally over 09:21:07 elliott: because Z is not a successor. hth. 09:21:10 elliott: actually, it's worse right now, I'm in the USA 09:21:14 oerjan: THAT MAKES NO SENSE 09:21:20 where the solution to counterfeiting problems is "add more ink" 09:21:28 eventually all US bills will just be solid green 09:21:31 the best kind of money is edible 09:21:35 like 09:21:37 chocolate money 09:22:10 `addquote elliott: actually, it's worse right now, I'm in the USA where the solution to counterfeiting problems is "add more ink" eventually all US bills will just be solid green 09:22:14 460) elliott: actually, it's worse right now, I'm in the USA where the solution to counterfeiting problems is "add more ink" eventually all US bills will just be solid green 09:22:32 oerjan: no but seriously how do i do this kind of recursion :( 09:22:40 hmm 09:22:42 maybe a typeclass 09:22:58 lol 09:23:13 coppro: stfu noob, youve never lost a friend in the battlefield of the typesystem 09:23:19 i've used every extension :( 09:23:33 class (Nat n) => AVec n where aVec :: Vec n () 09:23:33 instance AVec Z where aVec = Nil 09:23:33 instance (AVec n) => AVec (S n) where aVec = Cons () aVec 09:23:35 good coding style 09:24:20 "This (rigid, skolem) type variable" --GHC 09:24:37 this rigid skolem, oerjan 09:24:52 clearly all programming should be done in differential graph theory 09:25:06 i guess i carry some responsibility since skolem was norwegian 09:25:11 Ticket #4499 (closed bug: fixed) 09:25:11 Opened 7 months ago 09:25:11 Last modified 7 months ago 09:25:11 "skolem type variable" is bad for usability (and beginners) 09:25:34 heh, (rigid, skolem) was the fix 09:25:46 class (Nat n) => AVec n where aVec :: n -> Vec n () 09:25:46 instance AVec Z where aVec Z = Nil 09:25:46 instance (AVec n) => AVec (S n) where aVec (S n) = () `Cons` aVec n 09:25:47 the problem here is 09:25:50 aVec isn't of type 09:25:54 (forall r. (Nat r) => r -> a) 09:25:58 so i can't use it with 09:26:03 withNat :: (forall r. (Nat r) => r -> a) -> Int -> a 09:26:03 withNat _ n | n < 0 = error "intNat: negative argument" 09:26:03 withNat f 0 = f Z 09:26:03 withNat f n = withNat (f . S) (n-1) 09:26:08 why is typeclasses like wtf :( 09:26:09 `quote like wtf 09:26:11 131) alise: why internet is like wtf 09:26:19 [asterisk]why typeclasses is like wtf :( 09:27:18 `run echo '#!/bin/sh' >bin/wtf 09:27:19 No output. 09:27:39 {-# LANGUAGE RankNTypes, GADTs, FlexibleInstances, UndecidableInstances, IncoherentInstances #-} 09:27:44 `run echo 'echo "$1 is like wtf"' >>bin/wtf 09:27:45 straight up gangsta every day 09:27:45 No output. 09:27:55 `run chmod +x bin/wtf 09:27:56 No output. 09:28:03 instance AVec Z where aVec Z = Nil 09:28:03 instance (AVec n) => AVec (S n) where aVec (S n) = () `Cons` aVec n 09:28:03 instance (Nat n) => AVec n 09:28:05 this is my solution btw 09:28:06 `wtf type classes 09:28:07 type classes is like wtf 09:28:11 it just won't see the last instance 09:28:13 sssshhhhhhh 09:28:16 elliott: ^ yw 09:28:20 oerjan: thanks 09:28:22 but whyy... 09:28:47 *Main> main 09:28:48 99 09:28:48 *** Exception: /home/elliott/Code/gentuple/gentuple.hs:32:10-26: No instance nor default method for class operation Main.aVec 09:28:48 o fuq 09:28:59 oh i see 09:29:09 this suques 09:30:36 wait what if i 09:30:36 hmm 09:30:38 or... 09:30:40 but is it 09:30:59 oerjan: what is the name for those (forall r. (Blah r) => r -> a) -> ConcreteType -> a things btw? 09:31:00 `run sed -i 's/"/"why /' bin/wtf 09:31:01 No output. 09:31:05 `wtf type classes 09:31:06 why type classes is like wtf 09:31:13 they're a way to turn runtime input into types, sort of 09:31:17 conversion function 09:31:18 * oerjan might be getting the hang of this 09:31:57 also v. good work 09:33:02 hm they're to a type class like foldr is for lists, you mean? 09:33:25 erm, not really 09:33:28 they're for type-level values 09:33:29 i.e. 09:33:30 data Z 09:33:31 data S n 09:33:32 class Nat 09:33:34 instance Nat Z 09:33:38 instance Nat S n <= Nat n 09:33:39 you know the drill 09:33:41 except with right syntax 09:33:46 ok no idea 09:33:47 its so boring that ive literally forgotten how to type it 09:33:50 bah 09:33:57 oh hm my idea is almost working 09:34:05 aha, more gadts are helpin 09:34:06 g 09:34:07 as always 09:35:18 gadtflies 09:37:29 *Main> main 09:37:29 99 09:37:29 Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () ( 09:37:29 Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () Nil))))))) 09:37:33 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 09:37:35 finally i am king 09:37:46 the king of cons 09:37:54 king of scones 09:41:36 -!- SimonRC has quit (Ping timeout: 260 seconds). 09:41:43 -!- SimonRC has joined. 09:44:34 oerjan: argh, I can't eliminate the runtime values 09:44:47 :( 09:56:26 the comments on this blog post are great, im trying to find a post calling bitcoin a ponzi scheme that doesn't use "nerd" as a putdown of anyone who supports bitcoin 09:56:30 (there are no such comments) 09:56:56 "Sorry, but any “currency” that flucuates in value by a factor of 20 within weeks, and was created by a pseudonymous person who may or may not be Japanese, and whose primary exchange does not have a physical address, is a joke. It Bitcoins were backed in gold, and could be traded on existing commodity markets that are run by adults, totally different story. 09:56:56 Basically if you buy a currency that is not liquid or backed by a commodity that can be traded on real markets (versus a toy market operated by World of Warcraft types), you’re a moron, and deserve to lose your shirt." 09:57:08 sometimes i think the best way to determine the quality of something is to see how stupid everyone who dislikes it is 10:10:35 -!- oerjan has quit (Quit: Later). 10:14:33 -!- Vorpal has joined. 10:14:43 apoapop 10:33:00 -!- Tritonio has joined. 10:37:39 -!- Tritonio has quit (Client Quit). 10:40:51 -!- Slereah has joined. 10:55:45 -!- aloril has quit (Ping timeout: 250 seconds). 10:56:14 -!- ais523_ has joined. 10:57:14 hi ais523_ 10:57:20 hi 10:57:30 hmm, I spent most of yesterday working on an esolang 10:57:40 but it really needs an interp for me to be sure I have the semantics right 10:57:50 the difficulty is not making them work, but making them intuitive 10:57:56 ais523_: you should have spent it doing something productive, like making an avant-garde reading of our brainfuck article's implementations list 10:57:57 to watch 10:57:58 YOU KNOW, LIKE I DID 10:58:04 haha 10:58:10 -!- Patashu has joined. 10:58:14 were you trying to scare off a troll? 10:58:19 or just for fun? 10:58:26 no, we just noticed how ridiculously large and terrible it is 10:59:04 well, there are a lot of BF impls out there 10:59:12 then it quickly degenerated into me trying to narrate [[Talk:Esme]] over one of GarageBand's terrible premade backing songs and running out of time 10:59:22 and then it applied a guitar effect to my voice because it was accidentally a guitar track 10:59:27 no survivors :( 11:01:16 good thing I wasn't here at the time, then 11:01:21 me too 11:02:02 meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary 11:02:06 so far, it has found four digits 11:02:09 has it managed thr- 11:02:11 hahahahaha 11:02:14 I hope it will find the fifth some time this week 11:02:14 i was joking, too 11:02:23 unless I get bored 11:02:24 (-ee digits was the continuation) 11:02:33 then I'll probably shut it down 11:02:34 ais523_: esolang? vhdl? :-P 11:02:44 `addquote meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary so far, it has found four digits I hope it will find the fifth some time this week 11:02:45 461) meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary so far, it has found four digits I hope it will find the fifth some time this week 11:02:58 it's a haskell program translated to an algol dialect, then compiled to vhdl, then the resulting hardware is being simulated 11:03:15 the program is one that would be expected to translate pretty badly to hardware, it uses lazy lists and recursion a lot 11:03:20 how fast would it be on an irl vhdl 11:03:22 ah 11:03:25 by an 11:03:26 irl vhdl 11:03:27 i mean an fpga 11:03:34 rather faster, it managed something like 5 or 6 digits in a few seconds 11:03:36 but it was hard to tell 11:03:54 because if two digits in a row were the same, the only way to notice was that an LED turned off for one clock cycle 11:03:57 which is a few nanoseconds long 11:04:11 ais523_: if you wrote a pi calculator idiomatically, how fast would the fpga do it? 11:04:18 that is, in your hypothetical functional hardware lang 11:04:25 I'm not sure 11:04:40 I imagine it would be pretty fast if it used iteration and memoization of intermediate results 11:04:45 what's the efficient method of looping with your stuff? 11:04:47 tail recursion? 11:04:52 right, yes 11:04:53 while condition do {code} 11:04:59 ais523_: iteration = tail recursion 11:05:12 yes, but that's a special case of iteration 11:05:18 to be precise, tail recursion on commands 11:05:22 rather than on arbitrary functions 11:05:58 so does your compiler actually take bona-fide non-idealisedconcurrent algol? 11:06:06 second question, ... why 11:06:11 no, it's a dialect 11:06:24 we're trying to create a practical language based on the mathematical one by unidealising it again 11:06:24 ah 11:06:35 but it isn't massively similar to any of the officially numbered versions of algol 11:06:40 in terms of syntax 11:06:42 third question, why didn't you make it not look like algol and do the world a favour :P 11:06:46 it looks more like ML 11:06:52 heh 11:06:55 or Haskell 11:07:07 although it isn't indentation-sensitive 11:07:10 what does the pi program look like? 11:07:16 or are you not at liberty to disclose that information :) 11:08:15 hmm, I wonder if the original Haskell is online somewhere? 11:08:34 -!- aloril has joined. 11:08:52 ais523_: i'm more interested in seeing what the dialect actually looks like 11:09:49 well, to start with, it has everything-is-an-expression; it only has three nonterminals in its BNF, for expressions, types, and comma-separated lists of expressions 11:09:58 *comma-separated lists of identifiers 11:10:15 together with precedence rules 11:10:26 so you don't have to put parens absolutely everywhere 11:11:05 here's an example: \a.(new x := a; x := !x + 5; !x) 11:11:24 which is a function that takes an argument, stores it in a variable, adds 5 to the variable, then returns the value of the variable 11:11:26 umm 11:11:36 \a.(new x := a in x := !x + 5; !x) 11:11:44 in rather than ; because it's scoped 11:13:22 -!- ais523_ has changed nick to ais523. 11:13:26 -!- ais523 has changed nick to ais523_. 11:14:24 ais523_: thanks; now I know how your language works without you having to get fired for revealing your trade-secret pi calculation program :D 11:14:50 the pi program is annoyingly repetitive 11:14:58 because at the moment, you can't use the same function both inside and outside a recursive scope 11:15:24 EXCUSES 11:16:05 that's technically correct given how the compiler works, but rather non-obvious 11:16:17 and sufficiently annoying that it's probably better just to let the user be wrong and silently correct them 11:21:58 haha 11:30:44 hmm, Oracle vs. Google is being amusing 11:31:01 Google pointed out that Oracle's expert's estimation of damages assumed that the only reason that people bought Android phones was to view Google's adverts 11:31:11 which is an interesting theory, at least 11:31:17 -!- Phantom_Hoover has joined. 11:31:31 Oh look elliott is here to feast upon the blood of the living. 11:31:32 Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it. 11:35:18 -!- Lymia has quit (Quit: bbl). 11:36:21 04:16:18: As in.. the amount of mass in a nucleon 11:36:30 Nuclear binding energy per nucleon. 11:37:11 04:22:14: *That's including electrons you dolt*. 11:37:15 No, it's not. 11:37:38 Mass-energy equivalence and nuclear binding energy. 11:39:22 ?hoogle (a,a,a) -> [a] 11:39:22 Data.Typeable typeOf3 :: Typeable3 t => t a b c -> TypeRep 11:39:22 Data.Typeable typeOf2Default :: (Typeable3 t, Typeable a) => t a b c -> TypeRep 11:39:25 BAH 11:41:27 you want functions that take the first/second/third element of a triple? 11:41:34 it's simple enough to write them yourselves 11:41:50 in fact, on average it's faster to write a quick utility function by hand than to see if it's in the standard library 11:44:28 ais523_: I know, I was just trying to "golf" something 11:44:38 also, that last line is really worrying, Hoogle exists for a reason 11:44:38 ah, I see 11:44:42 you can find what you want instantaneously 11:44:48 also, the Prelude is so tiny that not having it memorised is a crime 11:44:51 you have to type the query 11:45:06 (\l. match (a,_,_) with l -> a) 11:45:12 isn't much longer than the query you typed 11:45:18 yep, that's certainly a bit of code that isn't valid haskell 11:45:20 although that's a crazy mix of Haskell and OCaml syntax 11:45:26 hey ais523_, I never indent my code, it takes more keypresses 11:45:28 it's always faster not to 11:45:28 http://www.davenicholas.me.uk/blog/view_post/31/esolang-esoteric-programming-for-iphone 11:45:31 I need linguistic decontamination wrt those two 11:45:40 and actually, I use Emacs, not indenting takes longer 11:45:42 Phantom_Hoover: why are you pasting that link, you just found it from here 11:45:46 Hmm, doesn't this violate Apple's terms of whatever the word is. 11:45:46 Phantom_Hoover: listen to my dramatic readings btw 11:45:59 :t ?f.?g `fmap` x 11:46:00 Not in scope: `.?' 11:46:02 :t ?f.?g `fmap` ?x 11:46:02 Not in scope: `.?' 11:46:04 :t ?f . ?g `fmap` ?x 11:46:05 isn't the Haskell just (\(a,_,_).a)? 11:46:05 Precedence parsing error 11:46:05 cannot mix `.' [infixr 9] and `fmap' [infixl 9] in the same infix expression 11:46:09 ais523_: no, -> 11:46:14 oh, right 11:46:22 so I'm mixing it with maths too 11:46:28 (OCaml is fun a -> a for lambdas) 11:46:37 > nubBy isSpace "abc def q" 11:46:37 Couldn't match expected type `GHC.Types.Char -> GHC.Bool.Bool' 11:46:38 agai... 11:46:41 :t nubBy 11:46:41 forall a. (a -> a -> Bool) -> [a] -> [a] 11:46:54 ?hoogle (a -> Bool) -> ((a,a) -> Bool) 11:46:54 Data.Graph.Inductive.Query.Monad orP :: (a -> Bool) -> (b -> Bool) -> (a, b) -> Bool 11:46:58 ?hoogle (a -> b) -> ((a,a) -> b) 11:46:59 Data.Graph.Inductive.Query.Monad orP :: (a -> Bool) -> (b -> Bool) -> (a, b) -> Bool 11:47:01 oh wait, it's both 11:47:18 :t isSpace &&& isSpace 11:47:18 Char -> (Bool, Bool) 11:47:29 :t uncurry (curry and . isSpace &&& isSpace) 11:47:29 Couldn't match expected type `(a, b)' 11:47:30 against inferred type `[Bool]' 11:47:30 In the first argument of `curry', namely `and' 11:47:37 :t uncurry ((curry and .) . (isSpace &&& isSpace)) 11:47:37 Couldn't match expected type `(a, b)' 11:47:38 against inferred type `[Bool]' 11:47:38 In the first argument of `curry', namely `and' 11:47:43 :t curry ((uncurry and .) . (isSpace &&& isSpace)) 11:47:44 Couldn't match expected type `b -> c' against inferred type `Bool' 11:47:44 In the first argument of `uncurry', namely `and' 11:47:44 In the first argument of `(.)', namely `uncurry and' 11:47:49 :t curry (uncurry and . (isSpace &&& isSpace)) 11:47:50 Couldn't match expected type `b -> c' against inferred type `Bool' 11:47:50 In the first argument of `uncurry', namely `and' 11:47:50 In the first argument of `(.)', namely `uncurry and' 11:47:53 :t uncurry and . (isSpace &&& isSpace 11:47:54 :t uncurry and . (isSpace &&& isSpace) 11:47:54 parse error (possibly incorrect indentation) 11:47:55 Couldn't match expected type `b -> c' against inferred type `Bool' 11:47:55 In the first argument of `uncurry', namely `and' 11:47:55 In the first argument of `(.)', namely `uncurry and' 11:47:59 oh 11:48:01 duh 11:48:08 :t curry (uncurry (&&) . (isSpace &&& isSpace)) 11:48:09 Couldn't match expected type `(a, b)' against inferred type `Char' 11:48:09 In the first argument of `(&&&)', namely `isSpace' 11:48:09 In the second argument of `(.)', namely `(isSpace &&& isSpace)' 11:48:21 :t uncurry (&&) . (isSpace &&& isSpace) 11:48:21 Char -> Bool 11:48:25 wtf? 11:48:35 oh, wait 11:49:03 ?hoogle (a -> b) -> (c -> b) -> ((a,c) -> (b,b)) 11:49:03 Data.Graph.Inductive.Query.Monad (><) :: (a -> b) -> (c -> d) -> (a, c) -> (b, d) 11:49:06 grr 11:49:09 it's one of the arrow functions 11:49:15 -!- FireFly has joined. 11:49:49 :t isSpace *** isSpace 11:49:49 (Char, Char) -> (Bool, Bool) 11:49:59 :t curry (uncurry (&&) . isSpace *** isSpace) 11:50:00 Couldn't match expected type `(Bool, Bool)' 11:50:00 against inferred type `Bool' 11:50:00 In the second argument of `(.)', namely `isSpace' 11:50:05 :t curry (uncurry (&&) . (isSpace *** isSpace)) 11:50:06 Char -> Char -> Bool 11:50:09 ?unpl curry (uncurry (&&) . (isSpace *** isSpace)) 11:50:09 curry (\ c -> uncurry (&&) ((isSpace *** isSpace) c)) 11:50:13 lol 11:50:13 ?pl curry (uncurry (&&) . (isSpace *** isSpace)) 11:50:14 curry (uncurry (&&) . (isSpace *** isSpace)) 11:50:25 hmm, wait... 11:50:27 :t ap 11:50:28 forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b 11:50:40 :t \x y z -> x z (y z) 11:50:40 forall t t1 t2. (t -> t1 -> t2) -> (t -> t1) -> t -> t2 11:50:49 argh 11:50:56 (a -> b -> c) -> (a -> b) -> a -> c 11:50:56 right 11:54:38 -!- choochter has joined. 11:56:31 ?ty curry $ uncurry (&&) . join (***) isSpace 11:56:32 Char -> Char -> Bool 11:56:44 mc fancy pants 11:57:04 > nubBy (curry $ uncurry (&&) . join (***) isSpace) 11:57:05 Overlapping instances for GHC.Show.Show 11:57:05 ([GHC.... 11:57:10 > nubBy (curry $ uncurry (&&) . join (***) isSpace) "arcs \n opq" 11:57:11 "arcs opq" 11:57:22 > nubBy (curry $ uncurry (&&) . join (***) isSpace) "arcs \n opq q" 11:57:24 "arcs opqq" 11:57:27 damn 11:57:54 :t (***) 11:57:55 forall (a :: * -> * -> *) b c b' c'. (Arrow a) => a b c -> a b' c' -> a (b, b') (c, c') 11:59:08 elliott: so when does homestuck usually update? 12:00:00 CakeProphet: it used to average five pages a day but now it's more like four per every two days since entering the Scratch fastforwarding, and a week's hiatus has just started 12:00:09 but... every day, usually. 12:00:15 unless there's a Flash coming. obviously. 12:00:26 that's a pretty good turnover for a webcomic. 12:00:38 pretty admirable work ethic there. 12:00:40 what did you expect with almost four thousand pages in two years? 12:01:20 didn't know how long it had been running. 12:01:26 well, actually yes I did 12:01:31 I just didn't think about it, really. 12:01:36 it's shown in several panels :) 12:02:00 I paid attention, I promise. 12:02:10 I'm just got off workand such, so I'm kind of tired. 12:02:14 -'m 12:02:27 -!- BeholdMyGlory has joined. 12:02:44 also, that is why there had been less CakeProphet as of late. I'm sure everyone is terribly disappointed. 12:02:49 *had lulz 12:02:56 *s 12:03:03 2 x lulz combo 12:03:25 (that didn't stop being a thing or anything) 12:04:15 ?pl \f x -> join (fmap f x) 12:04:15 (=<<) 12:04:17 im not so smart 12:05:13 okay so (***) is like a fork in a pipeway? 12:05:50 er no, a crisscross kind of. 12:06:07 joined together... 12:06:58 it seems the tuples would get somewhat annoying to deal with. 12:09:01 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 12:09:22 -!- BeholdMyGlory has joined. 12:09:33 Window manager warning: Received a _NET_WM_MOVERESIZE message for 0x34e0f1e (Iteratee I); these messages lack timestamps and therefore suck. 12:11:22 hmm, so far this program has pi at approximately 4 12:11:28 I'm expecting a fifth digit of -1 to revise the estimate to 3 12:11:55 (using 1, 0, -1 as binary digits allows you to express arbitrary computable reals without worrying about edge cases) 12:12:00 nice, then it would have single digit precision, 12:12:13 THAT IS PRECISE ENOUGH FOR ME. 12:12:54 the circumfrence of all of my circles are TRIPLE their diameter. 12:13:07 Sounds more exciting right? That means customers will dig it. 12:14:04 that's actually possible in slightly curved space, isn't it? 12:14:26 dude I don't know. I am going to go ahead and assume that question is not directed at me. 12:14:58 Anything non-absurd is probably possible in some space. 12:15:01 but I have no idea. 12:15:24 it was rhetorical at the world in general 12:15:31 especially as I don't know either, but it seems plausible 12:16:23 * elliott is microoptimising wc 12:17:26 elliott: using Perl right? 12:17:29 -!- choochter has quit (Quit: lang may yer lum reek..). 12:18:22 I assume you're micro-optimizing the byte count of the source file, yes? 12:18:38 No use having a big bulky wc. 12:19:00 CakeProphet: no, using haskell 12:19:13 Stack space overflow: current size 8388608 bytes. 12:19:13 Use `+RTS -Ksize -RTS' to increase it. 12:19:13 oh goody! 12:19:40 that's actually possible in slightly curved space, isn't it? 12:19:42 the stack is an illusion. 12:19:45 now, i could take this opportunity to learn how to fix space leaks and apply the stuff from ezyang's articles 12:19:45 OR 12:19:48 i could try stuffat random 12:20:02 I think it's vaguely more complicated than that. 12:20:23 elliott: harness your ch'i 12:20:35 and the stack will become meaningless. 12:20:41 ^^ serious advice 12:22:43 hmm, why do I have a stack leak?? 12:22:54 that's the one thing i shouldn't have 12:23:26 ?paste 12:23:26 Haskell pastebin: http://hpaste.org/ 12:23:43 psht 12:23:43 fine 12:24:01 http://hpaste.org/48069 12:24:19 i realise it actually counts incorrectly, im just getting used to enumerator first :P 12:26:47 why ? rather than @, btw? is @ on shift-2 for you? 12:27:09 I'm just used to using ? 12:27:13 yep but actually alt+q works, i just got used to ? before i realised 12:27:18 Deewiant: hes talking to me i think maybe 12:27:19 oh wait probably no 12:27:19 t 12:27:24 @ used to be on altgr-2 for me 12:27:29 Nowadays it's just @ 12:27:34 (I.e. on 2, no modifiers) 12:28:26 you press 2 and get @, and have to press shift-@ to get 2, or do I misunderstand you? 12:28:32 also, I was talking to elliott by mistake 12:28:32 Correct 12:28:41 ais523_: i do use ?, though, since the Accident :) 12:28:43 and wow, that's a funky setup 12:28:56 not that funky 12:29:05 good to hear answers from both of you, anyway, especially as they're interesting answers 12:29:07 if you type in punctuation-heavy proglangs all day 12:29:18 what if the languages are also number-heavy? 12:29:21 heh 12:29:24 i like to swap () and [] on my keyboard 12:29:25 I tend to use numbers quite a lot when programming 12:29:27 ( and ) are in such a stupid place 12:29:34 and [] are at such a convenient place 12:29:35 I type in punctuation-heavy natural languages as well :-P 12:29:37 but are rarely pressed 12:29:52 also it makes lisp nicer 12:30:02 I'm used to using random public computers, so I'm used to the standard qwerty layout, and don't even rebind caps lock 12:30:11 oh i havent actually done it 12:30:12 for fear I'll get into the habit of actually pressing that key when it means caps lock 12:30:13 i just like to do it 12:30:13 -!- aloril has quit (Ping timeout: 250 seconds). 12:30:18 I use ()! more often than numbers probably no matter what language I'm using, natural or programming 12:30:29 you never exclaim 12:30:31 dont be a lie Deewiant 12:30:36 Deewiant: that looks like Underload to me 12:31:01 hmm, I do have some rebindings in Emacs 12:31:16 elliott: I do sometimes! 12:31:18 I permanently rebound C-x M-q to fill-region-as-paragraph yesterday 12:31:24 Deewiant: im... 12:31:27 noooooooooooo 12:31:28 but that's because a) it's really useful, and b) it doesn't have a keybinding by default 12:31:30 what happened deewi 12:31:37 and that one is quite easy to remember, because M-q is fill-region 12:31:46 Normally I wouldn't've there but that one was for you 12:31:49 ais523_: how does that differ from m-q? 12:32:01 Anyway, numbers are pretty rare :-P 12:32:13 elliott: it treats the region boundaries as paragraph boundaries 12:32:28 so it'll, say, delete double-newline inside the region, or not rewrap past the start or end of the region 12:32:33 ah 12:32:40 which is useful if you're rewrapping something that doesn't fit into Emacs' usual definition of a paragraph 12:42:24 -!- elliott_ has joined. 12:43:22 -!- elliott has quit (Remote host closed the connection). 12:43:33 -!- aloril has joined. 12:44:42 did Deewiant fix my stack leak while i was away 12:44:57 Nah, I don't know about iteratees 12:45:02 anyway, I fought down the urge to call the esolang elliottcraft, even though it would have been hilarious 12:45:12 ais523_: I approve of this idea, please reconsider 12:45:21 and now I have to read the context 12:45:27 oh, there is none 12:45:29 that's even better 12:45:33 CUBE is a pretty good name too, though, because it's based on RUBE, just 3D 12:45:51 and with far fewer primitives, as 3D gives you more options 12:46:01 it came out of that conversation we had about what was wrong with Minecraft 12:46:10 and I thought that a decent replacement would need an esolang to back it 12:46:15 haha 12:46:26 "WARNING: due to the current encoding of iteratees in this library, careless use of the yield primitive may violate the monad laws. To prevent this, always make sure that an iteratee never yields extra data unless it has received at least one input element." 12:46:28 gross :/ 12:46:55 so it's a case of, build things yourself slowly one cube at a time, or create an infernal esolang machine to build them for you 12:47:07 oh 12:47:09 a little like Dwarf Fortress in that way, I suppose, except you have cubes rather than dwarves 12:47:10 that's just oklopol's game 12:47:25 I'm pretty sure it's TC, anyway 12:47:25 sry dude you've been massively preempted 12:47:34 meh, I don't care 12:47:39 more than one impl of this would be fine 12:47:50 although I need to actually relearn 3D graphics to implement it properly 12:47:52 except you maybe don't plan to go to the point where venturing _anywhere_ alone is pretty much instantly fatal :) 12:47:57 (that is, language = impl of the concept, impl of the language = something else) 12:48:02 ais523_: oh, oklopol's is two dimensional 12:48:07 elliott_: no, in fact dying would be kind-of hard 12:48:14 ais523_: you could do a Dwarf Fortress-style clusterfuck hybrid UI 12:48:17 voila, no opengl 12:48:21 or software rendering :) 12:48:39 I think you'd have to either deliberately crush yourself, or have someone who knew what they were attacking suddenly send a huge load of nested conveyors at you 12:48:45 well, stacke conveyors 12:48:49 stacke 12:48:50 *stacked conveyors 12:49:11 it was great when I realised you could put a mobile conveyor belt on the top of another conveyor belt and exceed what would otherwise have been the speed of light 12:50:02 haha 12:50:40 other things, too, like if you have just the one inertia cube (= cube that can't be pushed and doesn't fall) to stand on and the entirety of the rest of the world is empty 12:50:52 then assuming you have some method of creating a small finite number of cubes, you can bootstrap a universe from there 12:51:09 oh, that's nice 12:51:12 I think, at least, I still haven't worked out a viable method of creating a plane from scratch 12:51:20 it seems possible, I just keep running into details 12:51:27 especially as I'm trying to do all this in my head 12:51:31 in minecraft, without falling blocks like sand it's impossible to lower yourself down more than N blocks without taking damage 12:51:35 I think that's what we worked out, anyway 12:51:36 as in 12:51:41 if all terrain is more than N blocks below you 12:51:44 and you have no falling blocks 12:51:47 and only like half a heart of health 12:51:50 there is no way to get down without dying 12:51:57 I'm not sure if falls would be fatal in this 12:52:03 I don't think I'll have a health bar, just alive/dead 12:52:07 haha 12:52:13 that is if there's a player at all, the world can exist just fine without one 12:52:22 (death would come only by being crushed) 12:53:12 bleh, I'm using a strict fold _specifically_ here, how on earth can there be a stack overflow? 12:53:22 maybe the enumerator library just sucks, i'll try iteratee again 12:53:46 even if it does look bloated 12:56:12 no fold? :/ 12:56:22 oh, there is 13:00:07 -!- Lymia has joined. 13:03:10 anyway, oklopol's version seems interesting, I should look at it 13:05:12 oh, wait, I think I know why I have a stack overflow 13:05:16 ugh I'm dumb 13:06:25 hey, I'm faster than gnu wc 13:06:31 OK, I get different /results/ to GNU wc 13:06:33 but that's not the point 13:06:52 me: 0.224s 13:06:52 elliott_: Why was it? 13:06:54 can you be faster while getting the same results? 13:06:54 gnu: 4.013s 13:06:59 Deewiant: Int thunks :-) 13:07:05 Deewiant: My fold accumulator was (l,w,c) 13:07:12 Changing it to (!l,!w,!c) makes it go swimmingly 13:07:19 where go :: (Int,Int,Int) -> Word8 -> (Int,Int,Int) 13:07:19 go (!l,!w,!c) 32 = (l, w+1, c+1) 13:07:19 go (!l,!w,!c) 10 = (l+1, w+1, c+1) 13:07:19 go (!l,!w,!c) _ = (l, w, c+1) 13:07:21 I thought about that but for some reason thought + was strict 13:07:26 It is 13:07:28 Oh, () isn't 13:07:29 Right 13:07:34 (,,,) isn't :P 13:07:46 ais523_: I think so, yes 13:07:54 elliott_: Try LC_ALL=C wc 13:07:58 ais523_: It's just a matter of skipping over consecutive whitespace when counting words 13:08:06 Deewiant: I consider "a b" to have three words 13:08:09 Nothing to do with multibyte 13:08:16 The file is totally invalid utf-anything, anyway 13:08:18 (It's from /dev/urandom :-)) 13:08:28 I'm sure that LC_ALL=C will speed it up though 13:08:30 elliott_: I think Deewiant's saying that GNU wc may be trying to do multibyte and slowing down as a result 13:08:31 Fair nuff 13:08:53 OK, now GNU just takes 0m0.726s 13:08:56 But I'm still faster, nyahh 13:09:12 Also my code is shorter than GNU wc's :P 13:09:54 I'm gonna see whether iteratee or enumerator is faster at this now :P 13:10:24 Deewiant: ais523_: If you're curious, this is the code: http://sprunge.us/FMMF 13:10:37 Pleasantly short 13:10:43 If slightly broken for now :-) 13:10:45 You already pasted that 13:10:49 if I'm not curious, is it still the code? 13:10:50 Deewiant: No, I didn't 13:10:56 Oh, except using a different iteratee? 13:10:57 Deewiant: I pasted an old, broken version 13:11:04 Which also had a massive stack leak 13:11:19 ais523_: You'll have to look at it to find out. 13:11:46 elliott_: no, that would defeat the point of the experiment 13:11:54 unless I wasn't curious at the time 13:12:03 ais523_: Just look at it REALLY passively. 13:12:04 but it'd be hard to look at it without being curious about it 13:12:08 unless someone paid me, or something 13:12:13 Deal. 13:12:35 (note: without knowing what a deal /is/, accepting it can be a bad idea...) 13:16:19 As I expected, enumerator is consistently just a bit slower 13:16:27 I suspect because it uses lists for chunks rather than ByteStrings 13:16:31 ais523_: served me fine in Agora 13:16:56 I'm not sure if I think so... 13:17:15 part of the issue is that Agora's legal system was (and is) relatively spineless 13:17:20 ais523_: Hey, I'm consistently a player more often than Wooble and tswett 13:17:27 That's winning in my book 13:17:58 what do you think of Pavitra's ambiguous registration attempt, btw? 13:18:13 But yeah, you're right, I don't even know how you'd go about getting exiled; I'm honestly surprised everyone's just forgiven Yally, since he kept up his violation spree even /after/ his point was made 13:18:30 ais523_: I think the silly overly-accepting definition of registration makes it way too ambiguous to judge without being a mind-reader 13:18:35 I suspect he's not a player because he wanted there to be ambiguity 13:18:43 If it was another action, I might actually have to think about it 13:19:08 I tried to argue once that attempting an ambiguous registration was itself evidence that you wanted to be a player, but I think I got appealed and overruled on that one 13:19:27 Maybe people expressing a general liking of Agora on the lists and participating regularly should count as wanting to be a player 13:19:35 You clearly want to participate, and have no objection to the game 13:19:59 oh no, oleg already did a benchmarked wc with iteratees 13:20:07 <-- sad 13:20:13 I'LL DO BETTER 13:20:22 and, being oleg, it is necessarily better than any other wc anyone can ever right? 13:20:27 *ever writ? 13:20:29 *ever write? 13:20:36 probably, he sure seems to have paid a lot of attention to it 13:20:45 ugh he does it really elegantly 13:20:50 note: for some reason, my typing-out-of-habit converts sounds to key sequences, not words to key sequences 13:20:52 he does line-counting and char-counting and word-counting completely separately 13:20:54 and just pairs them together 13:21:04 because iteratees let you do that while still only processing the input stream once 13:21:20 haskell sure is purty :< 13:23:12 You might be able to speed it up by putting them together manually 13:23:22 If that's your goal 13:23:30 Deewiant: I'll try and replicate his program first with a modern iteratee library 13:23:43 Since nobody actually uses his AFAIK :P 13:23:48 Does anyone actually use Oleg code directly? :-) 13:27:35 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 13:31:31 -!- cheater_ has quit (Ping timeout: 264 seconds). 13:33:56 egh, how do you even combine two... 13:34:13 ?hoogle enumPair 13:34:13 No results found 13:56:55 -!- copumpkin has joined. 13:56:56 -!- copumpkin has quit (Changing host). 13:56:56 -!- copumpkin has joined. 13:59:48 copumpkin how do iteratees work i need the two minute version 13:59:51 erm 13:59:53 rather 14:00:03 how do i run two iteratees in parallel with the iteratee package :D 14:00:06 i know how they work 14:00:06 i 14:00:10 can't find it in the documentation :( 14:00:11 beats me, I don't know the packages for them 14:00:13 i am close to giving up, on everything 14:00:18 and crying forever 14:00:23 it's a distinct possibility 14:02:01 eneeCheckIfDone :: (Monad m, NullPoint elo) => ((Stream eli -> Iteratee eli m a) -> Iteratee elo m (Iteratee eli m a)) -> Enumeratee elo eli m a 14:02:03 what....... 14:09:10 -!- ais523_ has quit (Quit: Page closed). 14:24:29 im bringing out the big boys, wc on one gig file 14:25:47 $ time ./wc quux 14:25:47 4195819 4193543 1073741824 14:25:47 real0m5.058s 14:25:53 not bad at all!! 14:26:28 wc takes fourteen seconds, even with LC_ALL=C 14:26:37 ok todo: fix word handling 14:28:24 :T groupBy 14:28:26 :t groupBy 14:28:27 forall a. (a -> a -> Bool) -> [a] -> [[a]] 14:28:34 > groupBy (not . isSpace) "abc def quux" 14:28:34 Couldn't match expected type `a -> GHC.Bool.Bool' 14:28:35 against inferred ... 14:28:52 > groupBy (\a b -> not (isSpace a) && isSpace b) "abc def quux" 14:28:53 ["a","b","c ","d","e","f ","q","u","u","x"] 14:28:59 > groupBy (\a b -> isSpace a && isSpace b) "abc def quux" 14:29:00 ["a","b","c"," ","d","e","f"," ","q","u","u","x"] 14:29:04 > groupBy (\a b -> not (isSpace a && isSpace b)) "abc def quux" 14:29:05 ["abc def quux"] 14:32:07 elliott_: I see. 14:32:12 yes. 14:43:54 ok i'm bored of wc 14:47:17 elliott_, your Haskell wc was faster than the C one? 14:47:56 Lymia: yes, although it's not quite fair: 14:48:10 - I don't actually count words properly (but I did something _as expensive_ as doing it properly :)) 14:48:17 - I have fewer features 14:48:24 Although I suppose the only extra feature wc has is... multibyte support 14:48:28 And I turned that off with LC_ALL 14:48:45 Lymia: So yeah, ha ha ha, I beat GNU with twenty lines of Haskell. 14:48:56 ...and a bunch of good libraries. 14:49:02 Heh. 14:49:04 (OK, a bunch = one) 14:49:57 How much run-time overhead is there to Haskell code vs C code anyways? 14:50:12 ask a question that makes sense and perhaps you will receive an answer :) 14:54:07 What does sense mean? 14:54:18 it means nothing :| 15:00:20 it depends what you're using to run the haskell code 15:00:55 also, isn't there that special cpu that's designed to speed up haskell 15:00:59 the reducertron or something 15:01:36 lol 15:01:38 reduceron 15:01:43 it doesn't actually run haskell 15:01:46 just a subset graph reduction language 15:01:58 but yeah it reduces purely functional programs super fast 15:03:08 haskell -> reduceron compiler gogogo 15:03:55 Patashu: it wouldn't be hard 15:04:00 ghc core is pretty close sort of 15:05:15 -!- hiato has joined. 15:08:04 hi hiato 15:08:22 greetings elliott_ 15:09:37 * Lymia hugs hiato 15:09:38 Hi! 15:10:00 salutations, Lymia 15:10:15 is today a particularly good day Lymia ? 15:10:53 -!- variable has joined. 15:10:59 Not enough hugs 15:11:17 I see 15:12:10 -!- MigoMipo has quit (Read error: Connection reset by peer). 15:35:14 -!- myndzi has quit (Ping timeout: 258 seconds). 15:38:25 hmm, if not wc then what 15:38:34 WHAT OTHER PROGRAMS _ARE_ THERE 15:38:57 -!- IronEagle has joined. 15:40:32 cal 15:40:33 @Mehrdad Even if Haskell has a procedural language for IO there is a big difference between Haskell and Scheme. Say that you write [putStrLn "ABCDE", putStrLn "12345"] in Haskell. This will not do any IO. It's a list of two IO computations, but they have to "get in contact" with main to actually execute. So IO values really do behave like any other values in Haskell, except that main is special. – augustss 2 days ago 15:40:33 @sdcvvc: Thanks for the link, looking at it right now. @augustss: I don't see how the fact that everything is delayed makes Haskell purely functional... if you delay it, it's still going to happen, but it's just later than when you think. How does that make any difference? – Mehrdad yesterday 15:40:33 Unknown command, try @list 15:40:33 Unknown command, try @list 15:40:36 stackoverflow :( 15:43:51 -!- monqy has joined. 15:45:44 hi monqy 15:46:23 hi 15:50:16 -!- Lymia has quit (Ping timeout: 260 seconds). 15:50:47 -!- Lymia has joined. 15:56:14 -!- DocHerrings has joined. 15:59:14 elliott_, monqy: hello again. 15:59:52 hello 16:00:17 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 16:00:18 Okay, Eodermdrome Interpreter v2.0 complete 16:01:16 Anyone want to help me debug? I promise it looks better - I even used comments! ;) http://pastebin.com/WudDDi4Y 16:03:17 ^ elliott_ ? 16:04:10 oh hey cool hi 16:04:23 i am rather tired so i do not know how much help I will be :) 16:04:26 is it still broken? 16:04:29 it looks prettier tho 16:04:33 (defun graph-transform (subgraph sclosed replacement rclosed) 16:04:33 (progn 16:04:36 doesn't defun have implicit progn 16:04:44 It works much better. 16:05:15 And yes, sorry. To many if statements and etc mean I reflexively use progn to be safe. 16:05:36 "sorry"? i was just curious :) 16:05:41 and by much better, does it run the example or not? :D 16:05:52 ais was here earlier, you just missed him :( 16:06:07 It does work, with my test-case program. 16:06:21 yay 16:06:32 if oerjan's program doesn't i suspect it's simply broken, the program that is 16:07:37 Well, it does work... now I just have to make it a bit less deterministic. As it is, rules are checked in-order. 16:09:13 -!- myndzi has joined. 16:13:03 -!- IronEagle has quit (Read error: Connection reset by peer). 16:13:11 -!- IronEagle has joined. 16:13:13 DocHerrings: heh :) 16:13:32 what? 16:13:37 wrt less deterministic 16:13:45 DocHerrings: you might want to permute the rules or similar rather than using icky unreliable random numbers :) 16:14:17 That's what I was thinking. Maybe scramble the rule table every 5 iterations? 16:15:48 elliott_ : I think I know why orjan's program does not work. I think he forgot the closed node degree rule. 16:16:19 shhhh, he might ban you :) 16:16:29 DocHerrings: i'd scramble it every iteration, more fun 16:16:39 Gasp! ;) 16:17:29 He should thank me, now he can be right! 16:18:00 DocHerrings, wait, you wrote an Eodermdrome interpreter? 16:18:14 Yes, yes I did, Phantom_Hoover. 16:18:21 Bastard! 16:18:23 ? 16:18:29 I was going to do that! 16:18:33 At some point! 16:18:41 In the near-to-mid-to-distant future! 16:18:46 Sorry. We can compare notes/implementations some day. 16:20:24 I honestly can't imagine a better way to implement it than I did, so it would be interesting to see some other method. 16:21:02 Wait.... 16:21:32 i hope DocHerrings realises all this hostility is false :D 16:21:48 Hold on, oerjan's code might be correct. I made one assumption that I meant to ask ais about. 16:21:59 And yes, I get the jokes. :p 16:22:18 Also I was totally going to use Haskell to do it so my implementation is better even though it doesn't and probably won't exist. 16:22:36 Oh, you're the Arborealis guy. 16:22:39 All is forgiven. 16:23:34 Is it ironic that someone beat me to implementing my own language? 16:24:38 No. 16:24:58 DocHerrings: no, but it is funny as all hell. 16:25:46 I blame python for making it to easy. And it seems the Arborealis bug died out already. 16:25:52 *too 16:26:01 IronEagle, sorry, you realise that Eodermdrome wasn't implemented for quite a few years. 16:26:02 What would happen if the FURscript person came here? 16:26:29 Sgeo: who? 16:26:37 Sgeo, we would all be nice to him in a clearly sarcastic way. 16:26:43 'the'? only one? 16:27:21 IronEagle, http://esolangs.org/wiki/FURscript whoever made this 16:27:31 what do you all hate about FURscript? 16:27:44 you have to ask? :D 16:28:02 Pretty much everything. 16:28:22 elliot_: it doesn't seem that bad. it's bad, but its not THAT bad. 16:28:35 did you erm, read it? 16:28:44 yes 16:28:45 [DRVFREE="DIRECTORY"] CHECKS THE SPACE OF THE DRIVE (MB'S) 16:28:45 [DIRFORMAT="DIRECTORY","BYPASSSECURITY?"] FORMATS A DRIVE AND ASKS WHETHER TO BYPASS ALL RESTRICTIONS 16:28:46 It haunts my coding nightmares. 16:28:48 this is not a language 16:28:51 [SYSDIAG] CHECKS THE OS VERSION 16:28:54 these don't even do anything 16:29:06 this is a random string of words where some commands have : and others a space and others = and it has no control flow 16:29:07 no variables 16:29:10 nothing program at all 16:29:19 it defines "procedures" but not what a procedure is, how it's named, anything 16:29:29 And the caps... well, that is just par for course in hell. 16:29:40 it's amazing really, it betrays a complete lack of understanding of... any possible concept of programming 16:29:56 It's like HQ9+ except the author thinks it's usable 16:30:11 elliott_: well, it does seem to be only a concept. It doesn't say that the compiler that will implement it can't have variables 16:30:33 Ooh! Variables as an implementation-defined feature 16:31:03 all I'm saying is, if the articles in [[Category:Shameful]] don't set off major alarm bells in your head, you _might_ be reading them wrong 16:31:18 apart from Esme, Esme shouldn't set off alarm bells, it's just the best language. 16:31:20 I just created an awesome awesome language. 16:31:27 Sgeo: is it everything is implementation defined 16:31:31 elliott_, yes 16:31:34 awesome 16:31:38 i can do literally everything with it 16:32:31 EgoBot needs an Esme interpreter. 16:32:52 elliot_: I just see potential. there is a language created to be the hardest to understand, WHY NOT a language meant to be the most hated language? 16:33:09 IronEagle: but the guy who made it is, according to the source who dumped it there, completely serious and sincere about it 16:33:13 and doesn't even think it's an esoteric language 16:33:14 IronEagle, which language is that? 16:33:20 The person who designed this language was 100% serious about it and the vb6 compiler, but I think he got as far as a text box and a copyright notice before going back to programming his graphics calculator. --Einsidler 10:44, 24 Nov 2006 (UTC) 16:33:22 Phantom_Hoover: FURscript. 16:33:29 I thought that was Malbore's nitch anyways... 16:33:36 Phantom_Hoover: I'll add an Esme interpreter to EgoBot. 16:33:41 elliott_, no, hardest to understand. 16:33:42 Hey, I liked programming my graphics calculator! 16:33:58 !veebeewiki\esmerelda BootStrapInstall:E S M E; \E\S\M\e\I\n\s\t\al\l 16:34:01 Phantom_Hoover: There we go. 16:34:23 Phantom_Hoover: Please go to http://www.vfd.org/esmeralda-cgi-bin/egobot.pl to use it. 16:34:24 EsoShell? 16:34:44 -_- 16:34:45 Sounds vaguely PESOIX related, which is PSOX related... 16:34:55 The creator of Esme is a blasphemer! 16:35:00 BLASPHEMY! 16:35:13 Who mentioned EsoShell? 16:35:28 http://esolangs.org/wiki/Esme 16:35:35 "The VeeBeeWiki wiki software needs Esme and Perl to run. The software also needs EsmeCSS: and EsoShell: namespaces." 16:35:40 ...did I break the chat? 16:35:49 Phantom_Hoover: /msg 16:35:52 What? 16:35:54 IronEagle: we're still talking aren't we? 16:36:12 elliott_, wha? 16:36:16 If you /msg me, it shows up. 16:36:20 Phantom_Hoover: ive been sending you /msgs 16:36:24 -!- IronEagle has quit (Read error: Operation timed out). 16:36:29 rip ironeagle 16:36:29 If I haven't responded, it probably means I didn't have anything to say. 16:36:32 died of furscript 16:36:48 Phantom_Hoover: inside i am crying 16:36:54 Or that my goddamn connection went down but it's been pretty good for the last couple of days. 16:37:15 i just said "HELLO CAN YOU HEAR ME" did you get that 16:37:18 if so your connection is not down 16:37:24 The shameful category really needs to exist. 16:37:39 -!- aloril has quit (Ping timeout: 250 seconds). 16:38:19 DocHerrings: If we create the page, the Great Summoning will occur, and Graue will reap our souls from the deep. 16:39:11 elliott_: then we will save it for the great Ending, when FURscript becomes popular. 16:39:25 maybe ironeagle created furscript and we hurt their feelings :( 16:39:31 i feel bad now. kind of. 16:39:53 elliott_, I have had one or two congenial emails from graue; may I brave his terrible wrath? 16:40:00 Phantom_Hoover: NOBODY CAN 16:40:05 STUX TRIED AND WE NEVER HEARD FROM HIM AGAIN 16:40:18 Nope, because even ironeagle admitted that it was a hateful language, elliott_ 16:40:35 hmmmm 16:41:41 Oh, and I am terrified to admit that oerjan's program is almost certainty wrong. 16:42:15 GASP 16:42:22 * Phantom_Hoover casts himself in front of DocHerrings to take the blow. 16:42:37 NNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 16:43:23 Would it make it worse if I fix the program? 16:44:06 Yes. 16:44:12 DocHerrings, don't worry, I'm already dead. 16:44:13 That would be thinking yourself as good as oerjan. 16:44:17 And a hoover. 16:44:18 And a vampire. 16:44:18 And gay. 16:44:35 (These last two are according to fungot, though.) 16:44:49 elliott_ : GASP, that's impossible! Best not to anger him then. 16:45:08 I will let sleeping graphs lie. :p 16:46:44 DocHerrings, what's wrong with it? 16:47:05 Well, here is the assumption that has me stumped: Are all connections unique? 16:47:59 you cannot possibly hope to answer such questions without oerjan's phd 16:48:05 ask him sometime 16:48:07 To put it graphically, is 'ab' the same as 'aba'? 16:49:12 The problem is, no matter what I assume, oerjan's program still terminates after the first match. 16:50:08 -!- aloril has joined. 16:54:31 DocHerrings, you mean is it a multigraph? 16:54:39 It seems safe to assume that it isn't. 16:55:01 Well, oerjan's program does not work in either case, and I did make that assumption. 16:55:27 Hmm. Have you traced it manually? 16:55:56 Yes 16:56:38 Come to think of it, I'm sceptical of oerjan's init structure. 16:57:23 I parse miewehit as (m-i-e-w) (e-h) (i-t)m which isn't how he does it. 16:57:30 16:57:51 Oh, wait, that's not how it works. 16:58:17 It's simpler than I though, actually. 16:58:52 *thought 17:19:41 Dear Global Agenda updater: Please stop guessing time based on percentage and the assumption you're downloading the entire game again. 17:20:17 That was a fasst 9 hours 17:21:59 -!- oerjan has joined. 17:24:31 Ah ha! 17:24:54 Okay, I will admit, my bad. I missed a very important tidbit in the specs. 17:25:05 Hmmm, now how to fix the interpreter 17:25:06 Does that fix it? 17:25:14 And what's the tidbit? 17:25:28 The name of the node is immaterial. 17:26:12 It... is? 17:26:19 Well that makes everything terrible. 17:26:44 Um, it is? 17:26:52 The algorithm suggests it isn't. 17:27:04 How the heck am I going to implement this? The shape if of the graph is what matters, nothing else. 17:27:23 I had each node being identified by name. 17:27:26 Wait, you weren't calculating isomorphism‽ 17:27:43 ...whoops... 17:27:54 I should've looked at your code, I could have saved you hours. 17:28:22 Yes, I was. But I was calculating it strictly. I had all nodes being unique. 17:29:48 DocHerrings: um the nodes in a given rule are distinct, if that's what you mean 17:30:02 Yes. That was it. 17:30:57 they certainly should be distinct. they're just not necessarily the same from each application of a rule to the next. 17:31:48 Well, all that needs to be changed is the subgraph matching portion. Not too bad. 17:32:13 oh wait, are you still confused about whether aba == ab 17:32:36 DocHerrings, sorry, let me get this straight: were you matching nodes by label to detect subgraphs? 17:32:36 Or just for moving nodes around while replacing? 17:32:38 DocHerrings, erm, what are you labelling created closed nodes as? 17:32:46 different occurences of the same letter in a rule are identical nodes, of course 17:33:02 *occurrences, er lemme look that up 17:33:53 Phantom_Hoover: The nodes were identified internally by letter, making this implementation essentially a 'strict' eodermdrome. 17:34:21 oerjan, yeah, but it looks like he stores the whole graph as (label,label) where label is a character. 17:34:25 DocHerrings, you mean there can't be more than 26 nodes? 17:35:32 Phantom_Hoover: well, this explains two things, one: the implementation felt too easy, and two: I was puzzled how a limited system could be turing complete. 17:36:18 DocHerrings, FWIW, your label system is salvageable with some modifications. 17:36:58 Phantom_Hoover: Yes, I am aware. The set up is sound, just the graph re-writing system needs work. 17:37:38 :D 17:37:42 this is fun 17:37:53 when all is said and done maybe i'll write THE BEST haskell eoderm 17:39:05 Okay, so all the parts of graph-transform need to be changed, as well as subgraphp. That should be the entirety of the problem. 17:40:04 -!- copumpkin has quit (Ping timeout: 276 seconds). 17:41:23 Ah, I don't have time to finish today. 17:41:50 DocHerrings, your subgraph detection code looks too short to be implementing proper isomorphism detection. 17:42:25 "It needs to be more complicated!" 17:42:51 elliott_, well, it does. 17:43:41 The beauty of my system (when I thought it worked) is that it was simple. Now it's going to get very complicated. 17:44:05 Subgraph isomorphism *is* NP-complete, after all. 17:45:13 DocHerrings, there is some comfort to be found in the fact that the parser is extremely simple. 17:45:20 ? 17:45:58 -!- copumpkin has joined. 17:45:59 -!- copumpkin has quit (Changing host). 17:45:59 -!- copumpkin has joined. 17:47:36 Hmm, what's a good way of representing graphs in Haskell to start with? 17:47:54 data.graph 17:48:08 and also HANDS OFF MY LANGUAGE 17:48:18 Whelp, I guess I will log off now. I leave my code to whoever wants it http://pastebin.com/WudDDi4Y . If you have an idea, go at it. I will work on it in the interim. 17:48:31 Phantom_Hoover: 17:48:33 elliott_, I was not-writing an Eodermdrome interpreter before it was cool. 17:48:44 oh, eodermdrome is grasp's tarpit. got it. 17:48:52 quintopia, ...no. 17:49:20 terrible misspelling of ais523 you've got there 17:49:39 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]). 17:49:47 oerjan: can i just say that your program is pretty 17:49:54 why thank you 17:49:55 it's so pronounceable :> 17:50:13 i spent some time substituting letters at the end 17:51:05 elliott_, you should do a dramatic reading of it 17:51:26 hmm tempting 17:52:35 Have fun pronouncing "scewelklihiandnabarfrux" 17:52:49 Phantom_Hoover: it looks like the primary operation is the subgraph transformation. this would make it grasp without the ability to define your own initial graph or classes of graphs. 17:53:03 Phantom_Hoover: done 17:53:06 quintopia, that's not the 'primary operation'. 17:53:38 It's like saying the primary operation of Lazy K is combinator substitution. 17:54:44 what happens when when a command happens? a subgraph gets transformed. program execution consists of repeatedly transforming subgraphs (in arbitrary order). i'm not seeing what you're hung up on 17:55:00 quintopia, it's essentially the imperative/declarative difference. 17:55:47 Phantom_Hoover: oerjan: http://www.mediafire.com/?kpprnmm3wiyqdpp 17:56:27 nevertheless, it looks like implementing eodermdrome in grasp would be more trivial than in any other language 17:56:32 elliott_, you're BUTCHERING IT 17:56:52 Phantom_Hoover: You record it, then, with your superior knowledge of Gaelic pronunciation or whatever. 17:57:02 oerjan: sure hope you're listening :< 17:58:08 For one thing, 'miewehit' should be pronounced 'mee-ay-way-heet', not 'my-ewit". 17:58:23 Phantom_Hoover: Recording or shut up. 17:58:33 You're just racist against my accent. 17:58:35 Dialect. Whatever. 17:58:39 elliott_, I have no microphone. 17:58:48 It's a humanitarian catastrophe. 17:59:29 Not even in your laptop? 17:59:34 No. 18:07:19 -!- Wamanuz2 has quit (Remote host closed the connection). 18:07:46 -!- Wamanuz2 has joined. 18:13:40 :t curry (uncurry (&&) . (isSpace *** isSpace)) 18:13:42 sheesh 18:14:00 :t (&&) `on` isSpace 18:14:01 Char -> Char -> Bool 18:14:46 oerjan: well aren't YOU fancy 18:16:22 elliott_: also, were you trying to combine multiple spaces to one? 18:16:54 :t on 18:16:54 forall b c a. (b -> b -> c) -> (a -> b) -> a -> a -> c 18:16:59 because i'm guessing you didn't just want to keep the first one 18:17:18 > unwords . words $ " :t curry (uncurry (&&) . (isSpace *** isSpace)) 18:17:18 : 18:17:19 lexical error in string/character literal at end o... 18:17:21 argh 18:17:36 > unwords . words $ "arcs \n opq q" 18:17:39 "arcs opq q" 18:18:00 elliott_: also, were you trying to combine multiple spaces to one? 18:18:00 @src words 18:18:00 words s = case dropWhile isSpace s of 18:18:00 "" -> [] 18:18:00 s' -> w : words s'' where (w, s'') = break isSpace s' 18:18:02 yeah 18:18:11 wods wasn't an option 18:18:12 words 18:18:16 oerjan: i was golfing wc 18:18:17 erm 18:18:18 not golfing 18:18:19 oerjan: optimising 18:18:52 well i wouldn't be _sure_ that unwords . words is slower... 18:18:52 oerjan: after i managed to have it run over a one gibibyte file in four seconds with constant memory usage -- seconds better than gnu wc even with multibyte explicitly disabled -- I decided I was done :) 18:18:59 no, as in, I wasn't using String 18:19:02 aha 18:19:08 and I was working on partial blocks of data 18:19:09 04:17:09: Isn't the problem with Eodermdrome efficient implementation? 18:19:26 oerjan: but anyway, I never quite got my word counting right, but what I was doing was approximately as expensive, so I consider it a Haskell victory anyway 18:19:33 It shouldn't be too inefficient if you use the optimising trick Ullman's algorithm supposedly has. 18:19:38 oerjan: (the real success is Oleg's for inventing the iteratees I used) 18:19:52 (and actually he optimised wc before me, although he just zipped together byte/word/line counters rather than doing it manually) 18:20:00 (admittedly, with iteratees, it's hard to discern the difference) 18:20:00 i.e. for known H it takes polynomial time to calculate if H is a subgraph of G. 18:21:46 Phantom_Hoover: well it's pretty obvious that's polynomial, that doesn't mean it's efficient :P 18:22:21 oerjan, then where does the inefficiency come from? 18:22:24 so hopefully ullman's algorithm does something cleverer 18:22:43 Phantom_Hoover: from the polynomial degree being something like the subgraph size? 18:23:21 elliott_: I'd imagine that making wc efficient wouldn't be hard, especially compared to GNU wc, which undoubtedly has many GNU pessimizations. 18:23:35 pikhq_: indeed, but getting it short _and_ pretty is another thing entirely 18:23:36 Also, C string handling is a bitch and a half. 18:24:29 pikhq_: um irrelevant 18:24:34 any serious wc has to be streaming anyway 18:24:37 Is for GNU wc. :P 18:24:42 i.e. consume constant memory 18:25:48 pikhq_: http://sprunge.us/VFNY 18:25:49 $ time ./wcgood quux 18:25:49 4195819 8389362 1073741824 18:25:49 real0m4.492s 18:25:55 faster than gnu wc, and ridiculously short and readable 18:25:55 Yeah, at a bare minimum it's going to have to load up a buffer and count chars, ' ' and '/n'. Already you're losing, as far as simplicity goes. 18:26:01 OK yes it counts spaces, not words 18:26:10 but when I did have something that did something wrong, but just as expensive as, counting words, it was just as fast 18:26:19 but yeah, look at that code, it's so pretty :D 18:26:57 http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/wc.c For comparison. 18:27:19 pikhq_: i'm actually really tempted to write one that does multibyte too 18:27:21 and words correctly 18:27:29 and just have it as fast as possible while still looking really pretty in haskell 18:27:32 like, hundred lines or less 18:27:55 pikhq_: oh, and that thing literally has constant memory usage 18:27:59 as in, it doesn't even go up, down, up, down 18:28:09 it uses effectively 0 memory on top of the one meg ghc overhead, throughout the whole run 18:28:41 pikhq_: 18:28:45 $ time wc wcgood 18:28:46 4224 58978 4244751 wcgood 18:28:46 real0m0.227s 18:28:46 $ time ./wcgood wcgood 18:28:46 4224 28282 4244751 18:29:06 real0m0.025s 18:29:13 pikhq_: i assumed wc would like, almost as fast 18:29:22 *GNU* wc? 18:29:22 but it's the difference between basically instant and a noticeable pause, heh 18:29:29 pikhq_: oh wait, that's unfair 18:29:31 let me use LC_ALL=C 18:30:02 pikhq_: ok, with LC_ALL=C, mine is only about twenty to thirty milliseconds faster. consistently. 18:30:11 i wonder how much of that is RTS startup. 18:31:02 The default output for GNU wc shouldn't depend on locale. 18:31:10 pikhq_: it uses different algorithms 18:31:12 the output is the same 18:31:19 but it runs like ten to a hundred times faster if you use LC_ALL=C 18:31:26 Seeing as its default is *byte*, word and newline counts. 18:31:31 Not character. 18:31:36 pikhq_: yep, but it does it anyway 18:31:37 don't ask me why 18:31:48 You're fucking kidding me. 18:32:07 pikhq_: difference between point two seven seconds and point zero seven seconds 18:32:13 on a ~four meg file 18:32:21 -!- ttm_ has quit (Ping timeout: 246 seconds). 18:32:24 difference between fourteen and, like, six seconds on a gigabyte file 18:32:30 Actually... 18:32:34 $ time ./wcgood ~/.VirtualBox/HardDisks/Windows\ 7.vdi 18:32:34 53437845 185691578 9403793920 18:32:34 real0m46.428s 18:32:35 ten gig file 18:32:36 not bad 18:32:38 not bad at all 18:32:40 Counting words depends on locale. 18:32:44 yeah this thing pretty much scales perfectly 18:32:52 -!- ttm_ has joined. 18:33:05 * elliott_ tries gnu wc on it 18:33:06 JUST FOR LAUGHS 18:33:08 i'll come back in ten minutes 18:33:14 pikhq_: does it? i mean, does gnu wc know that? 18:33:22 jesus christ this code is hideous 18:33:35 case '\v': 18:33:35 mb_word_separator: 18:33:37 One of the few things GNU stuff does right is localisation. 18:33:42 pikhq_: is it like 18:33:47 because you can encode a space differently? 18:33:52 Yes. 18:33:53 they don't seem to do anything particularly smart 18:33:56 if (iswspace (wide_char)) 18:34:03 does iswspace do anything locale-specific? 18:34:09 or is it literally just isspace for wchars 18:34:16 pikhq_: well that's stupid, there's no way it should take that much time 18:34:20 pikhq_: decoding utfeight is trivial 18:34:29 pikhq_: anyway, the files im using are invalid utf 18:34:30 All the is* stuff is locale-specific. 18:34:35 so it'd be weird if it tried to decode them and then just... silently failed 18:34:39 " but it's the difference between basically instant and a noticeable pause, heh" 18:34:45 " The behavior of iswspace() depends on the LC_CTYPE category of the cur‐ 18:34:45 rent locale. 18:34:45 " 18:34:50 Wrong paste. 18:34:59 Phantom_Hoover: I realise the results are different, see above. 18:35:09 pikhq_: real0m46.428s real1m44.228s 18:35:11 guess which is which 18:35:13 and yes I used LC_ALL=C 18:35:32 To do it right on a Unicode locale, you need to perform a database lookup. 18:35:57 pikhq_: the thing with words is that its so much harder to do than line counting 18:36:04 pikhq_: with line counting, you just check the ten bytes in each block 18:36:10 with words, you have to handle the ends 18:36:19 and pass on info about whether the end was space or a not 18:36:24 to the next chunk's loop 18:38:07 pikhq_: btw -m slows down gnu wc massively with a locale 18:38:13 like, even more than just having a locale and calling it normally 18:38:59 Yes, it then has to perform a glyph count, which is non-trivial. 18:39:29 What with combining characters. 18:40:30 pikhq_: I think I'll put off doing chars for now :P 18:40:34 ?hoogle [Maybe a] -> [a] 18:40:35 Data.Maybe catMaybes :: [Maybe a] -> [a] 18:40:35 Data.Maybe maybeToList :: Maybe a -> [a] 18:40:35 Prelude sequence :: Monad m => [m a] -> m [a] 18:41:41 elliott_: Well, at the very least you'll have the advantage of Haskell's handling of it sucking less. :P 18:47:50 oerjan: how does $ interact with >> again 18:48:57 $ has lowest precedence 18:49:15 > (0$0 >>) 18:49:16 The operator `GHC.Base.>>' [infixl 1] of a section 18:49:17 must have lower pre... 18:51:24 > const >> f $ a :: Expr 18:51:25 f a 18:51:46 * oerjan cackles evilly 18:52:34 > return >> f $ a :: Expr 18:52:35 Ambiguous type variable `m' in the constraint: 18:52:35 `GHC.Base.Monad m' 18:52:35 a... 18:52:39 wat 18:53:12 ?pl I.zip it countWords >>= \(r,n) -> r { wcWords = n } 18:53:12 (line 1, column 37): 18:53:12 unexpected "{" 18:53:12 expecting variable, "(", operator, ">>", ">>=", "=<<", ">>>", "^>>", "^<<" or end of input 18:53:21 how is that ambiguous, return is a function 18:53:23 ?pl I.zip it countWords >>= \(r,n) -> ifuckinghateyouass r 18:53:23 ifuckinghateyouass . fst =<< I.zip it countWords 18:53:26 sdoijdsoifjodisf 18:53:39 ?pl (\(r,n) -> ifuckinghateyouass r) `fmap` I.zip it countWords 18:53:40 (ifuckinghateyouass . fst) `fmap` I.zip it countWords 18:53:42 oh wait 18:53:47 ?pl flip fmap 18:53:47 flip fmap 18:53:49 >_< 18:54:02 :t (<$$>) 18:54:03 Not in scope: `<$$>' 18:54:04 oops 18:54:11 I got it confused with something else I guess 18:54:24 probably a mixture of <$> and <**> 18:54:32 @hoogle f a -> (a -> b) -> f b 18:54:33 Prelude fmap :: Functor f => (a -> b) -> f a -> f b 18:54:33 Control.Applicative (<$>) :: Functor f => (a -> b) -> f a -> f b 18:54:33 Control.Monad fmap :: Functor f => (a -> b) -> f a -> f b 18:54:35 oerjan: why do haskell records suck so much :( 18:54:49 hmph none of those 18:55:58 -!- TOGoS has joined. 18:56:04 -!- TOGoS has left. 18:56:13 :t (^>>) 18:56:14 forall b c (a :: * -> * -> *) d. (Arrow a) => (b -> c) -> a c d -> a b d 18:56:25 * Sgeo tries to imagine a GoL-like CA with conservation of mass 18:56:31 :t (^<<) 18:56:31 forall c d (a :: * -> * -> *) b. (Arrow a) => (c -> d) -> a b c -> a b d 18:56:38 never mind I will just use fc-labels 18:57:08 Here's a thought: 23/3 like usual, except a cell is only born if exactly 1 cell next to it would die, and visa versa (cell only dies if one cell next to it would be born) 18:57:22 Are there unresolvable situations? 18:57:26 Also, speed of light increases 18:57:46 Sgeo: i'm uncertain that would give a finite neighborhood 18:58:23 Well, by would, I think I mean would under the 23/3 rule... but stil, yeah, hmm 18:58:45 in that case, i don't think it would actually preserve mass 18:59:14 Hmm... 18:59:17 example? 18:59:39 because you could have 1 cell next to one that would be born/die, while _that_ cell has two neighbors that would die/be born (including your first one) 19:01:10 pikhq_: http://sprunge.us/YVON 19:01:10 If there's two neighbors that would whatever, then nothing happens... but then, that gives an infinite neighborhood 19:01:14 pikhq_: i'm overengineering this good 19:01:42 exactly, my intuition says you would get a cascade of checking 19:02:45 Hmm 19:03:02 pikhq_: :D 19:03:18 How else could conservation of mass be implemented? Or conservation of energy? Basically, I'm just trying to imagine a universe where there's resources for hypothetical life to compete for >.> 19:03:44 -!- Wamanuz2 has quit (Read error: Connection reset by peer). 19:04:01 Mass sounds easier to implement 19:04:12 -!- Wamanuz2 has joined. 19:04:53 i recall once wondering if rule 110 had a conserved quantity, but i got stuck 19:05:49 ?hoogle [a -> a] -> (a -> a) 19:05:49 Data.Generics.Schemes everywhere :: (a -> a) -> a -> a 19:05:49 Data.Generics.Schemes everywhere' :: (a -> a) -> a -> a 19:05:50 Prelude until :: (a -> Bool) -> (a -> a) -> a -> a 19:05:52 grr 19:05:56 :t foldl' (.) id 19:05:57 forall a. [a -> a] -> a -> a 19:06:42 didn't we agree it should be foldr (.) id last time? 19:06:52 does it make a difference for a finite list? 19:06:54 oh, yes, it does 19:06:55 (a few days ago) 19:07:00 my operations are commutative, though 19:07:04 where opt field ctr = \it -> uncurry (setL field . Just) `fmap` I.zip it ctr 19:07:12 they're basically adding things to my result vector 19:07:45 elliott_: well maybe not really, but foldr preserves easy access to the outermost function which in haskell is applied first... 19:07:55 right 19:09:19 :t foldr (<<<) id 19:09:20 forall c. [c -> c] -> c -> c 19:09:23 er 19:09:32 :t foldr (<<<) (arr id) 19:09:33 forall (cat :: * -> * -> *) a. (Arrow cat) => [cat a a] -> cat a a 19:13:17 Here's a thought: 23/3 like usual, except a cell is only born if exactly 1 cell next to it would die, and visa versa (cell only dies if one cell next to it would be born) 19:13:44 We speculated about this months ago and came to no conclusion. 19:14:13 Then I read that paper on physical systems in CAs and discovered that it's trivial with the Margolus neighbourhood. 19:14:26 I don't remember taking part in the discussion 19:14:41 maybe something similar to day and night would be easier, since that already has a sort of balance between on and off cells 19:15:13 oh margolus? 19:16:31 Sgeo, IIRC it was mainly me, elliott_ and cpressey. 19:18:13 oerjan: why isn't there a foldr' :D 19:18:15 ?hoogle foldr' 19:18:15 Data.ByteString foldr' :: (Word8 -> a -> a) -> a -> ByteString -> a 19:18:15 Data.Foldable foldr' :: Foldable t => (a -> b -> b) -> b -> t a -> b 19:18:15 Data.ByteString.Char8 foldr' :: (Char -> a -> a) -> a -> ByteString -> a 19:18:19 oh there is... just not in Data.List 19:20:29 oerjan: pikhq_: guess what's eighty-six lines already and can't even count bytes yet 19:22:35 elliott_, all your cocaine? 19:22:44 yes 19:23:51 -!- IronEagle has joined. 19:24:15 -!- cheater_ has joined. 19:24:33 OK, I left when I killed the chat. as I was asking, what is wrong with a language being made to be the most hated? 19:25:28 IronEagle, that's so utterly circular you could use it to measure pi. 19:25:54 you didn't kill the chat. 19:25:58 you just didn't see our messages or something 19:26:02 we were talking constantly 19:26:04 It's a language made to be most hated; by definition, *everything that could possibly be wrong with it, is.* 19:26:13 it's not dead, it's just resting 19:26:21 pikhq_: oerjan: http://sprunge.us/KeUQ hey look i... made it actually pretty? 19:26:23 start with a brainfuck derivative 19:26:28 sort of? 19:26:36 GAH Brainfuck derivatives. 19:26:50 monqy, excellent start. 19:27:16 Unfortunately I will have to brickbrain you before you can go any further. This is good, keep it up! 19:27:29 elliott_: oh, sorry. But the way I see it, there is nothing wrong with having the perfect 'what not to do' example for people designing languages 19:27:31 somehow make it even less original 19:27:42 IronEagle: brainfuck derivative: don't do this 19:28:01 IronEagle: The issue is we have too many of those. 19:28:19 monqy, in all fairness, there are a couple of good ones, but they tend to be far removed from your standard BF derivative. 19:28:32 Arborealis, for instance, is excellent. 19:28:36 monqy: are you kidding me? I'd do those just to be allowed to use the word fuck more often. 19:28:45 IronEagle: how old are you 19:29:02 IronEagle, http://esolangs.org/wiki/User:Phantom_Hoover 19:29:16 monqy: I won't tell you unless you tell me yours. 19:29:20 fuck fuck fuck fuck fuckity fuck 19:29:25 CARTMAN 19:29:31 IronEagle: it was a rhetorical question 19:29:52 IronEagle: are you older than me 19:29:55 clearly IronEagle is 93 19:30:11 BF + some more instructions is an infuriatingly common design. 19:30:19 BF with renamed instructions 19:30:23 hohoho 19:30:33 oerjan: its slower at counting characters than my older one, im going to profile it 19:30:33 There are no original ways to do either. Full stop. 19:30:34 :DDD 19:30:46 Notable changes in semantics are very, very uncommon. 19:31:09 -!- cheater_ has quit (Ping timeout: 244 seconds). 19:31:10 copulatio celebralis 19:31:18 er 19:31:27 *copulatio cerebralis 19:31:54 oh no, wc has a memleak 19:31:58 very bad 19:32:09 countBytes :: Counter 19:32:09 countBytes = I.liftI $ go 0 19:32:09 where go n (I.Chunk xs) = I.liftI $ go (n + B.length xs) 19:32:11 go n s@(I.EOF _) = I.idone n s 19:32:11 Probably building up a thunk. 19:32:13 oerjan: does that look sufficiently strict to you? 19:32:18 pikhq_: yeah but i avoided all this last time... 19:32:27 option :: (WC :-> Maybe Int) -> Counter -> WCOption 19:32:27 option field ctr = \it -> uncurry (setL field . Just) `fmap` I.zip ctr it 19:32:30 maybe it's this 19:32:58 Hmm, can we make a page on the wiki called "Making an esolang: what not to do"? 19:32:59 option Main 468 0 66.5 68.4 68.0 69.3 19:32:59 countBytes Main 479 413864 1.5 0.9 1.5 0.9 19:33:01 elliott_: my brain is not properly on today 19:33:06 spending most of the time and allocation in option you say? 19:33:09 I do believe I have found my bug 19:33:52 oerjan: not even enough to make one teeny weeny function slightly more strict? :P 19:34:30 nope 19:34:45 pikhq_: :| 19:34:48 what about YOUUUU 19:35:46 IronEagle: are you an eagle irl 19:36:45 he probably killed the chat again 19:37:06 lol 19:37:19 elliott_: well i now do notice it's not strict in n, if that matters 19:37:20 Eagles are renowned for hunting chats. 19:37:26 elliott_: irl? 19:37:29 oerjan: it isn't? 19:37:31 IronEagle: in real life 19:37:41 yes. yes I am. 19:37:48 oerjan: that is very important because it's going to grow to beellions and beellions 19:37:50 how could it be, you are never testing n in go 19:37:54 oerjan: um addition is strict 19:37:57 but right 19:37:58 go isn't 19:38:02 easy to fix 19:38:16 http://esolangs.org/wiki/Grin 19:38:31 This is essentially a textbook example of what not to do with an esolang. 19:38:32 still have a leak, though 19:38:37 undoubtedly in option 19:39:26 monqy: are you going to take IronEagle up on his ageswap 19:39:29 its a good deal 19:39:53 elliott_: perhaps that fmap is also building thunks of what to apply 19:40:15 oerjan: I think it is, but there's a finite, fixed (less than five) number of times it'll be composed onto itself 19:40:16 ageswap? 19:40:21 so I think the insidiousness is actually in the lhs, the uncurry thing 19:40:23 ageswap. 19:40:30 IronEagle: yeah, monqy tells you his age, you tell him yours 19:40:43 IronEagle, you both meet in an inconspicuous location with a briefcase. 19:40:50 In the briefcases are your ages. 19:40:55 You swap the briefcases. 19:41:02 i can confirm Phantom_Hoover 19:44:30 -!- esowiki has joined. 19:44:51 -!- esowiki has joined. 19:45:12 -!- esowiki has joined. 19:45:34 -!- esowiki has joined. 19:45:55 -!- esowiki has joined. 19:46:16 -!- esowiki has joined. 19:46:37 -!- esowiki has joined. 19:46:58 -!- esowiki has joined. 19:47:19 -!- esowiki has joined. 19:47:40 -!- esowiki has joined. 19:47:40 -!- glogbot has joined. 19:47:43 -!- HackEgo has joined. 19:47:51 !haskell :t "?" 19:47:53 ​"?" :: [Char] 19:48:15 welcome back prgmr! 19:48:37 rip 19:48:38 `wtf netsplits 19:48:39 why netsplits is like wtf 19:48:39 pir 19:48:53 -!- Gregor has joined. 19:49:13 `wtf foo 19:49:14 why foo is like wtf 19:49:19 -!- Gregor has changed nick to Guest13856. 19:49:33 `run echo `which wtf` 19:49:33 hi Guest13856 19:49:35 ​/tmp/hackenv.26795/bin/wtf 19:49:47 `run cat `which wtf` 19:49:49 ​#!/bin/sh \ echo "why $1 is like wtf" 19:50:04 `quote why internet 19:50:05 131) alise: why internet is like wtf 19:50:21 i could never give poor fungot a straight answer. 19:51:30 -!- zzo38 has joined. 20:00:53 !haskell :t \f -> uncurry (f . Just) 20:00:56 ​\f -> uncurry (f . Just) :: (Maybe a -> b -> c) -> (a, b) -> c 20:01:19 oerjan: i think that whole option architecture may be elegant but flawed 20:01:31 I think it builds up a shitload of loops that just zip and zip and zip and process it and uh 20:01:32 I dunno 20:01:38 Wait no that happens at the end 20:01:39 WTF is going on? 20:01:47 Maybe it's inlining countBytes into the option call 20:01:50 And thus measuring incorrectly 20:02:13 'cuz I mean 20:02:13 option :: (WC :-> Maybe Int) -> Counter -> WCOption 20:02:13 option field ctr = \(!it) -> do (!a,!b) <- I.zip ctr it; return $! setL field (Just a) b 20:02:19 No way that is taking up the entirety of my time and space. 20:03:04 -!- lambdabot has joined. 20:03:15 oerjan: HE COMES 20:03:39 !vixen Are you female? 20:03:42 er 20:03:46 @vixen Are you female? 20:03:46 isn't it obvious? 20:04:17 @list 20:04:17 http://code.haskell.org/lambdabot/COMMANDS 20:04:23 oerjan: no no no. he is the _evil_ part of lambdabot. 20:04:26 she is the rest of it. 20:04:42 eek 20:05:01 elliott_, there's such an obvious pun to make here. 20:07:54 O...K... 20:08:01 encrypted.google.com isn't working. 20:08:33 @vixen What does this command do? 20:08:33 i'll hafta plead the fifth on that one. 20:17:03 -!- IronEagle has left. 20:17:33 @vixen a simple yes or no will suffice 20:17:33 i didn't think so 20:20:04 @vixen Does {x|x \nin x} contain itself? 20:20:04 i think you know the answer to that one, silly 20:20:13 @vixen Does {x|x \nin x} contain itself? 20:20:13 good question 20:20:23 @vixen Do you ever give a straight answer? 20:20:23 i dunno, what was the question? 20:26:27 oerjan: ok, it is _definitely_ the function chain thing that's causing the leak 20:27:14 or wait, is it 20:27:15 WTF? 20:27:20 I seem to leak just by running the constant thingies 20:27:37 OH WAIT HMM 20:28:16 Yep, that's it. 20:32:33 -!- blancnoir has quit (Quit: leaving). 20:41:24 oerjan: the space leak has reached "fucking inexplicable" level 20:41:27 :( 20:41:35 sometimes I think laziness isn't worth it 20:42:07 laziness is always worth it 20:42:12 it pays off right now! 20:42:13 that's what I was going to say 20:42:30 the ULTIMATE in instant gratification 20:42:48 elliott_, consider asking in #haskell? 20:43:12 Phantom_Hoover: nah, it's basically a mechanical process to find out what i need to strictify :D 20:45:09 -!- cheater_ has joined. 20:52:43 -!- elliott_ has quit (Remote host closed the connection). 20:53:10 -!- elliott has joined. 20:53:12 http://www.reddit.com/r/IAmA/comments/i5csn/iama_male_that_plans_to_raise_my_testosterone/ 20:53:18 Reddit, you have reached a new low. 20:54:26 see i thought from the title they were actually serious or whatever and was preparing myself for cringe 20:54:27 what is this shit 20:54:44 I agree with elliott 20:57:05 elliott, there's another thing saying that not masturbating for a week increases testosterone levels by 45.7%. 20:57:29 this is just the worst 20:57:43 Phantom_Hoover: cool, so it's actually not any less stupid than it looks at all? 20:57:45 cool 20:58:02 monqy: let's turn to the top ten items of the main page, perhaps there is something to redeem reddit there 20:58:04 If homosexuality is genetic, wouldn't it have bred itself out of the population over the last few thousand years? (self.AskReddit) 20:58:06 whoops 20:58:26 whoops 20:58:44 "Tay-Sachs is a genetic disease that usually kills its victims at a very young age, long before they are able to reproduce. It has not been bred out of the population because it is a recessive trait. Recessive traits, even if they affect reproduction, aren't completely removed from a population because of heterozygosity. 20:58:45 Furthermore, homosexuals can, and often do, reproduce to pass on their dna. Think of historical times when women had little choice, lesbian or not." 20:58:55 THEM HOMOSEXUALS JUST KEEP BREEDIN' WHETHER THEY WANT TO OR NOT 21:00:08 Let's look at the top 10 on /r/all. 21:00:17 god no 21:00:32 "I found out that I am truly an Atheist. It was a hard lesson." 21:00:49 "I wouldn't want to mess up his perfect cheekbones." 21:00:54 what / what 21:01:05 why reddit why 21:01:14 -!- kwertii has joined. 21:01:37 A weight with the sun reflecting off it, with "Message from the gods" as the title. 21:01:55 An indie developer plugging themself. 21:02:12 "I found out that I am truly an Atheist. It was a hard lesson." 21:02:13 are you serious 21:02:19 is reddit serious 21:02:19 A highly original comparison between a floppy disk and a micro SD card 21:02:24 monqy: reddit used to be serious 21:02:47 is there a serious reddit, or at least a reddit that is nonserious in a good way 21:03:00 Aaaand... a very slightly witty "most interesting man in the world" meme. 21:03:07 Christ, how old are those things? 21:03:10 where by reddit I mean reddit equivalent 21:03:26 monqy: i'm scared that there is 21:03:32 monqy: i'm afraid that it might be slashdot 21:04:27 "I think that kid might have the gay." http://www.reddit.com/r/pics/comments/i5fdo/i_wouldnt_want_to_mess_up_his_perfect_cheekbones/ quality comments 21:04:53 wow this is the 21:04:54 :'( 21:04:54 worst 21:04:55 comment thread 21:04:58 "This isn't Chuck Norris' Dad, clearly." 21:05:06 I died 21:05:27 GIMME_DOWNVOTES -15 points 1 hour ago 21:05:27 good 21:05:32 monqy where do you go to get not terrible links to things don't say this channel 21:06:02 is that a trick question 21:06:13 no 21:07:03 I typically only get terrible links, actually :( 21:07:48 elliott, basically, you need to just read TrueReddit. 21:08:07 The links are a bit better, and you get an air of unbearable elitism! 21:08:15 delicious 21:08:17 thanks but i get enough of that talking to you for five minutes 21:08:46 Only a clearly inferior person would say something like that. 21:15:00 "Last week I had a heart attack. As I sat in the emergency room gasping for breath the question of religion came up. I answered without thinking "atheist". The admissions nurse grinned, and told me that that was the first time in 20 years anyone had given that answer." 21:15:03 monqy: this is going to be good post 21:15:12 Y'know, reddit would be vastly improved by two features: tags, and the ability to ignore tags. 21:15:25 pikhq_: people have been demanding tags since two thousand and five dude 21:15:27 *Specifically*, the ability to ignore the tag "meme". 21:15:40 like anyone would tag things "meme" 21:15:55 Ah, right, this relies on people being intelligent. 21:15:55 19-year-old suspected of being mastermind behind computer hacking group LulzSec arrested in UK (content.met.police.uk) 21:15:56 MASTERMIND 21:15:59 MASTERMIND 21:16:03 And memes get upvoted. 21:16:06 pikhq_: no, it relies on them being motivated and also agreeing with you on tags 21:16:40 How's about we just murder most of humanity? 21:16:42 SOLUTION 21:17:26 elliott, hey, that game with the coloured pegs is called Mastermind. 21:17:29 Standards have dropped. 21:17:37 pikhq_, Mars colony 21:17:52 Phantom_Hoover: Yes, but that leaves them still extant. 21:18:01 Phantom_Hoover: you got that from the top comment 21:18:04 pikhq_, yeah, but what're they going to do? 21:18:11 elliott, got what? 21:18:22 mastermihdndjijgi 21:18:42 pikhq_: well given that these are presumably the _stupid_ people you want to send, chances are it's only time before someone opens the airlock 21:19:45 no its the good people who go to amrs 21:19:46 mars 21:20:00 elliott, I swear I came up with that independently. 21:20:01 oerjan: "GOD TOLD ME THERE'S AIR OUT DERE" 21:20:16 pikhq_, you vastly underestimate the scope of stupidity. 21:20:32 pikhq_: "DARWIN TOLD ME HE'S GOT AN AWARD FOR YOU" 21:30:56 -!- pikhq_ has quit (Ping timeout: 264 seconds). 21:34:42 Mr. _______ told you to make "59 eye 1 Mewtwo" deck. 21:35:49 -!- pikhq has joined. 21:41:57 Do you know how to make "59 eye 1 Mewtwo" deck? 21:55:36 SlashNET has some feature where it will display to me any time anyone uses the NS GHOST command (regardless of target) 21:58:41 -!- esowiki has joined. 21:59:18 -!- esowiki has joined. 21:59:59 -!- esowiki has joined. 21:59:59 -!- glogbot has joined. 22:04:45 q 22:05:18 YouTube suggests "the devil went down to george" before "the devil went down to georgia". 22:05:51 No, wait, it doesn't suggest Georgia *at all*. 22:06:23 someone really has it in for george 22:07:35 The devil went down to George and said "hey, George, can I borrow a couple of your souls?" George lent him some, but the devil never gave them back. 22:07:51 The rest of the song is about George trying to get the police to take him seriously. 22:08:58 -!- sebbu2 has joined. 22:08:58 -!- sebbu2 has quit (Changing host). 22:08:58 -!- sebbu2 has joined. 22:09:46 02:10:02: It is estimated that that would suffice for a whole-brain simulation from a low-level physics simulation. 22:09:50 Yeah, have fun with that. 22:10:03 We don't know how a single neuron works, let alone how they interact. 22:11:09 -!- elliott has left ("Leaving"). 22:11:18 -!- elliott has joined. 22:11:45 -!- sebbu has quit (Ping timeout: 240 seconds). 22:11:46 -!- sebbu2 has changed nick to sebbu. 22:11:47 And I'm pretty sure they can't be abstracted significantly from the atomic level. 22:12:19 wouldn't it be awesome if neurons were just super simple 22:12:24 ten lines o' code 22:12:28 elliott, yes. But they aren't. 22:12:33 WELL THEY SHOULD BE 22:13:23 02:25:33: No need for absurdly large quantities of energy, just a much faster computer than exists now. 22:13:35 And, y'know, a precise understanding of how the brain works. 22:13:40 Phantom_Hoover: so you don't think it's tractable to simulate neurons with pretty much anything but a direct recreation of a neuron, right? 22:13:57 elliott, I'm very sceptical. 22:14:17 Biochemistry is an extremely complex thing, and you can't just pretend it isn't there and hope that nothing goes wrong. 22:14:27 it always strikes me as trying to emulate a ridiculously parallel computer with a sequential one 22:14:31 which will just NEver Work 22:15:54 I mean, I only have idle speculation, but... there's no reason the brain is likely to be easy to optimise. 22:16:11 You can try but I don't know how well it is going to work 22:16:19 Phantom_Hoover: the brain is actually compiled, god actually writes this like 22:16:24 five hundred times bigger, modularly organised network 22:16:31 and compiles it down to a superoptimised tight network 22:16:34 tru fax 22:17:16 through fax? no wonder e's a little unstable 22:17:32 oerjan: you know, e could be watching this channel right now. 22:17:43 AYEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 22:20:12 Calling "God" a "person" is what causes you to come up with these things. Better is to describe other way. Such as, "e could be watching this channel right now" would be irrelevant; "god actually writes this like five hundred times bigger..." nonsense and clearly untrue... 22:20:24 i was talking about fax. 22:20:57 Fax? What fax? 22:21:08 oerjan: make the pain stop 22:22:02 Pain? What pain? 22:22:16 Maybe you mean "paint"? 22:23:42 oerjan: between this and a space leak 22:25:28 elliott: so basically you've been _very_ wicked in a previous life 22:26:00 maybe i was god 22:26:24 The wickedest man of all. 22:26:46 Surpassed only in wickedness by the wicked witches of the west and east. 22:26:52 you talking about me again? 22:26:58 Yes. 22:27:03 k 22:27:19 So wait, are you the wicked witch of the west or east? 22:27:20 The Great Pumpkin 22:28:56 `addquote The wickedest man of all. Surpassed only in wickedness by the wicked witches of the west and east. you talking about me again? Yes. k 22:28:57 462) The wickedest man of all. Surpassed only in wickedness by the wicked witches of the west and east. you talking about me again? Yes. k 22:35:08 -!- Vorpal has quit (Ping timeout: 264 seconds). 22:35:57 * Phantom_Hoover → sleep 22:35:59 -!- Phantom_Hoover has quit (Quit: Leaving). 22:38:32 oerjan: heap profiles are not always helpful: http://i.imgur.com/bILdj.png 22:38:40 copumpkin: ^ :D 22:39:11 so what's (474)option/ds_d2IT/proces... 22:39:47 monqy: i suspect it is processOpts and option merged together by some kind of optimisation 22:39:54 i have a feeling that countBytes has got merged in too, though 22:40:02 meaning that the figures are rather unhelpful for tracking down the space leak 22:40:19 perhaps compile without optimisation while tracking down the space leak, or would that unhelp too 22:40:38 monqy: i think it'd unhelp because all the clever stuff ghc is doing to the code would not happen 22:40:43 i'll try it if i can't track this leak down, though 22:40:56 -hc is the profile which doesn't require turning on profiling while compiling, isn't it? 22:41:00 aha, a type breakdown is a bit more helpful 22:41:08 oerjan: um i don't know, I thought I did 22:41:21 ok so Stream is taking up the most well that's out of my hands 22:41:23 then bytestring then 22:41:23 bleh 22:41:25 this isnt helpful 22:45:06 I guess I'll have to sovle it tomorrow 22:45:21 [asterisk]solve 22:48:04 How many people intentionally try to go to jail? 22:48:58 usually only former convicts who can't cope with the real world 22:49:51 or people who would actually have better living conditions in prison, i suspect 22:50:49 i will accept much worse living conditions than prison to have my freedom 22:52:14 How good are you at Pokemon Card? 22:52:58 quintopia: yeah, but you'd also stock up on gold if society collapsed, and also I doubt you've ever experienced _truly_ horrific living conditions, so I wasn't exactly using you as a benchmark 22:53:43 Did you know that ... Imakuni? wants you to play him as a basic pokemon but you can't 22:54:06 elliott: i'm not crazy, and my imagination is better than you give credit to. 22:54:34 i didn't say you were crazy, and i never mentioned your imagination; you're the one assuming you'd be a good benchmark here 22:56:45 did i? i'm claiming that i am, yes, pretty typical. i know some people value security more than me, and others value freedom more than me. perhaps i'm a bit closer to the freedom end of the spectrum than average. 22:57:30 there is no way i can communicate what i was trying to to you 22:57:34 sorry 22:57:41 -!- pikhq_ has joined. 22:57:50 -!- pikhq has quit (Ping timeout: 244 seconds). 22:59:33 zzo38: i'm not really into pokemon 23:00:28 was that an xkcd reference 23:00:33 @babaus2 23:00:33 babau babaus 23:00:34 @LulzSec lol U should Use the word "legitimate"more refrainly as ALL that FRAUD like ALL COURTS, THEIR "LAWS"..i.e STATUTES=ACTS of DECEIT 23:00:34 wow twitter is great 23:00:34 Unknown command, try @list 23:00:34 Unknown command, try @list 23:00:37 monqy: twitter 23:00:41 twitter 23:00:46 what's this about 23:00:50 i have no idea 23:00:52 /about what is this 23:00:59 oh a lulzsec quote I've heard of them 23:01:04 no thats not lulzsec 23:01:07 thats someone addressing them 23:01:08 oh 23:01:10 I mean 23:01:12 @LulzSec 23:01:13 Unknown command, try @list 23:01:29 (i don't use twitter) 23:01:39 so uh 23:01:42 "Stop fearing three-letter agencies, friends. They're humans with slightly more paper and fancier uniforms; they are just like you and me. :)" 23:01:42 what is that guy trying to say 23:01:52 --lulz security, rational people?? 23:02:00 could be 23:02:05 and what's that babaou thing 23:02:18 some guy 23:02:24 replying to "Ryan Cleary is not part of LulzSec; we house one of our many legitimate chatrooms on his IRC server, but that's it." 23:02:34 i guess you shouldn't say legitimate because governments aren't legitimate? god knows 23:02:41 http://twitter.com/#!/babaus2 23:02:42 ..born..curious....gone ..furious.. Women = Beauty, Body, Brain..;-)...hmm.. Men = Mental, Midgets, Male...lol.. 23:02:48 i think we've found ourselves an intellectual guys 23:03:00 tempted to do a dramatic reading of that line 23:03:16 twitter... 23:03:39 there is a twitter account called PhilosophyQuotz 23:03:49 was PhilosophyQuotes taken, and if so, why was that their second choice 23:03:58 quotz 23:04:02 http://twitter.com/#!/PhilosophyQuotz 23:04:06 gangsta philosophy of the streets 23:04:30 Philosophy quotes and quotes by philosophers. 23:04:47 they might just quote like 23:04:54 charles barkley 23:04:57 if he says something about philosophy 23:05:04 http://twitter.com/#!/PhilosophyQuotes hmm 23:05:53 wow 23:07:19 "People secretly want all video game characters to be planes." 23:07:53 Maybe some people do. 23:07:59 lara croft, the plane 23:08:13 #esoteric -- come for the esolangs, stay for the zzo38 23:09:04 is this plane fetishism, a joke, or just nonsense 23:09:07 And then you need to add ", leave for the ________" something too. 23:09:19 monqy: everything is nonsense, i make sure to remove all the context i can when quoting 23:09:23 #esoteric -- come for the esolangs, stay for the zzo38, leave for the zzo38 23:09:42 does that mean leave because zzo38 is here or leave to follow zzo38 home 23:09:44 -!- zzo38 has set topic: #esoteric -- come for the esolangs, stay for the zzo38, leave for the zzo38 | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 23:09:53 monqy: you decide 23:12:01 it's just the plane truth 23:20:36 -!- onca has joined. 23:20:52 onca: came here for the esolangs? 23:21:17 I have idea something that I would like to see in LLVM, is to have commands to deal with activation records and stack, such as one to mark the return stack, one to copy the return stack to the mark, and one to restore from the copy (any number of times until the mark and/or copy becomes invalid) 23:21:28 -!- azaq23 has joined. 23:21:34 As well possibly things that directly activate data stored in activations records somehow 23:21:55 for once i agree with you 23:22:05 doesn't it have something for that though? 23:22:39 Not quite. 23:23:51 elliott, what's a esolang and how many do I need? 23:24:06 onca: Look at wiki and then you decide. 23:24:51 there's a poor chap in the # that is speaking to me in espainol and I was looking through channels for something with the -es or -sp in the title and stumbled on to this chan. 23:25:01 haha 23:25:06 well. 23:25:07 not quite :) 23:25:14 oh here let me copy our wiki im lazy 23:25:18 Welcome to the esoteric programming languages wiki! This wiki is dedicated to the fostering and documentation of programming languages designed to be unique, difficult to program in, or just plain weird. Here's how you can explore this wiki. 23:25:18 An esoteric programming language is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use. 23:25:25 onca: but erm 23:25:32 we're very good at toying with newbies until they disappear 23:25:45 we'd be happy to take on a patient gratis right oerjan 23:26:25 eso no es español 23:27:14 elliott. 23:27:14 I disagree with that definition. 23:27:17 It excludes Perl. 23:27:43 jesus christ 23:27:53 how many times have you done the whole perl is an esolang stick i recall like at least three other times 23:28:02 surely its getting old no matter how funny it was originally 23:28:57 that would include all programming languages. 23:29:02 but I'm game. 23:29:08 should I start the bidding on ada? 23:29:19 bidding? erm yes definitely sure. 23:29:24 bidding? 23:29:24 sold. 23:29:36 onca: Why do you need bidding? 23:30:06 ada auction 23:30:08 I dont need bidding. 23:30:15 just trying to liquidate 23:30:23 Liquidate what? 23:30:35 everything must go. 23:30:43 im glad this channel doesnt have a really explicitly obvious name itd like halve our day to day irc funtimes 23:31:04 also, magenta. 23:31:15 orange you glad I didn't say bananas? 23:31:35 Everything of what? 23:31:44 no, we like the occasional banana scheme 23:31:50 I prefer bananas over oranges, myself 23:32:14 trilime unite 23:32:34 by the power of something 23:34:52 goodnight, tomorrow i shall write best wc 23:35:28 west corea 23:35:29 oerjan: definitely greyskull 23:35:54 ic 23:36:09 You could have: i8* .mark() i8* .save(i8*) void .continue(i8*) void .discardmark(i8*) void .discardsave(i8*) Now you can make something similar to call/cc possibly 23:37:07 um you can do that with setjmp can't you, surely llvm supports that? 23:37:25 Yes it does support setjmp and longjmp 23:38:13 But I am not sure if it does what I am saying 23:39:09 -!- elliott has quit (Ping timeout: 252 seconds). 23:39:38 Simply restoring the stack pointer and frame pointer is not enough in some cases 23:40:25 oh 23:41:24 oerjan: The only usage of setjmp and longjmp that's not undefined is jumping up the stack. 23:43:31 -!- onca has quit (Quit: Leaving.). 23:45:54 -!- oerjan has quit (Quit: Good night). 23:55:09 This new way might help a lot of things 23:55:39 will it help me acquire moneys? 23:57:27 I don't know. 23:59:28 Shut up and take my monkey! 23:59:44 No. 23:59:48 -!- augur has quit (Remote host closed the connection).