annotate paste/paste.18029 @ 12257:1924fe176291 draft

<fizzie> ` sed -e \'s|wisdom|bin|\' < ../bin/cwlprits > ../bin/cblprits; chmod a+x ../bin/cblprits
author HackEso <hackeso@esolangs.org>
date Sat, 07 Dec 2019 23:36:53 +0000
parents ed818e3e44da
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4200
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
1 2013-12-12.txt:05:12:24: <tswett> Heheh. My phone tried to correct "Aru" to "Arufonsu".
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
2 2013-12-12.txt:05:12:40: -!- tswett is now known as Arufonsu.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
3 2013-12-12.txt:05:12:50: <Arufonsu> Not a bad nick.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
4 2013-12-12.txt:05:12:58: <ais523> ~duck Arufonsu
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
5 2013-12-12.txt:05:13:07: <Arufonsu> "Alphonse".
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
6 2013-12-12.txt:05:14:41: <Arufonsu> pikhq: it isn't?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
7 2013-12-12.txt:05:15:02: <pikhq> Arufonsu: Explain "tomodachi to hanashita"
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
8 2013-12-12.txt:05:15:20: <Arufonsu> I don't know what those words mean.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
9 2013-12-12.txt:05:17:18: <pikhq> Arufonsu: "tomodachi" is "friend", "hanashita" is "talk" past tense.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
10 2013-12-12.txt:05:17:56: <Arufonsu> Huh, cool.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
11 2013-12-12.txt:05:18:37: <Arufonsu> So yeah, vaguely like "included".
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
12 2013-12-12.txt:05:18:51: <Arufonsu> "My friend included, I talked."
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
13 2013-12-12.txt:05:19:06: <Arufonsu> "Ed included, Al is going to end up dead."
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
14 2013-12-12.txt:05:22:24: <Arufonsu> (Pretty sure it sounded like Edo to me.)
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
15 2013-12-12.txt:05:23:29: <Arufonsu> Is that what it says in the manga?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
16 2013-12-12.txt:05:23:49: <Arufonsu> Stupid joke:
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
17 2013-12-12.txt:05:24:03: <Arufonsu> What language are manga written in? Manganese.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
18 2013-12-12.txt:05:47:24: -!- Arufonsu has quit (Ping timeout: 246 seconds).
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
19 2013-12-19.txt:01:36:56: -!- Arufonsu has joined #esoteric.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
20 2013-12-19.txt:01:56:13: <Arufonsu> So I'm trying to think what the best esoteric programming language is.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
21 2013-12-19.txt:01:56:30: <Arufonsu> Not merely the best existing one, but the best possible one.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
22 2013-12-19.txt:01:57:01: <Arufonsu> My criteria are something like "similar to Underload".
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
23 2013-12-19.txt:01:57:45: <Arufonsu> I've gotta say, though, /// is a pretty great language.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
24 2013-12-19.txt:01:58:03: <madbr> Arufonsu : in that case, the answer is "underload"
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
25 2013-12-19.txt:01:58:33: <Arufonsu> Bike: you have a point, here.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
26 2013-12-19.txt:01:58:36: <Arufonsu> madbr: you also have a point, here.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
27 2013-12-19.txt:01:59:43: <Arufonsu> I really like languages that use code as data. Indeed, languages where there's barely any distinction between code and data.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
28 2013-12-19.txt:02:00:17: <madbr> Arufonsu: My attempt at that: http://esolangs.org/wiki/Univar
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
29 2013-12-19.txt:02:01:27: <Arufonsu> I also like languages where the interpreter loop consists of removing the first instruction from the code and executing it, presumably modifying the rest of the code.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
30 2013-12-19.txt:02:03:27: <madbr> Arufonsu : My other attempt (unimplemented): http://esolangs.org/wiki/Object_disoriented
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
31 2013-12-19.txt:02:05:17: <Arufonsu> So, so far, the languages I like are... Underload and ///? I think Smurf is also pretty good.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
32 2013-12-19.txt:02:05:21: <madbr> Arufonsu : you should probably look at look at http://esolangs.org/wiki/0x29A
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
33 2013-12-19.txt:02:06:00: <Arufonsu> madbr: so when this says "full, deep copy", that means the object is copied, as well as every object it references, every object each of those objects references, and so on?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
34 2013-12-19.txt:02:07:30: <Arufonsu> Ah. That makes it easy.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
35 2013-12-19.txt:02:08:30: <Arufonsu> I guess the thing about /// is that it's a bit too far removed from anything resembling a practical programming language.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
36 2013-12-19.txt:02:08:45: <Arufonsu> (Which is a self-crediting way of saying "I have no idea how to write programs in ///".)
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
37 2013-12-19.txt:02:08:59: <LinearInterpol> Arufonsu: research markov algorithms.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
38 2013-12-19.txt:02:09:38: <Arufonsu> LinearInterpol: Markov algorithms look like Thue.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
39 2013-12-19.txt:02:11:36: <Arufonsu> So, lessee. My platonic ideal programming language is in the "remove and execute on remainder" paradigm.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
40 2013-12-19.txt:02:11:45: <Arufonsu> I'm not sure I'd consider lambda calculus to be object-oriented at all.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
41 2013-12-19.txt:02:12:36: <Arufonsu> Encapsulation is a pretty critical feature of OO languages, right? I guess Haskell lets you encapsulate stuff pretty well.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
42 2013-12-19.txt:02:14:25: <Arufonsu> Closures are totally transparent. There's no observable difference between a closure and an ordinary function.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
43 2013-12-19.txt:02:15:02: <Arufonsu> I think in the PIPL, symbols shouldn't just be symbols; they should be functions.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
44 2013-12-19.txt:02:15:13: <Arufonsu> Indeed, functions taking a program and yielding a program. Or... uh...
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
45 2013-12-19.txt:02:15:54: <Arufonsu> Hang on, let me try to figure out whether or not the idea of a statically typed "remove and execute on remainder" language makes any sense at all.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
46 2013-12-19.txt:02:17:54: <Arufonsu> I dunno. I want this to be a catenative language, but catenativity and RAEOR seem to be pretty much mutually exclusive.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
47 2013-12-19.txt:02:18:54: <Arufonsu> Then again, if you do some sort of continuation fuckery...
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
48 2013-12-19.txt:02:23:34: <Arufonsu> Perhaps what I'm after is a language where programs can't just be written in their final form; they have to constantly construct themselves. But they should do so in a particularly elegant manner.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
49 2013-12-19.txt:02:25:25: <Arufonsu> /// is pretty much the pinnacle of some sort of ideal.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
50 2013-12-19.txt:02:25:30: <Arufonsu> Not sure which one.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
51 2013-12-19.txt:02:26:22: <Arufonsu> madbr: http://esolangs.org/wiki////
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
52 2013-12-19.txt:02:26:53: <Arufonsu> Yes. Without it, there's exactly one instruction, which hangs.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
53 2013-12-19.txt:02:26:57: <Arufonsu> Namely, ///.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
54 2013-12-19.txt:02:29:06: <Arufonsu> In theory, a /// programming environment could be really nice. Like, you'd do the same thing that Smalltalk does, where you pretty much just have one single self-modifying program that you use for all of your programming.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
55 2013-12-19.txt:02:29:16: <Arufonsu> And it'd be nice because you could define new syntax constantly.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
56 2013-12-19.txt:02:29:30: <Arufonsu> In practice, no.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
57 2013-12-19.txt:02:30:09: <LinearInterpol> I'll admit I haven't researched on /// but you're in a good paradigm, Arufonsu
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
58 2013-12-19.txt:02:31:32: <Arufonsu> Okay, here's an idea. So, a program is a series of instructions. The instructions are SEEK(n), MARK, COPY, DELETE, and PASTE.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
59 2013-12-19.txt:02:32:32: <Arufonsu> Your main memory is, of course, the remainder of the program. In addition to that, you have two cursors: the primary cursor and the mark cursor. You also have a clipboard.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
60 2013-12-19.txt:02:33:29: <Arufonsu> SEEK moves the primary cursor. MARK moves the mark cursor to the primary cursor. COPY replaces the contents of the clipboard with the instructions between the primary cursor and the mark cursor. DELETE deletes everything between the primary cursor and the mark cursor. PASTE inserts the contents of the clipboard before the primary cursor.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
61 2013-12-19.txt:02:37:41: <Arufonsu> Yeah, Those are the commands.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
62 2013-12-19.txt:02:37:51: <Arufonsu> The program manipulates itself.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
63 2013-12-19.txt:02:39:32: <Arufonsu> Working on it.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
64 2013-12-19.txt:02:40:16: <Arufonsu> SEEK(4) MARK SEEK(1) COPY PASTE
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
65 2013-12-19.txt:02:40:34: <Arufonsu> "SEEK(4) MARK SEEK(1) COPY" copies "PASTE" to the clipboard, then "PASTE" pastes "PASTE" right after itself.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
66 2013-12-19.txt:02:42:05: <Arufonsu> I never said it was absolute.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
67 2013-12-19.txt:02:42:11: <Arufonsu> I've been thinking it was relative all along.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
68 2013-12-19.txt:02:42:32: <Arufonsu> I wouldn't expect it to be too hard to implement Bitwise Cyclic Tag using this stuff.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
69 2013-12-19.txt:02:42:38: <Arufonsu> Lemme see here.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
70 2013-12-19.txt:02:45:01: <Arufonsu> This doesn't actually seem possible.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
71 2013-12-19.txt:02:45:07: <Arufonsu> Well, not obviously.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
72 2013-12-19.txt:02:45:26: <Arufonsu> There's no way to "look at" code without running it.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
73 2013-12-19.txt:02:46:01: <Arufonsu> Yeah, I guess you could make it so that 0 is one piece of code and 1 is a different piece of code.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
74 2013-12-19.txt:02:46:19: <Arufonsu> What pieces of code they are depends on what the program string is.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
75 2013-12-19.txt:02:47:18: <Arufonsu> Yeah, I guess so.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
76 2013-12-19.txt:02:49:14: <Arufonsu> If you had a few more cursors, everything would suddenly become way better.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
77 2013-12-19.txt:02:49:44: <LinearInterpol> Arufonsu: or two tapes.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
78 2013-12-19.txt:02:50:10: <Arufonsu> Like, you already have three cursors: the instruction pointer, the main cursor, and the mark.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
79 2013-12-19.txt:02:51:18: <Arufonsu> We could say that SWAP exchanges the main cursor and the mark, and JUMP exchanges the main cursor and the instruction pointer.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
80 2013-12-19.txt:02:52:40: <Arufonsu> I guess now there's no great reason not to say you can't edit parts of the program that have already been executed.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
81 2013-12-19.txt:02:52:53: <LinearInterpol> Arufonsu: pretty much.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
82 2013-12-19.txt:02:54:08: <Arufonsu> So here's a simple infinite loop: SEEK(3) SEEK(-2) JUMP
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
83 2013-12-19.txt:03:01:05: <Arufonsu> Yeah, I didn't specify exactly how JUMP works.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
84 2013-12-19.txt:03:01:20: <Arufonsu> The instruction pointer moves forward before the cursors are swapped.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
85 2013-12-19.txt:03:02:03: <Arufonsu> So the main cursor ends up immediately after the JUMP instruction.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
86 2013-12-19.txt:03:02:34: <Arufonsu> The PASTE command puts stuff before the main cursor, not after.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
87 2013-12-19.txt:03:04:36: <Arufonsu> So that'd be like, (cmi) M S4 C P -> (cm) M (i) S4 C P -> (m) M S4 (i) C P (c) -> (m) M S4 C (i) P (c) -> (m) M S4 C P (i) M S4 C P (c) -> M S4 C P M (i) S4 C P (cm) -> M S4 C P M S4 (i) C P (m) _ _ _ _ (c)
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
88 2013-12-19.txt:03:04:44: <Arufonsu> Where (c) is the main cursor and (m) is the mark.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
89 2013-12-19.txt:03:05:08: <Arufonsu> Have I already said Markov algorithms sound like wimpmode Thue?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
90 2013-12-19.txt:03:08:46: <Arufonsu> Nah, this language sucks.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
91 2013-12-19.txt:03:09:24: <Arufonsu> It's not the One True Language.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
92 2013-12-19.txt:03:10:57: * Arufonsu plays an ascending and descending whole tone scale.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
93 2013-12-19.txt:03:14:30: <Arufonsu> Still trying to figure out the One True Language here.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
94 2013-12-19.txt:03:15:11: <Arufonsu> Like, a quine?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
95 2013-12-19.txt:03:20:10: <Arufonsu> Looks like this requires me to have a glib.h. What's that from?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
96 2013-12-19.txt:03:21:36: <Arufonsu> I know what glibc is!
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
97 2013-12-19.txt:03:21:44: <Arufonsu> But no, this is the first I've learned what glib is.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
98 2013-12-19.txt:03:21:57: <Arufonsu> What about gsl, is that related to glib?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
99 2013-12-19.txt:03:26:51: <Arufonsu> Apparently I actually have seven versions of glib installed.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
100 2013-12-19.txt:03:27:34: <Arufonsu> Only one of them is "activated".
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
101 2013-12-19.txt:03:28:20: <Arufonsu> So I assume "installed" means "present somewhere" and "activated" means "present in locations where applications will look for them".
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
102 2013-12-19.txt:03:50:55: <Arufonsu> All right. So, question about replifuck...
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
103 2013-12-19.txt:03:51:01: <Arufonsu> How do I do stuff?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
104 2013-12-19.txt:03:51:16: <Arufonsu> Like, all right, memory's been initialized. I can start the machine running, but there aren't any threads.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
105 2013-12-19.txt:03:52:44: <Arufonsu> How can I fork if there are no threads?
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
106 2013-12-19.txt:03:55:43: <Arufonsu> Maybe there are supposed to be threads, and there just aren't.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
107 2013-12-19.txt:03:56:35: <Arufonsu> Maybe, I guess.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
108 2013-12-19.txt:03:57:07: <Arufonsu> Here we go. If I load up a program, then there are threads.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
109 2013-12-19.txt:03:58:07: <Arufonsu> Dang, Terminal.app doesn't work with my vim configuration at all.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
110 2013-12-19.txt:03:58:45: <Arufonsu> When I load up vim, the entire terminal flashes at about a hertz.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
111 2013-12-19.txt:04:01:04: <Arufonsu> Pretty sure.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
112 2013-12-19.txt:04:01:27: <Arufonsu> Probably has something to do with mouse reporting or 8-bit color.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
113 2013-12-19.txt:04:10:25: <Arufonsu> Guess the nice thing about this is that I can just edit the source code.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
114 2013-12-19.txt:04:12:33: <Arufonsu> See you.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
115 2013-12-19.txt:04:16:15: <Arufonsu> Wow. replifuck is currently using 1.5 gigabytes of memory.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
116 2013-12-19.txt:04:16:18: <Arufonsu> That seems excessive.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
117 2013-12-19.txt:04:20:19: <Arufonsu> It had run for about 30,000 cycles, and there were 6,000 threads. So maybe each cycle leaked 50 kilobytes of memory, or maybe each thread was using 250 kilobytes of memory.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
118 2013-12-19.txt:04:25:41: <Arufonsu> Huh. I took a core sample of the process, and this seems to indicate it spends roughly 99.9% of its time looking for matching parentheses.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
119 2013-12-19.txt:04:26:22: <Arufonsu> The process was sampled 2,646 times, and of those 2,646 samples, 2,646 of them were in rf_find_matching_parentheses.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
120 2013-12-19.txt:04:27:12: <Arufonsu> I dunno. See: https://www.youtube.com/watch?v=lTF5z9YSs8w https://github.com/jgraef/replifuck
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
121 2013-12-19.txt:04:34:12: <Arufonsu> Yeah.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
122 2013-12-19.txt:04:34:32: <Arufonsu> Okay, it looks like it was actually just that one single run that was spending 99.9% of its time looking for matching parentheses.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
123 2013-12-19.txt:04:34:45: <Arufonsu> I've taken more samples of different runs, and these show that more interesting stuff is happening.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
124 2013-12-19.txt:04:35:31: <Arufonsu> Oddly enough, it's spending about 2/3 of its time executing cycles, and 1/3 of its time deleting threads.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
125 2013-12-19.txt:04:36:33: <Arufonsu> A majority of the time it spends executing cycles, it spends mutating randomly.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
126 2013-12-19.txt:04:36:40: <Arufonsu> And most of that time is spent generating random numbers.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
127 2013-12-19.txt:04:45:25: <Arufonsu> I'm gonna program in a limit to the possible jump distance.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
128 2013-12-19.txt:04:46:02: <Arufonsu> What I'm confused about is how the program apparently only searches for matching brackets in one direction.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
129 2013-12-19.txt:04:46:36: <Arufonsu> Maybe the ] command uses the stack to return to its [ command.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
130 2013-12-19.txt:04:48:45: <Arufonsu> I'm probably gonna ping out soon. Night, everyone.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
131 2013-12-19.txt:05:09:01: -!- Arufonsu has quit (Ping timeout: 272 seconds).
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
132 2013-12-19.txt:11:00:29: <oerjan> <Arufonsu> I've gotta say, though, /// is a pretty great language. <-- smooth.
ed818e3e44da <oerjan> pastelogs arufonsu
HackBot
parents:
diff changeset
133 2013-12-19.txt:11:04:54: <oerjan> `pastelogs arufonsu