←2016-01-15 2016-01-16 2016-01-17→ ↑2016 ↑all
00:06:10 <hppavilion[1]> Why does the ESOSC have A1, A2, then A5? Were A3 and A4 obsoleted or something?
00:31:50 <oerjan> @tell int-e <int-e> (that's one of my favorite typos) <-- i think you're missing at least one extra "IT" for it to be logically punny rather than just a typo hth
00:31:50 <lambdabot> Consider it noted.
00:35:00 <oerjan> `wisdom select
00:35:01 <HackEgo> select/select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and more.
00:38:05 <HackEgo> [wiki] [[Talk:Lazy evaluation]] M https://esolangs.org/w/index.php?diff=46163&oldid=46160 * Oerjan * (+52) vsp, unsigned
01:38:39 -!- bb010g has quit (Quit: Connection closed for inactivity).
01:51:23 <hppavilion[1]> `wisdom the fabric of reality itself
01:51:28 <HackEgo> ​/cat: : No such file or directory
01:51:35 <hppavilion[1]> `? the fabric of reality itself
01:51:36 <HackEgo> the fabric of reality itself? ¯\(°​_o)/¯
01:51:46 <hppavilion[1]> I have no joke for that
01:52:58 <oerjan> ooh DMM linked to our wiki in today's iwc rerun annotation
01:54:16 <oerjan> `le/rn fabric of reality/The fabric of reality is *not* plaid corduroy, no matter what evil tongues say.
01:54:20 <HackEgo> Learned «fabric of reality»
01:55:49 <izabera> https://arin.ga/uCKWIW/raw little help please? x.x
01:56:22 <izabera> i don't understand where's the address of the stringconcat function
01:56:41 <HackEgo> [wiki] [[Curry-Howard Correspondence/Reference]] N https://esolangs.org/w/index.php?oldid=46164 * Hppavilion1 * (+358) Created Page
01:59:33 <Phantom_Hoover> hppavilion[1], probably write some content for the page other than a declaration of its existence before creating it
01:59:58 <hppavilion[1]> Phantom_Hoover: Yeah, I created it so I wouldn't accidentally close it
02:00:06 <hppavilion[1]> Phantom_Hoover: e.g. if my computer restarted
02:00:15 -!- p34k has quit.
02:00:18 -!- AlexR42 has joined.
02:00:50 <Phantom_Hoover> ok, second concern: having subpages of a page that doesn't exist is Wrong and Bad
02:01:00 <hppavilion[1]> Phantom_Hoover: Yes, yes it is.
02:01:09 <oerjan> izabera: maybe those zeros are meant to be filled in by the linker?
02:01:13 * hppavilion[1] is a badass who doesn't follow anybody's rules
02:01:43 <hppavilion[1]> B|
02:02:14 * oerjan is guessing wildly as he doesn't really know assembly
02:04:06 <oerjan> hppavilion[1]: you'd be in so much trouble if i hadn't given up catching to my esolangs.org backlog
02:04:15 <oerjan> *catching up to
02:04:19 <mauris> izabera: that looks like an unresolved external reference maybe?
02:05:19 <izabera> not sure.....
02:05:27 <izabera> my assembly game is weak
02:05:34 * oerjan thinks mauris may be vaguely saying the same thing as he is
02:05:56 <mauris> oops, that is what i meant, yeah
02:06:09 <izabera> i thought it meant to jump to address +0
02:06:16 <izabera> which is line 1c4
02:06:41 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:10:04 <mauris> izabera: is that a decompiled .o file, and is stringconcat from some library?
02:10:04 <mauris> *disassembled
02:10:04 <izabera> yes to the first question, and that function is in the same file
02:10:04 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
02:10:04 <oerjan> oh the same file...
02:10:04 <oerjan> izabera: oh. in that case, i think it's tail call optimization: stringconcat _is_ the following line.
02:10:04 <oerjan> or something like that.
02:10:09 <oerjan> or well, proper TCO shouldn't leave in a call at all, should it? but i don't know the mnemonics.
02:10:32 <oerjan> (when the call goes to the next line)
02:11:29 <oerjan> izabera: ok, put differently, when stringconcat is on the next instruction, then the relative address to it _is_ just zeros.
02:12:09 <fizzie> izabera: If you got that thing out of disassembling a .o file, those generally have 0s in places where there are relocations.
02:12:36 * oerjan doubts himself again.
02:13:06 <oerjan> fizzie: but why would there be a relocation within the same file...
02:14:03 <izabera> indeed all the call's in my file are e8 00 00 00 00
02:14:17 <fizzie> oerjan: Well, I didn't read that part. But it's usually trivial to find out, especially if it's from objdump -- just ask it to produce the relocations.
02:14:32 <fizzie> izabera: objdump -dr.
02:14:57 <izabera> thank you :o
02:15:09 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
02:15:26 <izabera> 1bf: e8 00 00 00 00 callq 1c4 <func+0x13>
02:15:28 <izabera> 1c0: R_X86_64_PC32 stringconcat-0x4
02:15:30 <izabera> 1c4: 48 89 d8 mov %rbx,%rax
02:16:04 <fizzie> Yes, so: at address 1c0, put in the 32-bit PC-relative displacement to the symbol stringconcat-4.
02:16:33 <izabera> what are some good resources to learn more about this?
02:16:44 <fizzie> The -4 is of course because the operand of call is measured as a relative offset from the instruction following the call, while the relocation is in terms of the location of the relocation.
02:19:26 <fizzie> Hrm. I've just generally puzzled these things out. There was a relatively good article somewhere mostly about how dynamic libraries on Linux-y systems conventionally work, covering some of this stuff, but possibly not exactly what you'd be after.
02:20:58 <fizzie> As for why it's a relocation when the function is in the same file, I think the semantics require you must be able to override the symbol resolution at link time when it's a global symbol.
02:21:36 <fizzie> Compare how the calls to f() and g() are handled differently in h() here: http://sprunge.us/TPMc
02:22:47 <izabera> i see
02:23:00 <izabera> because f is static?
02:24:17 <fizzie> Yes. Well, or arguably because of what f being static mean to the symbol binding.
02:24:26 <fizzie> $ readelf -s tmp.o
02:24:31 <fizzie> 5: 0000000000000000 11 FUNC LOCAL DEFAULT 1 f
02:24:33 <fizzie> 9: 000000000000000b 11 FUNC GLOBAL DEFAULT 1 g
02:25:03 <izabera> how does a jit do this?
02:26:30 <fizzie> That's perhaps a bit vague. But in general I would expect a JIT to know exactly where the functions it wants to call currently happen to be, and therefore be able to generate code with the proper addresses.
02:28:29 <fizzie> (The functions, and the code it's generating.)
02:29:08 <izabera> thank you
02:29:29 <fizzie> If you end up needing to do symbol lookups by name in a program written in C on a POSIXy system, there's the dlsym function from <dlfcn.h>.
02:30:07 <izabera> but that looks up the address of a library function
02:30:23 <fizzie> It can also look up the address of a function in your program.
02:30:43 <fizzie> Or any symbol, not just a function.
02:31:11 -!- J_Arcane has joined.
02:31:35 <fizzie> Of course that's only relevant if you want to go from a string to the symbol.
02:36:48 <izabera> so once you gets the address, you replace e8 00 00 00 00 with e8 <actual address> ?
02:37:00 <izabera> and that's it?
02:37:04 * izabera tries
02:37:49 <fizzie> Well, the displacement.
02:38:34 <fizzie> The difference between the actual address and the address of the byte immediately after the last 00.
02:41:41 <fizzie> (And you'll have to do something else than a near call -- an e8 -- if your displacement doesn't fit in a signed 32-bit integer, which is quite possible if the target is in a library somewhere, and the generated code is in some random page from mmap.)
02:42:30 <fizzie> s/near/relative/ maybe.
02:43:49 <izabera> this shit is too hard -.-
02:46:26 <fizzie> That's from the instruction set reference.
02:47:01 <fizzie> "E8 cd CALL rel32 Call near, relative, displacement relative to next instruction. 32-bit displacement sign extended to 64-bits in 64-bit mode."
02:52:03 <izabera> the reference is that 1500 pages pdf on the intel website?
02:52:19 <fizzie> My copy is 4161 pages.
02:52:39 <fizzie> I guess the volume-2-only might be about that size.
02:52:44 <fizzie> But, I mean, it's got an index.
02:53:10 <fizzie> You don't have to read through AAA, AAD, AAM, AAS etc. in order to get to CALL.
02:53:54 <izabera> ok, so call far is 9a
02:53:57 <izabera> found it
02:53:59 <izabera> thanks
02:54:13 <fizzie> Yes, but you don't want a call far.
02:54:21 <fizzie> Sorry for using the word "near" and potentially confusing you there. :p
02:55:55 <fizzie> Far calls segue into a topic that's even more complicated, and hopefully not very relevant from the perspective of a user-mode program these days.
02:58:14 <fizzie> You could use the CALL r/m64 form to make a call with an absolute 64-bit address. It'll still be a "near" call, technically.
02:59:13 <fizzie> In fact, if you want to ask a compiler for help, the best bet is to set a function pointer to some arbitrary number, and call that. I mean, that's pretty much what you'll be wanting to do.
03:00:17 <izabera> yes that was my next question
03:00:29 <fizzie> http://sprunge.us/CdYL -- like that.
03:02:22 <fizzie> Just, you know, without the part that moves rax to memory and back again. Maybe add an -O2. Except that actually does the tail call optimization and turns it into a jmpq *%rax instead.
03:09:11 <fizzie> Think I'll be sleeping now.
03:10:21 <izabera> good night
03:10:25 <izabera> and thank you for your help
03:59:55 -!- hppavilion[1] has joined.
04:07:12 <hppavilion[1]> OK, I've got a cat written for GM
04:07:13 <hppavilion[1]> main <- "" {{,+}@.}@;
04:09:02 <hppavilion[1]> Revcat is main <- "" {{,swap`+}@.}@;
04:13:45 -!- hppavilion[2] has joined.
04:14:11 <zzo38> Low pass filter is y[i] = x * x[i] + (1-a) * y[i-1] but you could make "a" to be complex numbers?
04:17:08 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
04:28:23 -!- hppavilion[2] has quit (Ping timeout: 264 seconds).
04:30:22 -!- hppavilion[2] has joined.
04:36:01 -!- hppavilion[2] has changed nick to hppavilion[1].
05:15:20 -!- Alcest has joined.
05:17:14 -!- Alcest has quit (K-Lined).
05:54:33 -!- AlexR42 has joined.
05:55:37 <izabera> in italy a man just killed his aunt
05:55:40 <izabera> with a chainsaw
05:58:48 -!- mauris has quit (Ping timeout: 255 seconds).
06:01:10 <hppavilion[1]> izabera: Sounds pretty normal for us here in `murica
06:02:33 <izabera> :\
06:02:33 <oerjan> Some people, when confronted with an aunt, think "I know, I'll use a chainsaw."
06:03:09 <izabera> now they have... multiple problems?
06:03:15 <oerjan> now, aunts hth
06:03:17 <oerjan> 'no
06:03:19 <oerjan> *no
06:03:39 <oerjan> sorry, my most evil puns are afflicted with muphry's [sic] law
06:04:48 <hppavilion[1]> oerjan: Who's muphry?
06:05:03 <hppavilion[1]> Oh, now I get it xD
06:05:16 * hppavilion[1] is a fucking idiot
06:10:18 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
06:20:23 <zzo38> Muphry's law is an adage that states: "If you write anything criticizing editing or proofreading, there will be a fault of some kind in what you have written."
06:49:25 <hppavilion[1]> zzo38: Yes, I knew that
07:14:20 <hppavilion[1]> A programming language based on Vexillology?
07:17:10 <hppavilion[1]> So one where a program can be rendered as a flag?
07:20:00 <zzo38> You could try
07:29:00 <\oren\> maybe blazon would be easier to write
07:34:22 <hppavilion[1]> I do not understand emmental
07:36:21 <hppavilion[1]> How is redefining Emmental symbols much different from Function definition?
07:38:12 <hppavilion[1]> Is it because if you redefine an Emmental symbol to include itself, the new definition is observed in the redefinition?
07:39:05 <hppavilion[1]> I ask because I'm attempting to make a more... friendly emmental. One that we could trick programmers into seriously using.
07:39:57 -!- bender| has joined.
07:42:20 <hppavilion[1]> Hi, bender|!
07:42:29 <oerjan> hppavilion[1]: it's not that different.
07:42:49 <oerjan> and the new definition is _not_ observed inside itself.
07:42:55 <hppavilion[1]> Ah
07:43:00 <hppavilion[1]> That's probably for the best
07:43:05 <oerjan> (if it were, the new function could never halt)
07:43:06 <bender|> hello
07:43:08 <hppavilion[1]> oerjan: So it's basically just function redefinition?
07:43:12 <bender|> hppavilion[1], What ya been doing?
07:43:31 <oerjan> hppavilion[1]: yeah
07:43:41 <hppavilion[1]> bender|: I'm making an Emmental (or more accurately Mascarpone)-like language we can trick programmers into using!
07:43:46 <hppavilion[1]> For the good of the Empire!
07:43:57 <bender|> lel
07:44:01 <oerjan> although note that the lookup function (? iirc) always observes the newest definition
07:44:07 <hppavilion[1]> OK
07:44:10 <hppavilion[1]> It is ?
07:44:22 <hppavilion[1]> oerjan: I like Mascarpone because you can push interpreters onto the stack xD
07:44:36 <oerjan> i haven't looked at mascarpone
07:46:20 <hppavilion[1]> oerjan: It self-modifies so hard that it self-modifies the self-modification
07:46:28 <hppavilion[1]> Then again, so does Emmental
08:23:57 -!- tjt263 has joined.
08:52:48 -!- tjt263 has left ("part").
10:00:20 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
10:01:21 -!- oerjan has quit (Quit: leaving).
10:09:16 -!- bender| has quit (Ping timeout: 250 seconds).
11:21:49 -!- Phantom_Hoover has joined.
12:34:59 -!- AlexR42 has joined.
13:34:16 -!- bender| has joined.
13:35:40 <nortti> < hppavilion[1]> Why does the ESOSC have A1, A2, then A5? Were A3 and A4 obsoleted or something? ← they were things that did not pass
13:36:35 <nortti> @tell hppavilion[1] ESOSC D3 and D4 never got approved and seems like the drafts got removed
13:36:35 <lambdabot> Consider it noted.
13:37:08 -!- mauris has joined.
13:49:12 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
14:14:51 -!- AlexR42 has joined.
14:30:25 -!- idris-bot has quit (Quit: Terminated).
14:30:46 -!- idris-bot has joined.
14:42:26 <HackEgo> [wiki] [[Special:Log/newusers]] create * Ennullizer * New user account
14:49:55 -!- bender| has quit (Ping timeout: 240 seconds).
14:50:23 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
14:52:43 -!- AlexR42 has joined.
14:56:44 -!- J_Arcane has quit (Ping timeout: 276 seconds).
15:07:20 -!- TieSoul has joined.
15:18:28 -!- p34k has joined.
15:21:17 -!- khattab has joined.
15:23:24 -!- khattab has quit (Read error: Connection reset by peer).
15:23:35 <FireFly> Otherwise I thought it would be entirely in-character to only have specs A1, A2 and A5 without any rationale as to why
15:33:42 -!- J_Arcane has joined.
15:38:56 -!- boily has joined.
15:43:08 <myname> where do you read these specs?
15:48:10 <HackEgo> [wiki] [[Hq9eFuck]] N https://esolangs.org/w/index.php?oldid=46165 * Ennullizer * (+2258) Created page with "'''Hq9eFuck''' (pronounced as "HugeFuck"), or also '''H9F''', is a joke esoteric programming language written by Egor Promyshlennikov in 2016. ==Language overview== Hq9eFuck i..."
15:49:52 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
15:53:42 <myname> isn't it more a mixture of bf and hq9 rather than bf and hq9+?
15:54:13 <myname> "it is hq9+, but the + got removed
16:09:06 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46166&oldid=46165 * Ennullizer * (+61)
16:10:58 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46167&oldid=46130 * Ennullizer * (+15) /* H */
16:12:04 -!- Lord_of_Life has quit (Excess Flood).
16:12:10 <myname> boring language imho
16:12:36 -!- Lord_of_Life has joined.
16:12:45 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46168&oldid=46166 * Ennullizer * (+25)
16:16:06 <boily> @metar CYUL
16:16:06 <lambdabot> CYUL 161613Z 02009KT 2 1/2SM -SN FEW012 OVC022 M04/M07 A2943 RMK SF2SC6 SLP971
16:16:21 <boily> a perfect day for coffee.
16:16:22 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46169&oldid=46168 * Ennullizer * (+2) /* HQ9+ part */
16:16:42 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46170&oldid=46169 * Ennullizer * (-2) /* External resources */
16:22:20 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46171&oldid=46170 * Ennullizer * (+110)
16:24:58 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46172&oldid=46171 * Ennullizer * (+14) /* HQ9+ part */
16:25:34 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46173&oldid=46172 * Ennullizer * (+8) /* HQ9+ part */
16:25:56 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46174&oldid=46173 * Ennullizer * (+5) /* Deep Thought extension */
16:26:14 <myname> oh dear
16:29:47 <mauris> that BF implementation is broken, oops
16:31:09 <mauris> ('[' should skip to the corresponding ']' if the current cell is 0)
16:31:09 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46175&oldid=46174 * Ennullizer * (+6) /* HQ9+ instructions */
16:31:22 <mauris> i'd let them know, but, boring language :[
16:31:26 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46176&oldid=46175 * Ennullizer * (+2) /* Syntax overview */
16:44:00 <boily> question: anybody else has problems with youtube at the moment? there's no CSS whatsoever.
16:50:32 <boily> and reddit has a 502 bad gateway...
16:50:53 * boily strums a few chords of blues on an air banjo ♪
17:12:18 -!- AlexR42 has joined.
17:12:44 <boily> `relcome AlexR42
17:13:01 <AlexR42> hi
17:13:05 <HackEgo> AlexR42: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
17:13:22 <AlexR42> cool
17:13:26 <AlexR42> thanks
17:16:25 -!- shikhin has quit (Quit: Alas.).
17:17:13 -!- shikhin has joined.
17:20:09 <HackEgo> [wiki] [[User:Ennullizer]] N https://esolangs.org/w/index.php?oldid=46177 * Ennullizer * (+31) Created page with "==Esolangs by me== [[Hu9eFuck]]"
17:20:36 <HackEgo> [wiki] [[User:Ennullizer]] https://esolangs.org/w/index.php?diff=46178&oldid=46177 * Ennullizer * (+0) /* Esolangs by me */
17:22:39 <HackEgo> [wiki] [[User:Ennullizer]] https://esolangs.org/w/index.php?diff=46179&oldid=46178 * Ennullizer * (+45)
17:37:30 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
17:47:32 -!- ais523 has joined.
17:50:56 -!- AlexR42 has joined.
18:24:16 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
18:40:52 <HackEgo> [wiki] [[User talk:Ennullizer]] N https://esolangs.org/w/index.php?oldid=46180 * Ennullizer * (+133) Created page with "Hello! Don't be shy to leave your messages and questions. Due to my native language ain't English, sorry for all the mistakes I make."
18:42:16 <quintopia> helloily!
18:42:38 <quintopia> what do alex?
18:46:10 -!- atslash has quit (Ping timeout: 256 seconds).
18:46:40 -!- copumpkin has joined.
18:46:47 -!- atslash has joined.
19:03:05 <boily> quinthellopia! which alex?
19:06:52 <HackEgo> [wiki] [[Joke language list]] https://esolangs.org/w/index.php?diff=46181&oldid=45787 * Ennullizer * (+15) /* Brainfuck derivatives */
19:08:09 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46182&oldid=46176 * Ennullizer * (+4)
19:09:48 <HackEgo> [wiki] [[Joke language list]] https://esolangs.org/w/index.php?diff=46183&oldid=46181 * Ennullizer * (+47) /* Brainfuck derivatives */
19:10:32 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46184&oldid=46167 * Ennullizer * (-15) /* H */
19:13:20 <HackEgo> [wiki] [[User:Ennullizer]] https://esolangs.org/w/index.php?diff=46185&oldid=46179 * Ennullizer * (+194) /* Esolangs by me */
19:16:26 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46186&oldid=46182 * Ennullizer * (+37)
19:18:09 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46187&oldid=46186 * Ennullizer * (+5)
19:24:27 <boily> time for a strategic nap.
19:24:35 -!- boily has quit (Quit: TRUNK CHICKEN).
19:30:47 -!- mauris has quit (Ping timeout: 264 seconds).
19:37:07 -!- gniourf has quit (Ping timeout: 260 seconds).
19:38:10 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
19:43:03 <ais523> so I've been playing Crypt of the Necrodancer recently, and have concluded that it is probably Turing-complete
19:43:09 <ais523> although I haven't tried very hard to program in it yet
19:49:32 -!- kline has changed nick to kiraem.
19:49:49 -!- kiraem has changed nick to [kiraem].
19:51:55 -!- copumpkin has joined.
19:53:29 -!- [kiraem] has changed nick to kline.
20:00:19 <HackEgo> [wiki] [[User:Ennullizer]] https://esolangs.org/w/index.php?diff=46188&oldid=46185 * Ennullizer * (+185) /* Hq9eFuck */
20:04:53 -!- mauris has joined.
20:08:18 <HackEgo> [wiki] [[User:Ennullizer]] https://esolangs.org/w/index.php?diff=46189&oldid=46188 * Ennullizer * (+63) /* Hq9eFuck */
20:09:35 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46190&oldid=46187 * Ennullizer * (+66) /* Implementation */
20:09:43 <Taneb> Only in #esoteric: "I think this rhythm game is turing complete"
20:09:59 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46191&oldid=46190 * Ennullizer * (+1) /* Implementation */
20:13:29 <Elronnd> my friend is a cyclist and a programmer, and a running joke between him and his wife is whether his bikes are turing/touring complete
20:13:59 <HackEgo> [wiki] [[User:Ennullizer]] https://esolangs.org/w/index.php?diff=46192&oldid=46189 * Ennullizer * (+10) /* Me */
20:17:51 <HackEgo> [wiki] [[User:Ennullizer]] https://esolangs.org/w/index.php?diff=46193&oldid=46192 * Ennullizer * (+29) /* Me */
20:19:14 <HackEgo> [wiki] [[Hq9eFuck]] https://esolangs.org/w/index.php?diff=46194&oldid=46191 * Ennullizer * (+28)
20:19:57 -!- mauris has quit (Quit: Leaving).
20:34:57 -!- TieSoul has quit (Remote host closed the connection).
20:35:27 <HackEgo> [wiki] [[User:Ennullizer]] https://esolangs.org/w/index.php?diff=46195&oldid=46193 * Ennullizer * (+8) /* Hq9eFuck */
20:42:15 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
21:31:33 <\oren\> hmm
21:32:26 <\oren\> seen from a time complexity point of view, there are several unnamed variants of BF
21:32:52 <ais523> Taneb: I think you can do it even assuming that the level has only a finite amount that isn't open space
21:33:16 <ais523> ah, hmm, no
21:33:24 <ais523> the problem there is generating an infinite supply of enemies
21:35:44 <\oren\> see, suppose you come across a ], and the current cell isn't 0. finding the next instruction, depending on the interpreter, might take O(1) time beacuse we know where it is, or O(n) time to search for the matching [.
21:36:53 <\oren\> similarly, an [ might take O(1) or O(n).
21:38:15 <\oren\> so, I call these variants bf[11], bf[1N], bf[N1] and bf[NN]
21:38:31 -!- hppavilion[1] has joined.
21:39:46 <\oren\> a naive interpreter would typically implement bf[NN], while my stupid trick interpreter is bf[N1].
21:40:32 <\oren\> a jit type thing would make it bf[11]
21:40:42 <ais523> or just using a compiler
21:40:56 <\oren\> right
21:41:05 <fizzie> fungot does bf[11] in those terms, though the distinction sounds only relevant if you're generating a piece of brainfuck code that depends on the size of some problem of interest.
21:41:05 <fungot> fizzie: ( for some unfathomable reason i didn't do cs but math is of three elements.) are becoming more and more annoying
21:42:21 <hppavilion[1]> Is the concept of "coproduct" (as seen on TV! If all you watch is documentaries on Category Theory) applicable to normal numbers?
21:42:45 <hppavilion[1]> @messages-lud
21:42:45 <lambdabot> nortti said 8h 6m 9s ago: ESOSC D3 and D4 never got approved and seems like the drafts got removed
21:43:18 <fizzie> If you're talking about the time complexity of some particular BF program to do a particular thing, which is possibly more common, the operations would still be constant-time.
21:43:50 <\oren\> right
21:44:36 <\oren\> this is only for comparing interpreters, not programs
21:44:54 <hppavilion[1]> \oren\: What's this BF[NN] syntax?
21:45:00 <hppavilion[1]> What does it refer to?
21:45:56 <\oren\> BF[NN] means that when the interpreter wants to find the [ that a ] jumps to, it has to scan the code, and the same for ] and [
21:46:14 <hppavilion[1]> \oren\: Ah?
21:46:18 <hppavilion[1]> So what do the Ns mean?
21:46:37 <hppavilion[1]> BF[5,12] for example?
21:46:44 <\oren\> BF[NN] means [ and ] have O(N) time complexity
21:46:47 <ais523> \oren\: it's also possible that, say, < or > are O(N)
21:46:57 <hppavilion[1]> Ah
21:47:03 <ais523> and + and - might scale on the order of the magnitude being increased/decreased, on the position on the tape, or both
21:47:14 <hppavilion[1]> So 5 and 12 is a stupid set of numbers
21:47:28 <hppavilion[1]> because, y'know, that's not how O() works
21:47:34 <\oren\> right
21:48:01 <hppavilion[1]> I like the idea of a programming language where the interpreter is a first-class object :)
21:48:25 <hppavilion[1]> In fact, I'm making a Mascarpone-derived language where /everything/ is modifyable and anonymous. Well, as much as possible.
21:48:45 <hppavilion[1]> And it's readable and not obviously esoteric, so we can trick uncautious programmers into using it seriously >:)
21:49:15 <hppavilion[1]> For the good of the Empire!
21:53:59 <ais523> wait, would a zombie turn around if it ran into a yeti?
21:54:07 * ais523 tests
21:54:42 <hppavilion[1]> ais523: No, it would zomibfy the yeti
21:54:57 <hppavilion[1]> Then the world would self-destruct for the good of the rest of the universe
21:56:43 <ais523> it does
21:56:47 <ais523> this seems to give us unlimited storage
21:56:51 <ais523> if an awkward storage to use
21:57:08 <ais523> even with finitely many enemies
21:57:28 <ais523> I guess what we do is, we have two yeti/zombie pairs to represent one counter
21:57:42 <hppavilion[1]> ais523: Wait, what?
21:57:50 <hppavilion[1]> ais523: You have now confused me
21:57:53 <ais523> turn the zombies around every time they get back home (this is easy)
21:58:05 <hppavilion[1]> Oh
21:58:08 <hppavilion[1]> Like ping storage?
21:58:16 <ais523> then we can encode an unbounded integer in the difference in time that it takes the two zombies to arrive
21:58:27 <ais523> yes, similar idea, except it's all in timings, nothing in payloads
21:58:33 <hppavilion[1]> Ah
21:58:34 <hppavilion[1]> Cool
21:59:02 -!- codergeek42 has joined.
21:59:03 -!- codergeek42 has quit (Changing host).
21:59:03 -!- codergeek42 has joined.
21:59:03 <ais523> next question is how to detect that the two zombies are arriving with a particular time difference
21:59:10 <ais523> we could use a separate zombie at right angles, I guess
21:59:16 <ais523> I can't think of a way to do it with a slime
21:59:44 <ais523> hmm, maybe unless the slime was walking on a chain of confusion traps
21:59:46 <ais523> time for another test
22:02:18 <ais523> oh, a blue sime can only move in one direction if you place the confusion traps at alternating locations like I did
22:02:27 <ais523> you could get a yellow slime to move in a circuit though I think
22:04:30 <ais523> got it: you conceptually divide the grid into a larger grid of 2x2 squares
22:04:38 <ais523> then make that into a checkerboard
22:04:49 <ais523> wait, this depends a lot on the timing
22:04:50 * ais523 tests again
22:14:01 <hppavilion[1]> I just gave someone advice on how to get out of a coding rut. I feel so smart. I hope it worked. I would feel bad if it didn't.
22:14:34 <ais523> oh gah, this is nondeterministic?
22:14:52 <ais523> or at least, I seem to be able to throw off the timing via movement that's a /long/ way from the beat
22:16:18 <tswett> "Due to my native language ain't English, sorry for all the mistakes I make." - I hope that was intentional.
22:16:27 <tswett> Sounds intentional if you ask me.
22:16:38 <tswett> `iyam
22:16:43 <tswett> Rather.
22:16:44 <tswett> `? iyam
22:16:48 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: iyam: not found
22:16:48 <HackEgo> iyam? ¯\(°​_o)/¯
22:16:57 <hppavilion[1]> I have been tempted to make a post ending with "Sorry for the bad english, I repeatedly google translated it so it wouldn't sound natural"
22:17:07 <tswett> `learn IYAM is like IANAL, except yam instead of anal.
22:17:12 <HackEgo> Learned 'iyam': IYAM is like IANAL, except yam instead of anal.
22:18:03 <hppavilion[1]> `? IANAL
22:18:03 <ais523> hppavilion[1]: you must actually repeatedly google translate it, and repeatedly google translate that bit too
22:18:04 <HackEgo> IANAL? ¯\(°​_o)/¯
22:18:11 <ais523> hppavilion[1]: "I am not a lawyer"
22:18:13 <hppavilion[1]> ais523: Well yes, that was the plan
22:18:16 <hppavilion[1]> Oh
22:18:23 <hppavilion[1]> Then what's IYAM?
22:18:30 <ais523> it's the usual disclaimer when you talk about the law, on the basis that pretending to be a lawyer is illegal
22:18:31 <hppavilion[1]> I Yelled At Mohammed?
22:18:41 <ais523> I think tswett made IYAM up
22:21:33 <tswett> hppavilion[1]: It is, it is, there it it, it will need to translate it, Google of it, in English, to me, is, 1 it to the shame of the throat for what is bad also because it does not listen Although not part, I, of course, but, you repeat the position that it has not been has of placement
22:21:41 <tswett> Also:
22:21:44 <tswett> hppavilion[1]: "if you ask me"
22:21:53 <hppavilion[1]> tswett: nice xD
22:29:50 <tswett> That translation occasionally included "I am sorry for the English" or "I pity the English".
22:31:33 <int-e> wow, fungot writes better english than that...
22:31:34 <fungot> int-e: c's syntax?' you have not scrolled down at all. the vote selected a black white logo!
22:32:27 <int-e> (But I guess fungot is cheating a bit)
22:32:28 <fungot> int-e: i'm pretty depressed myself: not a directory.' i'm curious where you learned it. i prefer minimal changes if any to paredit.el, but is also quite nice, imho
22:33:19 <fizzie> fungot: Look, just because it's not a directory is no reason to get depressed.
22:33:20 <fungot> fizzie: after k-f-newline has been enqueued, start is the in-range's end, and you write the missing tests
22:33:24 <ais523> tswett: "I am sorry for the English" is actually ambiguous, it could mean either "sorry for my English" or "I pity the English"
22:34:04 -!- int-e has set topic: Depressing files | The international hub for magic gathering and deployment. | Effi's finest fluffy waffles | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://esolangs.org/ | This part of the topic was the second added in 2016.
22:34:10 <fizzie> ais523: I thought it was someone apologizing on behalf of the English.
22:34:33 <ais523> oh, ambiguous three ways :-)
22:34:33 <fizzie> As in, sorry for what they did to your country, or some-such.
22:35:12 <int-e> such poor people
22:35:40 <fizzie> We went through the National Maritime Museum in Greenwich today while thereabouts, and it seemed to be mostly about the slave trade across the Atlantic, and the part where the East India Company filled China with opium.
22:36:01 <fizzie> At least they're not trying to sugarcoat things.
22:36:49 <int-e> . o O ( so there were no pills? )
22:56:20 -!- infinitymaster has joined.
22:57:59 <hppavilion[1]> ais523: What about "I'm sorry for thee, English"?
22:58:08 <hppavilion[1]> Feeling pity for someone named English?
22:58:34 <ais523> hppavilion[1]: you can only do that by mishearing the sentence though
22:58:51 <hppavilion[1]> ais523: True
23:05:17 <hppavilion[1]> I still like the idea of Executable Encryption
23:05:44 <hppavilion[1]> Encryption which requires things like entering a password to decrypt
23:08:05 <Taneb> ais523, what about "I'm sorry about all the English people that I brought here"?
23:08:18 <ais523> Taneb: oh yes, that works too
23:08:29 <ais523> although it might be the same meaning as fizzie's
23:08:44 <Taneb> I don't think it is
23:17:31 <zzo38> I have added a few commands into XISYNTH such as: COM$ FCO IF LPF~ RBPF RHPF RLPF WG2
23:19:43 <hppavilion[1]> Here's an idea
23:19:44 <hppavilion[1]> TCFG
23:19:49 <hppavilion[1]> (Turing-complete config)
23:20:11 <zzo38> What is it configuring?
23:20:42 <hppavilion[1]> zzo38: Whatever it's needed for
23:21:09 <hppavilion[1]> zzo38: It's a general-purpose CFG with the minor side-benefit of being TC
23:21:23 <hppavilion[1]> Sort of like the C Preprocessor or LaTeX
23:21:31 <zzo38> OK, although possibly many program will do anyways
23:21:56 <zzo38> Even JavaScript (which is the superset of JSON), and also SQL
23:22:34 <zzo38> But if the format has a C syntax then you can even use C preprocessor with it, without the problem!
23:23:09 <hppavilion[1]> zzo38: Yes, but this is a dedicated configuration file
23:23:11 <hppavilion[1]> format
23:23:12 <hppavilion[1]> GTG
23:23:50 <zzo38> Yes, although I am also saying that such format could have a syntax compatible with C preprocessor and then you can use it with C preprocessor
23:26:46 <Taneb> hppavilion[1], that makes me think of nix
23:28:17 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:32:05 <fizzie> Oh, also from the Maritime Museum: they had a cards of the form "I think exploration is [adjective] because... [space for free-form text]" that you could hang up on the wall. Someone had left a card that said:
23:32:10 <fizzie> "I think exploration is irrelevant because...
23:32:10 <fizzie> * Hat
23:32:10 <fizzie> * Farm shop
23:32:10 <fizzie> * 2 legs
23:32:12 <fizzie> Bye"
23:32:20 <fizzie> Can't really argue with that.
23:39:10 -!- hppavilion[1] has joined.
23:47:48 -!- codergeek42 has quit (Quit: Ex-Chat).
23:59:59 <tswett> hppavilion[1]: "Turing-complete configuration" is more or less what Lua is. It's certainly used for that purpose quite a lot.
←2016-01-15 2016-01-16 2016-01-17→ ↑2016 ↑all