←2017-08-16 2017-08-17 2017-08-18→ ↑2017 ↑all
00:00:20 <wob_jonas> "<boily> Suppose you have a man eating chicken. Is it a man eating chicken or a man eating chicken?" => see https://stickman.qntm.org/comics.php?n=567
00:01:21 <Sgeo> Sam Hughes made a webcomic?!?!?
00:01:33 <wob_jonas> boily: also, how about a man eating manatee
00:01:41 <wob_jonas> Sgeo: yes, way way back when webcomics weren't yet so fashionable
00:01:51 <wob_jonas> it's my favourite webcomic of all time
00:01:55 <oerjan> oh the huge manatee, presumably
00:02:14 <wob_jonas> not because it's the best webcomic, but because it's the one I read first and introduced me to the world of webcomics
00:02:44 <oerjan> `dowg password
00:02:51 <HackEgo> 11081:2017-07-11 <int-̈e> learn The password of the month is blowin\' in the wind. \ 10981:2017-06-02 <shachäf> revert \ 10980:2017-06-02 <shachäf> revert \ 10979:2017-06-02 <oerjän> learn The password of the month is out of date tdnh \ 10898:2017-05-14 <boil̈y> le/rn password//The password of the month is poochpoochpoochpoochpooch \ 10595:
00:02:58 <boily> wellob_jonasgelloerjan.
00:03:05 <boily> are manatees edible?
00:03:18 <oerjan> `learn The password of the word is unacceptably delayed
00:03:21 <HackEgo> Relearned 'password': The password of the word is unacceptably delayed
00:03:36 <oerjan> (due to HackEgo crashing, but still...)
00:04:27 <oerjan> 'ily.
00:04:39 <shachaf> What's the national mushroom of Norway?
00:05:12 <oerjan> hm i'll have to check
00:06:58 <oerjan> doesn't seem like there is an official one, but the top hit for "nasjonalsopp" suggests it ought to be chanterelles.
00:07:15 <oerjan> (most of the other hits i see are about the japanese one.)
00:07:25 <wob_jonas> do they have other national organisms?
00:07:42 <oerjan> we have a national bird, fossekall
00:07:55 <wob_jonas> I don't understand how this "national tree" thing works, it's like an American habit
00:08:08 <wob_jonas> what is the point of them?
00:08:14 <shachaf> oerjan: that gives me a clue about the national philospher as well hth
00:08:14 <oerjan> (also, are you asking about the norwegians or the japanese, your pronoun would seem to suggest the latter)
00:09:24 <oerjan> shachaf: the top hit for that mentions Arne Næss, which is exactly who i expected. (which goes for the mushroom too.)
00:10:03 <shachaf> oerjan: what, it's not kant?
00:10:07 <oerjan> although hit #3 sarcastically suggest "Egner".
00:10:16 <oerjan> shachaf: Kant wasn't norwegian hth
00:10:22 <shachaf> nor are chanterelles hth
00:10:46 <oerjan> unlike Kant, they at least grow wild in norway.
00:12:51 <wob_jonas> are there cross-matching requirements for the national organisms? like, does the national bird have to nest on the national tree, the national fungi grow on the national tree, the national bird eat larvas of the national arthropod?
00:13:03 <oerjan> (Egner was a children's author, and wrote a book that some people love to sarcastically claim is how norwegians think about politics and morals)
00:13:42 <oerjan> (especially those people who don't like social democratics)
00:13:47 <shachaf> wob_jonas: Wikipedia says the saker falcon is the national bird of Hungary.
00:15:10 <wob_jonas> shachaf: it looks like that's a "bird of the year"
00:15:19 <wob_jonas> of 2000
00:15:30 <wob_jonas> see https://hu.wikipedia.org/wiki/Az_%C3%A9v_madara
00:15:36 <shachaf> Oh, well, 2000 was the national year.
00:16:12 <wob_jonas> no. no it wasn't. 1986 was the national year I think.
00:16:49 <oerjan> wob_jonas: also, the norwegian "national whatevers" are generally not declared by the government, but more like voted on by the listeners to the Nitimen radio program.
00:17:06 <wob_jonas> oerjan: sure
00:17:47 <oerjan> which remarkably is still produced, i think. although i don't listen to radio much.
00:17:58 <oerjan> (as in, i don't have one.)
00:18:44 <wob_jonas> oerjan: the national coat of arms is set by the parliment in the constitution only because it's used on official papers issued by the government and on buildings of government institutions, so it has to be something clearly recognizable to be able to prove fraud if someone tries to use it and pretends they are doing some government function
00:18:49 <wob_jonas> it's like a state trademark basically
00:19:29 <wob_jonas> And perhaps the constitution sets the flag because red-white-green colored twine is also used in some of those documents
00:20:00 <oerjan> well the flag is also set by law in norway, iirc.
00:20:20 <oerjan> maybe the coat of arms too.
00:20:35 <oerjan> the national anthem is only traditional, i think.
00:20:43 <wob_jonas> yes, the anthem is traditional
00:21:26 <oerjan> yep, never officially declared.
00:21:30 <wob_jonas> also, some US states have a national motto
00:21:30 <shachaf> oerjan: i was just trying to make a pun on the norwegian name of the mushroom tdnw
00:21:38 <oerjan> shachaf: i know hth
00:21:39 <shachaf> US states have more than a motto.
00:22:13 <oerjan> the norwegian king has a motto, but that's not by law, he selects it himself. it just happens to be the same as that of his father and grandfather.
00:22:17 <shachaf> https://statesymbolsusa.org/states/united-states/california
00:22:25 <oerjan> (Alt for Norge)
00:22:45 <shachaf> oerjan: careful, next he'll be trying to seize ctrl
00:23:13 <wob_jonas> is the motto written in his coat of arms?
00:23:40 * oerjan swats shachaf -----###
00:24:40 <wob_jonas> shachaf: wait, "state dance"? what the heck is that for? do army soldiers have to dance it when they are appointed as an official?
00:24:43 <oerjan> wob_jonas: doesn't look like it although it's been used on some coins https://no.wikipedia.org/wiki/Alt_for_Norge
00:25:59 <wob_jonas> a state dance and a state folk dance? wow
00:26:13 <wob_jonas> a state fish and a state marine fish
00:26:17 <wob_jonas> "State Mineral: Gold"
00:28:08 -!- augur has quit (Remote host closed the connection).
00:28:11 <oerjan> i wasn't sure he even had a coat of arms but https://no.wikipedia.org/wiki/Kongev%C3%A5pen#Etter_1905
00:28:19 <oerjan> i can't see the motto on it though
00:28:46 <shachaf> wob_jonas: This is just some website, who knows whether it's legitimate.
00:29:36 <wob_jonas> European noblemen usually have a coat of arms. Or at least a family coat of arms.
00:30:03 -!- Antoxyde_ has joined.
00:31:18 <shachaf> It's popular in America as well.
00:31:26 <shachaf> There's even a constitutional amendment about it.
00:31:52 <oerjan> wob_jonas: norway has abolished nobility, there's just the royals left.
00:31:58 <wob_jonas> shachaf: amendment about what?
00:32:24 <oerjan> (it was done in the original constitution from 1814, i think)
00:32:28 -!- Antoxyde has quit (Ping timeout: 240 seconds).
00:32:44 <wob_jonas> oerjan: people can consider themselves noblemen for historical reasons even if nobility is officially abolished in their country.
00:32:46 <shachaf> wob_jonas: The right to bear arms.
00:33:50 <wob_jonas> I see
00:33:58 * oerjan whacks shachaf with the skillet ==\____/
00:36:35 <oerjan> hm no, a law from 1821 it seems.
00:37:04 <oerjan> (the constitution disallowed creating new nobility)
00:38:03 -!- augur has joined.
00:40:51 <wob_jonas> `? empty
00:40:52 <HackEgo> empty? ¯\(°​_o)/¯
00:41:02 <wob_jonas> `? null
00:41:02 <HackEgo> null? ¯\(°​_o)/¯
00:41:04 <wob_jonas> `? nil
00:41:05 <HackEgo> nil? ¯\(°​_o)/¯
00:41:06 <wob_jonas> `? NULL
00:41:07 <HackEgo> NULL? ¯\(°​_o)/¯
00:41:08 <wob_jonas> `? nulptr
00:41:09 <HackEgo> nulptr? ¯\(°​_o)/¯
00:41:14 <wob_jonas> `? nullptr
00:41:15 <HackEgo> nullptr? ¯\(°​_o)/¯
00:41:17 <wob_jonas> `? none
00:41:18 <HackEgo> none? ¯\(°​_o)/¯
00:41:23 -!- Sgeo_ has joined.
00:41:34 <boily> `? nothing
00:41:34 <HackEgo> Nothing would have been better than to create this wisdom entry.
00:41:45 -!- Sgeo has quit (Ping timeout: 246 seconds).
00:42:04 <wob_jonas> `? nullopt
00:42:05 <HackEgo> nullopt? ¯\(°​_o)/¯
00:42:36 <boily> https://www.youtube.com/watch?v=ns1SGo3WCF4
00:48:39 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
00:54:21 <oerjan> boily: youtube showed me an ad for Annabelle first, i got a bit confused.
00:57:35 -!- jaboja has quit (Ping timeout: 240 seconds).
00:58:33 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
00:58:57 -!- Sgeo has joined.
01:04:58 -!- Sgeo_ has joined.
01:05:12 -!- Sgeo has quit (Ping timeout: 246 seconds).
01:06:54 <boily> oerjan: you should use an adblocker hth
01:08:04 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:08:30 <oerjan> i block plenty of ads, although by adding annoying ad sites by hand to the restricted sites list.
01:08:53 <oerjan> but youtube has been left in peace so far.
01:09:28 <oerjan> (google in general has not.)
01:09:45 <boily> block everything, use noscript, brush your teeth.
01:10:15 <oerjan> but i get a bad conscience if i block all ads on sites i like
01:10:38 <oerjan> (of course i hardly ever _follow_ an ad.)
01:11:48 <oerjan> but even reddit started showing annoying ads (and broke their own system for giving them dumbs down)
01:15:25 <oerjan> *thumbs
01:21:46 <shachaf> California designated "a shelter pet" as the official state pet in 2015
01:21:53 <shachaf> I should get the official state pet.
01:28:37 <boily> un cabot de refuge.
01:29:07 <shachaf> un chat de refuge
01:30:08 <boily> les chats ne sont pas des cabots, ce sont des matous.
01:35:36 -!- doesthiswork has joined.
01:41:57 -!- augur has quit (Remote host closed the connection).
01:44:56 -!- augur has joined.
01:55:33 -!- augur has quit (Remote host closed the connection).
02:00:34 -!- augur has joined.
02:01:01 -!- Antoxyde_ has quit (Quit: Leaving).
02:04:06 -!- imode has joined.
02:05:10 -!- augur has quit (Ping timeout: 264 seconds).
02:07:47 -!- MDude has joined.
02:10:42 <boily> @metar CYUL
02:10:42 <lambdabot> CYUL 170100Z 27004KT 30SM SCT250 18/08 A3002 RMK CI3 SLP168 DENSITY ALT 500FT
02:20:01 -!- jaboja has joined.
02:38:52 -!- boily has quit (Quit: WAGON CHICKEN).
02:45:04 -!- doesthiswork has quit (Ping timeout: 248 seconds).
02:47:51 -!- doesthiswork has joined.
03:01:32 -!- jaboja has quit (Ping timeout: 260 seconds).
03:02:24 -!- ATMunn has quit (Quit: See ya! o/).
03:11:27 -!- imode has quit (Ping timeout: 240 seconds).
04:00:08 -!- imode has joined.
04:15:19 -!- oerjan has quit (Quit: Nite).
04:54:18 <HackEgo> [wiki] [[Brainfuck]] M https://esolangs.org/w/index.php?diff=52845&oldid=51304 * Rdococ * (+94) /* Related languages */
04:55:02 <HackEgo> [wiki] [[Brainfuck]] M https://esolangs.org/w/index.php?diff=52846&oldid=52845 * Rdococ * (+16) /* Related languages */
05:04:44 <HackEgo> [wiki] [[Mindscrew]] https://esolangs.org/w/index.php?diff=52847&oldid=52826 * Rdococ * (+478)
05:05:21 -!- augur has joined.
05:05:52 <HackEgo> [wiki] [[Mindscrew]] https://esolangs.org/w/index.php?diff=52848&oldid=52847 * Rdococ * (+237) /* Computational Class */
05:06:27 <rdococ> Mindscrew is the opposite of newbiefuck in a way, because ] is a NOP in the former, while [ is a NOP in the latter.
05:06:58 <rdococ> It also has recursive procedures which can be written to a second tape, but that's another story.
05:10:00 -!- doesthiswork has quit (Quit: Leaving.).
05:10:31 -!- doesthiswork has joined.
05:11:06 <rdococ> Himode.
05:11:21 <rdococ> Oh - and doesthiswork.
05:12:01 <doesthiswork> doesthelloswork
05:14:41 <doesthiswork> I'm trying to figure out why pigs and goats have wattles
05:29:55 <Hoolootwo> heloooloovoo?
05:33:58 <rdococ> I planned on creating a low level language where the instruction pointer itself was accessible, along with labeled gotos and scope (let x = 3 in ... end).
05:42:06 -!- APic has quit (K-Lined).
05:42:07 -!- jjthrash has quit (K-Lined).
05:42:07 -!- myname has quit (K-Lined).
05:42:07 -!- bibibi has quit (K-Lined).
05:42:07 -!- Deewiant has quit (K-Lined).
05:42:08 -!- zzo38 has quit (K-Lined).
05:42:08 -!- erdic has quit (K-Lined).
05:42:08 -!- FreeFull has quit (K-Lined).
05:42:08 -!- sftp has quit (K-Lined).
05:42:08 -!- Melvar has quit (K-Lined).
05:42:08 -!- lambdabot has quit (K-Lined).
05:42:08 -!- vifino has quit (K-Lined).
05:42:08 -!- olsner has quit (K-Lined).
05:42:09 -!- puckipedia has quit (K-Lined).
05:42:09 -!- BooK_ has quit (K-Lined).
05:42:09 -!- Guest6666 has quit (K-Lined).
05:42:09 -!- moony has quit (K-Lined).
05:42:09 -!- atehwa has quit (K-Lined).
05:42:09 -!- rodgort has quit (K-Lined).
05:42:09 -!- trn has quit (K-Lined).
05:42:09 -!- aloril_ has quit (K-Lined).
05:42:10 -!- int-e has quit (K-Lined).
05:42:10 -!- relrod has quit (K-Lined).
05:42:10 -!- idris-bot has quit (K-Lined).
05:42:10 -!- danieljabailey has quit (K-Lined).
05:42:10 -!- brandonson has quit (K-Lined).
05:42:10 -!- diginet has quit (K-Lined).
05:42:10 -!- j-bot has quit (K-Lined).
05:42:10 -!- deltab has quit (K-Lined).
05:42:11 -!- ineiros has quit (K-Lined).
05:42:11 -!- tromp has quit (K-Lined).
05:42:11 -!- joast has quit (K-Lined).
05:42:11 -!- HackEgo has quit (K-Lined).
05:42:11 -!- GeekDude has quit (K-Lined).
05:42:11 -!- hakatashi has quit (K-Lined).
05:42:12 -!- fractal_ has quit (K-Lined).
05:42:12 -!- catern has quit (K-Lined).
05:42:12 -!- Warrigal has quit (K-Lined).
05:42:12 -!- Yurume_______ has quit (K-Lined).
05:42:12 -!- pelegreno_____ has quit (K-Lined).
05:42:12 -!- jix has quit (K-Lined).
05:42:12 -!- paul2520 has quit (K-Lined).
05:42:13 -!- lifthrasiir has quit (K-Lined).
05:42:13 -!- \oren\ has quit (K-Lined).
05:42:13 -!- izabera has quit (K-Lined).
05:42:13 -!- viznut has quit (K-Lined).
05:42:13 -!- Gregor has quit (K-Lined).
05:42:13 -!- Jafet has quit (K-Lined).
05:42:14 -!- augur has quit (K-Lined).
05:42:14 -!- Sgeo_ has quit (K-Lined).
05:42:14 -!- doesthiswork has quit (K-Lined).
05:42:14 -!- MDude has quit (K-Lined).
05:42:14 -!- newsham has quit (K-Lined).
05:42:14 -!- pikhq has quit (K-Lined).
05:42:14 -!- heroux has quit (K-Lined).
05:42:14 -!- quintopia has quit (K-Lined).
05:42:14 -!- Cale has quit (K-Lined).
05:42:14 -!- contrapumpkin has quit (K-Lined).
05:42:15 -!- digitalcold has quit (K-Lined).
05:42:15 -!- clog has quit (K-Lined).
05:42:15 -!- xa0 has quit (K-Lined).
05:42:27 -!- shachaf has quit (K-Lined).
05:42:27 -!- yorick has quit (K-Lined).
05:43:09 <^v> Oof
05:43:20 -!- clog has joined.
05:43:21 -!- aloril has joined.
05:43:26 -!- Yurume_______ has joined.
05:43:30 -!- mtve has quit (K-Lined).
05:43:39 -!- rodgort has joined.
05:43:46 -!- paul2520_ has joined.
05:43:50 -!- hakatashi has joined.
05:43:51 -!- tromp has joined.
05:45:51 -!- Melvar has joined.
05:45:55 -!- jjthrash has joined.
05:45:56 -!- HackEgo has joined.
05:46:07 -!- Jafet has joined.
05:46:21 -!- copumpkin has quit (Ping timeout: 255 seconds).
05:46:25 -!- relrod has joined.
05:46:48 -!- pelegreno______ has joined.
05:46:55 -!- Jafet has quit (Client Quit).
05:46:56 -!- doesthiswork has joined.
05:46:58 -!- G33kDude has joined.
05:47:36 -!- puckipedia has joined.
05:48:00 -!- danieljabailey has joined.
05:48:16 -!- contrapumpkin has joined.
05:48:17 -!- fractal has joined.
05:48:25 -!- sftp has joined.
05:48:31 -!- vifino has joined.
05:48:35 -!- relrod has quit (Changing host).
05:48:35 -!- relrod has joined.
05:48:43 -!- shachaf has joined.
05:48:51 -!- shachaf has quit (Changing host).
05:48:51 -!- shachaf has joined.
05:49:08 -!- lifthrasiir has joined.
05:49:11 -!- diginet has joined.
05:49:25 -!- Deewiant has joined.
05:50:13 -!- Cale has joined.
05:50:21 -!- olsner has joined.
05:50:35 -!- bibibi has joined.
05:50:43 -!- xa0 has joined.
05:50:49 -!- catern has joined.
05:51:26 -!- mtve has joined.
05:52:58 -!- copumpkin has joined.
05:53:36 -!- augur has joined.
05:53:37 -!- trn has joined.
05:53:44 -!- Gregor has joined.
05:54:52 -!- izabera has joined.
05:55:03 <rdococ> Holy brainfuck.
06:01:12 -!- Sgeo has joined.
06:06:35 <imode> rdococ: have you ever heard of 'Mouse'?
06:06:39 <imode> the programming language?
06:08:45 <Sgeo> Is there a way to guarantee that a specific section of compiled-in data always appears at a specific location within an executable?
06:09:14 <Sgeo> Or otherwise be able to reliable determine specifically where it will end up?
06:09:18 <imode> this is why we have segments.
06:10:40 <Sgeo> Am I going to need to write this in Assembly?
06:10:59 <imode> what're you writing.
06:11:11 <Sgeo> Implementation of https://esolangs.org/wiki/Braintrust
06:11:29 <Sgeo> Want it to make actual binaries.
06:11:53 <Sgeo> I think there's a specific implementation of Common Lisp that can do it, by serializing its state as a new executable
06:12:02 <Sgeo> But I'm thinking what can I do with assembly or Rust
06:13:05 <imode> here's my proposition for you.
06:13:08 <Sgeo> Like an executable that just executes whatever string is in a specific location, and I can just adjust as necessary
06:13:39 <imode> so, you have your bare interpreter, a braintrust interpreter. this thing can generate binaries.
06:14:00 <imode> within the data segment of your executable format of choice, you have more braintrust code, as a sequence of bytes.
06:14:23 <imode> all you have to do when you "fork", to use a bad term, from your original program state is generate a new binary with an altered data segment, not a code segment.
06:14:41 <^v> death toll: 987 RIP https://gist.github.com/PixelToast/59f1e01c71f52f16e54dd0bfd0fce05d
06:14:57 <imode> jesus, what is that from.
06:15:26 <Sgeo> How do I generate a new binary from assembly?
06:15:29 <Hoolootwo> guessing #freenode
06:15:40 <imode> huh, I know someone on that list.
06:15:45 <Sgeo> Would I need to call a linker?
06:16:12 <imode> Sgeo: plenty of ways to generate an ELF binary.
06:16:38 <imode> plenty of ways to modify an existing executable.
06:16:41 * Sgeo was thinking more Win32 tbh, but if ELF is significantly easier...
06:17:06 <rdococ> imode: Mouse?
06:17:10 <Sgeo> Or DOS .com file, would be easy to locate beginning of running image, right?
06:17:21 <imode> in reality the world's stupidest braintrust interpreter can call out in the stupidest way possible.
06:17:56 <imode> system("cc interpreter.c -Ddata={your_bytes_here}");
06:17:59 <imode> :P
06:18:17 <imode> rdococ: Mouse. very small language.
06:18:19 <Sgeo> Assuming that a compiler is installed
06:18:24 <imode> Sgeo: ding.
06:18:38 <rdococ> imode: Ah. Looked it up on the wiki.
06:18:48 <imode> practical brainfuck.
06:18:56 <imode> I wrote a derivative language a while back.
06:19:08 <imode> got bored and started messing with more small languages.
06:19:16 <rdococ> Would practical brainfuck be an esoteric programming language? :P
06:20:05 <imode> depends on how you use the word esoteric. :P
06:20:07 -!- pikhq has joined.
06:20:14 <Hoolootwo> no that'd be an oxymoron I think
06:20:21 <rdococ> Speaking of esoteric, have you seen mindscrew?
06:20:22 <pikhq> 1Okay, that was weird.
06:20:34 <imode> holy shit I just looked up.
06:20:39 <imode> what in god's name happened. o-O
06:20:42 <rdococ> imode: Eh?
06:20:57 <imode> the massive burst of k-lines.
06:21:09 <rdococ> Ah, that. Apparently it was a mistake.
06:21:33 <rdococ> imode: Anyway, have you seen mindscrew?
06:21:41 <imode> I have not.
06:22:09 <rdococ> (I know it sounds like I'm advertising an esolang, but I seriously need actual feedback on it because nobody's even added to the discussion page.)
06:22:29 <rdococ> (It assists my new self-evaluation system, where I make esolangs now and realize how crappy they are later.)
06:22:30 <rdococ> http://esolangs.org/wiki/Mindscrew
06:22:57 <Hoolootwo> it's hard to google for :/
06:23:08 <rdococ> (Well, okay, I'd call it "new", but that's been happening ever since I've come here.)
06:23:50 <rdococ> Ironically, I also never written a brainfuck/pbrain derivative until now, and it seems to be one of my best esolangs. For now.
06:24:10 <imode> the cat program looks like a forkbomb.
06:24:36 <rdococ> Heh. The secondary loop doesn't call the first loop, so it's fine :P
06:25:16 <rdococ> There's a walkthrough for it in case it's hard to completely understand, but I think only I needed it.
06:25:16 -!- Warrigal has joined.
06:25:53 <imode> uh. PSA: people are PMing people on freenode child porn.
06:26:14 <rdococ> Yeah, I know.
06:26:21 <rdococ> I got two links, but didn't click them (luckily).
06:26:31 <rdococ> Advice: /umode +R
06:26:58 <imode> yeah, on that.
06:27:40 <rdococ> Anyway, what do you think of mindscrew?
06:28:00 <imode> interesting. definitely lives up to the idea of an esolang.
06:28:34 <rdococ> It's based on pbrain, but it adds the second tape and cell pointer, along with turning ] into a NOP.
06:29:51 <rdococ> Additional example: (::): would work as a fork bomb. (It even looks like a grenade!)
06:30:05 <imode> hah.
06:30:48 <rdococ> (Although the worst it'll do is overflow the stack, because the calls aren't multithreaded.)
06:31:11 <imode> have you actually got an implementation?
06:31:23 <rdococ> Not yet, but I was thinking of creating a crude interpreter in Lua.
06:31:43 <imode> not a terrible idea. I do my work in Python.
06:31:56 <Sgeo> Maybe I could hardcode the address
06:33:00 -!- erkin has joined.
06:35:44 <Sgeo> Better to do it automatically probably
06:35:49 <imode> mhm.
06:35:57 <rdococ> I'd also have to make sure to optimize "(-[:])" to the zero-setting primitive.
06:36:03 <imode> like I said, any way you can change the data segment is a good way.
06:39:40 <imode> rdococ: why'd you design this?
06:40:11 <rdococ> imode: You mean mindscrew?
06:40:15 <imode> mhm.
06:40:29 <rdococ> I don't know anymore... every time I create an esolang it ends badly.
06:41:12 <rdococ> Some things are like train crashes; my esolangs are like train crashes that causes walls to fall over onto people, which nicks on a bit of string that causes a falling piano that nearly squashes a cat, which runs into the engine of a car somehow and blows it up.
06:41:33 <Hoolootwo> that sounds like a good premise for an esolang
06:41:59 <rdococ> Not for an esolang I'd create, though.
06:42:28 -!- doesthiswork has quit (Quit: Leaving.).
06:42:58 <imode> usually when I do work like this I have a goal in mind.
06:44:57 <rdococ> Great, my code is doing the chain reaction I described above. "+" does nothing, but "++" increments by one. "+[+]" results in two, though.
06:44:59 <rdococ> I mean, what?!
06:45:14 <imode> you ever think esolangs are just a blanket term for "work I don't feel comfortable enough to acknowledge as a real project but want to appreciate in an ironic sense."
06:45:49 <rdococ> No, I think esolangs are a blanket term for "failed outlets for my creativity which I think exists but actually does not."
06:46:11 <imode> considering all the brainfuck derivatives... eh. :P
06:46:18 <rdococ> Oh, wait, duh.
06:46:34 <rdococ> Fixed the problem.
06:50:39 <^v> i think most esolangs are shallow af
06:50:47 <rdococ> This crude interpreter is interesting in that it doesn't actively search for mismatched brackets, but it will halt if it runs into one and wants to goto the matching ending bracket.
06:51:07 <imode> ^v: you aren't the only one. but a lot of it is just what I'd call language research.
06:51:18 -!- sleffy has joined.
06:51:28 <imode> brainfuck derivatives are just stuck in local minima.
06:51:47 <rdococ> imode: Better than my other esolangs, anyway -_-
06:52:49 <Sgeo> Maybe I should convert the instructions into machine code ops
06:52:55 <Sgeo> A real compiler
06:53:09 <Sgeo> Rather than loading ASCII instructions into an interpreter
06:53:12 <imode> rdococ: oh, some trivia. my mouse derivative had ] as a 'no-op', and execution wrapped in memory at the end of a program.
06:53:26 <imode> so the ends of loops could be the start of the program.
06:54:15 <rdococ> Oooh.
06:54:28 <rdococ> Mindscrew takes the more conventional approach of recursive procedures.
06:54:32 <^v> procedural? too simplistic
06:54:48 <imode> ^v: you can't even handle what I'm working on right now broh.
06:55:17 <rdococ> ^v: I was planning on creating a lang with goto instruction arithmetic. You could jump to the instruction 3 instructions ahead of the pointer, for example.
06:55:46 <rdococ> It would be used to pass continuations, creating a procedural system.
06:56:09 <rdococ> e.g. "def return = ip + 2; jmp proc; do stuff;"
06:56:15 <^v> imode, lol come at me
06:56:16 <^v> i'
06:56:22 <^v> i'm a lambda calculus and brainfuck god
06:56:39 <rdococ> Lambda calculus? Nah.
06:56:52 <rdococ> Not enough continuations.
06:56:59 <^v> lol
06:57:06 <^v> brainfuck is harder than lamdba calculus
06:57:13 <rdococ> I tried adding continuations to brainfuck, but it didn't work out.
06:57:18 <imode> ^v: building a language that's a cross between a key/value store and a lisp that you can only write in binary. and you can write it out of order.
06:57:25 <imode> fight me.
06:58:00 * rdococ stabs himself with the brainfuck cell pointer movement instructions to avoid being involved in the fight
06:58:26 <^v> rdococ, yeah thats not going to work
06:58:51 <imode> injuries aren't in the language spec.
07:00:04 <rdococ> Eh, I'll just let Lua garbage collect me then.
07:00:09 <^v> imode, lol try making a brainfuck interpreter just by doing 3d tree rotations
07:00:15 <^v> its not going to fucking work
07:00:31 <imode> try implementing a lisp out of thue-like string rewrites.
07:00:38 <imode> get on my level.
07:01:04 <^v> you got me at implementing lisp
07:01:18 <^v> ()()(())()()()()()((((((((())))(())()()()))))(()()(((())()()()()()()())))){))()(()())(
07:01:31 * rdococ blows up
07:01:43 <rdococ> Too many parentheses makes me explode. :P
07:02:20 <imode> wanna see some magic.
07:02:53 <rdococ> maybe.
07:03:09 <imode> https://ptpb.pw/EmR6/python
07:03:53 <imode> whoopsie, erased something.
07:04:37 <imode> https://repl.it/KNX7/0
07:05:03 <imode> encoding and decoding a series of lists of numbers into order-independent chunks.
07:05:32 <imode> the original list's size (as a generous estimate) is 6760 bytes. mine, in memory, with the same operations available, is 1811 bytes.
07:05:43 <imode> get on my level.
07:05:54 -!- int-e has joined.
07:06:48 <rdococ> OooooOOOOooh, I'm creating a recursive crude mindscrew interpreter. It calls itself when it runs a procedure.
07:07:26 <int-e> Hmm, I believe that was my first K-line on Freenode ever. And I didn't even do anything myself :-/.
07:07:41 <imode> int-e: /topic on #freenode. it's a CP storm.
07:08:03 <pikhq> A... what?
07:08:15 <imode> child porn. bots are spamming users, and the blanket k-line was an accident.
07:08:28 <pikhq> Okay then, it was exactly what it sounded like.
07:08:47 <int-e> imode: thanks
07:08:50 <imode> np.
07:09:12 <imode> /umode +R for now. they're still on the hunt.
07:09:30 <imode> I should buy one of the ops a drink after this.
07:09:43 <int-e> (I wasn't complaining. Wondering, yes, but I expected something like this. I was actually pleased to not having to do anything myself to be let back in.)
07:10:44 <int-e> I'll think about it. 2 so far. (They all end up in a single window where they are easily ignored.)
07:11:16 <shachaf> I havne't gotten any of these messages.
07:11:29 <imode> good.
07:11:45 <pikhq> I didn't either, but I put umode +R on for a bit.
07:12:00 <pikhq> Might just leave it on; I don't think not talking to unregistered users is gonna be a big problem.
07:16:30 <int-e> oh, another victim...
07:16:31 <int-e> @bot
07:16:44 <shachaf> botsnack
07:19:55 <int-e> oh no, that seems unrelated. meh.
07:21:35 -!- hppavilion[1] has joined.
07:21:48 <shachaf> `botsnack
07:21:48 <HackEgo> ​>:-D
07:21:51 <shachaf> Is what I meant to say.
07:22:36 -!- lambdabot has joined.
07:24:53 <rdococ> Good news is that my crude mindscrew interpreter is working. the EOF==no change cat works.
07:28:02 <rdococ> Unfortunately, the Hello world example causes a stack overflow. I need to add TCO to the interpreter.
07:30:48 <imode> when your hello world causes a stack overflow you need to rethink your life.
07:33:40 <rdococ> Well, I added tail-call optimization and now it won't halt.
07:33:48 <int-e> meh who in their right mind installs a signal handler for sigsegv.
07:33:52 <rdococ> In fact, no output is even appearing.
07:35:54 <rdococ> And it's even making procedures loop forever when it's being skipped by [].
07:36:46 <rdococ> Oh, ah. My crude interpreter doesn't even bother to store any cells in memory until you start modifying them. Since 0 =/= nil, the if conditional might not be working properly.
07:40:18 <Lymia> !zjoust kiseki https://paste.lymia.moe/lymia/0e01aa0466be6d0d3a61c93fe4667525a6dcf502.bfjoust
07:40:22 <zemhill> Lymia.kiseki: points 46.00, score 999.98, rank 1/47 (--)
07:40:42 <Lymia> hrm
07:44:01 <rdococ> It seems to be decreasing the cell pointer indefinitely. I know which part of the code miiiiight be the problem, but the recursivity is conditional: why is it infinitely looping?
07:45:27 <rdococ> I think it might be getting stuck here: "<-[:])[:]".
07:45:49 <rdococ> ...Oh, shit. The substitutions are wrong.
07:46:10 <rdococ> No, wait, they're not.
07:46:26 <rdococ> OKay, no, wait, they are.
07:48:21 <rdococ> I added an ad-hoc command for halting the procedure - let's hope it works.
07:50:06 <rdococ> OKay, now it's decrementing a value. At least it tried to output SOMETHING, though. Also, I'll try to cut down on monologuing but it's hard when nobody else talks.
07:51:43 <imode> honestly I think if nobody else has the floor you're free to talk.
07:52:57 <rdococ> I've figured out the problem. Writing to an existing procedure was appending the characters to the end of the string, not overwriting it.
07:53:07 <rdococ> Yet it's still not working.
07:53:35 <rdococ> I mean, nothing even gets incremented to over 8, yet all characters are, to my knowledge, at 60+.
07:54:46 <rdococ> The only thing I think could be at fault is TCO, and I'm not sure about that.
07:56:05 <Lymia> !zjoust kiseki <
07:56:05 <zemhill> Lymia.kiseki: points -45.00, score 0.00, rank 46/47 (-45)
07:56:08 <Lymia> !zjoust kiseki https://paste.lymia.moe/lymia/0e01aa0466be6d0d3a61c93fe4667525a6dcf502.bfjoust
07:56:12 <zemhill> Lymia.kiseki: points 46.00, score 999.98, rank 1/47 (+45)
07:56:23 <rdococ> I tried printing a message whenever TCO got activated. The message didn't even appear!
07:56:45 <Lymia> !zjoust kiseki <
07:56:46 <zemhill> Lymia.kiseki: points -45.00, score 0.00, rank 46/47 (-45)
07:56:49 <Lymia> !zjoust kiseki2 https://paste.lymia.moe/lymia/0e01aa0466be6d0d3a61c93fe4667525a6dcf502.bfjoust
07:56:52 <zemhill> Lymia.kiseki2: points 46.00, score 999.98, rank 1/47
07:57:45 <Lymia> !zjoust kiseki2 <
07:57:45 <zemhill> Lymia.kiseki2: points -45.00, score 0.00, rank 47/47 (-46)
07:57:48 <Lymia> !zjoust kiseki https://paste.lymia.moe/lymia/0e01aa0466be6d0d3a61c93fe4667525a6dcf502.bfjoust
07:57:49 <zemhill> Lymia.kiseki: points 46.00, score 999.98, rank 1/47 (+45)
07:57:51 <Lymia> o.O
07:58:15 <int-e> . o O ( The impossible happened... variable that was supposed to be true is false. )
07:58:41 <imode> bit flip.
07:59:22 <Lymia> !zjoust kiseki <
07:59:22 <zemhill> Lymia.kiseki: points -45.00, score 0.00, rank 46/47 (-45)
07:59:28 <Lymia> !zjoust kiseki3 https://paste.lymia.moe/lymia/0e01aa0466be6d0d3a61c93fe4667525a6dcf502.bfjoust
07:59:32 <zemhill> Lymia.kiseki3: points 46.00, score 999.98, rank 1/47
07:59:56 <Lymia> !zjoust kiseki3 <
07:59:56 <zemhill> Lymia.kiseki3: points -45.00, score 0.00, rank 47/47 (-46)
08:00:00 <Lymia> !zjoust kiseki https://paste.lymia.moe/lymia/0e01aa0466be6d0d3a61c93fe4667525a6dcf502.bfjoust
08:00:03 <Lymia> Oh, I see.
08:00:03 <zemhill> Lymia.kiseki: points 46.00, score 999.98, rank 1/47 (+45)
08:00:08 <Lymia> zen.fi isn't updating
08:00:54 <int-e> Ah, looking at the wronmg version of the code. So the variable was never set at all. Half of a mystery solved.
08:02:41 <imode> uninitialized variables strike again.
08:06:43 <rdococ> And for some reason, the FUNC pointer is 3, when analysis of the code suggests that only 2 could ever be possible.
08:06:55 <rdococ> Wait, the func pointer starts at 1.
08:08:00 <rdococ> Oh, crap. I've been thinking of "[" as "IF ZERO".
08:08:13 <rdococ> Even then, it should work!
08:10:21 <^v> Lymia, long time no see
08:10:48 <Lymia> Hi
08:11:17 <^v> hows life
08:13:18 <rdococ> ugh, I give up. mindscrew screws with my mind.
08:13:28 <rdococ> (and more so than originally anticipated).
08:33:38 -!- Mayoi has joined.
08:34:24 <Lymia> !bfjoust kiseki https://paste.lymia.moe/lymia/19a18f24119beb308652fa177c773d4ca797a26e.bfjoust
08:34:45 -!- erkin has quit (Disconnected by services).
08:34:48 -!- Mayoi has changed nick to erkin.
08:34:53 <imode> god bless python.
08:34:55 <Lymia> Doesn't even work anymore, huh
08:36:47 <imode> do people still build rails apps.
08:36:54 <imode> or is it just all node.js now.
08:39:32 <rdococ> OMFG! I may have finally got it to work.
08:39:58 <rdococ> Turns out the bug was I was setting the IP to 1 during tail-call optimization, and it increments directly afterwards.
08:41:02 <rdococ> YAAAAAAAAAAAAAAAAAAAAAAAAAAY!
08:41:11 <rdococ> Hello World!
08:47:26 <int-e> . o O ( A pairity error is a spelling error induced by false etymology. )
08:54:15 -!- rdococ has quit (K-Lined).
08:55:04 -!- rdococ has joined.
08:56:47 -!- clog has quit (Ping timeout: 260 seconds).
09:03:35 -!- sleffy has quit (Ping timeout: 240 seconds).
09:09:31 -!- APic has joined.
09:14:31 -!- rdococ has quit (K-Lined).
09:15:09 -!- rdococ has joined.
09:17:14 -!- rdococ has quit (Changing host).
09:17:14 -!- rdococ has joined.
09:17:23 -!- imode has quit (Ping timeout: 246 seconds).
09:22:10 <rdococ> Wow, rip me.
09:22:30 <rdococ> Anyways, should I add a return instruction in mindscrew?
09:23:48 <HackEgo> [wiki] [[Mindscrew]] M https://esolangs.org/w/index.php?diff=52849&oldid=52848 * Rdococ * (+169) /* Computational Class */
09:49:27 <rdococ> Hm, what do you think: If my interpreter is called w/o a file name, and thus enters a line-by-line mode, should data such as tape, procedure tape, cell pointer, procedure pointer, etc. be saved between lines?
09:58:48 <rdococ> Hmm...
10:15:04 -!- shikhin has quit (Ping timeout: 255 seconds).
10:17:15 -!- shikhin has joined.
10:17:38 -!- shikhin has changed nick to Guest41863.
10:18:34 <rdococ> What file extension, though/
10:27:03 -!- clog has joined.
10:29:49 -!- mroman has joined.
10:31:39 -!- AnotherTest has joined.
10:35:12 -!- augur has quit (Remote host closed the connection).
10:45:27 <rdococ> Hm. Does the use of the {{fact}} tag make sense here?:
10:45:29 <rdococ> Programs written in Mu have semantics equivalent to that of programs written in an ordinary language with continuation-passing style (in layman's terms, black magic{{fact}}).
11:08:41 -!- sebbu has joined.
11:11:46 -!- rdococ has quit (Ping timeout: 255 seconds).
11:12:14 -!- sebbu2 has quit (Ping timeout: 255 seconds).
11:16:52 -!- rdococ has joined.
11:16:52 -!- rdococ has quit (Changing host).
11:16:52 -!- rdococ has joined.
11:17:33 -!- augur has joined.
11:22:01 -!- augur has quit (Ping timeout: 240 seconds).
11:23:07 -!- augur has joined.
11:26:24 -!- gsora has quit (Quit: uh-oh!).
11:34:07 -!- boily has joined.
11:36:20 -!- augur has quit (Remote host closed the connection).
11:36:32 <HackEgo> [wiki] [[Joke language list]] https://esolangs.org/w/index.php?diff=52850&oldid=52611 * Zayne * (+37) /* General languages */
11:37:32 <rdococ> Oh, nice, 2017. :P
11:38:56 <rdococ> Hah, "Hardfuck".
11:39:49 <APic> 😎
11:40:30 <rdococ> Someone should create Handfuck.
11:41:23 <rdococ> In more innocent news, I was thinking of creating a BF derivative with instructions to move the cells around. For example, you could CUT cell 1 and stick it between cell 2 and 3.
11:43:19 <rdococ> Or, for example, CUT cells 4 to 6, and using > on cell 3 puts you at cell 7 - to get to cells 4 thru 6, you would have to use something like v or ^ to move to the cut piece.
11:46:01 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
11:56:00 <boily> `5 w
11:56:06 <HackEgo> 1/2:comics//Recommended comics include Yet Another Genius Gamer, Stuck Girl, Home of the Order, and Fantasy Stick Comic. The content of this list is not to be questioned. \ .doorstop//You do not have the clearance necessary to view this entry. \ `hoag//`[hd]o[aw][gt] [<filename>] is a set of commands for querying HackEgo hg logs. `hoag is the basic
11:56:09 <boily> `n
11:56:10 <HackEgo> 2/2: version. d adds revision numbers and dates, w looks only in wisdom, and t lists oldest first. \ gray//Gray is e common misspalling of grey. \ `whoops//`whoops is a repluralizer.
11:58:18 -!- hppavilion[1] has joined.
12:03:23 -!- deltab has joined.
12:04:06 <HackEgo> [wiki] [[Noid]] N https://esolangs.org/w/index.php?oldid=52851 * Zayne * (+1886) Created page with "'''Noid''' (previously PyText) is a language made by [[User:Zayne|Zayne]] on April 22nd 2017 but promptly forgot about it. == Commands == <code>. a</code> <code>! b</code> <c..."
12:04:32 <HackEgo> [wiki] [[Noid]] https://esolangs.org/w/index.php?diff=52852&oldid=52851 * Zayne * (+1) /* Examples */
12:05:24 <HackEgo> [wiki] [[Noid]] https://esolangs.org/w/index.php?diff=52853&oldid=52852 * Zayne * (+29) /* Implementation */
12:06:24 <HackEgo> [wiki] [[PyText?!.]] N https://esolangs.org/w/index.php?oldid=52854 * Zayne * (+951) Created page with "'''PyText?!.''' is the predecessor to [[Noid]]. This language is also created by [[User:Zayne|Zayne]] == Implementation == <code>import os s = open(input("Run Script: "), 'r'..."
12:12:34 <HackEgo> [wiki] [[PyText?!.]] https://esolangs.org/w/index.php?diff=52855&oldid=52854 * Zayne * (+19)
12:15:59 <HackEgo> [wiki] [[PyText?!.]] https://esolangs.org/w/index.php?diff=52856&oldid=52855 * Zayne * (+45)
12:22:18 -!- j-bot has joined.
12:25:46 <HackEgo> [wiki] [[User:Zayne]] https://esolangs.org/w/index.php?diff=52857&oldid=52828 * Zayne * (+16)
12:28:26 -!- boily has quit (Quit: FOLIAGE CHICKEN).
12:37:40 -!- ais523 has joined.
12:37:54 <ais523> @messages?
12:37:54 <lambdabot> Sorry, no messages today.
12:40:39 <mroman> @messages
12:40:39 <lambdabot> You don't have any messages
12:40:42 <mroman> I SURE DO
12:40:55 <mroman> @tell mroman ey alda was geht du hoellenhund
12:40:55 <lambdabot> You can tell yourself!
12:41:05 <mroman> :(
12:41:38 <mroman> rdococ: I had an idea about a BF derivative as well
12:41:47 <mroman> It's like BF. But instead of moving the head of the tape
12:41:49 <mroman> you move the tape.
12:42:04 <mroman> so <> doesn't move the read head, it moves the tape under the read head.
12:42:29 <mroman> and - doesn't subtract one, it adds 256.
12:43:21 <mroman> I call it "Frainbuck"
12:44:18 <ais523> adding 256 doesn't do anything in 8-bit BF :-P
12:44:36 <mroman> http://esolangs.org/wiki/PyText%3F!.
12:44:51 <mroman> ais523: It should subtract one
12:44:59 <mroman> or wait
12:45:00 * APic thought of implementing a Routine to output a Circle in Brainfuck, then mapping <>,.[]+- to Numerals. That Way i could beat the Movie „Π (1998)“ because i would have found a Pattern for π in <=216 Decimals! 🙌
12:45:34 <mroman> oh damn
12:45:37 <mroman> it's adding 255
12:45:55 <mroman> yep. Pardon me. It adds 255
12:46:28 * APic would name that Program „Bresenham.bf“ as a Tribute to the Man who figured out very nice Drawing-Routines
12:46:42 <ais523> APic: I don't think you capitalise the mathematical π at the start of a sentence, it's case-sensitive
12:47:31 <mroman> well now I have to release Frainbuck 2.0 to fix this error
12:48:03 <mroman> I'm still in favor of a quality control about esolangs articles
12:48:16 <mroman> "dis mah language" + source code is meh.
12:48:42 <mroman> especially when it's python code without line breaks :D
12:49:56 <mroman> saying that I should probably check my articles :D
12:50:39 <ais523> most esolangs are never implemented and never have programs written in them
12:50:53 <ais523> so an interp is arguably an improvement (unless it's a BF derivative, then writing an interp is normally too easy :-P)
12:52:03 <APic> ais523: Thanks for the Information.
12:52:11 <mroman> I had a program for that.
12:52:18 <mroman> I just can't remember the name of the language it created
12:53:01 <APic> π looks much nicer than Π anyhow ☺
12:53:15 <APic> At least in Terminus on urxvt
12:56:45 -!- ais523 has quit (Remote host closed the connection).
12:57:12 -!- ais523 has joined.
12:58:40 <mroman> Btjzxgquartfrqifjlv
12:58:42 <mroman> ah yes
12:58:48 <mroman> http://esolangs.org/wiki/Btjzxgquartfrqifjlv
12:58:58 <APic> Nice
12:59:40 <mroman> it even supported multisymbol bf instructions!
13:01:08 <APic> 🙌
13:01:14 <mroman> http://esolangs.org/wiki/%E2%98%83
13:01:16 <mroman> hm.
13:01:34 <mroman> I should write an interpreter for ☃
13:03:45 <mroman> hm.
13:03:50 <mroman> so `s` is basically a flip-flop
13:03:53 <mroman> kinda
13:04:20 <mroman> depending on the direction you come in you either write or read from it.
13:05:24 <mroman> always nice when you discover languages you wipped up but forget about them.
13:06:06 <APic> 🙌
13:09:10 <mroman> hm.
13:09:17 <mroman> http://codepad.org/sAxgPOpq <- this would be a ROM only though
13:09:30 <mroman> (you enter from left on line 6)
13:09:42 <mroman> it will decrement it and branch upwards at the right location to read the value
13:10:03 <mroman> but to write you'd have to come in from above
13:10:13 <mroman> or below
13:11:35 <mroman> http://codepad.org/G7XDmQqm <- like this.
13:11:37 <ais523> mroman: I'm not surprised you couldn't remember that name!
13:11:56 <mroman> line 7 would be read, line 8 would be write
13:12:12 <mroman> except that since you only have "one thread local value" which is the ptr
13:12:18 <mroman> the value to write needs to be stored somewhere else
13:12:37 <mroman> I guess I never figured out how to do writes
13:13:17 <mroman> ais523: :D yeah....
13:13:44 <mroman> but on the other hand I can memory a lot of burlesque command
13:13:57 <mroman> but to be fair they have SOME resemblances with what they do
13:14:08 <mroman> *memorize
13:16:00 <mroman> and that example program looks race-condition-y
13:16:19 <mroman> so it'd need at least one barrier somewher
13:17:25 -!- Antoxyde has joined.
13:17:43 <mroman> ok so at least it's not a non-obvious language :D
13:21:13 <mroman> man I lost the online interpreter for beam
13:21:31 <mroman> Beam is the esolang I'm most proud of :p
13:22:03 <mroman> We made programming contests in it at my local university
13:22:08 <mroman> although only 3 students participated
13:22:11 <mroman> but it was still fun
13:24:30 <mroman> https://tio.run/#beam
13:24:31 <mroman> hu
13:24:32 <mroman> omg
13:24:37 <mroman> somebody wrote an interpreter for it?
13:24:44 <mroman> but no graphical debugging :(
13:26:15 <mroman> https://tio.run/##S0pNzP3/v6gswYZLQcGqVB1I2enqKpRa/f/vBAA even seems to work
13:26:15 <mroman> nice
13:26:19 -!- idris-bot has joined.
13:26:31 <mroman> but debugging without a graphical debugger is going to be hard.
13:36:53 -!- augur has joined.
13:41:03 <mroman> `? prismack
13:41:04 <HackEgo> prismack? ¯\(°​_o)/¯
13:41:05 -!- augur has quit (Ping timeout: 248 seconds).
13:41:09 <mroman> `? bimetal
13:41:10 <HackEgo> bimetal? ¯\(°​_o)/¯
13:41:20 <mroman> \(o_O)/
13:45:28 <mroman> `An online byte-counter that counts many different encodings. `
13:45:29 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: An: not found
13:45:30 <mroman> uhm...
13:45:39 <mroman> it counts ASCII, UTF-8 and UTF-16 bytes
13:45:41 <mroman> but... uhm...
13:45:47 <mroman> what
13:46:39 <mroman> presumably that's supposed to mean "char-counter"
13:52:21 -!- ais523 has quit (Remote host closed the connection).
13:53:31 -!- ais523 has joined.
13:56:30 <mroman> `Hardfuck is a Brainfuck derivative created by Zayne (why am I not surprised) and as the name suggests it is supposed to be harder than Brainfuck. `
13:56:31 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Hardfuck: not found
13:56:38 <mroman> how can it be harder if it shares the same set of instructions
13:56:50 <mroman> you don't make brainfuck harder by introducing two new instructions
13:57:17 <mroman> if anything, you made it easier o_O
13:57:52 <rdococ> mroman: nice idea about BF which moves the tape
13:58:03 <rdococ> also, that's also something I noted with hardfuck :P
13:58:08 <rdococ> at least it has an innuendous name
13:59:25 <ais523> hmm, frainbuck has made me think of INTERCAL's I/O mechanism
13:59:52 <ais523> you could make a two-pointer BF where the pointers are on opposite sides of the tape, so they see the bits of the numbers in reverse order
14:00:15 <ais523> that said, it wouldn't be any harder unless you had to use both of them for some reason
14:00:28 -!- doesthiswork has joined.
14:00:30 <ais523> by analogy with INTERCAL, maybe one of them can only do input and the other can only do output?
14:01:17 <mroman> rdococ: maybe we could replace the tape with boxes!
14:01:25 <mroman> instead of cells
14:01:27 <mroman> you have boxes.
14:01:44 <rdococ> . o O ( cells are boxes, they're just large enough to house criminals )
14:02:05 <mroman> ais523: don't worry
14:02:11 <mroman> you can name it hardfick
14:02:19 <mroman> (fick == german for fuck because hardfuck is already taken)
14:02:20 <rdococ> The real money is in non-integer cells, with an instruction / to divide by 2.
14:02:30 <rdococ> mroman: even better would be scheisse
14:02:38 <mroman> or you could even name it "harterfick"
14:02:40 <ais523> now I'm trying to work out if you can do a BF that does loops by actually forming a loop in the tape
14:02:50 <mroman> or "sonrichtigharterfickdassdunichtmehrrichtiggehenkannstammorgendanach"
14:02:53 <rdococ> Gehirn ficken
14:03:14 <ais523> fwiw, I believe that BF-plus-extra-instructions is only interesting if it changes the way you'd program in it
14:03:32 <mroman> well
14:03:35 <mroman> you know what
14:03:43 <mroman> I'm going to create an even better bf-derivative creation program
14:03:46 <rdococ> ais523: My mindscrew only modifies the ] instruction, and adds {} to pbrain. It completely changes the language. :P
14:03:54 <rdococ> A bf-derivative creation program?
14:03:58 <mroman> yes
14:04:05 <mroman> like the one I had some years ago
14:04:07 <mroman> just with more features.
14:04:09 <rdococ> That's a bit of a mindscrew :P
14:04:24 <ais523> mroman: I think the world needs a universal BF derivative interpreter
14:04:36 <ais523> ideally, one that does statistical analysis on the source to figure out what the instructions in it are :-)
14:04:41 <mroman> lol
14:04:45 <mroman> but
14:04:47 <APic> 😉
14:04:47 <mroman> not too bad
14:04:47 <rdococ> well, weave.rb might be a good starting point :P
14:04:48 <ais523> I started writing one but got bored
14:04:54 <mroman> you could probably detect [ ]
14:04:58 <rdococ> it has brainfork, pbrain, etc.
14:05:00 <mroman> with some analysis
14:05:21 <mroman> but this sounds interesting
14:05:31 <mroman> keep me posted should you continue doing this
14:05:38 <mroman> I'd be curious how this works
14:06:08 <mroman> rdococ: you speak german?
14:06:11 <mroman> I thought only int-e is german
14:06:14 <rdococ> mroman: no, google translate :P
14:06:16 <mroman> ah
14:06:17 <mroman> ok
14:06:20 <ais523> mroman: there are several clues you can use
14:06:42 <mroman> I guess you could do bf constants detection too?
14:06:45 <ais523> [] are always balanced, <> are usually (but not always) balanced in a loop whereas +- are much more rarely balanced, programs don't normally put < and > or + and - next to each other
14:06:47 <rdococ> it translates to "brain fucking", which sounds like porn that gets injected into your brain by machiner
14:06:48 <rdococ> y
14:06:57 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
14:07:02 <mroman> yeah I know
14:07:07 <mroman> (I speak german)
14:07:18 <rdococ> ais523: ah, so my habit of balancing <> in a loop is not a dumb one :P
14:07:19 <ais523> as a fallback, if it couldn't figure out how the language worked at all, I was going to just print "Hello, world!" as a fallback
14:07:28 <mroman> but
14:07:30 <mroman> my language
14:07:35 <mroman> brtquartgfjxj or whatever it was called
14:07:40 <mroman> has multichar instructions!
14:07:41 <ais523> rdococ: in BF optimization, "balanced loops" are treated as a common special case
14:07:43 <mroman> how do you detect that?
14:07:51 <rdococ> ais523: ooh, cool.
14:07:52 <ais523> mroman: same way Incident does
14:07:54 <mroman> or Ook for that matter
14:08:02 <ais523> look for substrings that repeat a lot
14:08:06 <mroman> hm. true.
14:08:17 <mroman> yeah... that's actually not hard
14:08:18 <mroman> right.
14:08:32 <rdococ> I have a mindscrew interpreter whose only optimizations is turning "(-[:])" into a primitive that sets the cell to 0, and tail-call optimization (to avoid a stack overflow in "Hello world!")
14:09:46 <rdococ> actually, looks like it wasn't all that needed
14:09:53 <rdococ> I added a --ntco flag to test
14:09:58 <mroman> never fix a running bug
14:10:02 <mroman> just increase stack depth
14:10:19 <mroman> everybody does that in research projects.
14:10:26 <mroman> it just needs to work for the demo
14:10:31 <mroman> everything else is not important.
14:10:39 <mroman> running demo == moneyz == $$$
14:13:14 <rdococ> Heh, I added a --bound command to enable wrapping bounded cell values to an arbitrary value. It messes up the "Hello world!" program big-time if you set it to a low value. :P
14:13:53 <rdococ> With --bound 114, it says "Hello Wold!" :P
14:15:28 <rdococ> Oh nice, cat program with --bound 90 turns "Z" into EOF :P
14:16:01 <rdococ> Okay, wait, seriously, why is £ unicode?
14:17:59 <mroman> 'merica
14:18:19 <mroman> that's what the A in ASCII is.
14:18:28 <APic>
14:18:33 <mroman> American Standard Code for Information Interchange
14:18:39 <APic> ANSI > ASCII
14:18:48 <APic> Uh
14:18:51 <mroman> The A in ANSI is probably still America?
14:18:53 <APic> ISO > ANSI
14:18:53 <APic> 😉
14:18:58 <APic> mroman: True.
14:19:02 <mroman> American National Standards Institute
14:19:02 <APic> From V.E.R.A. -- Virtual Entity of Relevant Acronyms (February 2016) [vera]:
14:19:02 <APic> ANSI
14:19:02 <APic> American National Standard Institute (org., USA)
14:19:05 <APic> *nod*
14:19:09 <mroman> damn americans
14:19:13 <mroman> and their symbols
14:19:15 <APic> Yah
14:19:20 <APic> They shall rot in Hell.
14:19:24 <APic> But… wait!
14:19:31 <APic> They now elected the Trumps as President.
14:19:36 <APic> So they _are_ already in Hell!
14:19:36 <APic> 😉
14:20:01 * rdococ adds Unicode support
14:20:13 <rdococ> :P
14:20:14 <mroman> on the other hand
14:20:22 <mroman> america could have forced every country to use latin alphabet
14:20:24 <mroman> I mean
14:20:26 <APic> True.
14:20:27 <mroman> that would have helped
14:20:28 <mroman> :D
14:20:31 <APic> 8===D
14:20:31 <mroman> but no
14:20:32 <APic> 😉
14:20:35 <mroman> they didn't.
14:20:38 <APic> *nod*
14:21:08 <mroman> they just went to asia and said "u now guys... these drawings you do... they are a bit _TOO_ complicated. Just make them a _bit_ less complicated you feel me fam?"
14:22:32 <rdococ> why is Lua so bad at parsing unicode?! Aaaaaaaaaaaaaaaaah!
14:22:43 <mroman> Did they US actually force Japan to simplify their character?
14:22:53 <mroman> Or is that just a myth everybody tells?
14:22:57 <mroman> *the
14:22:59 <rdococ> for a high-level language, you'd think Lua would be able to parse unicode as one character! BUT NO!
14:23:04 <mroman> it sounds like a myth.
14:23:09 <mroman> because it's ridiculous.
14:23:28 <mroman> forcing them to use romaji would have made sense
14:24:19 <mroman> (if your goal is to make it easier for western people to learn)
14:25:19 <mroman> rdococ: why is go so bad at unicode
14:25:30 <rdococ> "Note: since Lua 5.3, there's a builtin module called "utf8"."
14:25:33 <rdococ> Eh???
14:25:34 <mroman> if you want unicode you have to string -> []rune
14:25:39 <mroman> instead of just use string
14:25:59 <APic> Well, Lua is highlevel, but quite old.
14:25:59 <rdococ> mroman: Lua provides no Unicode-aware functions straight out of the box.
14:26:12 <APic> C is also highlevel, but even older.
14:26:22 <rdococ> I consider C medium level.
14:26:26 <mroman> yeah
14:26:32 <mroman> C is more like a steak that is still bloody inside
14:26:36 <mroman> it's not completely a bloody mess
14:26:41 <mroman> but it's definitely bloody on the inside
14:26:49 -!- ATMunn has joined.
14:27:08 <mroman> it has this neat brown crust that looks tasty
14:27:11 <mroman> but once you open that thing
14:27:13 <mroman> it's a bloody mess
14:27:19 <rdococ> It has procedures, and strong type checking, but I wouldn't call it high-level. You can pass functions as arguments with the aid of function pointers, but not create anonymous ones...in old versions, anyway.
14:27:39 <rdococ> Hell, GCC adds first-class functions to C++.
14:27:49 <mroman> is that part of C+11?
14:27:51 <rdococ> Which rockets it straight up to high-level for me.
14:27:55 <rdococ> Not sure.
14:28:07 <mroman> nah... C++ still has manual memory management afaik?
14:28:14 <rdococ> I do think new C++ standards do have lambdas, though.
14:28:38 <mroman> although boost ptr stuff might make it quite automatic?
14:28:40 <mroman> I'm not a C++ guy
14:28:42 <mroman> never liked it.
14:28:53 <mroman> anyway... gotta catch the train
14:28:53 <mroman> see ya
14:28:54 -!- mroman has quit.
14:39:05 <rdococ> Ooh, combination: Put code and memory in the same codespace, and enable cutting the tape and looping it.
14:41:04 <rdococ> I'd also like to note that + and - tend to be balanced when checking for equality, or swapping two cells.
14:56:31 <ais523> an equality test is [>-<-]>[, with an additional + if you want it to be non-destructive in one argument
14:56:36 <ais523> that doesn't seem balanced to me
14:57:15 <ais523> transfer-add (which is commonly used to move a value from one cell to another) is balanced, though
15:00:37 -!- jaboja has joined.
15:04:38 <rdococ> The additional plus would make it non-destructive, wouldn't it?
15:04:38 -!- doesthiswork has quit (Quit: Leaving.).
15:04:57 <rdococ> It's like the inversion of transfer-add - transfer-subtract.
15:05:02 <rdococ> s/non-destructive/balanced/
15:05:14 <rdococ> ...ah.
15:10:23 -!- jix has joined.
15:10:30 -!- joast has joined.
15:10:57 <rdococ> Damn it, seriously? No Lua5.3 for Debian?
15:12:55 -!- alercah has joined.
15:13:22 -!- alercah has left.
15:32:06 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
16:11:27 -!- Sgeo has quit (Ping timeout: 240 seconds).
16:14:30 -!- Sgeo has joined.
16:22:44 <rdococ> I officially give up unicode
17:10:52 -!- ais523 has quit (Ping timeout: 255 seconds).
17:11:50 <rdococ> POLL: Should my mindscrew implementation save the tapes and pointers between lines, or start afresh each time?
17:18:36 <Hoolootwo> yes
17:20:51 -!- erkin has joined.
17:25:09 <rdococ> Hoolootwo: Eh, I'll add it as a flag.
17:25:51 -!- moony has joined.
17:25:56 -!- Guest41863 has changed nick to shikhin.
17:26:25 -!- shikhin has changed nick to Guest7629.
17:26:59 -!- FreeFull has joined.
17:28:49 -!- jaboja has quit (Ping timeout: 248 seconds).
17:32:27 -!- joast has quit (Ping timeout: 240 seconds).
17:33:17 -!- Guest7629 has quit (Quit: Alas.).
17:33:25 -!- shikhin_ has joined.
17:33:48 -!- shikhin_ has changed nick to Guest17908.
17:35:59 -!- Guest17908 has changed nick to shikhout.
17:36:09 -!- shikhout has quit (Changing host).
17:36:09 -!- shikhout has joined.
17:37:25 -!- zseri has joined.
17:38:16 -!- shikhout has changed nick to shikhin.
17:51:29 -!- imode has joined.
17:52:57 <rdococ> hi
17:53:12 -!- jaboja has joined.
17:53:44 <zseri> hi
18:00:57 <rdococ> I know there's at least one language where everything is a set, and one where everything is a pair, but I can't help but think about making one.
18:02:25 <rdococ> (What would be cool about the set one is if I only use integers as types, sets could be integers (since integers can be thought of as mapping integers to booleans, like a set of flags) -- and that means integer sets could contain more sets
18:03:00 <rdococ> although it'd probably be better to store them as sets of bits.)
18:04:26 <rdococ> zseri, whadya think? ^
18:05:51 <zseri> what do you mean with 'set', is that an uniquified (every element is unique) list or just a normal list?
18:06:38 <zseri> because I can't really imagine a (uniquified) set of bits/booleans.
18:14:43 -!- Phantom_Hoover has joined.
18:14:44 <rdococ> uniquified
18:15:25 <rdococ> A uniquified set of integers could be defined as a map from an integer to a boolean (existence/nonexistence). In accordance, an integer can also be defined as a map from an integer to a boolean (binary place value -> bit).
18:15:51 <rdococ> Therefore, a set is equivalent, or at least stored equivalently to, an integer, and a set can contain another set by virtue of both of them being integers.
18:16:18 <rdococ> Type system optional.
18:17:51 <rdococ> And as a consequence of this, a pair is also an integer, which makes a list an integer.
18:17:58 <rdococ> This also makes an associative array an integer.
18:18:16 <rdococ> In other words, imode's binary tree thing gone mad.
18:20:18 <rdococ> (As a side effect, a set of booleans can also be thought of an integer, so it is equivalent to a set of integers (and a tree)).
18:24:37 <rdococ> This is probably actually best interpreted in Lua, because Lua supports sparse tables pretty well.
18:29:35 <rdococ> "As a side effect of this, integers in '''Integer''' must ironically be stored as more complicated objects in the implementation itself, unless it uses bignums; any integer type other than bignums will break like a fragile twig when a set containing an integer larger than, say, 31 appears."
18:40:13 <imode> hi.
18:41:28 <rdococ> hi imode. I'm taking your binary...tree...thing and taking it to an incredible extreme. meet Integer, a WIP esolang where everything is an integer.
18:41:58 <imode> okay. what're the semantics of this.
18:42:09 <izabera> http://www.jyoung-studio.com
18:42:25 <rdococ> Well, a set of integers can be stored as a map from an integer to a bit (element -> existence value), yes?
18:43:01 <rdococ> imode, ^
18:43:09 <imode> I suppose. checking whether an integer is an element of a set could yield a boolean, yes.
18:43:15 <* Taneb> hello
18:43:21 <rdococ> Well, it just so happens that an integer can also be considered a map from an integer to a bit (binary place value -> bit).
18:43:34 <rdococ> Do you see where I'm going...? :P
18:43:40 <imode> not really.
18:43:51 <rdococ> This means that a set can be considered an integer - both map an integer to a boolean.
18:44:32 <imode> can you show me some example?
18:44:36 <rdococ> Because sets are now integers (or at least equivalents), a set can contain other sets. This allows you to create a pair - and it will be an integer. Trees, lists, everything that can be created from sets, are also integers.
18:45:14 <imode> how is a set an integer?
18:45:16 <rdococ> Take a set e.g. {3, 2}. Its representation as an integer would be 2^3 || 2^2 (where || is a bitwise OR).
18:45:39 <rdococ> This would make the binary place values of 2^3 and 2^2 a 1, which means that those elements, 3 and 2, are in that set.
18:46:20 <imode> sure. now store large integers. :P
18:46:41 <rdococ> Because the set {3, 2} can be expressed as an integer, pairs, say the pair (1, 2), can be expressed as {1, {1, 2}} - or 2^1 || (2^1 || 2^2).
18:47:04 <rdococ> Oh, sorry, I mean 2^1 || 2^(2^1 || 2^2).
18:47:06 <imode> you lose the nesting factor.
18:47:16 <rdococ> imode, see my correction - you can still nest them.
18:47:19 <imode> 2^(2^1 || 2^2)?
18:47:52 <imode> so show me how I can check for set membership this way.
18:48:02 <imode> and how it doesn't balloon out if I'm storing quadruple-digit numbers. :P
18:48:21 <rdococ> You can use bignums, or you could be ironic and store the integers as sets :P
18:48:40 <rdococ> Especially sparse tables, which Lua has.
18:48:50 <imode> bignums shmignums. if I want to store 2^64 I will need 2^64 bits.
18:49:06 <rdococ> imode: or a table {[64] = true} :P
18:49:25 <rdococ> you'd probably also need a separate length vector to keep track of the length, but that's another story.
18:49:52 <imode> how exactly does that table get around the fact that to store 2^64 in your method you'd need more bits than anybody has room for.
18:50:18 <rdococ> Easy - it's a sparse table. [64] is the only key, and its value is true. You can perform bitwise operations on it to add, subtract, etc.
18:50:34 <rdococ> I can store that table in Lua without error.
18:50:41 <imode> [64] isn't the value.
18:50:49 <imode> 18446744073709551616 is.
18:50:52 <rdococ> [64] is the binary place value, stored as a key here.
18:51:04 <imode> no it's not. your place value is 2^18446744073709551616.
18:51:05 <rdococ> 18446744073709551616 is way too large; that's why we store it as a table!
18:51:14 <rdococ> O_O
18:51:27 <rdococ> er...
18:51:35 <rdococ> you could also store the binary place values as sets?
18:51:39 <imode> again, large integers.
18:51:42 <rdococ> {[{etc}] = 1} :P
18:51:44 <imode> hell, store 128.
18:51:50 <imode> that means the place value is 2^128.
18:52:03 <rdococ> Yeah, but I'm talking about binary place values.
18:52:04 <imode> 0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18:52:13 <imode> that's the bit vector you have to store.
18:52:27 <imode> would you like me to show you the one for 65536? or 2^32?
18:52:30 <imode> or 2^64?
18:52:39 <rdococ> Again, you could store the key as a table, too.
18:52:41 <imode> it's pretty large.
18:52:46 <rdococ> Nested table keys - wow.
18:52:52 -!- ais523 has joined.
18:53:03 <imode> right, but then it defeats the purpose of your experiment, storing set membership in a linear bitvector.
18:53:16 <rdococ> True, but the program itself doesn't know that.
18:53:30 <imode> then why wouldn't I just store the numbers normally in a set?
18:53:38 <imode> what extra do you give me, here?
18:53:48 <rdococ> Because the program cannot access or create normal sets.
18:53:55 <rdococ> well, {3, 2} + 1 :P
18:54:12 <imode> {3, 2} + 1 is {3, 2, 1}. again, this fails for large integers.
18:54:19 <rdococ> {3, 2, 0}*
18:54:34 <rdococ> we need room for 0, too.
18:54:48 <imode> so 2^1 is zero, 2^2 is one...
18:54:56 <rdococ> ...oh.
18:55:08 <rdococ> But you're taking 2^3||2^1, and adding 1 == 2^0.
18:55:10 <imode> you can see where this fails.
18:55:13 <rdococ> ^^^
18:55:26 <imode> all in all there are better representations.
18:55:28 <rdococ> I said, you're taking 2^3||2^2*, and adding 1 == 2^0.
18:55:34 <rdococ> Then they wouldn't be esoteric!
18:55:57 <imode> welp, have fun struggling to store numbers over 64. :P
18:55:58 -!- kuluma has joined.
18:56:09 <rdococ> AGAIN, tables!!! Do you not hear me?!
18:56:14 <imode> nope.
18:56:31 <rdococ> I take that as "nope, I do hear you." :P
18:57:37 <rdococ> imode: Anyway, what do you think of goto/cc?
18:58:27 <imode> is that one of your esolangs?
18:59:49 <rdococ> no, but could be
19:02:03 <rdococ> every instruction would discreetly take in its continuation as an argument.
19:02:38 <rdococ> rather than "inc x" incrementing x, "inc x k" passes x+1 as an argument x to k
19:03:34 <rdococ> and procedures would be goto labels or address-setting instructions, maybe with or without explicit parameters
19:04:00 <imode> so.. like.. a regular assembly.
19:04:10 <rdococ> heh
19:05:22 <rdococ> I also had the idea of a brainfuck derivative where 1) ] is a NOP, 2) code and memory are in the same codespace, and 3) you could cut the tape at two points and stick them together, separating it from the main loop until you cut again
19:05:45 <rdococ> s/main loop/main tape
19:07:04 <rdococ> but one problem: you can't loop, and cell pointer will never catch up to ip
19:09:44 <rdococ> imode: I was considering enabling infinity with the (-[:]) construct used on a negative integer. whadya think?
19:12:22 <kuluma> http://esolangs.org/wiki/YABC i wonder if anyone ever figured out if you can do something with this
19:12:42 <kuluma> or is it impossible for some obvious reason
19:13:04 <kuluma> (it's mine from ages ago)
19:13:07 -!- xkapastel has joined.
19:13:34 <rdococ> Eh...
19:14:43 -!- ais523 has quit (Remote host closed the connection).
19:14:52 -!- ais523 has joined.
19:15:00 <ais523> kuluma: that's obviously TC I think
19:15:07 <kuluma> wow
19:16:51 <ais523> the easiest method is to compile from balanced bignum dofuck (i.e. all loops must contain an equal number of < and >, and the tape is finitely long), and spacing out the tape elements that represent the dofuck tape elements
19:17:25 <kuluma> did you figure this out just now?
19:17:53 <ais523> that gives you room in between to keep constantly adjusted jump target pointers
19:17:53 -!- ais523 has quit (Remote host closed the connection).
19:18:03 -!- ais523 has joined.
19:18:12 <ais523> sorry, I had that issue again where I can send but not receive
19:18:22 <ais523> did anyone try to talk to me?
19:18:30 <int-e> so... how big do cells have to be for this to actually be TC?
19:18:39 <kuluma> well i asked if you figured it out right now or earlier
19:19:11 <ais523> kuluma: just now
19:19:21 <int-e> (1 bit is probably not enough ;-) )
19:19:30 <ais523> int-e: the construction I used there actually requires bignum cells, there are probably constructions that work with finitely large cells though
19:19:39 <ais523> finding the minimum value might be interesting but I don't have time for that right now
19:21:10 <int-e> and it may be tricky to get the first big value onto the tape
19:21:29 <int-e> err, never mind
19:21:33 <ais523> nothing prevents you just spamming a bunch of +
19:21:40 <ais523> the issue is more trying to deal with big values in the middle of a loo
19:21:41 <ais523> *loop
19:21:45 <ais523> when you have to be able to jump back over them
19:22:00 <int-e> I was trying to jump back to the start of the program, but even that isn't a real issue
19:22:38 <kuluma> i've really lost my game
19:22:55 <rdococ> kuluma: at least you HAD a game :P
19:22:59 <kuluma> maybe i'll make an interpreter
19:23:36 <rdococ> dofuck?
19:23:48 <ais523> rdococ: you know how BF effectively has while loops, []?
19:23:52 <rdococ> yes
19:23:53 <int-e> I guess negative numbers cause forward jumps?
19:23:54 <ais523> dofuck is BF except it uses do-while loops
19:23:58 <rdococ> ah
19:24:01 <rdococ> interesting
19:24:05 <ais523> so [ never jumps forwards, its only purpose is to show where to jump back to
19:24:12 <ais523> it's Turing-complete but not IO-complete, which is interesting
19:24:13 <rdococ> oh, so like Newbiefuck
19:24:18 <rdococ> not IO-complete?
19:24:35 <ais523> rdococ: it has no way to sometimes produce a byte of output and sometimes not produce a byte of output
19:24:42 <rdococ> ah
19:24:45 <ais523> every program unconditionally either produces output or doesn't
19:24:47 <rdococ> ...wow, that is interesting
19:24:54 <ais523> albeit fairly obvious
19:24:58 <ais523> any program containing a . command has to run it sometime
19:24:58 <rdococ> true
19:25:00 <int-e> ais523: in your construction, you can encode all required offsets at the start of the program, so I don't know what you mean by skipping over a big value.
19:25:32 <ais523> int-e: oh wow, I hadn't realised that
19:26:06 <ais523> you can't quite do it like that because you can only encode /unconditional/ jumps that way
19:26:34 <ais523> but it's easy enough to convert a program that uses conditional jumps of multiple sizes into a program that uses unconditional jumps of multiple sizes, and conditional jumps but they're all the same size
19:26:47 <ais523> so you can have the size of the conditional jump you want just before your data cells
19:26:56 <ais523> and all the unconditional jumps before that, at the start of the tape
19:27:20 <rdococ> hm
19:27:25 <ais523> the problem with doing this with finite cells is that then, for TCness of data storage, you need infinitely many of them
19:27:30 <ais523> which means occasionally losing track of where the data pointer is
19:28:01 <rdococ> it jumps back "characters", not "instructions" in the code
19:28:14 <kuluma> https://pastebin.com/WSJbFbEf is that right?
19:28:14 <int-e> So anyway, using that idea we can build code that computes arbitrarily large offsets so some finite size of cells is enough for TC-ness as well.
19:28:18 <rdococ> thus you can just store one value large enough for the biggest loop, and use spaces
19:28:24 <int-e> (handwaving, I know)
19:28:28 <rdococ> e.g. ++++++++++[ ,.]
19:28:31 <kuluma> the "code = """ in the beginning is because i wrote it line by line and didn't reread sry
19:29:44 <ais523> rdococ: how do you handle the case of nested loops?
19:30:01 <kuluma> anyone fancy implementing fibonacci?
19:30:03 <kuluma> :P
19:30:09 <int-e> ais523: btw, the scheme that I currently have in mind for the balanced brainfuck is to replicate the cell values so that there's a copy next to every offset the value might be used with.
19:30:10 <kuluma> i added output
19:30:15 <kuluma> .
19:30:18 <ais523> the outer one necessarily has to be larger than the inner one, so you'd need some sort of repeater that has to be skipped over when going forward
19:30:29 <rdococ> true
19:30:34 <ais523> int-e: oh, I think that works
19:30:48 <ais523> even if it has O(n) performance :-P
19:30:59 <ais523> (where n is the length of the program)
19:31:08 <kuluma> i can't immediately even see how to output the naturals
19:31:15 <int-e> ais523: and then my intended construction works; you can populate the tape with the required offset at program startup and never touch them agin.
19:31:19 <int-e> *again
19:31:36 <kuluma> okay i get what ais523 means by dofuck
19:31:48 <int-e> *offsets, I should probably type a tad more slowly.
19:32:17 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
19:33:39 <int-e> also the slowdown will be small compared to the exponential price of a reduction to a Minsky machine
19:35:37 -!- doesthiswork has joined.
19:37:14 -!- digitalcold has joined.
19:38:39 <kuluma> aha!
19:38:40 <kuluma> naturals
19:38:41 <kuluma> https://pastebin.com/hR0pPMpe
19:38:59 <imode> yay, a fellow pythonian.
19:42:00 <int-e> here's a first attempt at amplification: >+++++++>+[n]<>>++<-<^>-------> should produce 2n on the tape.
19:42:10 <kuluma> i would add that to the page but that seems a bit difficult
19:43:18 <kuluma> int-e: in my interpreter that's an infinite loop if i change n to ++++++++++
19:43:30 <kuluma> (that doesn't mean your code is incorrect, just saying)
19:44:24 <int-e> kuluma: ^ is conditional according to the specification
19:45:00 <int-e> and the offset is the current cell, not the one to the right
19:45:37 <int-e> (but I'm not saying that my code is correct either, I have not tested it nor proved it correct)
19:51:30 -!- imode has quit (Ping timeout: 240 seconds).
20:04:51 -!- imode has joined.
20:07:07 -!- atslash has joined.
20:10:52 -!- imode has quit (Ping timeout: 246 seconds).
20:11:15 -!- augur has joined.
20:15:28 -!- joast has joined.
20:22:16 <kuluma> int-e: you are correct
20:22:33 <kuluma> i seem to have invented... yet another brainfuck clone
20:22:43 <rdococ> O_o
20:23:09 <kuluma> my interpreter indeed just jumps to the left by the value in current cell
20:23:43 <kuluma> i was probably going by my memory of the specification instead of the actual specification
20:23:58 <kuluma> ok so is my unconditional version TC? :)
20:24:08 <kuluma> reference implementation above.
20:25:21 -!- imode has joined.
20:25:28 <int-e> probably, but it will be quite awkward since you need to use data as offsets
20:27:33 -!- zzo38 has joined.
20:35:20 <zzo38> Now I fixed the MIXASM program I have done
20:36:24 <kuluma> int-e: seems to work, more or less https://pastebin.com/EsBhhyHb
20:36:29 <kuluma> though i get (n+1)*2
20:36:51 <kuluma> prints 2,4,6,8 etc for n=0,1,2,...
20:38:18 <zzo38> Now it can share addresses for equal sign expressions (to save memory) (it was originally meant to do that; it was just a bug that it didn't), and now base 64 is supported, and you can have ORG and EQU pseudo-ops after END (it was already allowed, but now it is documented that this is allowed), and "CON -0" works now, and a few new pseudo-ops DECK, EJMP, and EJSJ.
20:40:34 <kuluma> https://arxiv.org/abs/1707.02652
20:47:38 -!- Antoxyde_ has joined.
20:50:05 -!- Antoxyde has quit (Ping timeout: 240 seconds).
20:56:20 <rdococ> ugh
20:57:25 <rdococ> print(string.char(string.byte("£"))) -> "�"
20:57:27 <rdococ> I mean, wtf?
21:01:39 -!- hppavilion[1] has joined.
21:01:57 <rdococ> OMFG I FINALLY GOT UTF-8 TO WORK IN MINDSCREW INTERPRETER YAY!!!!!!!!!!!!!!!!!!!!!
21:09:27 -!- Sgeo has quit (Ping timeout: 240 seconds).
21:19:22 -!- doesthiswork has quit (Quit: Leaving.).
21:20:27 -!- kuluma has quit (Ping timeout: 240 seconds).
21:27:26 <rdococ> Heh, looks like largest number Lua can represent on my machine is 1024.
21:27:39 <rdococ> s/1024/2^1023/
21:27:51 <rdococ> 2014 would be an extremely low limit
21:28:34 <ais523> idea: an esolang that represents numbers as dates, and only accepts dates in the past
21:29:33 <rdococ> I had the idea of brainfuck with floats, where / would divide the number by one half.
21:29:40 <rdococ> s/divide by one half/divide by two/
21:29:47 <rdococ> and * would multiply by 2, of course
21:30:22 <rdococ> Or something that would take the alternate branch in the surreal numerical tree.
21:30:22 <rdococ> https://upload.wikimedia.org/wikipedia/commons/4/49/Surreal_number_tree.svg
21:32:14 <rdococ> (e.g. / would turn 1 into 1/2, 2 into 1+1/2, etc.
21:46:24 -!- atslash has quit (Remote host closed the connection).
21:46:35 -!- FreeFull has quit (Ping timeout: 240 seconds).
21:47:07 -!- atslash has joined.
21:48:37 -!- FreeFull has joined.
21:55:33 <HackEgo> [wiki] [[Feta]] https://esolangs.org/w/index.php?diff=52858&oldid=36563 * Zayne * (+290)
21:55:54 <HackEgo> [wiki] [[User:Zayne]] https://esolangs.org/w/index.php?diff=52859&oldid=52857 * Zayne * (+35)
21:57:41 <HackEgo> [wiki] [[User:Zayne]] https://esolangs.org/w/index.php?diff=52860&oldid=52859 * Zayne * (+40) /* My Esolangs (including jokes) */
21:59:25 <HackEgo> [wiki] [[Noid]] https://esolangs.org/w/index.php?diff=52861&oldid=52853 * Zayne * (+141) /* Implementation */
22:30:19 -!- zseri has quit (Ping timeout: 260 seconds).
22:33:45 <shachaf> `olist 1092
22:33:46 <HackEgo> olist 1092: shachaf oerjan Sgeo FireFly boily nortti b_jonas
22:54:15 -!- AnotherTest has quit (Ping timeout: 255 seconds).
22:57:04 -!- boily has joined.
23:00:17 -!- newsham has joined.
23:25:35 -!- erdic has joined.
23:28:08 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:30:11 <zzo38> The EJMP and EJSJ pseudo-ops in my MIX assembler are somewhat like COME FROM
23:31:01 <zzo38> Do you like this?
23:36:57 -!- atslash has quit (Ping timeout: 240 seconds).
23:37:43 -!- atslash has joined.
23:42:21 -!- jaboja has quit (Ping timeout: 240 seconds).
23:43:53 -!- boily has quit (Quit: LESSON CHICKEN).
←2017-08-16 2017-08-17 2017-08-18→ ↑2017 ↑all