←2014-11-13 2014-11-14 2014-11-15→ ↑2014 ↑all
00:00:00 <int-e> 19 ... that's the euclidean norm?
00:00:36 <int-e> no, that one is 18
00:00:38 <oerjan> no, the mccarthy 91
00:00:44 <int-e> ah
00:01:58 <int-e> otoh I still haven't gotten Basic Brainfuck Optimization. My code is already optimal, how dare you submit anything shorter ;)
00:02:16 <oerjan> anyway, you catching up on leapfroggin means whatever henkma did is possible ;)
00:02:29 <oerjan> neener neener
00:02:31 <Taneb> incomprehensibly, Basic Brainfuck Optimization?
00:02:50 <Taneb> *int-e,
00:02:58 <int-e> it just collapses +- -+ <> ><
00:03:28 <Taneb> Right
00:03:45 <Taneb> I'm (slowly) working on a very optimizing brainfuck compiler
00:03:55 <int-e> it doesn't eliminate the second loop for [...][...]
00:04:17 <int-e> nor does it do anything about >+<+>+<
00:04:22 <oerjan> and i guess i've already teased you with the fact i'm not doing anything really clever in it
00:04:33 <int-e> oerjan: you did.
00:04:58 <int-e> oerjan: if true, then I can beat you both, but it's more likely that I'm missing something straight-forward and easy
00:05:57 <Taneb> Any loop with equal numbers of >s and <s, where all subloops also match these criteria, I think you can simplify like loads when compiling to something sensible
00:06:05 <int-e> > length "c=='+'&&d=='-'||c=='-'&&d=='+'||c=='<'&&d=='>'||c=='>'&&c=='<'"
00:06:07 <lambdabot> 62
00:06:18 <zzo38> Another optimization would be to delete plus signs and minus signs before a comma if the implementation isn't "no change when EOF" implementation. You can also delete < > + - at the end of the program
00:07:02 <oerjan> int-e: ...there's no way you can be just 3 chars longer if you're doing _that_ kind of thing.
00:07:12 <int-e> oerjan: the 62 makes me feel better, my program would be so much longer :)
00:07:58 <Taneb> However, shorter brainfuck code is a very different goal than shorter compiler target code
00:08:10 <int-e> oerjan: it's obviously more than twice as long as necessary
00:08:43 <int-e> but it's less obvious by how much
00:08:52 <oerjan> int-e: i can think of two trivial mistakes that i could have done in my code (and i did one initially), that would make it 3 chars longer, hth
00:08:57 <Taneb> So I guess what I've spent a few hours thinking about recently is mostly irrelevant here
00:10:45 <int-e> Taneb: I've written one brainfuck-to-c converter, which recognized simple counting loops (like [-<+++<+>>]) and turned them into multiplications (a[p-1]+=3*a[p];a[p-2]+=a[p];a[p]=0;)
00:12:02 <Taneb> int-e, I think you can do another layer of cleverness beyond that with nested loops like that
00:12:10 <zzo38> Is level20.tex full of footnote fever or not? Someone on other channel also said they don't know, when I asked them.
00:13:26 <oerjan> Taneb: note that a corollary of my collatz_function work is that balanced bf loops are still tc so don't expect _always_ to be able to optimize.
00:13:42 <Taneb> oerjan, really?
00:14:14 <int-e> Taneb: http://int-e.eu/~bf3/tmp/bf2c.hs ... really old, fairly stupid.
00:14:41 <int-e> (I think I've seen a copy of that online somewhere, but I don't remember where)
00:14:45 <Taneb> oerjan, oh wow, tha makes this kind of harder
00:15:07 <Taneb> By kind of harder I mean "needs some thinking" --> "actually impossible in the general case"
00:15:24 <Bicyclidine> that's optimization for ya *laugh track*
00:15:53 <oerjan> ^wiki Collatz_function
00:15:53 <fungot> http://esolangs.org/wiki/Collatz_function
00:16:04 <oerjan> see there, all the generated loops are balanced
00:16:31 <int-e> Right, something like >[-]+<[[-]>-<...]>[-...] is a balanced conditional.
00:16:49 <int-e> i.e. if-then-else
00:17:42 <oerjan> yeah i remember when pikhq_ did his bf macro language he figured many things out with balanced loops because his language handled those better
00:18:06 <int-e> it's just that the unbalanced stuff tends to be shorter
00:18:23 <pikhq_> Yeah, but it's much harder to work with programmatically.
00:18:34 <oerjan> of course if cells are bounded you need unbalanced loops for tc
00:18:35 <pikhq_> And I am a lazy man.
00:19:15 <int-e> oerjan: hmm, actually ... with balanced loops you can only access a finite number of cells. so did you assume unbounded cells?
00:20:10 <int-e> or did you accidentally prove the collatz conjecture ;)
00:20:18 <oerjan> int-e: ok maybe i'm doing one slightly but not that clever thing but without it it would also be much more than 3 chars longer.
00:21:21 <int-e> oerjan: Oh and I gloated a bit about Enumerate Compositions earlier, but I shouldn't gloat too much. My version is 86 characters as well atm.
00:21:38 <oerjan> int-e: my proof is for 3 unbounded cells.
00:22:02 <int-e> right. for unbounded cells, balanced loops should suffice.
00:22:07 <oerjan> which shortened by 2 the previous record.
00:22:52 <oerjan> Taneb: i suppose for bounded cells you _can_ optimize completely into a finite table thing.
00:23:02 <int-e> (Though they could become necessary again when trying to minimize the number of cells.)
00:23:32 <oerjan> although it will have 256^n entries or the like.
00:23:48 <int-e> And it's still a good argument for the optimizing compiler because now it would have to exploit the finite range of cells to optimize arbitrary programs.
00:24:01 <int-e> With balanced loops.
00:26:23 <oerjan> int-e: i have a nicely shorter version of enumerate compositions, if anagolf just ignored trailing space...
00:28:00 <int-e> yeah, unwords is annoyingly long
01:07:18 <int-e> yay! Leapfrogging--
01:08:30 <oerjan> ooh
01:08:56 <elliott> oerjan: are they TC even with bounded cell size?
01:09:14 <oerjan> elliott: of course not, you can only access finite memory then
01:09:18 <elliott> yeah
01:09:25 <elliott> but bignum is not conventional for bf.
01:10:17 <oerjan> boolfuck is thataway ->
01:10:55 * oerjan suddenly imagines fibonaccifuck
01:11:02 <Taneb> oerjan, how would that work?
01:11:13 <oerjan> like boolfuck, except it's an error to ever have two neighboring 1s
01:12:17 <int-e> ok, henkma's turn.
01:12:23 <int-e> or oerjan's.
01:12:26 -!- boily has joined.
01:12:46 <oerjan> CHALLENGE O... hey, i need an idea first.
01:22:09 <int-e> oerjan: is that more interesting than just doing s/[<>]/&&/g?
01:22:28 <oerjan> wat?
01:22:44 <int-e> fibonaccifuck. I'd just double all arrows.
01:22:52 <oerjan> bah
01:23:04 <oerjan> SO INEFFICIENT
01:23:10 <int-e> heh
01:26:49 <boily> Taneb: Tanelle. do you still boardgame?
01:27:38 <pikhq_> s/[<>]/&[Trust me, this is an excellent idea. <_< >_> Nothing can go wrong!]&/g
01:29:25 <int-e> pikhq_: exactly!
01:29:40 <int-e> [Note that this cell is already zero.]
01:33:50 <elliott> oerjan: wait, how would that be fibonacci?
01:34:17 <int-e> elliott: count the number of such strings (with no consecutive 1s) of length n
01:34:34 <int-e> binary
01:34:36 <elliott> oh, huh.
01:34:37 <oerjan> elliott: fibonacci base
01:34:44 <elliott> I should have known that.
01:34:58 <int-e> aren't you the Zeckendorf fan?
01:35:10 <shachaf> Oh, recently I was figuring out the number of valid UTF-8 strings (disregarding the particular code points).
01:35:17 <elliott> uh, I don't think so.
01:35:42 <int-e> elliott: No, that's b_jonas. Ok, you're off the hook.
01:35:43 <shachaf> It works out to be 4-bonacci.
01:50:58 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
01:58:34 <HackEgo> [wiki] [[BitZ]] M http://esolangs.org/w/index.php?diff=40930&oldid=40928 * Oerjan * (-15) improve reformatting
02:07:58 -!- mihow has joined.
02:19:00 -!- boily has quit (Quit: CONCLUSIVE CHICKEN).
02:20:41 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=40931&oldid=40887 * Oerjan * (+144) some proofreading
02:25:29 <HackEgo> [wiki] [[ODDBALL]] M http://esolangs.org/w/index.php?diff=40932&oldid=13446 * Oerjan * (+0) OCPD crusade in progress
02:28:25 -!- aretecode has quit (Quit: Toodaloo).
02:35:06 <HackEgo> [wiki] [[Hello, world!]] M http://esolangs.org/w/index.php?diff=40933&oldid=25342 * Oerjan * (+0) etc.
02:35:15 <HackEgo> [wiki] [[COW]] M http://esolangs.org/w/index.php?diff=40934&oldid=36819 * Oerjan * (+0) etc.
02:35:24 <HackEgo> [wiki] [[Shoopuf]] M http://esolangs.org/w/index.php?diff=40935&oldid=8338 * Oerjan * (+0) etc.
02:35:34 <HackEgo> [wiki] [[Mouse]] M http://esolangs.org/w/index.php?diff=40936&oldid=38263 * Oerjan * (+0) etc.
02:35:50 <oerjan> um...
02:36:20 <elliott> ?
02:36:26 -!- ChanServ has set channel mode: +q *!*@162.248.166.242.
02:36:34 <elliott> ah
02:36:42 <oerjan> this will take a while :P
02:36:42 <elliott> oerjan: mark the edits as bot edits
02:36:47 <oerjan> argh
02:36:48 <elliott> then they won't spam recent changes, either
02:37:24 <oerjan> um i'm trying to do this with few keystrokes
02:37:27 <elliott> yes
02:37:29 <elliott> just put yourself in the bot group
02:37:36 <elliott> (and keep marking them minor, though I think it's less important as a bot)
02:37:43 <elliott> then they're hidden by default in recent changes and you can leave afterwards.
02:38:00 <elliott> (IIRC)
02:39:24 <oerjan> do i just add my nick to Esolang:Bots or what
02:39:51 <oerjan> elliott: ^
02:40:04 <elliott> oerjan: one second
02:40:41 <elliott> oerjan: Special:UserRights
02:40:45 <elliott> I added you to the bot group, have fun
02:40:50 <elliott> make sure to take it off once you're done
02:41:01 -!- ChanServ has set channel mode: +o elliott.
02:41:09 -!- elliott has set channel mode: -q *!*@162.248.166.242.
02:41:12 <elliott> hopefully HackEgo won't report bot edits
02:42:07 <elliott> yay
02:42:09 -!- elliott has set channel mode: -o elliott.
02:48:27 <oerjan> hm i hit the spam filter on a page with old <br> formatting
02:49:36 <shachaf> +q by IP, not nick?
02:49:48 <int-e> so that's for the Brainfuck thing... way too easy
02:49:56 <int-e> in retrospect. as usual.
02:51:13 <oerjan> shachaf: ask chanserv about that.
02:55:56 <int-e> All hail oerjan, the new bot overlord!
02:56:13 <oerjan> i hope <br> <br> is equivalent enough to <br><br>
03:05:05 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
03:06:58 <oerjan> elliott: i seem not to have the right to unbot me
03:08:10 <HackEgo> [wiki] [[Special:Log/rights]] rights * Ehird * changed group membership for User:Oerjan from bot, sysop to sysop
03:10:31 <zzo38> On multiple MediaWiki websites I get a problem that sometimes the status just says "Connecting" and then "Connected" and back and forth several times and then it says there is no data, and it won't work again until I restart the browser. It didn't used to do that; it start only recently. Do you know what is the problem?
03:10:55 <shachaf> Which websites?
03:11:37 <zzo38> Wikipedia and All The Tropes are two of them; some others that use MediaWiki are also affected. Esolangs seems to work though
03:13:15 <zzo38> Does the problem have anything to do with HTTPS?
03:14:07 <shachaf> Which status says that?
03:14:19 <zzo38> I mean the status bar in the browser
03:14:35 <shachaf> Which browser?
03:14:39 <zzo38> Mozilla
03:14:47 <zzo38> Also, it only started recently; it worked before!
03:14:58 <zzo38> I didn't have this problems before
03:15:15 <zzo38> I tried other browsers though, and got the same problem
03:15:24 <shachaf> The Mozilla Application Suite? Or Mozilla Firefox or something?
03:15:36 <zzo38> XUL Runner
03:15:55 <shachaf> you have out-zzo38ed my expectations
03:15:59 <zzo38> It is a custom browser based on XUL Runner
03:16:12 <shachaf> I haven't seen this behavior.
03:17:11 <zzo38> Clearing the cache doesn't help, and even if one site does this, other ones don't necessarily do it too during the same session, although if it does, then they are both broken during the current session.
03:17:52 <quintopia> zzo38: would you like to know how to make good AI :D
03:18:59 <Bike> first, you should start with something relateable to all known intelligences, such as bughouse chess
03:20:33 <shachaf> Bike: so what's with left eigenvectors
03:21:24 <Bike> i think that's just because matrices are 1,1-tensors
03:21:24 <quintopia> they're the same as right eigenvectors, but more row-like
03:22:03 <shachaf> ok, what's with rows
03:22:16 <Bike> i /think/ a row vector is a covector, if you're saying column vectors are vectors
03:22:23 <shachaf> right
03:22:24 <quintopia> they're how you moves boats
03:22:30 <shachaf> well, neither of them is really a vector
03:22:39 <Bike> psh they're plenty linear
03:23:13 <shachaf> if a vector is v : R^n, you can represent it as f : R -> R^n (""column vector"") or as g : R^n -> R (""row vector"")
03:23:20 <shachaf> where the latter is the dual space thing
03:24:17 <shachaf> people say "eigenvector with eigenvalue 1" instead of "fixed point" for some reason. it's silly
03:24:45 <Bike> because linearity is p convenient
03:25:21 <Bike> and a fixed point is just a specific kind of eigenvector when it comes to linear operators "so there"
03:27:06 <shachaf> ok
03:28:06 <shachaf> what's with people talking about properties of matrices instead of properties of the linear functions they represent
03:28:26 <Bike> i don't know it sucks
03:28:41 <Bike> have you ever been subjected to a linear algebra course in a school? avoid them
03:29:02 <shachaf> no but i feel like maybe i should??
03:29:11 <Bike> no it's all matrices and barely any linear
03:29:18 <Bike> i mean it's good to know i guess, but still
03:29:36 <Bike> my linear class started in august and we first got to eigenshit last week.
03:29:41 <shachaf> ok then what's the good way to do it
03:29:55 <Bike> hell if i know
03:29:57 <Bike> fake it til you make it
03:30:30 <Bike> or maybe work on some "practical science computing project" where you have to know linalg.
03:30:43 <oerjan> int-e: ah you got the brainfuck optimization
03:31:07 <oerjan> i'm wondering what you missed before.
03:35:00 <Bike> i mean, really, why would you ever compute a 4×4 determinant by hand
03:42:59 -!- J_Arcane has quit (Read error: Connection reset by peer).
03:43:06 -!- adu has joined.
03:43:30 -!- J_Arcane has joined.
03:45:48 <HackEgo> [wiki] [[Container]] http://esolangs.org/w/index.php?diff=40997&oldid=40921 * Oerjan * (-1) intro fmt
03:46:29 -!- centrinia has quit (Ping timeout: 265 seconds).
03:46:55 <int-e> oerjan: pairs beat lists.
03:48:19 -!- centrinia has joined.
03:48:47 <oerjan> ah
03:54:23 -!- zzo38 has quit (Read error: Connection reset by peer).
03:55:13 -!- zzo38 has joined.
04:00:04 <ZombieAlive> https://www.youtube.com/watch?v=By1QCaNcXn4
04:05:47 <zzo38> What effect do some servers have if I set network.http.accept.default so that text/plain is given the highest quality number (q=1.0)?
04:10:41 -!- Bicyclidine has joined.
04:13:17 <int-e> oerjan: The McCarthy solution is BEAUTIFUL!
04:15:55 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
04:17:32 <oerjan> ooh
04:29:23 <HackEgo> [wiki] [[ATZ]] M http://esolangs.org/w/index.php?diff=40998&oldid=40915 * Thatguy25252525 * (-2)
04:41:09 -!- zzo38 has left.
04:41:11 -!- zzo38 has joined.
04:53:06 -!- oerjan has quit (Quit: Nite).
04:53:13 <J_Arcane> Oh man, my FOR loop is gonna be extra tricky. Think I may want to refactor into simpler sub expression types.
05:16:56 -!- NATT_SiM has joined.
05:18:44 <^v> <_> when i go here and see something extremely basic related to programming and think everyone is a noob
05:18:50 <^v> then realize the channel name
05:19:18 <coppro> haha
05:19:44 <NATT_SiM> std::cout << "Hello ^v!";
05:20:15 <^v> i have given up on esolangs though
05:20:15 <J_Arcane> Hah!
05:20:26 <^v> call me a functionalityfag
05:20:26 <zzo38> ^v: Are you sure?
05:21:10 <^v> zzo38, for like 3 months i obsessed with everythin esolange, implemented like 20 into my irc bot, made another irc bot in brainfuck
05:21:15 <^v> and now its just meh
05:21:18 <J_Arcane> ^v: yeah, I'm not writing *a* for loop, but rather implementing the syntax for one with carrying accumulator and some sugaring for automatically recognizing certain incrementor types.
05:25:39 <elliott> let's not do the -fag thing
05:28:35 <coppro> ^v: have you learned category theory yet?
05:28:49 <^v> coppro, nope
05:29:53 <elliott> ^v: that's a warning, btw.
05:59:33 -!- centrinia has quit (Ping timeout: 264 seconds).
06:30:07 -!- MDude has changed nick to MDream.
06:33:53 -!- NATT_SiM has quit (Remote host closed the connection).
06:34:48 <zzo38> Maybe level20.tex does not quite have footnote fever, because the footnotes do not themselves contain footnotes.
06:35:47 <shachaf> Are you the same person as `^_^v?
06:40:03 <zzo38> How many people in here have read the level20.tex (it is even linked from HackEgo)? Hopefully if you do then you can write complaints and other stuff about it in All The Tropes.
06:43:56 -!- NATT_SiM has joined.
06:43:56 -!- NATT_SiM has quit (Read error: Connection reset by peer).
06:49:10 -!- adu has quit (Quit: adu).
06:49:57 -!- qwertyo has joined.
07:17:30 <zzo38> Are the CELLs in BlooP/FlooP supposed to be indexed by constants only or by anything? It isn't quite clear; Wikipedia says constants only but I don't see that mentioned in a book.
07:18:46 <Bike> i don't think it would affect the turing power, which is the point of the exercise
07:18:50 <b_jonas> heh heh heh
07:21:04 <zzo38> Bike: Yes, although I found out that if they aren't indexed only by constants, that you don't need an IF statement, nor do you need multiplication, equality, or less/greater comparisons; and in BlooP only, you don't need QUIT BLOCK and ABORT LOOP.
07:21:28 <zzo38> I don't see why it should be constants only if it uses number like that, though.
07:22:47 <zzo38> I don't know if it can work like this when it is indexed only by constants.
07:34:10 <b_jonas> um
07:35:41 <b_jonas> how do you get turing completeness if you can't index cells? there's only one stack, the call stack
07:36:13 <zzo38> Another thing which isn't entirely clear is if a loop needs to have "AT MOST" if you want to be able to exit the loop early.
07:36:41 <b_jonas> zzo38: meh, that's just syntax, isn't it?
07:37:36 -!- Phantom_Hoover has joined.
07:38:16 <zzo38> b_jonas: Yes, but still it isn't quite clear.
07:39:12 <zzo38> The Perl implementation of BlooP and FlooP requires only indexed by constants, although it does one thing that looks clearly wrong to me which is that it doesn't have a separate boolean type.
07:39:27 <myname> primTest n | even n = False
07:39:30 <myname> poor 2 ;(
07:41:10 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
07:41:58 <b_jonas> zzo38: well, the book clearly says BlooP is supposed to describe exactly all the primitve recursive functions, but doesn't define the language rules properly, so I'd say it's just one of the not very well defined languages.
07:43:28 <zzo38> b_jonas: You are probably correct.
07:44:18 <int-e> "bounded loop", that's one where you specify the number of iterations at the start. the details don't matter so much.
07:44:47 <b_jonas> some of the details do, sadly, the details that change the power
07:45:59 <b_jonas> oh, and BlooP wouldn't even have a stack at all
07:46:10 <b_jonas> nor would FlooP
07:47:16 <int-e> zzo38: You can index the cells by anything, it won't change the power.
07:47:39 <b_jonas> there's no call stack
07:48:07 <b_jonas> int-e: oh... maybe you're right, because bignums
07:48:12 <b_jonas> bigints
07:48:23 <b_jonas> you can store an indexed array in them
07:49:01 <b_jonas> zzo38: int-e is right, BlooP has bigints, so you can store full arrays in a bigint
07:49:11 <b_jonas> even though you only have a finite number of bigint cells
07:50:17 <zzo38> I know it won't change the power in that case, but I meant if you omit many of the other features I have specified, then are variable indexing necessary?
07:50:39 <b_jonas> which other features exactly?
07:50:56 <b_jonas> wait, does bloop have built-in less-than compare?
07:52:28 <zzo38> Yes, it does have.
07:53:22 <zzo38> The other features are the ones I have specified above: multiplication, comparison (for equality and less), the IF statement, and for BlooP only (not FlooP), the ABORT LOOP and QUIT BLOCK statements.
07:53:30 <b_jonas> if it does, then you can even do stuff in only polynomial time blowup, as with multiplication and less-than comparison you can implement bigint array access in polynomial time
07:53:43 <b_jonas> but I'm not sure it has less-than comparison
07:54:01 <int-e> wow, Hofstadter's introduction to BlooP is horrible...
07:54:16 <int-e> Nothing is clear, everything is up to interpretation.
07:54:20 <b_jonas> int-e: of course it is
07:55:01 <int-e> I used to like the book.
07:55:07 -!- Patashu has joined.
07:55:40 <int-e> I guess I can still enjou some parts of it.
07:55:57 <int-e> Just skip everything mathematical or computer sciency.
07:57:29 <zzo38> On page 409 at the bottom it says one operation considered primordial is "determining the larger (smaller) of two numbers". Page 419 lists the < and > symbols as part of the alphabet.
07:58:09 <int-e> (Page numbers don't help me, I only have a german translation. The language keywords got translated, too.)
07:59:20 <zzo38> Maybe you can find them anyways by the description I have given.
08:05:35 <int-e> the book fails to define the language. how do I know (except by intent) that ACK(CELL(1),CELL(2)) is not a valid expression, evaluating the the Ackermann function applied to the values of cells 1 and 2?
08:06:25 <int-e> That said I guess you can take the examples and make the assumption that every intended language feature has been used in at least one of them.
08:06:47 <int-e> I guess then you arrive at the restriction that cells can only be indexed by constants.
08:07:22 -!- clog has quit (Ping timeout: 255 seconds).
08:08:01 -!- clog has joined.
08:09:27 <int-e> love the geocities link ... http://cgibin.erols.com/ziring/cgi-bin/cep/cep.pl?_key=BLooP (the other one is broken as well)
08:12:07 <int-e> so there's an implementation at http://www.catb.org/esr/retro/
08:16:27 <int-e> (providing, obviously, one of many possible interpretations of Hofstadter's description, but it looks reasonable)
08:17:31 -!- FreeFull has quit (Ping timeout: 244 seconds).
08:18:47 -!- FreeFull has joined.
08:48:32 -!- centrinia has joined.
10:13:20 <mroman> !blsq_uptime
10:13:20 <blsqbot> 10d 19h 46m 44s
10:13:29 <mroman> hm.
10:13:45 <mroman> !blsq ??
10:13:45 <blsqbot> "Burlesque - 1.7.3"
10:15:54 -!- blsqbot has quit (Remote host closed the connection).
10:17:44 -!- blsqbot has joined.
10:17:46 <mroman> !blsq_uptime
10:17:46 <blsqbot> 7s
10:17:49 <mroman> !blsq ??
10:17:49 <blsqbot> "Burlesque - 1.7.4.dev"
10:17:59 <mroman> !blsq %:0 0 0V
10:17:59 <blsqbot> <0,0>
10:18:56 <mroman> !blsq "123"{ri?iSh}"[0-9]{1}"~a
10:18:56 <blsqbot> ""
10:19:04 <mroman> !blsq "123"{ri?iSh}"[0-9]+"~a
10:19:04 <blsqbot> ""
10:19:19 <mroman> !blsq "[0-9]"{ri?iSh}"123"~a
10:19:20 <blsqbot> "234"
10:19:50 <mroman> !blsq "[0-9]""123"~?
10:19:50 <blsqbot> {"1" "2" "3"}
10:20:39 <mroman> I should switch the order
10:47:33 <b_jonas> I figured out a pun from the Hitch-Hikers' Guide just yesterday, and it hurts.
10:50:18 <fizzie> Which pun is that?
10:51:07 <fizzie> (Ooh, fancy; a master's thesis presentation on the Opus codec next Monday.)
10:51:33 <b_jonas> young Zaphod boarded a mega-freighter ship waving toy pistols, and demanded conkers
10:51:44 <b_jonas> conkers
10:52:23 <b_jonas> I didn't realize it was a pun because it's in English and I'm not good in English puns, and also because I read it in translation first
10:57:16 <mroman> I should add math commands that work on strings .
10:57:18 -!- qwertyo has quit (Quit: Leaving).
10:57:21 <mroman> !blsq 5 "6"?+
10:57:21 <blsqbot> "56"
10:58:22 <mroman> which would produce 11 of course
11:23:28 -!- boily has joined.
11:56:17 -!- Patashu has quit (Ping timeout: 258 seconds).
12:14:01 -!- ais523 has joined.
12:15:37 <HackEgo> [wiki] [[My Unreliable Past]] N http://esolangs.org/w/index.php?oldid=40999 * Ais523 * (+8001) new language
12:16:04 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41000&oldid=40895 * Ais523 * (+25) /* M */ +[[My Unreliable Past]]
12:16:24 -!- sebbu has quit (Quit: reboot).
12:16:39 <HackEgo> [wiki] [[User:Ais523]] http://esolangs.org/w/index.php?diff=41001&oldid=38302 * Ais523 * (+24) the end of my streak of languages that start with S
12:17:49 <ais523> hey, people, I haven't given up on esolanging yet!
12:18:05 <ais523> this language took like an hour from idea to spec, maybe a little more, I even thought up a name in that time
12:18:09 <ais523> but I like it already
12:18:12 <ais523> especially the I/O model
12:20:03 -!- centrinia has quit (Ping timeout: 258 seconds).
12:21:35 -!- boily has quit (Quit: CRYOGENIC CHICKEN).
12:24:41 -!- ais523 has quit (Ping timeout: 255 seconds).
12:26:25 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
12:28:50 <Taneb> Woo!
12:29:14 <Taneb> @tell ais523 Congrats on new esolang
12:29:14 <lambdabot> Consider it noted.
12:29:22 -!- ais523 has joined.
12:30:51 <Taneb> Hi, ais523
12:31:15 <ais523> hi Taneb
12:31:18 <ais523> can't stay here long
12:31:21 <ais523> but I'm here
12:31:37 <Taneb> My Unreliable Past looks interesting
12:32:49 <Taneb> Haven't had much chance to take a look at it though
12:34:53 <b_jonas> is there a deeper meaning of J and V not being variables?
12:35:07 <b_jonas> is it the initials of some revered master or something?
12:35:15 <ais523> letters missing from the Latin alphabet
12:35:35 <b_jonas> I see
12:35:52 <Taneb> Latin alphabet had W but not V?
12:38:20 <ais523> no, but I and J were the same letter, so were U and V
12:38:32 <ais523> and I thought 26 because letters in English was too trite, so I went for 24 instead
12:38:35 <ais523> anyway, I have to go
12:38:38 <ais523> I may well be back later
12:38:46 -!- ais523 has quit.
12:40:06 <HackEgo> [wiki] [[Talk:My Unreliable Past]] N http://esolangs.org/w/index.php?oldid=41002 * B jonas * (+130) Created page with "Is this random starting state related to the idea of Boltzmann brains? ~~~~"
12:46:11 -!- sebbu has joined.
12:54:46 <mroman> I'm thinking about adding infix operators to burlesque
12:55:25 <mroman> but I have no idea what operators :)
12:57:47 <Taneb> divides
12:57:53 <Taneb> (I don't know Burlesque
12:57:54 <Taneb> )
13:09:21 <mroman> 13:57 < Taneb> divides
13:09:29 <mroman> ^- this already revealed that you don't know Burlesque :)
13:09:36 <mroman> !blsq 81 9dv
13:09:36 <blsqbot> 1
13:09:40 <mroman> !blsq 81 11dv
13:09:40 <blsqbot> 0
13:10:18 <mroman> !blsq 20rof{3dv}
13:10:18 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
13:10:29 <mroman> !blsq 20ro{3dv}f[
13:10:30 <blsqbot> {3 6 9 12 15 18}
13:12:41 <mroman> !blsq 20ro{3.%}f[
13:12:41 <blsqbot> {1 2 4 5 7 8 10 11 13 14 16 17 19 20}
13:13:44 <blsqbot> Taneb: http://fmnssun.github.io/Burlesque/
13:15:58 <mroman> [..] But pros will write it as "abc def ghj"{<-}ww [..]
13:16:03 <mroman> the super-real pros will write it as
13:16:08 <mroman> !blsq "abc def ghj"q<-ww
13:16:08 <blsqbot> "cba fed jhg"
13:16:10 <mroman> tho
13:16:13 <mroman> ugh
13:17:24 -!- drdanmaku has joined.
13:17:27 <mroman> !blsq "abc def ghj"qXXww
13:17:27 <blsqbot> {'a 'b 'c ' 'd 'e 'f ' 'g 'h 'j}
13:17:53 <mroman> !blsq "abc def ghj"qanww
13:17:53 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
13:17:58 <mroman> !blsq "abc def ghj"{anSh}ww
13:17:59 <blsqbot> "1 1 1"
13:18:03 <mroman> !blsq "abc de.f ghj"{anSh}ww
13:18:03 <blsqbot> "1 0 1"
13:18:47 <mroman> !blsq "abc de.f ghj"wd:an
13:18:47 <blsqbot> {"abc" "ghj"}
13:19:23 <mroman> !blsq "abc de.f ghj"wd)an
13:19:23 <blsqbot> {1 0 1}
13:19:53 <mroman> !blsq "abc de.f ghj"wdqanfl
13:19:53 <blsqbot> 2
13:20:34 <mroman> wdqanfl is actually the same as wd)an++
13:20:47 <mroman> !blsq "abc de.f ghj"wd)an++
13:20:47 <blsqbot> 2
13:20:53 <mroman> !blsq "abc de.f ghj"wdqanms
13:20:53 <blsqbot> 2
13:21:00 <mroman> which is the same as wdqanms
13:21:24 <mroman> !blsq "abc de.f ghj"qanww
13:21:25 <fizzie> A rose by any other name.
13:21:25 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
13:21:40 <mroman> !blsq "abc de.f ghj"{anSh}wwL[
13:21:40 <blsqbot> 5
13:21:48 <mroman> that's not the same though.
13:22:10 <mroman> wdqanfl, wd)an++, wdqanms ... choose whatever you like
13:23:18 <mroman> fizzie: Any suggestions on Burlesque?
13:23:22 <mroman> You have been using it for a while now.
13:23:31 <mroman> (any *new* suggestions)
13:24:48 <HackEgo> [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41003&oldid=40926 * TomPN * (+64) /* def function */
13:24:59 <HackEgo> [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41004&oldid=41003 * TomPN * (-1) /* def function */
13:26:08 <b_jonas> what? infix operators? in a stack-based language?
13:28:02 <HackEgo> [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41005&oldid=40922 * TomPN * (+86)
13:30:33 <HackEgo> [wiki] [[Talk:Dimensions]] N http://esolangs.org/w/index.php?oldid=41006 * TomPN * (+351) Created page with "== Proof of Turing-completeness == If 51 of the dimensions and the velocity instructions are unused, Dimensions reduces to brainfuck with alternate syntax. Therefore, Dimensio..."
13:30:50 <mroman> b_jonas: maybe!
13:31:51 <HackEgo> [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41007&oldid=41004 * TomPN * (+45)
13:32:14 <HackEgo> [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41008&oldid=41007 * TomPN * (+0)
13:33:45 <mroman> It's got functions now as well
13:33:50 <mroman> like uhm
13:34:02 <mroman> %add={?+} %add|5 6V
13:34:04 <mroman> will result in 11
13:34:38 <mroman> (which can also be written as 5 6%add!
13:34:39 <mroman> )
13:34:55 <mroman> so
13:34:58 <mroman> I might remove |
13:36:09 <mroman> or re use it for dynamic assign
13:37:14 <mroman> b_jonas: there are variables and a secondary stack now
13:37:23 <mroman> so it's not purely stack-based anymore
13:37:54 <mroman> !blsq %:'a 'n 9 'a 0V
13:37:55 <blsqbot> <'a,0><'n,9>
13:38:15 <mroman> !blsq %:'a %add={?+}V
13:38:15 <blsqbot> ERROR: Burlesque: (f[) Invalid arguments!
13:38:24 <mroman> !blsq %:'a %add={?+}
13:38:24 <blsqbot> ERROR: Burlesque: (f[) Invalid arguments!
13:38:27 <mroman> hm
13:38:31 -!- idris-bot has joined.
13:38:38 <mroman> !blsq %:0 'a %add={?+}V
13:38:38 <blsqbot> <'a,BlsqAssign "add" (BlsqBlock [BlsqIdent "?+"]) False False>
13:38:51 <mroman> oh
13:38:57 <mroman> this doesn't have a toDisplay :D
13:39:31 <mroman> !blsq %:0 'a s0V
13:39:31 <blsqbot> That line gave me an error
13:39:36 <mroman> !blsq %:0 'a s0 V
13:39:36 <blsqbot> That line gave me an error
13:39:38 <mroman> !blsq %:0 'a g0 V
13:39:38 <blsqbot> <'a,BlsqGet "0">
13:39:50 <mroman> weird
13:39:54 <mroman> !blsq %:0 'a S0 V
13:39:54 <blsqbot> That line gave me an error
13:40:37 <mroman> !blsq nm',Q',Qmi
13:40:37 <blsqbot> <,,,>
13:40:52 <mroman> !blsq nm'{Q'}Qmi
13:40:52 <blsqbot> <},{>
13:49:30 <HackEgo> [wiki] [[Talk:Dimensions]] http://esolangs.org/w/index.php?diff=41009&oldid=41006 * Fizzie * (+676) /* Proof of Turing-completeness */ Why is it always non-nestable loops?
13:50:10 <fizzie> No new suggestions, but I haven't been golfing much the last few days either.
13:54:53 -!- MoALTz has joined.
13:54:54 <b_jonas> mroman: sure, but still, infix operators?
13:55:12 -!- ais523 has joined.
13:56:24 -!- MoALTz_ has quit (Ping timeout: 245 seconds).
13:57:46 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
13:58:23 -!- MoALTz_ has joined.
13:58:42 <mroman> b_jonas: there are prefix operators though
13:58:48 <mroman> ) and : for example
13:59:08 <mroman> which are technically operators
13:59:14 <mroman> rather than stuff on parse-level
13:59:16 <mroman> !blsq ())
13:59:16 <blsqbot> )
13:59:25 <mroman> !blsq ())to
13:59:25 <blsqbot> "Special"
13:59:40 <ais523> `! bf >,>+++++++++,>+++++++++++[<++++++<++++++<+>>>-]<<.>.<<-.>.>.<<.
13:59:43 <mroman> !blsq (g0)to
13:59:43 <blsqbot> "Dafuq? You found a type I don't know?"
13:59:47 <ais523> oh wait, that program needs input
14:00:10 <HackEgo> No output.
14:01:19 -!- MoALTz has quit (Ping timeout: 244 seconds).
14:01:40 <fizzie> ^bf >,>+++++++++,>+++++++++++[<++++++<++++++<+>>>-]<<.>.<<-.>.>.<<.!123
14:01:40 <fungot> st.st.
14:01:45 <fizzie> Hmm.
14:01:59 <fizzie> Oh, just two ,s.
14:02:18 <fizzie> "+++++++++," looks like the strangest thing.
14:03:41 <ais523> fizzie: it's apparently meant to detect newline and EOF conventions
14:04:14 <fizzie> Oh, I see. So you're supposed to only provide one character of input.
14:07:13 <ais523> right, and it's meant to be a newline
14:07:25 <fizzie> You can't input a newline to fungot, sadly.
14:07:25 <fungot> fizzie: fnord/ projects/ xer/ fnord only lists 146 files, none of which can be given in person.
14:07:57 <fizzie> fungot: Those are some highly suspicious files, then.
14:07:57 <fungot> fizzie: if you're going
14:10:56 -!- oerjan has joined.
14:20:57 -!- S1 has joined.
14:22:09 -!- ais523 has quit (Ping timeout: 240 seconds).
14:24:23 <mroman> !blsq {1 0 0}iR
14:24:23 <blsqbot> {{1 0 0} {0 0 1} {0 1 0}}
14:24:39 <mroman> !blsq {1 0 0}iRSP
14:24:39 <blsqbot> "1 0 0\n0 0 1\n0 1 0"
14:24:39 <oerjan> <b_jonas> young Zaphod boarded a mega-freighter ship waving toy pistols, and demanded conkers <-- ok i don't get it either
14:24:43 <mroman> !blsq {1 0 0}iRsp
14:24:43 <blsqbot> 1 0 0
14:24:48 <mroman> hm
14:25:09 <S1> oerjan: What's not to get?
14:25:23 <oerjan> b_jonas said there was a pun in it
14:25:56 <oerjan> it may not help that i didn't know what conkers were until today, but that still isn't enough for a _pun_
14:26:09 <S1> your standards are high, eh
14:26:37 <S1> well, one can expect a good pun from Adams
14:27:34 <S1> maybe it wasn't intended but b_jonas thought it was
14:27:44 <S1> am I making sense?
14:27:51 <oerjan> um i still don't know what the _pun_ is.
14:28:26 <S1> maybe the similar sound of conker and conquer? ¯\(°_o)/¯
14:28:27 <myndzi> |
14:28:27 <myndzi> o/`¯º
14:28:37 <b_jonas> oerjan: the pun is that conkers sounds like "conquer"
14:28:41 <S1> ^
14:28:45 <oerjan> OKAY
14:28:54 <S1> I didn't laugh either
14:29:59 -!- blsqbot has quit (Remote host closed the connection).
14:30:07 <oerjan> i'm not convinced that's intended either hth
14:30:12 <S1> me neither
14:30:39 -!- blsqbot has joined.
14:30:44 <mroman> !blsq {1 0 0}iRsp
14:30:45 <blsqbot> That line gave me an error
14:30:50 <mroman> nooo
14:31:24 <oerjan> !blsq {error}
14:31:24 <blsqbot> That line gave me an error
14:31:49 <oerjan> !blsq error
14:31:49 <mroman> !blsq 1
14:31:49 <blsqbot> That line gave me an error
14:31:50 <blsqbot> That line gave me an error
14:31:52 <mroman> ok
14:31:54 <mroman> i broke it
14:32:01 <oerjan> very reproducible that error
14:33:29 <mroman> !blsq 1
14:33:29 <blsqbot> That line gave me an error
14:33:33 <mroman> damnit
14:34:11 -!- AnotherTest has joined.
14:34:49 -!- blsqbot has quit (Remote host closed the connection).
14:36:19 -!- ais523 has joined.
14:36:45 -!- blsqbot has joined.
14:36:48 <mroman> !blsq 1
14:36:48 <blsqbot> 1
14:36:52 <mroman> !blsq 1 2
14:36:52 <blsqbot> 2
14:36:52 <blsqbot> 1
14:36:52 <S1> \o/
14:36:55 <mroman> !blsq 1 2 3 4
14:36:56 <blsqbot> 4
14:36:56 <blsqbot> 3
14:36:56 <blsqbot> 2
14:37:02 <mroman> !blsq {1 0 0}iRsp
14:37:02 <blsqbot> 1 0 0
14:37:02 <blsqbot> 0 0 1
14:37:02 <blsqbot> 0 1 0
14:37:17 <mroman> !blsq {0 0 1}iRsp
14:37:18 <blsqbot> 0 0 1
14:37:18 <blsqbot> 0 1 0
14:37:18 <blsqbot> 1 0 0
14:37:28 <mroman> !blsq {1 0 0}iR<>sp
14:37:28 <blsqbot> 1 0 0
14:37:28 <blsqbot> 0 1 0
14:37:28 <blsqbot> 0 0 1
14:38:14 <mroman> !blsq "@tell mroman hi"Q
14:38:15 <blsqbot> @tell mroman hi
14:38:15 <lambdabot> Consider it noted.
14:38:17 <mroman> damn
14:38:25 <mroman> @massages-low
14:38:25 <lambdabot> Unknown command, try @list
14:38:29 <mroman> @massages-loud
14:38:30 <lambdabot> blsqbot said 14s ago: hi
14:38:40 -!- blsqbot has quit (Remote host closed the connection).
14:39:20 <S1> lambdabot doesn't give massages anymore? :|
14:43:25 -!- blsqbot has joined.
14:43:28 <mroman> !blsq "@tell mroman hi"Q
14:43:28 <blsqbot> | @tell mroman hi
14:43:35 <mroman> !blsq {1 0 0}iR<>sp
14:43:36 <blsqbot> | 1 0 0
14:43:36 <blsqbot> | 0 1 0
14:43:36 <blsqbot> | 0 0 1
14:43:55 <mroman> !blsq "@tell \r\n huhu \rQUIT :muh"Q
14:43:56 <blsqbot> | @tell
14:43:56 <blsqbot> | huhu QUIT :muh
14:46:46 <mroman> !blsq {1 0 0}iR<>)zi
14:46:46 <blsqbot> | {{{0 1} {1 0} {2 0}} {{0 0} {1 1} {2 0}} {{0 0} {1 0} {2 1}}}
14:46:50 <mroman> !blsq {1 0 0}iR<>)zisp
14:46:50 <blsqbot> | [0, 1] [1, 0] [2, 0]
14:46:50 <blsqbot> | [0, 0] [1, 1] [2, 0]
14:46:50 <blsqbot> | [0, 0] [1, 0] [2, 1]
14:47:06 <mroman> !blsq {1 0 0}iR<>)zizisp
14:47:07 <blsqbot> | 0 [[0, 1], [1, 0], [2, 0]]
14:47:07 <blsqbot> | 1 [[0, 0], [1, 1], [2, 0]]
14:47:07 <blsqbot> | 2 [[0, 0], [1, 0], [2, 1]]
14:47:22 <J_Arcane> DAmnit. Some jackass tried to hack try-racket.
14:47:32 <mroman> !blsq {1 0 0}iR<>)zi)?*sp
14:47:33 <blsqbot> | [Sh, "\n", ERROR: Burlesque: (.*) Invalid arguments!, "\n", "[0, 1] [1, 0] [2, 0]", "\n", Sh, "\n", ERROR: Burlesque: (.*) Invalid arguments!, "\n", "[0, 0] [1, 1] [2, 0]", "\n", Sh, "\n", ERROR: Burlesque: (.*) Invalid arguments!, "\n", "[0, 0] [1, 0] [2,
14:47:38 <mroman> wops
14:47:49 <mroman> !blsq {1 0 0}iR<>)zim{p^?*}sp
14:47:49 <blsqbot> | 0 0
14:47:49 <blsqbot> | 2 0
14:47:49 <blsqbot> | 0 0
14:48:18 <mroman> !blsq {1 0 0 0}iR<>)zim{p^?*}sp
14:48:19 <blsqbot> | 0 0
14:48:19 <blsqbot> | 2 0
14:48:19 <blsqbot> | 3 0
14:48:25 <mroman> !blsq {1 0 0 0}iR<>)zim{p^?*}
14:48:25 <blsqbot> | {{0 0} {2 0} {3 0} {0 0} {2 0} {3 0} {0 0} {2 1} {3 0} {0 0} {2 0} {3 1}}
14:48:37 <mroman> !blsq {1 0 0 0 0}iR<>)zim{p^?*}sp
14:48:37 <blsqbot> | 0 0
14:48:37 <blsqbot> | 2 0
14:48:37 <blsqbot> | 3 0
14:48:51 <mroman> J_Arcane: Was he successful?
14:49:00 <J_Arcane> I don't think so.
14:49:26 <J_Arcane> He was trying a bunch of shit to break out of the sandbox, looks like all he managed to do was make Racket run out of memory.
14:50:59 <mroman> !blsq {1 0 0 0 0}iR<>)zim{p^?*}tpsp
14:51:00 <blsqbot> | 0 2 3 4 0 2 3 4 0 2 3 4 0 2 3 4 0 2 3 4
14:51:00 <blsqbot> | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
14:51:13 <mroman> !blsq {1 0 0 0}iR<>)zim{p^?*}tpsp
14:51:13 <blsqbot> | 0 2 3 0 2 3 0 2 3 0 2 3
14:51:13 <blsqbot> | 0 0 0 0 0 0 0 1 0 0 0 1
14:51:47 <mroman> !blsq {1 0 0 0}iR<>)zim{p^?*}tpp^?+
14:51:47 <blsqbot> | {0 2 3 0 2 3 0 3 3 0 2 4}
14:51:58 <mroman> !blsq {1 0 0 0}iR<>)zim{p^?*}tpp^?+bs
14:51:58 <blsqbot> | "0 2 3 0 2 3 0 3 3 0 2 4"
14:52:02 <mroman> !blsq {1 0 0 0}iR<>)zim{p^?*}tpp^?+BS
14:52:02 <blsqbot> | 0 2 3 0 2 3 0 3 3 0 2 4
14:52:45 <mroman> these new prefixes make it really hard to parse by eye :D
14:53:03 <mroman> Is it >) zi m{ p^
14:53:13 <mroman> or is it )zi m{ p^
14:53:19 <mroman> or is it )zi m{p^?*}
14:53:52 <b_jonas> mroman: uh, dunno
14:53:55 <b_jonas> looks strange
14:54:04 <mroman> (it's )zi m{p^?*})
14:54:13 <b_jonas> iR <> )z im { p^ ?* }
14:54:20 <mroman> nope
14:54:21 <b_jonas> wait no
14:54:26 <b_jonas> the ) is a prefix
14:54:26 <mroman> iR <> )zi m{p^?*}
14:54:37 <mroman> b_jonas: ) can also be part of a command though
14:54:39 <b_jonas> but what's the m{ part
14:54:50 <mroman> m{.....} is short for {....}m[
14:54:57 <b_jonas> oh
14:54:58 <b_jonas> scary
14:55:05 <mroman> yeah
14:55:17 <mroman> !blsq "a)zi"ps
14:55:18 <blsqbot> | {a) zi}
14:55:23 <mroman> !blsq "ab)zi"ps
14:55:24 <blsqbot> | {ab ) zi}
14:55:53 <mroman> !blsq "ab)zim{ab}"ps
14:55:54 <blsqbot> | {ab ) zi BlsqMapBlock [BlsqIdent "ab"]}
14:56:15 <mroman> no show for that either :)
14:56:40 <mroman> !blsq "m{a)}"ps
14:56:40 <blsqbot> | {BlsqMapBlock [BlsqIdent "a)"]}
14:56:52 <mroman> ^- but this shows neatly that a) is parsed as a identifier
14:57:23 <mroman> there's some really freaky parsing rules now thanks to parsec's try and all
14:57:28 <mroman> !blsq %:aV
14:57:29 <blsqbot> | ERROR: Burlesque: (f[) Invalid arguments!
14:57:29 <blsqbot> | {aV}
14:57:29 <blsqbot> | %
14:57:39 <mroman> !blsq %:aVvv
14:57:39 <blsqbot> | {aV}
14:57:39 <blsqbot> | %
14:57:48 <mroman> for example
14:57:50 <mroman> vs
14:57:55 <mroman> !blsq %:a bVvv
14:57:55 <blsqbot> | ERROR: Burlesque: (f[) Invalid arguments!
14:57:56 <blsqbot> | {a }
14:57:56 <blsqbot> | %
14:58:09 <mroman> vs
14:58:18 <mroman> !blsq %:a 9 9V
14:58:18 <blsqbot> | <9,9>
14:58:31 <mroman> !blsq %:a 9V
14:58:31 <blsqbot> | 9
14:58:32 <blsqbot> | ERROR: Burlesque: (f[) Invalid arguments!
14:58:32 <blsqbot> | {a }
14:58:36 <mroman> !blsq %:a 9Vvvvv
14:58:36 <blsqbot> | 9
14:58:36 <blsqbot> | ERROR: Burlesque: (f[) Invalid arguments!
14:58:36 <blsqbot> | {a }
14:58:55 <mroman> wth
14:59:04 <mroman> !blsq %:a 9V%
14:59:04 <blsqbot> | 9
14:59:04 <blsqbot> | ERROR: Burlesque: (f[) Invalid arguments!
14:59:04 <blsqbot> | {a }
14:59:09 <mroman> oh well
14:59:33 <mroman> !blsq %:0 %=add{} %=sub{}V
14:59:33 <blsqbot> | ERROR: Unknown command: (d{)!
14:59:33 <blsqbot> | ERROR: Burlesque: (f[) Invalid arguments!
14:59:33 <blsqbot> | {0}
14:59:43 <mroman> !blsq %:0 %add={} %sub={}V
14:59:43 <blsqbot> | <BlsqAssign "add" (BlsqBlock []) False False,BlsqAssign "sub" (BlsqBlock []) False False>
15:00:01 <mroman> that a hashmap with an assignment as a key and value :)
15:00:14 <mroman> !blsq (%add={})
15:00:14 <blsqbot> | BlsqAssign "add" (BlsqBlock []) False False
15:04:00 <mroman> !blsq 2Jq.+10C! }fibernatschi
15:04:00 <blsqbot> | 288
15:04:00 <blsqbot> | 178
15:04:00 <blsqbot> | 110
15:04:07 <mroman> !blsq 3Jq.+10C! }fibernatschi
15:04:07 <blsqbot> | 432
15:04:08 <blsqbot> | 267
15:04:08 <blsqbot> | 165
15:05:05 <HackEgo> [wiki] [[Zero]] M http://esolangs.org/w/index.php?diff=41010&oldid=39480 * Nooodl * (+4) duh
15:06:46 <mroman> !blsq |[3Jq.+10C!|] }fibernatschi
15:06:46 <blsqbot> | ERROR: Unknown command: (|])!
15:06:46 <blsqbot> | 432
15:06:46 <blsqbot> | 267
15:06:51 <mroman> !blsq |[3Jq.+10C!]| }fibernatschi
15:06:52 <blsqbot> | {3 3 6 9 15 24 39 63 102 165 267 432}
15:08:45 <S1> what is harder? Malbolge or Zero?
15:09:29 <mroman> !blsq {Jq.+10C!}{3}rs
15:09:29 <blsqbot> | {3 J {.+} 10 C!}
15:09:36 <mroman> !blsq {3}{Jq.+10C!}rs
15:09:36 <blsqbot> | {432 267 165 102 63 39 24 15 9 6 3 3}
15:09:44 <mroman> !blsq {3}{Jq.+10!C}BS
15:09:44 <blsqbot> | J [.+] 10 !C
15:09:45 <blsqbot> | {3}
15:09:49 <mroman> !blsq {3}{Jq.+10!C}rsBS
15:09:49 <blsqbot> | 3 3 6 9 15 24 39 63 102 165 267 432
15:10:04 <mroman> !blsq q1{Jq.+15!C}rsBS
15:10:05 <blsqbot> | 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
15:10:33 <mroman> BS is so handy
15:13:18 -!- ais523 has quit (Ping timeout: 272 seconds).
15:15:01 -!- zzo38 has quit (Remote host closed the connection).
15:17:19 <HackEgo> [wiki] [[Talk:Dimensions]] M http://esolangs.org/w/index.php?diff=41011&oldid=41009 * Oerjan * (+46) unsigned
15:18:28 <int-e> oh it was fun while it lasted... henkma overtook me again.
15:27:34 <oerjan> S1: i think Malbolge is harder because it looks like you can decide halting pseudoprograms for Zero for a long stretch, while Malbolge has an absolute program size limit of just 59048 bytes
15:27:54 <oerjan> (there's a linked list that seems to go up to 100000 bits)
15:28:21 <S1> oh okay
15:29:08 <oerjan> in particular you can surely write a universal tc interpreter within those 100000 bits
15:29:32 <oerjan> but then you would need to include the "real" program in the input.
15:29:57 <S1> cheating I call that
15:30:07 <S1> at least that's not what I had in mind
15:31:36 <oerjan> right, in which case Zero cannot reliably be programmed to do everything tc to an arbitrary input.
15:31:52 <oerjan> but Malbolge is even more limited than that.
15:33:57 <oerjan> i spent some time on channel proving that you are bound to have several independently undecidable bits in a row, eventually, which is how you know you cannot ensure proper matching brackets.
15:36:33 -!- AnotherTest has quit (Ping timeout: 240 seconds).
15:38:12 -!- ais523 has joined.
15:38:46 <ais523> is it just me who puts bounds on arrays in function parameters?
15:42:22 <mroman> Why? Are you using Modula-2?
15:45:35 <ais523> I mean, in C
15:45:51 <ais523> like write_sha256(unsigned char out[static 32])
15:45:53 <ais523> that sort of thig
15:45:55 <ais523> *thing
15:47:31 <Taneb> ais523, that seems a good idea
15:47:42 <mroman> is that const correct?
15:47:58 <ais523> sha256 is 32 bytes
15:48:07 <mroman> yeah but out
15:48:20 <ais523> it's writing into a parameter named out
15:48:27 <mroman> yes
15:49:50 <ais523> so there shouldn't be any const involved, the parameter's being written to
15:50:02 <mroman> I'm not sure whether out will be downgraded to a pointer
15:50:04 <mroman> and
15:50:14 <mroman> if you can do out = (char*)foobaz;
15:51:01 <mroman> i.e. char foo(char * p) { return *p; } isn't consty enough
15:51:15 <mroman> that should be const char * const p
15:52:45 <b_jonas> ais523: no, you're not the only one, because see https://gustedt.wordpress.com/2014/09/08/dont-use-fake-matrices/
15:53:48 <b_jonas> ais523: but I for one don't write that kind of thing these days, because instead I use more strongly typed C++ stuff
15:55:00 <fizzie> ais523: It's not a very widespread practice, but I doubt you're the *only* one using it. I think someone on ##c said they're using it too.
15:55:18 <fizzie> It's arguably kind of gratuitous use of C99, but then again so's restrict.
15:55:28 <ais523> also, I love that they have "static" as the keyword
15:55:49 <ais523> it was clearly a case of "what existing keyword used to be syntactically illegal in that context, and has a meaning vaguely approximating the meaning we want?"
15:55:55 <ais523> like the "? extends" and "? super" in Java
15:56:15 <b_jonas> ais523: sure C++ does that too with keywords
15:56:22 <fizzie> And static *has* been the go-to choice for that.
15:56:30 <ais523> most languages do
15:56:43 <ais523> fizzie: well, static can mean a bunch of things in English
15:57:50 <fizzie> On the other hand, C99 does introduce a number of "_Foo" keywords too (and C11 continues that).
15:58:56 <b_jonas> fizzie: yes, and that's a good idea
15:59:48 <b_jonas> fizzie: especially _Complex, because it allows potentially adding C99 complexes to C++ in the future, even though the C++ std committee doesn't seem to want that currently.
16:00:07 <b_jonas> if they named the C99 keyword complex, that would have been impossible to match with C++
16:00:08 <fizzie> Perhaps it could've been char foo[long 32], to denote the passed pointer points to an array that's at least 32 elements *long*.
16:00:52 <b_jonas> fizzie: ugh... that wouldn't work because it becomes a C++ construction cast expression if there's parenthesis after the long
16:01:11 <b_jonas> and the same is true for _Atomic vs atomic I think
16:02:17 <fizzie> keyword: one of auto break case char const continue default do double else enum extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while _Alignas _Alignof _Atomic _Bool _Complex _Generic _Imaginary _Noreturn _Static_assert _Thread_local.
16:02:23 <fizzie> Not such a long list.
16:02:46 <b_jonas> fizzie: yeah, but there's also a few reserved words like asm
16:03:01 <b_jonas> (and basically all C standard library function names are reserved)
16:03:20 <b_jonas> (no wait, those are reserved only as macros or globals)
16:03:31 <fizzie> "asm" is not reserved, it's just mentioned in appendix J.5 as a common extension.
16:03:36 <b_jonas> isn't it reserved?
16:03:40 <b_jonas> let me check
16:04:40 <b_jonas> asm is defined in C++11
16:04:49 <b_jonas> and in C11 too
16:04:56 <fizzie> Well, in C11 it appears a total of four times, three times in J.5.10 and once in the index. And J.5p1 doesn't say anything about it being reserved either.
16:04:58 <b_jonas> no wait
16:05:05 <b_jonas> in C11 it's "common extensions
16:05:06 <b_jonas> "
16:05:07 <b_jonas> um
16:05:10 <fizzie> I just said that.
16:05:47 <b_jonas> still, it's proerly a keyword in C++11
16:06:07 <b_jonas> it's defined as a real keyword
16:06:27 <b_jonas> and of course C++ has like thirty new keywords or something
16:07:53 <b_jonas> some of them are library macros in C, like I think: alignas alignof bool static_assert thread_local and and_eq bitand compl not not_eq or or_eq xor xor_eq
16:09:04 <b_jonas> and some of them are library types in c: char16_t char32_t wchar_t
16:09:26 <fizzie> There's no shortage of reserved identifiers in C, of course. /^_[A-Z_]/ for any use, /^_/ in general as identifiers with file scope in both ordinary and tag name spaces, and pretty much everything listed in the library section (with some restrictions -- like those that are defined as macros are only restricted identifiers if the header is included, and identifiers with external linkage can be ...
16:09:32 <fizzie> ... used for other purposes).
16:12:39 <b_jonas> oh, I forgot these which are also macros in C: true false
16:13:49 <b_jonas> there's of course a few C++ keywords that will never appear in C, because they're so C++-specific, these defniitely: catch delete dynamic_cast friend namespace operator private protected public template throw try typeid virtual
16:15:39 <b_jonas> and a few others that are likely not to go in C but who knows for sure
16:24:56 <mroman> ^bool
16:24:56 <fungot> No.
16:28:39 <mroman> ^bool
16:28:39 <fungot> Yes.
16:29:08 <mroman> ^ball
16:29:48 <fizzie> ^8ball Does this work?
16:29:48 <fungot> Yes.
16:33:58 <oerjan> ^8ball Does this fail?
16:33:59 <fungot> No.
16:34:04 <oerjan> fancy.
16:40:28 <ais523> is it possible to determine a computer's hostname remotely?
16:40:47 <ais523> someone sent me an email where the From, To, and body are all Shellshock exploit strings
16:41:00 <ais523> except the body contains the hostname of the system that received it
16:41:19 -!- shikhin has joined.
16:41:27 -!- centrinia has joined.
16:41:35 <ais523> and I'm unclear as to whether it was obtained via an exploit, or if they discovered it some other way
16:41:52 -!- S1 has quit (Ping timeout: 258 seconds).
16:43:10 <b_jonas> ais523: maybe the hostname was on a dns server somewhere?
16:43:23 <b_jonas> ais523: is it a windows machine or a unix one?
16:43:28 <ais523> Linux
16:43:41 <b_jonas> is the hostname "debian" or some other simliar very common hostname?
16:43:43 <ais523> I'm planning to retire it soon
16:43:46 <ais523> and no, it's custom
16:43:54 <b_jonas> was it in a dns/
16:43:56 <b_jonas> ?
16:44:05 <ais523> not as far as I know
16:44:21 <ais523> or, well
16:44:23 <ais523> it's in its own /etc/hosts
16:44:31 <ais523> but not anyone else's as far as I know
16:44:32 <b_jonas> hmm, does smtp tell the hostname if you run a client on that machine?
16:44:40 <ais523> ah, that's an excellent idea
16:44:54 <ais523> yeah, it announces the hostname in the 220
16:44:57 <ais523> that's fine, then
16:45:13 <ais523> that's almost certainly where the exploit attempt got the hostname from
16:45:21 <b_jonas> ok
16:45:38 <ais523> so I'm pretty sure that this was a failed (although clever) exploit
16:46:04 <ais523> if you're interested, it was trying to run a wget command
16:46:11 <ais523> I can give you the URL if you like
16:46:30 <ais523> in case you want to give the hacker some false positives
16:48:48 <ais523> b_jonas: thanks, anyway
16:48:57 <ais523> it's nice to clear things up
16:51:06 <b_jonas> no, thanks, I don't need it now
16:53:02 <ais523> the other thing I'm wondering is why my server decided to send that email to me, rather than just drop it
16:53:17 <ais523> it must have been sent to root@ or support@ or one of the similar addresses that are redirected to my address
16:53:25 -!- quintopi1 has joined.
16:53:40 <ais523> ooh, I can probably check the headers
16:54:07 -!- quintopi1 has quit (Client Quit).
16:54:12 <ais523> right, it was sent to root@«hostname»
16:54:19 -!- MDream has changed nick to MDude.
16:55:00 <ais523> (does anyone else here use «» for quoting metasyntactic variables in computerese, because anything in ASCII could potentially be confused to be literal?)
16:56:44 <b_jonas> ais523: no, but I sometimes use “” that way
16:57:01 <b_jonas> wait, metasyntactic variables? no
16:57:04 <b_jonas> I don't use it for that
16:57:13 <b_jonas> I do the opposite: I quote literals with double quotes
16:57:48 -!- AnotherTest has joined.
16:58:40 <fizzie> My rfk86@ address only gets spam.
16:58:59 <fizzie> I don't think it has ever received a non-spam email.
16:59:00 <oerjan> ais523: if <> was good enough for backus, it's good enough for me.
16:59:23 <ais523> oerjan: backus had more than one font, and wasn't afraid to use it
16:59:54 <oerjan> next you'll tell he wrote in hebrew or something.
17:06:11 <mroman> meta-metasyntactic variables .
17:06:40 <oerjan> let's have randall munroe write a paper on it.
17:07:28 <ais523> oerjan: what do you think of my esolang, btw? you're the resident fractran expert
17:07:41 <ais523> although I'm not sure if the point being made has much to do with fractran
17:07:56 <oerjan> indeed.
17:08:47 <oerjan> it reminds me ever so slightly of the question of whether fractran with unordered commands is tc (no).
17:09:47 <ais523> right
17:09:53 <ais523> in this case, though, there is ordering
17:09:59 <ais523> also the =0 thing screws up the proof
17:10:17 <oerjan> only slightly
17:10:45 <ais523> I haven't thought about the matter much
17:10:59 <ais523> although if you say fractran with unordered commands and =0 is sub-TC, I believe you
17:11:17 <oerjan> hm
17:11:23 <oerjan> maybe not.
17:11:49 <oerjan> you can encode what command to run in a flag which is to be zero
17:12:29 <ais523> when doing computational class proofs, I find it easier to prove something's in a higher class than expected, than a lower class
17:14:46 -!- NATT_SiM has joined.
17:15:20 <oerjan> hm i'm not sure.
17:15:26 <mroman> @oeis 1 1 2 3 5 10 20 39 78
17:15:27 <lambdabot> Number of digits in n-th Fermat number (A000215).[1,1,2,3,5,10,20,39,78,155,...
17:21:27 -!- oerjan has quit (Quit: leaving).
17:22:00 -!- S1 has joined.
17:26:27 <J_Arcane> http://butt.holdings/
17:36:29 <tromp> pretty silly yo have sequences that are "Number of digits in some other sequence"
17:36:36 <tromp> yo->to
17:41:32 <FireFly> @oeis 1 1 2 3 5 8 14
17:41:35 <lambdabot> Number of compositions of the integer n in which the first part is >= the ot...
17:42:15 <mroman> lambdabot should really respond with the A number
17:42:53 <J_Arcane> My for loop is going to drive me mad.
17:43:08 <mroman> `? mad
17:43:09 <HackEgo> ​"But I don't want to go among mad people," Alice remarked. "Oh, you can't help that," said the Cat: "we're all mad here. I'm mad. You're mad." "How do you know I'm mad?" said Alice. "You must be," said the Cat, "or you wouldn't have come here."
17:43:51 <int-e> I like thinking of the cat as the voice of reason.
17:44:01 <J_Arcane> I know how to write a for-like loop functionally, with carryover. What I do not seem to know how to do is write a macro that is general enough to make that process easy.
17:46:23 <mroman> `? cat
17:46:24 <HackEgo> Cats are cool, but should be illegal.
17:46:32 <mroman> `? Alice
17:46:33 <HackEgo> Alice? ¯\(°​_o)/¯
17:47:06 <mroman> `learn Alice doesn't want to go among mad people.
17:47:08 <HackEgo> Learned 'alice': Alice doesn't want to go among mad people.
17:47:11 <mroman> `? Alice
17:47:12 <HackEgo> Alice doesn't want to go among mad people.
17:48:38 -!- Phantom_Hoover has joined.
17:48:39 <J_Arcane> It's the damn carry keyword that's the trickiest. See, Racket does this thing where some of the for loops accumulate the final value of each recursion in something, like a list or just a total or whatever. I want to write a generalized CARRY function that does this instead.
17:50:18 <J_Arcane> CARRY is like a BREAK, but you feed it a value, and that value becomes the new value of the accumulator, which is then passed to the next iteration.
17:50:33 -!- S1 has quit (Quit: S1).
17:50:43 <Bike> does racket not have a weird panoply of iteration libraries like common lisp does
17:50:53 -!- NATT_SiM has quit (Remote host closed the connection).
17:50:56 <J_Arcane> Like a shitload of them.
17:51:11 <mroman> defmacro is the loop of al loops.
17:51:12 <Bike> wow why did i think "panoply" meant that, it totally does not
17:51:26 <J_Arcane> But that's the problem: it has a shitload of them. For each possibility.
17:51:51 <J_Arcane> Ie. accumulating to a list is a different function from accumulating a value, etc etc.
17:52:57 <J_Arcane> There are *30* different for loop functions in the Racket standard language.
17:53:18 <int-e> one loop for everyone
17:53:29 -!- NATT_SiM has joined.
17:56:06 <FireFly> `? Bob
17:56:07 <HackEgo> Bob? ¯\(°​_o)/¯
17:57:09 <AnotherTest> `? aah
17:57:10 <HackEgo> aah ambiguous acronym here
17:57:44 <J_Arcane> Also, I think I might simplify matters considerably if I just focus on iterating over a list, and then provide different functions to generate the list. Lists are much easier to iterate in Lisp ...
17:57:47 <FireFly> Bike: Wikipedia suggests it's used to "refer to any complete or impressive collection", so I don't see why it wouldn't work
18:05:49 -!- S1 has joined.
18:06:01 -!- S1 has left.
18:06:14 -!- DTSCode has quit (Read error: Connection reset by peer).
18:07:29 -!- DTSCode has joined.
18:12:52 <J_Arcane> Oh FFS. let* doesn't allow you to define a proc-id like let does, so the (let loop ...) form work work with it.
18:32:42 -!- FreeFull has quit (Quit: BBL).
18:36:35 <J_Arcane> sometimes hygienic macros are a pain in my ass.
18:43:58 -!- centrinia has quit (Ping timeout: 244 seconds).
18:55:47 -!- NATT_SiM has quit (Remote host closed the connection).
19:02:29 -!- NATT_SiM has joined.
19:03:34 -!- NATT_SiM has quit (Remote host closed the connection).
19:06:09 -!- ^v has quit (Quit: Leaving).
19:08:54 <fizzie> fungot: What do you think of cats?
19:08:54 <fungot> fizzie: ( just five questions... all fit on a standard computer."
19:09:47 <fizzie> fungot: Yes, I think most cats would fit on a computer, though I'm sure there are exceptions. What's the second question?
19:09:48 <fungot> fizzie: wow. no mutta siinä fnord fnord. kalan kuolema fnord kun tulin takaisin. en sitten tied. kun tnn tahtoisin olla kovin fnord, ihan sama se mulle on onks se lähellä vai kaukana ;p
19:10:18 <fizzie> fungot: Uh, don't mix Latin-1 and UTF-8 like that, please.
19:11:03 <int-e> oooh fun it's a byte-based model?
19:11:37 <fizzie> Well, I mean, the language model units are just (integral) token IDs.
19:13:20 <fizzie> But the token text is "byte-based" in the sense that it's just whatever bytes there were in the input.
19:14:49 <fizzie> I was going to translate that for those people sadly deprived in the Finnish language understanding department, but can't quite convey the tune.
19:15:32 <fizzie> It's (very) approximately: "Wow. Well, there fnord fnord. The death of a fish fnord when I came back. I just don't know. Because today I'd like to be very fnord, I don't care at all whether it's near or far :p"
19:19:03 <fizzie> (It's also composed out of 4 different comments from the same person.)
19:23:14 <ais523> presumably there are more fnords in Finnish, because there are more observed words in English?
19:23:27 <ais523> or is the proportion of unique words much the same between small and large corpuses?
19:23:43 <ais523> actually I'd expect it to be the same once the corpuses get sufficiently large, and probably related to e somehow
19:23:47 <ais523> fungot: say something
19:23:47 <fungot> ais523: which can be implemented in an esoteric language.
19:23:58 <ais523> that made surprising sense in context
19:24:17 <fizzie> ais523: It's somewhat larger in Finnish because of so many uniquely inflected forms, I believe.
19:24:26 <ais523> oh right, that might make sense
19:25:31 <fizzie> ais523: You get the same amount of OOV (out-of-vocabulary) words when using a 100k-word English lexicon compared to a 2.4M-word Finnish lexicon, or something like that, modulo probably misremembered exact numbers.
19:26:05 <fizzie> For "comparable" text data, which was something like newspaper stuff.
19:27:31 <int-e> is this due to grammar-induced word variations?
19:27:37 <fizzie> Yes.
19:27:47 <int-e> and perhaps compoundnouns
19:28:07 <fizzie> The general agglutitinativeness.
19:28:15 <int-e> err, nouncompounds, the other sounds wrong even when translated into German :)
19:28:53 <fizzie> Sub-word units are popular for statistical language models of Finnish.
19:30:17 <fizzie> You can do a rule-based morphological analysis which won't go too badly wrong, or you can do http://www.cis.hut.fi/projects/morpho/ instead if you just want sub-word units and not linguistically meaningful morphemes.
19:35:02 <newsham> https://twitter.com/omershapira/status/533289787667787776/photo/1 <- eso?
19:44:55 -!- vanila has joined.
19:45:08 <b_jonas> argh, I'm totally ruined
19:45:19 <vanila> How do you discover small Y combinators for SK calculus?
19:45:27 <b_jonas> ever since I work with images and videos, all I see in images and videos is their quality, not their content!
19:45:29 <int-e> vanila: brute force
19:45:30 <b_jonas> it's just terrible!
19:47:13 <int-e> vanila: look for combinators K such that K f -> f (f (f (f ...))) after doing a couple of hundred reductions, then take those candidates and look whether that goes on forever.
19:47:18 <tromp> vanila: i found Y = S S K (S (K (S S (S (S S K)))) K) by just manually playing around
19:47:22 <int-e> vanila: sorry, I should use M.
19:48:00 <tromp> after noticing that SSK x y = x y x
19:48:24 <tromp> that turns out to be the smallest possible one
19:48:42 <vanila> that's so cool tromp :D
19:48:56 <int-e> I should redo that brute force computation some time; I seem to have lost the code though.
19:49:55 <elliott> tromp: you've proved it's the smallest possible? that surprises me
19:50:27 <tromp> other people did; like int-e
19:50:59 <vanila> I wrote a brute force search but I didnt find anything
19:51:01 <elliott> Lymia: https://github.com/riven8192/LibStruct you wanted stack allocation in java, right?
19:51:09 <int-e> (Just to see how close I was to an actual proof. I know so much more about that today then I did back then.)
19:52:13 <Lymia> elliott, it looks like more compiler magic
19:52:58 <Lymia> Doesn't stop the fundamental problem of not having a direct way to return multiple values from a function without stack allocation
19:53:00 <elliott> Lymia: oh, I guess it can't do arrays without you unrolling them as fields?
19:53:06 <elliott> yeah.
19:53:34 <elliott> I guess the problem is just that java doesn't have references to stack-allocated objects. so there's nothing you can do.
19:54:43 <Lymia> super.visitIntInsn(SIPUSH, struct2info.get(_returnsStructType).sizeof);
19:54:43 <Lymia> super.visitMethodInsn(INVOKESTATIC, StructEnv.jvmClassName(StructMemory.class), "allocateCopy", "(" + wrapped_struct_flag + "I)" + wrapped_struct_flag, false);
19:54:51 <Lymia> Looks like it involves an allocation
19:54:51 <Lymia> :/
19:55:12 -!- NATT_SiM has joined.
20:03:34 -!- NATT_SiM has quit (Remote host closed the connection).
20:14:13 <J_Arcane> Awesome. Thanks to some help from #racket, I now have my FOR w/CARRY.
20:15:37 <mroman> gz
20:17:45 -!- Bicyclidine has joined.
20:17:46 -!- shikhin has quit (Ping timeout: 244 seconds).
20:19:59 -!- shikhin has joined.
20:20:25 -!- ^v has joined.
20:27:02 -!- NATT_SiM has joined.
20:27:15 -!- NATT_SiM has quit (Remote host closed the connection).
20:27:27 -!- NATT_SiM has joined.
20:32:43 -!- NATT_SiM has quit (Remote host closed the connection).
21:00:51 -!- FreeFull has joined.
21:04:09 -!- Bicyclidine has quit (Ping timeout: 265 seconds).
21:05:20 -!- NATT_SiM has joined.
21:05:29 -!- NATT_SiM has quit (Remote host closed the connection).
21:10:15 -!- Primal has joined.
21:12:03 -!- Primal has quit (Client Quit).
21:16:04 <b_jonas> does someone have a roman numeral to number translator bot here?
21:16:17 <b_jonas> does burlesque have such a builtin or something?
21:17:17 <ais523> `! befunge ;@,2;ROMA4#;(3,
21:17:18 <HackEgo> Unsupported instruction ';' (0x3b) (maybe not Befunge-93?)
21:17:25 <ais523> oh, hmm
21:17:30 <ais523> that's the wrong befunge
21:17:37 <ais523> `! befunge98 ;@,2;ROMA4#;(3,
21:17:46 <ais523> also I can't actually remember how befunge works
21:17:48 <ais523> and I forgot an @
21:17:52 <ais523> `! befunge98 ;@,2;ROMA4#;(3,@
21:17:53 <HackEgo> No output.
21:18:01 <ais523> `! befunge98 ;@.2;ROMA4#;(3.@
21:18:02 <HackEgo> No output.
21:18:07 <ais523> hmm
21:18:07 <HackEgo> ​..............................................................................................................................................................................
21:18:21 <ais523> oh right
21:18:24 <ais523> `! befunge98 ;@.2;ROMA4#;(C.@
21:18:25 <HackEgo> No output.
21:18:39 <ais523> I give up, I'd actually need to read docs to get this working
21:19:01 <b_jonas> thanks
21:19:12 -!- Primal has joined.
21:19:24 <ais523> oh, beautiful
21:19:30 <ais523> someone just sent me spam, explicitly marked as spam
21:19:38 <ais523> with a link at the top to "report it as spam"
21:19:49 <ais523> that's going to catch loads of people into following the link
21:19:59 -!- Ether_ has joined.
21:21:42 <b_jonas> `fromroman LXXXIV
21:21:43 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: fromroman: not found
21:22:06 <b_jonas> `run type perl
21:22:07 <HackEgo> perl is /usr/bin/perl
21:22:15 <b_jonas> `run ls bin
21:22:15 <HackEgo> ​` \ ^.^ \ ̊ \ ! \ ? \ ¿ \ @ \ ؟ \ WELCOME \ \ \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ addwep \ allquotes \ analogy \ anonlog \ as86 \ aseen \ bf \ bienvenido \ botsnack \ bseen \ buttsnack \ calc \ CaT \ catcat \ cats \ cc \ cdecl \ c++decl \ chroot \ coins \ CoInS \ complain \ complaints \ danddreclist \ define \ delquo
21:22:42 -!- nycs has joined.
21:22:47 <b_jonas> `run echo $'#!/usr/bin/perl\n''$_=<>;sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$$t=$_;$t}k for s""\$"..4e3;print eval(),$/' > bin/fromroman && chmod a+x bin/fromroman
21:22:49 <HackEgo> No output.
21:22:54 <b_jonas> `fromroman LXXXIV
21:22:54 <HackEgo> Can't open LXXXIV: No such file or directory at /hackenv/bin/fromroman line 2.
21:23:00 <Primal> Whats up
21:23:06 <b_jonas> `run fromroman <<<LXXXIV
21:23:08 <HackEgo> 84
21:23:15 <b_jonas> `run echo $'#!/usr/bin/perl\n''$_=shift;sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$$t=$_;$t}k for s""\$"..4e3;print eval(),$/' > bin/fromroman && chmod a+x bin/fromroman
21:23:16 <HackEgo> No output.
21:23:21 <b_jonas> `run fromroman LXXXIV
21:23:22 <HackEgo> 84
21:23:23 <b_jonas> `run fromroman L
21:23:24 <HackEgo> 50
21:23:26 <b_jonas> `run fromroman X
21:23:26 <HackEgo> 10
21:23:33 <b_jonas> I hope that's correct, I got it from my golf entry
21:23:43 <b_jonas> but we should replace it with something that checks for invalid input
21:23:45 <Primal> Roman numerals?
21:24:19 <b_jonas> though actually, this should reject some of the invalid input already
21:24:20 -!- `^_^v has quit (Ping timeout: 255 seconds).
21:24:27 <ais523> `run fromroman MMMIM
21:24:28 <HackEgo> No output.
21:24:29 <b_jonas> but not all
21:24:35 <ion> `run fromroman IS••
21:24:36 <HackEgo> No output.
21:24:39 <ais523> `run fromroman MMMIX
21:24:40 <HackEgo> 3009
21:25:08 <Primal> Can i test a bot?
21:25:20 <b_jonas> ais523: it works by converting all numbers from 1 to 4999 to roman, and then checking that, so you have to hit a variable or other valid perl syntax to make it work wrong
21:25:23 <b_jonas> like
21:25:26 <ais523> Primal: if it's not particularly spammy, yes; otherwise, use #esoteric-blah or make your own channel
21:25:37 <ais523> testing bots often does get a bit spammy, though
21:25:43 <b_jonas> actually, let me try to make it safer
21:25:47 <Primal> Nah i just need to do one thing
21:25:50 <ais523> `run fromroman MMMMM
21:25:51 <HackEgo> No output.
21:25:57 <Primal> "p {{{random}}]++.end
21:26:03 <Primal> ok well it broke
21:26:10 <ais523> which bot is that?
21:26:11 <ais523> ^prefixes
21:26:12 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
21:26:50 <Primal> Its on my network im just using the chat as an indirect access point for the area thats running my bot sorry >_>
21:27:10 <b_jonas> `run echo $'#!/usr/bin/perl\n''sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$r{$t}=$_;$t}k for s""\$"..4e3;print $r{(shift=~/(\w+)/)[0]},$/' > bin/fromroman && chmod a+x bin/fromroman
21:27:11 <HackEgo> No output.
21:27:23 <b_jonas> `fromroman L
21:27:24 <HackEgo> 50
21:27:25 <ais523> Primal: oh, the bot's basically reading your logs rather than the channel itself?
21:27:27 <b_jonas> `fromroman LXXXIV
21:27:28 <HackEgo> 84
21:27:33 <Primal> Yeah
21:27:38 <b_jonas> `fromroman L+1
21:27:38 <HackEgo> 50
21:27:53 <b_jonas> ok, that's better
21:27:56 <Primal> Just mine it ignores every other name variable
21:28:32 <Primal> I dont think i could bring myself to have it log the entire channel that would just be rediculous
21:28:51 -!- DTSCode has quit (Quit: Leaving).
21:28:56 <ais523> Primal: clog and glogbot disagree with you on that, I think
21:29:16 <Primal> ? why
21:29:52 <Primal> I already have all logs listed as a .txt-compressed file
21:30:08 <Primal> I just dont want to have it open at all times for my bot to list it
21:30:36 <b_jonas> `run echo $'#!/usr/bin/perl\n''sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$r{$t}=$_;$t}print k((shift=~/(\w+)/)[0]),$/' > bin/toroman && chmod a+x bin/toroman
21:30:38 <HackEgo> No output.
21:30:41 <b_jonas> `toroman 50
21:30:42 <HackEgo> No output.
21:30:44 <b_jonas> `toroman 10
21:30:45 <HackEgo> No output.
21:30:53 -!- NATT_SiM has joined.
21:31:09 <ais523> hmm, this is getting dangerously into the realm of "optimizing for the wrong thing"
21:31:15 <ais523> something which is clearly ontopic for this channel
21:31:29 <b_jonas> `run echo $'#!/usr/bin/perl\n''sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$t}$_=(shift=~/(\w+)/)[0];print k,$/' > bin/toroman && chmod a+x bin/toroman
21:31:30 <HackEgo> No output.
21:31:32 <ais523> let's try to minimize the CPU usage of mke2fs
21:31:33 <b_jonas> `toroman 10
21:31:33 <HackEgo> X
21:31:36 <b_jonas> `toroman 50
21:31:36 <Primal> well its event threaded based
21:31:36 <HackEgo> L
21:31:40 <b_jonas> `toroman 83
21:31:40 <HackEgo> LXXXIII
21:31:42 <b_jonas> `toroman 8000
21:31:43 <HackEgo> DMMM
21:31:46 <ais523> (I hope you have a ton of drives that need formatting in parallel, for you to test this on)
21:32:01 <b_jonas> ais523: use ramdisks for that
21:32:26 <Primal> How far can the toroman thing go up to
21:32:34 <b_jonas> ais523: minimize the CPU usage on where? modern computers, or ancient slow cpus?
21:32:35 <ais523> b_jonas: then mke2fs's CPU usage would hae a higher chance of actually being relevant
21:32:38 <b_jonas> Primal: 3999
21:32:43 <Primal> Ah
21:32:45 <vanila> zzo38 :When will there be more blog posts on your gopher blog
21:33:06 <ais523> b_jonas: let's pick a system that doesn't actually have hard drives
21:33:09 <ais523> Commodore 64?
21:33:15 <b_jonas> ooh! brilliant
21:33:43 <b_jonas> ais523: minimize the cpu usage, but don't eliminate any of the disk seeking
21:34:19 <ais523> b_jonas: right, we're optimizing for CPU usage here, other factors are secondary
21:34:27 -!- NATT_SiM has quit (Read error: Connection reset by peer).
21:34:28 <b_jonas> ais523: also, wait, for which filesystem? there could be a difference between ext[23] which needs lots of inodes and stuff initialized and the more modern ext4
21:34:36 <ais523> although, back in C64 days, CPU was actually a factor
21:34:38 <Primal> "redis++(error.file)[]{{++++<>+++]."redis.compression|error|)([2.cpre]-reboot.false
21:34:48 <Primal> Sorry i was just rebooting it
21:34:58 <ais523> nowadays it takes some effort to construct a program where the CPU usage isn't dwarfed by the memory bandwidth requirements
21:34:59 <b_jonas> ais523: are we formatting a tape or a diskette?
21:35:01 <ais523> some hash algorithms can do it
21:35:10 <ais523> b_jonas: tape, you can use ext2 with tapes, right?
21:35:17 <b_jonas> I don't think you can
21:35:21 <b_jonas> I mean
21:35:24 <b_jonas> some tapes probably
21:35:30 <b_jonas> but not the tape c64 has
21:35:33 <b_jonas> that's seekable only manually
21:35:48 <b_jonas> oh, I see! so you want to notify the user when to press the rewind button with minimal cpu time?
21:36:03 <b_jonas> or does the user just rewind every time you reach the end of the tape?
21:36:15 <b_jonas> and you notify him only when the formatting is complete?
21:36:17 <ais523> you can get the cassette player to rewind when it reaches the end of the tape
21:36:18 <Primal> btw my bot is i think listed as Ether in here idk if it even came in so i could just be putting in random stuff
21:36:32 <b_jonas> ais523: rewind and play again? hmm
21:36:49 <b_jonas> Primal: there's an "Ether_" here
21:36:58 <ais523> I used to have a casette player which could just physically turn the read/record head around to see the other side of the tape
21:37:01 <ais523> *cassette
21:37:10 <Primal> Ok good
21:37:12 <ais523> so it could play one side forwards, then the other side forwards
21:37:16 <Primal> Thanks
21:37:25 <ais523> and it had a mode where it could do that automatically
21:37:33 <ais523> this sort of hardware support is clearly useful in minimizing CPU time
21:37:53 <b_jonas> ais523: are we allowed to burn custom ROM?
21:38:09 <b_jonas> because with the normal ROM, the interrupt location points into the ROM, which takes extra CPU
21:38:16 <b_jonas> or can that be bank-switched off?
21:38:23 <b_jonas> I don't really know how a c64 works
21:38:26 <ais523> I actually don't know if that's bank-switchable
21:38:30 <ais523> not familiar with the C64 either
21:38:39 <b_jonas> and zzo's not here
21:38:49 <Primal> The fact that im running off a windows 95 Threaded Cpu doesnt make my bots performance any better
21:38:55 <fizzie> The Datassette (or at least the 1530s I have) does have a (resetable) counter, you can ask the user to rewind/fast-forward to a particular value.
21:39:10 <fizzie> I suspect it's not all too accurate, though, so it's perhaps best to round down a little.
21:39:32 <b_jonas> fizzie: sure, but we're minimizing cpu usage, so it's easier to just rewind completely all the time
21:39:50 <b_jonas> it can't be completely accurate anyway so you need a loop to wait for the right sector, and that's easier if you always start rewinded
21:40:00 <b_jonas> sector? block? what's the thingies on a tape called
21:40:00 <fizzie> That would presumably depend on how cheap it is to process all the incoming data.
21:40:04 <b_jonas> I don't know how that works
21:40:19 <b_jonas> fizzie: dunno, I have no idea what the casette controller is like
21:40:22 <ais523> I'm having trouble parsing "windows 95 threaded cpu"
21:40:30 <ais523> windows 95 is presumably the OS, and a cpu is a cpu
21:40:35 <b_jonas> as in, is it like the PC floppy contorller which can just seek to a sector all alone?
21:40:37 <ais523> but what does "threaded" refer to?
21:41:32 <b_jonas> luckily I started computing when mostly reliable drives already existed
21:41:41 <b_jonas> no messing with stupid tapes that fail to work all the time
21:41:59 -!- Bicyclidine has joined.
21:42:53 <fizzie> b_jonas: There's no "controller" to speak of, really. I mean, e.g. the motor to run the tape is just directly wired to the 6510 on-chip port, bit 5.
21:43:13 <ais523> when I started with computers, 5¼-inch floppy drives were just starting to become common on hobbyist computers (most used tape before then, and most of the documentation I could find assumed tape computers)
21:43:38 <b_jonas> fizzie: not for the motor, but recognizing the signal
21:44:12 <Primal> Threaded refers to the threaded base event that helps me run the bots 4 library's so i can enter all of them at the same time without crashing my RAM and the python compiler script that runs the third library which is the main core of the bot
21:44:18 <b_jonas> ais523: I specifically said the PC floppy controller. the floppy drive itself is very dumb, it has almost no electronics.
21:44:47 <b_jonas> Primal: I don't understand any of that, but I think you're probably on the right channel
21:44:55 <fizzie> b_jonas: The read signal is just wired to the CIA 1 serial interface, and causes an IRQ to occur.
21:45:00 <HackEgo> [wiki] [[Brainfuck implementations]] http://esolangs.org/w/index.php?diff=41012&oldid=40699 * 78.10.230.8 * (+124) /* Optimizing implementations */ +1
21:45:07 <ais523> actually, one of the weakest points in my knowledge of computing is the hardware end of the interface between hardware and software
21:45:11 <b_jonas> fizzie: an IRQ for every what? bit? block? byte?
21:45:13 <ais523> except when I'm writing it myself
21:45:31 <b_jonas> fizzie: what decodes the sound to digital data and how far does it go? like, is the error correction done in the cpu? in the controller?
21:45:59 <b_jonas> fizzie: I mean, the PC floppy controller reads or writes an entire sector using DMA and then fires an interrupt
21:46:40 <b_jonas> ais523: the IBM PC XT is a classic gem, it's worth to read about it
21:47:04 <fizzie> b_jonas: The IRQ happens whenever the analog waveform crosses a zero.
21:47:14 <b_jonas> fizzie: oh... that sounds scary
21:47:15 <fizzie> b_jonas: And the software takes care of decoding the bits out of that.
21:47:24 <fizzie> Based on the timing.
21:47:25 <b_jonas> so it's like once or twice every bit, at least
21:47:29 <fizzie> See http://wav-prg.sourceforge.net/tape.html
21:47:32 <ais523> OK, so we're in the category of "this IRQ needs to be really crazily fast"
21:47:37 <b_jonas> then the software must also do the error correction
21:47:56 <b_jonas> ais523: um, no, it's the opposite way: the data on the tape is really slow
21:48:24 <Primal> What browsers/ irc clients to you guys use
21:48:32 <fizzie> Of course it also means you can quite freely decide the encoding. But the default KERNAL stuff is really slow, yes.
21:48:45 <ais523> Primal: someone was in here with MS Comic Chat a while back
21:48:48 <ais523> at least I think it was here
21:48:58 <Primal> lol
21:49:11 <ais523> it seems like the sort of thing you'd like, based on your description of your hardware setup
21:49:14 <b_jonas> fizzie: well, the limitation is mostly the bad sound quality you get from the casette and casette player
21:49:19 <b_jonas> so it has to be slow
21:49:41 <FireFly> I think irssi is quite popular in here
21:49:46 <ais523> that said, IIRC (I may be wrong on this), it was the first use to which Comic Sans was put outside Microsoft (again IIRC, it was created for Microsoft Bob but not actually used there)
21:49:48 <b_jonas> is the floppy controller for the c64 also that crazy low-level? or is it saner?
21:49:51 <ais523> let me go check Wikipedia to see how wrong I was
21:49:53 <Primal> This is my secondary computer which i test crap on
21:49:57 <fizzie> b_jonas: Well, I mean, tapes came with faster loaders.
21:49:59 <b_jonas> um... not saner
21:50:04 <fizzie> b_jonas: http://en.wikipedia.org/wiki/Fast_loader#Cassette_tapes
21:50:35 <ais523> not quite right
21:50:40 <fizzie> b_jonas: Unless I misremember, there's the same processor in the floppy drive as there is in the computer, so there's rather more flexibility there.
21:50:47 <ais523> it was created for Microsoft Bob, bot not ready in time, so I was right on that bit
21:50:49 <Primal> Wait why do you guys need cassette tapes couldn't you just uh well i guess you need them if you want the data thats on it
21:50:56 <Primal> nvm
21:50:57 <ais523> but MS Comic Chat was not the first time it was used
21:51:19 <b_jonas> fizzie: ah, so the casette controller does sometimes also have higher level stuff, nice
21:51:40 <fizzie> b_jonas: What's this "casette controller"?
21:51:43 <b_jonas> I mean, there's the pc serial console, which sends or receives a byte and once, and interrupts you for each
21:51:59 <b_jonas> fizzie: casette drive controller. the part of the hardware that interfaces the analog casette player to the computer.
21:52:34 <b_jonas> isn't that what it's called?
21:52:50 <fizzie> b_jonas: Didn't we just go through that there isn't really much that you could call that.
21:53:01 <ais523> <Primal> Wait why do you guys need cassette tapes couldn't you just ← you may be missing the point of this channel (although as a Windows 95 user, you probably aren't)
21:53:01 <Primal> im just gonna try and talk here through a terminal for a test brb
21:53:12 <b_jonas> fizzie: yeah, but that thing you linked to says some computers have more than that
21:54:05 <Primal> Im not missing the point im just randomly switching back and forth through stuff and checking things so im very scatter brained atm or w/e
21:54:50 <fizzie> b_jonas: I... which page? I don't see anything like that in either the Wikipedia page or the wav-prg tape explanation page.
21:55:54 <ais523> Primal: if it helps, I had IE6 installed on my previous laptop
21:56:03 <ais523> on the Linux partition, not the Windows partition
21:56:26 <Primal> >_> well then i might try that out
21:57:40 <Ether_> [{say."@user.compiler:Primal"}]++(" end . #estoric/?channels=esoteric&uio=d4. " ) [{{ " Test " }}]
21:58:02 <ais523> that is one weird syntax
21:58:02 <Primal> ok well i have to get rid of [{say."@user.compiler:Primal"}]++(" end . #estoric/?channels=esoteric&uio=d4. " ) from showing
21:58:25 <ais523> but the [{{}}] around " Test " is intentional?
21:58:37 <b_jonas> fizzie: the wikipedia page, but maybe I just misunderstood it. sorry.
21:58:38 <ais523> also, #estoric is a different channel
21:58:40 <fizzie> ais523: I don't know, I mean, it's got balanced brackets and all.
21:59:08 <ais523> fizzie: actually this is reminding me uncomfortably of ESME
21:59:11 <fizzie> b_jonas: I mean, the page is mostly about the floppy drives, there's just a short three-paragraph thing about cassette tapes, and that's all software-related.
21:59:26 <Primal> yeah i know its just having trouble determining stuff
21:59:41 <b_jonas> heh, esotric
21:59:55 <Primal> Ill have to go on my linux for anything further than that which just got outputed
22:00:13 <Primal> Presoteric
22:02:26 <Primal> [{{}}] yes this is intentional it helps the 2nd library core determine which place to put it in the output eh think of it as these [{{}}] weigh down the text output
22:02:45 <Primal> Without those it usually deletes the text output when it gets run through
22:03:54 <Primal> Ok ill be back in like a day or so w/e i have to go on a trip
22:04:14 <Primal> Away from all the city life
22:04:21 -!- Ether_ has quit (Quit: Page closed).
22:04:29 -!- Primal has quit (Quit: Page closed).
22:04:41 <ais523> wait, the bot was using web IRC?
22:04:52 <ais523> …I need to stop thinking about this, it's making my head hurt
22:04:58 <b_jonas> whoa
22:05:08 <b_jonas> web irc...
22:05:25 <ais523> actually, at this point I'm hoping that that was a really impressive and well-done trolling attempt
22:05:29 <b_jonas> if that's true, then he was indeed on the right channel
22:05:34 <b_jonas> ais523: hehehe
22:05:39 <b_jonas> yes, that's the other possibility.
22:05:47 <b_jonas> we'll see tomorrow, hopefully
22:05:55 <ais523> the social route to something like that would be easier than the technical route
22:06:25 <ais523> and as I said, it's very reminiscent of ESME, which I suspect was an excessively complex project to troll zzo38
22:06:55 <b_jonas> sure
22:07:34 -!- NATT_SiM has joined.
22:08:34 <ais523> in case it's relevant, that IP traces to a school in Washington
22:09:45 <Bicyclidine> huh what
22:11:01 <Bicyclidine> oh, different school. i'm off the hook
22:11:18 <fizzie> It seems moderately hard to find details on the kernel ROM tape loader routines, since all material seems to be about Turbo Tape -style faster loaders. (Which apparently just use pauses of two different lengths between the triggers to denote 0 and 1 bits, meaning one interrupt per bit.)
22:11:19 -!- Patashu has joined.
22:12:13 <fizzie> An "Information Processing Cooperative" sounds mighty shady.
22:12:42 <Bicyclidine> http://en.wikipedia.org/wiki/Washington_School_Information_Processing_Cooperative
22:12:47 <b_jonas> ais523: do you think tompn is a trolling attempt too, or does he just not understand what this eso stuff is about?
22:12:51 <fizzie> (If it were a "coöperative", then it'd be benign.)
22:13:12 <Bicyclidine> probably indicates a high school. i think the major colleges have their own ipv4 blocks or some shit.
22:13:16 <fizzie> ais523: And did you notice another case of non-nested loops?
22:13:17 <elliott> I don't get why people think TomPN is so uniquely terrible or anything.
22:13:23 <elliott> aren't we used to mediocre languages by now?
22:13:28 <b_jonas> fizzie: in Dimensions?
22:13:41 <fizzie> b_jonas: Right. I only remembered the musical notes discussion.
22:13:47 <b_jonas> elliott: he isn't that terrible really, he just angered ais by removing some text he wrong
22:13:50 <b_jonas> um
22:13:52 <b_jonas> stuff
22:13:54 <b_jonas> wrote
22:14:31 <elliott> I agree that Primal's bot was fake. :p
22:14:43 <elliott> "redis++(error.file)[]{{++++<>+++]."redis.compression|error|)([2.cpre]-reboot.false is some nice "code".
22:15:06 <b_jonas> oh, embedded bf!
22:15:35 <b_jonas> doesn't parse though
22:15:48 <ais523> right, BF normally has matching brackets
22:15:54 <ais523> also that doesn't look much like BF
22:16:06 <elliott> an IRC bot using redis yet connecting through webchat is kind of a beautifully weird combination
22:16:15 <ais523> elliott: you forget when TomPN put a link to the language on the Main Page
22:16:25 <ais523> that's the first thing that alerted me that something was wrong
22:16:26 <elliott> ais523: so did NSQX
22:16:26 <b_jonas> ais523: ah yes!
22:16:35 <elliott> it's called enthusiastic kids :p
22:16:48 <fizzie> I don't think I'm surprised by mediocricity or anything, I just can't fathom the strange antipathy towards nested loops.
22:17:12 <ais523> there's the use of the phrase "instruction tape" to mean "data tape"
22:17:12 -!- NATT_SiM has quit (Remote host closed the connection).
22:17:24 <ais523> it's now been explicitly /defined/ as "data tape" for Musical notes
22:17:26 <fizzie> Maybe with some sort of non-structured-programming background, but that sounds rather unlikely these days.
22:17:29 <ais523> but it's a rather unintuitive definition
22:17:41 <ais523> doesn't even FORTRAN support nested loops?
22:17:45 <Bicyclidine> have you, like, never been actually trolled
22:17:52 <Bicyclidine> i wanna say modern fortran only
22:18:24 <ais523> Bicyclidine: the days of the truly great trolls have mostly died out
22:18:36 <ais523> you get some pretty good attempts from time to time, though (also a lot more really bad ones)
22:18:46 <fizzie> The FORTRAN I was writing was loops based on line numbers.
22:18:50 <Bicyclidine> mm random webpage says nested loops were common in 77
22:19:02 <Bicyclidine> i guess that makes sense. i could check my book with unreadable code samples i guess
22:19:03 <fizzie> I would think you can nest those, since it's not like it'd complicate the implementation.
22:19:37 <fizzie> You can have several loops end at the same line, though.
22:19:51 <b_jonas> fizzie: it's sort of a come from, isn't it?
22:19:58 <fizzie> It's reminiscent, yes.
22:20:00 <b_jonas> as in, there's no explicit loop closing statement
22:20:33 <b_jonas> does forth have a looping construct that doesn't nest though? I don't know, I'm not a forth guy
22:20:44 -!- AnotherTest has quit (Ping timeout: 244 seconds).
22:20:56 <fizzie> Though I think it's not untypical to put a "continue" statement on the closing line of the loop.
22:21:17 <b_jonas> fizzie: is that like C's continue or what?
22:21:19 <fizzie> It's not really a loop closing statement then either, but it makes it look like one.
22:21:32 <fizzie> It's a nop.
22:21:40 <b_jonas> ah, so like python's pass
22:21:44 <fizzie> Yes.
22:22:05 <ais523> hmm, Algol used "skip" for the same purpose
22:22:14 <ais523> and at least in mathematical Algol, it's normally only allowed as a no-op command
22:22:17 <b_jonas> ais523: worms uses skip too, with a visual pun
22:22:44 <ais523> however, in Algol 68, I believe it just refers to an arbitrary uninitialized value, which isn't evaluated when used as a command because Algol 68 is call by value
22:22:47 <b_jonas> (um, is that a joke I have to explain, or does everyone on this channel get it by default?)
22:23:15 <fizzie> http://sprunge.us/HZKb -- that's the program-loading bit out of a Befunge-93 interpreter.
22:23:19 <b_jonas> ais523: a variable predefined in the library? or no strict?
22:23:41 <ais523> <b_jonas> (um, is that a joke I have to explain, or does everyone on this channel get it by default?) ← it's hard to tell, after spending a while in this channel it becomes clear you can never understand the context of everything
22:24:06 <ais523> fizzie: I was going to ask "why is there a Befunge-93 interpreter in Fortran", but there's no real point in asking the question
22:24:18 <ais523> I guess it's more out of curiosity "why pick that specific combination of languages" than anything else
22:24:58 <fizzie> I used to use a Befunge-93 interpreter as my initial "getting to know a new language" program, that's why.
22:25:12 <fizzie> Also I believe the pasted snippet could be equivalently written as http://sprunge.us/WXhC
22:25:32 <fizzie> (It's still two loops, nested.)
22:26:04 <b_jonas> fizzie: hmm, then there has to be a Befunge-93 interpreter task on rosettacode.org
22:26:23 <b_jonas> fizzie: maybe add your interpreters there, possibly creating such a task if it doesn't yet exist
22:26:23 <ais523> fizzie: also I'm not used to seeing indentation in fortran
22:26:27 <ais523> it'd be like using indentation in asm
22:26:36 <b_jonas> ais523: yeah... you don't indent on punch cardss
22:26:41 <ais523> (which I assume some people actually use? I'd never really thought of it before this point, but it makes perfect sense for handwritten asm)
22:26:45 <fizzie> ais523: Yes, it's kind of strange. And it looks really silly when there's a continuation line.
22:27:16 <b_jonas> fizzie: not if you're used to seeing ifdefs or labels pulled to the first column in C
22:27:44 <elliott> b_jonas: the worms games?
22:28:00 <fizzie> In this case, I've put the continuation line marker in the only place it can go to, but also continued with the actual content, unidented.
22:28:31 <fizzie> To wit, http://sprunge.us/MNHG
22:28:45 <b_jonas> elliott: yes
22:28:47 <ais523> wow, I just realised Fortran 77 postdates both Algol 68 and INTERCAL-72
22:29:00 <elliott> b_jonas: I got it but I'm not sure how much of the channel would :p
22:29:06 <ais523> presumably it was in common use before then, just hadn't hit its "most commonly used ever standard"
22:29:26 <elliott> b_jonas: I never registered that as a pun until you pointed it out though, heh
22:29:37 <elliott> (you don't analyse games you start playing at age ~7-ish very much)
22:29:39 -!- nycs has quit (Quit: This computer has gone to sleep).
22:29:43 <b_jonas> heh
22:29:58 <fizzie> FWIW, I missed the Worms comment, but did get it now that it was pointed out.
22:30:37 <ais523> now I'm wondering what sort of self-respecting pentester uses a wget-based payload and doesn't execute the file they download
22:30:45 <b_jonas> elliott: heh, that shows you're young
22:30:46 <ais523> you're leaving traces not only in logs, but on the filesystem
22:31:02 <ais523> although, hmm
22:31:02 <b_jonas> worms is a new game
22:31:05 <ais523> the file would go to /
22:31:19 <ais523> which most email daemons can't write
22:31:25 <fizzie> b_jonas: So new, not even 20 years old.
22:31:27 <elliott> b_jonas: yes, and in fact Armageddon was my first game, and it was years after it came out that I got it. (I'm 19.)
22:31:39 <elliott> uh, first worms game. not first game in general.
22:31:45 <elliott> the amiga worms games are kind of weird.
22:32:02 <b_jonas> I hope you had at least played with older games since
22:32:14 <b_jonas> these modern games have it too good with being able to use powerful hardware
22:32:17 <b_jonas> worms including
22:32:22 <b_jonas> included
22:32:51 <elliott> I've played Worms 2 a bit but it mostly seems like a weaker version of W:A; they're practically the same game in many ways. (would W:A be DLC these days?)
22:32:53 <fizzie> elliott: We were actually kind of wondering here whether you'd be 19 or 18. (I got it narrowed to something thereabouts by log-grepping.)
22:33:00 <elliott> the amiga ones I've tried but they're... not that great.
22:33:07 <elliott> I can't get used to the rope physics. :p
22:33:25 <b_jonas> (btw, I'm still surprised there are so many finns here)
22:33:26 <fizzie> http://en.wikipedia.org/wiki/Liero is what we used to play here.
22:33:36 <elliott> oh, god, yeah, I've played liero
22:33:42 <fizzie> (Well, that and MoleZ.)
22:33:50 <elliott> the rope physics on *that* sure are something
22:34:00 <fizzie> They're very physical, yes.
22:34:18 <elliott> fizzie: I like your wife taking an interest in #esoteric.
22:34:34 <b_jonas> well, good night
22:34:36 <elliott> or is it just me?
22:34:39 <elliott> night
22:35:53 <Bicyclidine> i indent asm :(
22:36:08 <fizzie> It's more general than that, but it's possibly more about what sort of weirdoes the channel regulars are, as opposed to the so-called content.
22:36:21 <FireFly> I never realised the 'skip' pun in Worms either
22:36:34 <elliott> I'm sure I've been satisfying on the "weirdo" front
22:36:36 <ais523> oh wow, I only just realised what specifically in Worms was being referred to
22:36:48 <int-e> tromp: so it looks like I was left with about 30k probably-nonterminating probably-not-fixed-point-combinators.
22:36:51 <Bicyclidine> more like craptent
22:36:55 <ais523> like, I thought you were referencing the specific game series, and you were
22:37:01 <ais523> but I didn't get the greater specifics
22:37:20 <ais523> (btw, was that thing ever useful except in situations where you were highly limited on ammo? and could it be set to limited ammo itself?)
22:37:21 <int-e> tromp: of size 11 or less
22:37:23 <fizzie> Bicyclidine: Like, with multiple levels in case of nested control structures?
22:38:00 <Bicyclidine> yeah.
22:38:18 <fizzie> Having a different indentation for e.g. labels and instructions (and sometimes directives) wouldn't be all that surprising.
22:38:32 <Bicyclidine> yeah i mostly do that though.
22:40:08 <tromp> ic, int-e. probably that includes 100s where it's not clear whether it's diverging
22:40:20 <FireFly> I draw lines with semicolons to the right of the instructions to indicate nestedness
22:40:22 <tromp> even if you study them manually
22:40:37 <int-e> tromp_: could be.
22:41:25 <int-e> tromp_: but it's still interesting to filter out some obviously non-productive ones.
22:42:18 <tromp> yes, a divergenct pattern detector should eliminate a large fraction of those 30k
22:47:48 <HackEgo> [wiki] [[Smartboxes]] http://esolangs.org/w/index.php?diff=41013&oldid=39314 * 67.78.57.11 * (+7) /* maps */
22:48:18 -!- oerjan has joined.
22:50:17 <oerjan> ais523: actually unordered fractran with =0 is tc by reduction from a minsky machine. just choose one boolean flag for each state, then the only thing you need =0 for is when doing a branch on zero in the decrement-and-branch-on-zero instruction.
22:50:50 <ais523> oerjan: right, that makes sense
22:51:15 <ais523> maybe I should make My Unreliable Past unordered, but I kind-of like the looping
22:51:28 <ais523> especially because it matches the looping of input (which is necessary for other reasons)
22:51:39 <ais523> meaning that it may be possible to write a self-interpreter even though you can't write cat
22:52:13 <oerjan> heh
22:54:56 <ais523> what is it with me and languages which have pretty powerful I/O that nonetheless can't do cat?
22:55:15 <int-e> you're a dog person?
22:56:40 -!- NATT_SiM has joined.
22:58:31 -!- nys has joined.
23:00:31 -!- Bicyclidine has quit (Ping timeout: 244 seconds).
23:01:56 -!- ais523 has quit.
23:02:16 <int-e> tromp: http://sprunge.us/TRPL is what I have.
23:02:45 * oerjan looks at http://golf.shinh.org/p.rb?A057755 and thinks: does anagolf prohibit putting an actual link in the problem description?
23:06:53 -!- DTSCode has joined.
23:08:11 <tromp> int-e: is unknown same as [0] ?
23:08:33 <int-e> tromp: As far as I recall, the 3 alternative candidates that produced more than 3 f applications were not clean fixed point combinators (Y f is not equivalent to f (Y f)); but they nevertheless produce an arbitrary number of applications to f (for all k there is an M such that Y f ->* f^k M. In a Böhm tree model, that's still a fixed point.
23:08:43 <int-e> tromp: "unknown" encompasses [0], [1] and [2].
23:08:57 <tromp> ic
23:10:17 <tromp> and you think the [3]+++ can be shown to be M f -> f(f(f(diverge))) ?
23:10:47 <tromp> where diverge has no whnf
23:11:00 <int-e> I expect so.
23:11:54 <tromp> seems clear then that there's only one clean Y combinator of size 12
23:12:53 <int-e> "non-minimal", btw, are terms that have subterms of shape ``Kxy, ``SKM with M != K and ```SxyM with M=S or M=K. (rewriting such terms to ``xM`yM terminates.)
23:13:22 -!- NATT_SiM has quit (Remote host closed the connection).
23:13:47 <int-e> So I'm filtering a bit more there than one would naively expect.
23:15:40 <int-e> anyway, I'll revisit this another day
23:15:49 <tromp> thanks for the investigation
23:19:13 -!- NATT_SiM has joined.
23:21:00 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:23:38 <oerjan> oh wait obvious simplification, but int-e is _still_ a byte shorter
23:24:04 <FireFly> I need to get better at golfing Haskell
23:25:17 <oerjan> using logarithms is possible but seems not to make it shorter
23:26:38 <oerjan> because then you also need a pesky ceiling
23:27:44 <int-e> I have 3 approaches, 2 that work well in Haskell and 1 that works nicely in dc.
23:28:13 <int-e> (dc's arithmetic is too slow for the naive method)
23:28:46 <oerjan> i just did the obvious thing and then removed the +1, and then i'm missing by a byte
23:29:43 <int-e> it takes almost 5 seconds for computing the number of digits of 2^2^20 alone.
23:30:02 <int-e> (in dc)
23:30:10 -!- centrinia has joined.
23:30:32 <oerjan> i noticed the other day a blog post comparing bignum implementations in languages with them builtin, and ghc won
23:30:40 -!- DTSCode has quit (Ping timeout: 240 seconds).
23:31:02 <int-e> ghc has very cheap allocation and lets gmp use that.
23:31:34 <oerjan> hm
23:32:36 <int-e> The comparison included conversion to strings, right? That may not be entirely fair...
23:32:56 <oerjan> oh i don't remember
23:33:28 <int-e> damn now I need to find the link again...
23:33:53 <oerjan> i see your _actual_ dc method is faster than the haskell one.
23:35:59 <int-e> I don't think it's measurable.
23:37:56 <int-e> I get 0.001s for dc and 0.002s for haskell on my computer.
23:38:07 <oerjan> oh
23:38:22 <oerjan> well your submitted haskell was a lot more
23:38:53 <int-e> But I have another Haskell version that takes 0.08s here, about 0.3 on anagol.
23:39:04 <int-e> same length, unfortunately.
23:45:01 <int-e> oerjan: anyway, resubmitting twice, the second time I got time: 0.000085sec for the same program that is listed as 0.0125.
23:46:15 <oerjan> ah
23:55:07 -!- olls has joined.
23:59:43 -!- olls_ has joined.
23:59:52 <int-e> oerjan: ah, it came from HWN. http://www.wilfred.me.uk/blog/2014/10/20/the-fastest-bigint-in-the-west/ is the link.
23:59:57 -!- olls has quit (Ping timeout: 255 seconds).
←2014-11-13 2014-11-14 2014-11-15→ ↑2014 ↑all