←2013-02-10 2013-02-11 2013-02-12→ ↑2013 ↑all
00:51:10 -!- DHeadshot has joined.
00:55:05 <tswett> I wonder how we managed to make "primary school" and "secondary school" have more or less consistent meanings worldwide.
00:57:17 <oerjan> > 0o815
00:57:19 <lambdabot> Not in scope: `o815'
00:57:36 <oerjan> > 0815
00:57:38 <lambdabot> 815
00:57:53 <tswett> Like, it always refers to the stage of school where people are about 14 to 18 years old.
00:57:54 <oerjan> wtf is the octal syntax for haskell again
00:58:05 <tswett> > 0o715
00:58:07 <lambdabot> 461
00:58:16 <tswett> Moral of the story: don't use 8 in octal.
00:58:21 <oerjan> ....duh
00:58:28 <pikhq> > 0715
00:58:30 <lambdabot> 715
01:04:08 -!- DHeadshot has quit (Read error: Connection reset by peer).
01:04:13 -!- DH____ has joined.
01:18:13 -!- DH____ has quit (Read error: Connection reset by peer).
01:18:30 -!- DHeadshot has joined.
01:42:25 -!- TeruFSX has joined.
01:44:39 -!- DHeadshot has quit (Ping timeout: 256 seconds).
01:53:54 -!- ais523 has quit.
02:13:16 <Sgeo> Hmm, Atheme (which Freenode uses) has a BotServ thing, but Freenode doesn't use it I guess?
02:13:20 * Sgeo wonders what it does
02:13:35 <Sgeo> Also, what is the point of having ChanServ stay in channel?
02:13:48 <Sgeo> Preserve topic in case channel empties out?
02:18:21 -!- Phantom_Hoover has quit (Quit: Leaving).
02:18:40 -!- Frooxius has quit (Remote host closed the connection).
02:18:59 -!- Frooxius has joined.
02:21:45 -!- DHeadshot has joined.
02:22:23 <coppro> Sgeo: yes
02:23:25 -!- yhojeyisaac has joined.
02:23:34 -!- yhojeyisaac has left.
02:23:52 -!- yhojeyisaac has joined.
02:24:19 <yhojeyisaac> quien es hombre
02:24:57 <Sgeo> quien is an anagram of quine. But quine is also an anagram of quine
02:27:38 <kmc> donde esta la biblioteca
02:32:45 -!- yhojeyisaac has quit (Ping timeout: 252 seconds).
02:35:09 <oerjan> folk er så høflige mot spanjoler her i kanalen.
02:36:13 <Sgeo> `wehlcohme yh
02:36:14 <Sgeo> dangit
02:36:15 <HackEgo> yhh: Wehlcohme to the ihntehrnahtiohnahl huhb fohr ehsohtehrihc prohgrahmmihng lahnguahge dehsihgn ahnd dehployhmehnt! Fohr mohre ihnfohrmahtiohn, chehck ouht ouhr wihki: http://ehsohlahngs.ohrg/wihki/Maihn_Pahge. (Fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn ihrc.dahl.neht.)
02:36:39 <oerjan> ehxcehllehnt
02:46:30 <shachaf> `?hh oerjan
02:46:32 <HackEgo> Youhr ehvihl ohvehrlohrd oehrjahn ihs a lahzy ehxpehrt ihn fuhtuhre cohmpuhtahtiohn. Ahlso a lyihng Nohrwehgiahn.
02:47:04 <shachaf> `? norwegia
02:47:06 <HackEgo> norwegia? ¯\(°_o)/¯
02:47:18 <shachaf> That country doesn't even exist, oerjan...
02:48:41 <oerjan> it's only visible to poles
02:49:15 <oerjan> the real norwegians got lost and found themselves in nearby norway
02:49:48 <shachaf> norby nearway
02:50:59 <shachaf> oerjan: The Hebrew name is "norvegya" or so.
02:51:37 <oerjan> if ya say so
02:51:52 <shachaf> Anyway it doesn't actually exist.
02:51:55 <shachaf> Denmark exists.
02:52:09 <shachaf> `?hh denmark
02:52:11 <HackEgo> dehnmahrk? ¯\(°_o)/¯
02:52:18 <shachaf> !!!!!!!
02:54:12 -!- yhojeyisaac has joined.
02:56:36 <oerjan> he's back!
02:56:41 <oerjan> `welcome yhojeyisaac
02:56:43 <monqy> yes
02:56:44 <HackEgo> yhojeyisaac: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
02:57:20 <monqy> *¿¿¿si???
02:58:42 -!- yhojeyisaac has quit (Quit: Leaving.).
02:59:17 <oerjan> i guess we all sounded like english to him
03:01:10 <shachaf> monqy: are you "in the pigworker fan club"
03:01:33 <monqy> depends on what you mean by fan club but sure?
03:08:33 -!- yhojeyisaac has joined.
03:09:21 <yhojeyisaac> alguien que quiera tener una combersacion privada conmigo
03:13:24 -!- yhojeyisaac has left.
03:31:26 -!- yhojeyisaac has joined.
03:34:10 -!- yhojeyisaac has quit (Quit: Leaving.).
03:34:31 -!- yhojeyisaac has joined.
03:36:48 <shachaf> kmc: Do you know things about making a .s that can be linked with GHC-compiled code?
03:37:50 <kmc> linked FFIishly?
03:38:13 <shachaf> No, I'm trying to make something compatible with GHC's "ABI".
03:38:26 -!- yhojeyisaac1 has joined.
03:38:32 <shachaf> (Which involves a .hi too, of course.)
03:38:40 -!- yhojeyisaac has quit (Client Quit).
03:39:15 -!- Arc_Koen has quit (Quit: Arc_Koen).
03:41:06 <kmc> oh :(
03:41:06 <kmc> then i don't know much about that
03:41:07 <kmc> perhaps you should write it in Cmm instead of assembly
03:41:20 -!- yhojeyisaac1 has quit (Read error: Connection reset by peer).
03:41:25 -!- yhojeyisaac has joined.
03:44:34 -!- yhojeyisaac has left.
03:44:53 <kmc> i mean, i knew a few things. i know about zenc name-mangling and i know where to find the STG -> machine ABI register mapping
03:45:16 <kmc> i don't know anything about the structure of .hi files besides vaguely what kind of stuff is in them
03:45:24 -!- yhojeyisaac has joined.
03:45:49 -!- yhojeyisaac has left.
03:45:52 <shachaf> Hmm, I should probably find that mapping. All I have is a few notes I've written about that from looking at compiled Cmm files.
03:46:20 <shachaf> I compiled a .hs and am trying to make a .s to match it, but I think there are linking issues.
03:50:41 <oerjan> hm seems he gave up just as i was translating a suggestion he go somewhere else
03:54:46 <zzo38> Have you ever written a code which uses undefined/unspecified behaviours but in such ways which any result it will make is going to be working with your program?
03:55:49 <oerjan> i know that by definition undefined behavior in C doesn't work like that in principle
03:56:07 <oerjan> (it can do _anything_, not just different reasonable options)
03:57:31 <zzo38> It isn't meaning, in cases of undefined order of operation, it won't suddenly make the computer teleport to the moon instead?
03:59:11 <oerjan> that might depend on whether C considers undefined order of operations to be undefined behavior. (if you assign to the same variable in both parts it probably is?)
03:59:25 <oerjan> "undefined behavior" is a technical term.
04:00:05 <oerjan> e.g. x=x++ _is_ permitted to make the computer teleport to the moon, according the C standard.
04:00:47 <shachaf> Does the C standard specify that the computer doesn't normally teleport to the moon?
04:03:11 <zzo38> I doubt it, but I don't think that has to do with the programming language; that has to do with the computer.
04:06:54 -!- evincar has joined.
04:11:44 <pikhq> shachaf: The C standard does not otherwise specify things that have nothing to do with the state of the abstract machine.
04:12:00 <shachaf> pikhq: Right.
04:12:22 <pikhq> So a compliant computer could only *cease* teleporting to and from the moon on UB.
04:13:18 <oerjan> ^ord +-><[].,!
04:13:18 <fungot> 43 45 62 60 91 93 46 44 33
04:13:25 <kmc> "Whereof one cannot speak, thereof one must be silent."
04:16:20 <shachaf> ^ord ()[]:Zz&|^$=>#.<-!+'\\/*_%
04:16:20 <fungot> 40 41 91 93 58 90 122 38 124 94 36 61 62 35 46 60 45 33 43 39 92 92 47 42 95 37
04:20:31 -!- monqy has quit (Quit: hello).
04:23:06 <shachaf> @ask monqy ????????
04:23:06 <lambdabot> Consider it noted.
04:48:26 <quintopia> hi shachaf. how's the categories understanding coming
04:48:57 <shachaf> what's a categories
04:49:48 <quintopia> it's all the confusing info patrick throws at you
04:50:16 <shachaf> ?
04:50:28 <quintopia> ????
04:52:15 <zzo38> Currently I have implemented these functions for music in SQLRPGMAKER: MUSIC_PAUSE(), MUSIC_POKE(`ADDRESS` INTEGER, `DATA` INTEGER), MUSIC_RESTART(`TRACK` INTEGER), MUSIC_RESUME(), MUSIC_SELECT(`ID` INTEGER). Should I need anything else? Fading? Sound effect? Etc?
05:06:38 <oerjan> `fetch http://oerjan.nvg.org/esoteric/fueue/brainfuck.fu
05:06:44 <HackEgo> 2013-02-11 05:06:43 URL:http://oerjan.nvg.org/esoteric/fueue/brainfuck.fu [2382/2382] -> "brainfuck.fu" [1]
05:07:36 <oerjan> `run echo '>,[>,]<[.<]!!!!!AHAHAHAWM' | fueue "$(cat brainfuck.fu)"
05:07:38 <HackEgo> ​ \ MWAHAHAHA!!!!
05:07:46 <oerjan> `run echo -n '>,[>,]<[.<]!!!!!AHAHAHAWM' | fueue "$(cat brainfuck.fu)"
05:07:48 <HackEgo> MWAHAHAHA!!!!
05:07:56 <oerjan> pesky little newlines
05:10:07 * oerjan bows
05:14:39 * oerjan should time these things for better audience
05:16:18 <shachaf> helloerjan
05:16:32 <shachaf> Doesn't everyone logread anyway?
05:17:04 <oerjan> LET US HOPE SO
05:17:37 <oerjan> !bf_txtgen MWAHAHAHA!!!!
05:17:40 <EgoBot> ​90 +++++++++++[>+++++++>++++++>+++>+<<<<-]>.++++++++++.>-.<---------------.>.<.>.<.>.>....>-. [728]
05:17:59 <oerjan> `run echo -n '+++++++++++[>+++++++>++++++>+++>+<<<<-]>.++++++++++.>-.<---------------.>.<.>.<.>.>....>-.' | fueue "$(cat brainfuck.fu)"
05:18:01 <HackEgo> MWAHAHAHA!!!!
05:21:30 <quintopia> what is SQLRPGMAKER
05:21:50 <quintopia> oerjan: did you write bf in fu?
05:22:56 <oerjan> YES
05:23:10 <oerjan> well, in fueue
05:25:01 -!- TeruFSX has quit (Ping timeout: 245 seconds).
05:26:31 <quintopia> fueue is fu just as brainfuck is bf
05:27:30 <oerjan> OKAY
05:27:43 <oerjan> (i _did_ choose that for file extension after all.)
05:28:01 <quintopia> EXACTLY
05:28:39 <shachaf> helloerjan
05:28:44 <oerjan> hm...
05:29:11 <oerjan> `run echo '[testing error messages' | fueue "$(cat brainfuck.fu)"
05:29:13 <HackEgo> Unmatched [.
05:29:21 <oerjan> `run echo 'testing error messages]' | fueue "$(cat brainfuck.fu)"
05:29:23 <HackEgo> Unmatched ].
05:29:31 <oerjan> `run echo '[testing error messages!again' | fueue "$(cat brainfuck.fu)"
05:29:33 <HackEgo> Unmatched [.
05:29:38 <oerjan> good, good.
05:29:52 <oerjan> there's another one which is _supposed_ to be impossible to trigger.
05:30:12 <oerjan> hichaf
05:30:19 <shachaf> hi
05:31:38 <evincar> zzo38: < quintopia> what is SQLRPGMAKER
05:32:45 <zzo38> Some game engine I am making in SQL
05:35:24 <quintopia> that seems like a strange place to write a game engine
05:35:25 <quintopia> i approve
05:37:18 <zzo38> If they are RPG computer games, then you will want a lot of database, that is why it is in SQL (someone else approved for the same reason). (Specifically, it is SQLite)
05:39:00 <zzo38> (But it can be used for other computer games too)
05:58:28 <oklopol> my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and "NEED MY HELP" etc. however, inviting me to a conference? such a nigerian thing to do.
05:58:51 <shachaf> Wow, square dollars?
05:58:59 <oklopol> i just checked my spam folder, 4 calls for papers, 1 spam.
05:59:35 <oklopol> and the reason i checked was that i just got this spam in my inbox and started wondering what's spam enough to *not* get in
06:00:08 <oklopol> admittedly these are crappy conferences about software development and such
06:08:41 <pikhq> I wonder how one uses square dollars.
06:09:42 <oerjan> `addquote <oklopol> my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and
06:09:45 <oerjan> "NEED MY HELP" etc. however, inviting me to a conference? such
06:09:46 <HackEgo> 962) <oklopol> my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and
06:09:48 <oerjan> a nigerian thing to do.
06:09:48 <oerjan> thank you irssi
06:09:54 <oerjan> `revert
06:09:57 <HackEgo> Done.
06:10:11 <oerjan> `addquote <oklopol> my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and "NEED MY HELP" etc. however, inviting me to a conference? such a nigerian thing to do.
06:10:15 <HackEgo> 962) <oklopol> my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and "NEED MY HELP" etc. however, inviting me to a conference? such a nigerian thing to do.
06:12:50 <Vorpal> Speaking of spam, I once got a spam that tried to look like one of those mails from automated svn "commit has happened" hooks.
06:13:05 <Vorpal> bbl work
06:21:08 <kmc> Vorpal: haha
06:21:12 <oerjan> `run echo -n ',[.,]!Hi oklopol' | fueue "$(cat brainfuck.fu)"
06:21:14 <HackEgo> Hi oklopol
06:22:18 <oklopol> :O
06:22:48 <kmc> 2142728 looks like a familiar number
06:23:08 <oklopol> maybe just because of 142857?
06:23:18 <oklopol> hmm
06:23:19 <kmc> i think i had it mixed up with 214748
06:23:34 <oklopol> errr what's that
06:24:11 <kmc> > 2^31 `div` 10000
06:24:13 <lambdabot> 214748
06:26:22 <oklopol> oo
06:26:35 <oklopol> i don't go that far
06:31:22 <oerjan> 1048756 should be enough for anyone
06:31:30 <oerjan> > 2^20
06:31:32 <lambdabot> 1048576
06:31:35 <oerjan> oops
06:31:51 <oerjan> i thought something was off
06:32:02 <oklopol> how nice
06:33:18 <oklopol> so 4.5.6, then you turn back and put .8.7.
06:49:41 -!- WeThePeople has quit (Quit: Leaving).
07:06:22 <zzo38> The WWYD (for "what will you discard") polls for the Reachmahjong games is sometimes labeled "Tungsten Tungsten Yttrium Deuterium".
07:13:05 <kmc> yttrium is one of four elements named after the same small village in sweden
07:13:41 <oerjan> ytterbium, yttrium, terbium, and erbium
07:22:36 -!- azaq23 has joined.
07:22:45 -!- azaq23 has quit (Max SendQ exceeded).
07:32:28 -!- oerjan has quit (Quit: leaving).
07:36:34 -!- sebbu has quit (Ping timeout: 256 seconds).
07:37:34 -!- sebbu has joined.
07:37:34 -!- sebbu has quit (Changing host).
07:37:35 -!- sebbu has joined.
07:50:35 -!- zzo38 has quit (Remote host closed the connection).
07:57:23 -!- copumpkin has quit (Ping timeout: 252 seconds).
07:57:54 -!- copumpkin has joined.
08:10:02 -!- copumpkin has quit (Ping timeout: 252 seconds).
08:10:32 -!- copumpkin has joined.
08:24:55 <olsner> oh, if your current working directory is on NFS and the directory is removed elsewhere you can get "cd: ..: No such file or directory"
08:26:30 <fizzie> You don't need NFS for that.
08:27:06 <fizzie> http://sprunge.us/YSdO
08:27:25 <olsner> boring
08:28:10 <fizzie> Admittedly, though, that *was* actually on NFS.
08:28:15 <Deewiant> You could also 'rm -r ../../a' there
08:28:34 <fizzie> htkallas@spa-ws160:~/tmp/a/b$ ls
08:28:34 <fizzie> ls: cannot open directory .: Stale NFS file handle
08:29:08 <Deewiant> In zsh that makes me end up at the path "." (according to pwd)
08:29:19 <fizzie> It worked a bit differently on a non-NFS path:
08:29:34 <fizzie> http://sprunge.us/aPfb
08:30:25 <elliott> qqqqqq
08:30:28 <elliott> ok good
09:16:52 -!- Nisstyre-laptop has quit (Ping timeout: 256 seconds).
09:32:06 -!- epicmonkey has joined.
10:18:55 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de).
10:24:01 -!- ais523 has joined.
10:38:06 -!- ais523 has quit (Read error: Connection reset by peer).
10:38:20 -!- ais523 has joined.
10:40:20 -!- Phantom_Hoover has joined.
10:44:42 -!- DHeadshot has quit (Ping timeout: 256 seconds).
10:48:41 <Sgeo> Someone on the Internet told me to choke on dick
10:48:43 <Sgeo> dicks
10:48:55 <Sgeo> I feel like I am finally an Internet citizen
10:53:27 <elliott> thanks
11:08:30 <Sgeo> I should really go back to sleep
11:24:45 -!- hagb4rd has joined.
11:34:17 -!- zzo38 has joined.
11:40:59 <FreeFull> Sgeo: Go choke that person with a dick
11:59:24 <Sgeo> The Pope's resigning
11:59:38 <Sgeo> (How often do you get to say THAT?)
12:00:56 <Sgeo> Apparently quite frequently around 1045 and the years after
12:03:38 <elliott> weird
12:04:06 <zzo38> Do you mean the current pope, or the one before?
12:04:45 <Sgeo> The current one
12:04:53 <Sgeo> It takes effect later in the month
12:14:43 -!- noam_ has quit (Read error: Connection reset by peer).
12:15:19 -!- noam has joined.
12:22:39 <Phantom_Hoover> maybe they'll go for someone less creepy this time
12:26:39 -!- Phantom_Hoover has quit (Remote host closed the connection).
12:28:52 -!- Phantom_Hoover has joined.
12:45:52 <c00kiemon5ter> fungot, good morning
12:45:53 <fungot> c00kiemon5ter: what is u? or y? :) i've played with ruby a little. i've been trying
12:46:02 -!- TeruFSX has joined.
12:49:37 <Sgeo> ^style
12:49:37 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
12:49:44 -!- carado has joined.
12:51:41 <shachaf> F : Dom F -> Cod F
12:58:21 -!- Arc_Koen has joined.
13:12:06 -!- zzo38 has set topic: DO NOT PULL | char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | a mutiny of clowns | http://codu.org/logs/_esoteric/.
13:13:38 -!- zzo38 has set topic: DO NOT PULL OR PUSH SIDEWAYS | char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | a mutiny of clowns | http://codu.org/logs/_esoteric/.
13:17:46 <Sgeo> bad website design time http://www.constellation7.org/
13:18:10 <Phantom_Hoover> is that from #jesus
13:18:20 <Sgeo> no
13:18:30 <Sgeo> Saw it on hacker news
13:18:43 <Phantom_Hoover> why do you read hacker news...
13:19:12 <Sgeo> I was googling something else
13:20:31 <Phantom_Hoover> once again Sgeo you deftly evade judgement
13:31:50 -!- monqy has joined.
13:32:27 -!- Gregor has changed nick to TwilightSpockle.
13:33:46 <fizzie> The topic reminds me of "TO PUSH IS ENOUGH", a sign on a classroom door.
13:35:45 -!- boily has joined.
13:38:45 -!- elliott has set topic: TO PUSH IS ENOUGH | http://codu.org/logs/_esoteric/.
13:38:57 -!- boily has quit (Client Quit).
13:40:35 -!- boily has joined.
13:41:25 -!- TeruFSX has quit (Ping timeout: 246 seconds).
13:41:54 -!- ais523 has quit (Read error: Connection reset by peer).
13:42:08 -!- ais523 has joined.
13:58:17 -!- zzo38 has quit (Remote host closed the connection).
14:21:48 -!- oklofok has quit (Remote host closed the connection).
14:37:46 <Sgeo> "Geez you'd think with all those priests around you could find somebody able to cast cure light wounds."
14:51:24 -!- evincar has quit (Quit: Consciousness is terrible.).
15:00:23 -!- glogbackup has joined.
15:02:47 -!- glogbackup has quit (Remote host closed the connection).
15:04:22 -!- Mathnerd314_ has joined.
15:06:36 -!- fizzie` has joined.
15:07:07 -!- Mathnerd314 has quit (Ping timeout: 276 seconds).
15:07:07 -!- oonbotti has quit (Ping timeout: 276 seconds).
15:07:07 -!- fizzie has quit (Ping timeout: 276 seconds).
15:07:21 -!- olsner has quit (Ping timeout: 252 seconds).
15:13:28 -!- Taneb has joined.
15:19:34 -!- olsner has joined.
15:23:49 -!- glogbackup has quit (Remote host closed the connection).
15:24:13 <Taneb> Phantom_Hoover, you know how I'm completely incompetent at everything, and have a nasty habit of ruining my computer?
15:24:43 <Phantom_Hoover> yes
15:24:51 <Phantom_Hoover> a man after my own heart
15:24:57 <Taneb> I've ruined my computer again
15:25:48 <Phantom_Hoover> oh dear
15:26:12 <Phantom_Hoover> would you like me to direct you to the people i consult when i ruin my computer
15:26:14 <Taneb> I'm gonna order an actual graphics card
15:27:20 <Taneb> Here I go...
15:29:55 -!- glogbackup has quit (Ping timeout: 246 seconds).
15:31:46 <Phantom_Hoover> is this the continuation of the chinese graphics card saga
15:31:51 <Taneb> Yes
15:32:01 <Taneb> It struck back
15:32:47 <Sgeo> I think I have an idea for a language that I would love
15:32:54 <Sgeo> It's probably completely impossible though
15:33:02 <Taneb> Is it Feather
15:33:08 <Sgeo> More impossible
15:33:10 <Phantom_Hoover> hitting a distinct galatea vibe here
15:34:48 <Phantom_Hoover> perhaps the gods will be kind and implement it for you when you finish the spec
15:35:01 <Taneb> Phantom_Hoover: is oerjan a god?
15:35:58 <Sgeo> I want people to come up with new idioms and all the old code that others wrote will magically work with it
15:36:16 <Phantom_Hoover> i think even the gods would have trouble with that
15:36:40 <Sgeo> As in, say language has conventional throw/try/catch, people use that, someone adds a condition system, suddenly all the old code works with it magically
15:36:43 <Sgeo> Phantom_Hoover, yes
15:36:57 <Phantom_Hoover> Taneb, somehow i doubt it
15:37:17 <Taneb> Phantom_Hoover: but... brainfuck in Fueue!
15:37:59 -!- glogbackup has quit (Remote host closed the connection).
15:38:12 <Phantom_Hoover> he's probably one of them trickster-gods if anything
15:40:29 -!- copumpkin has quit (Ping timeout: 252 seconds).
15:41:00 -!- copumpkin has joined.
15:54:53 <Sgeo> " It is totally acceptable for the weaker (and through extension less intelligent) to die, otherwise it would not happen every day"
15:55:04 <Sgeo> Where is Punching over IP?
15:55:06 <Sgeo> I need it
15:55:14 -!- glogbackup has quit (Remote host closed the connection).
15:55:35 <Phantom_Hoover> why waste your effort
15:55:52 <Phantom_Hoover> just ignore them and hope for their sake that they grow out of it
16:06:13 <Arc_Koen> Taneb: was oerjan succesful?
16:06:38 <Taneb> It's on the wiki, so I presume so
16:07:36 <Arc_Koen> you know how the example programs on that page go
16:07:48 <Arc_Koen> starting with "hey look I got an empty program, it's almost a cat"
16:08:02 <Arc_Koen> then "I can print Hello World! and then halt"
16:08:18 <Arc_Koen> then "I've got an infinite loop, but it doesn't do anything"
16:08:31 <Arc_Koen> and then oerjan steps in
16:08:54 <Taneb> :D
16:09:59 -!- glogbackup has quit (Remote host closed the connection).
16:10:23 <FreeFull> Now, brainfuck in eodermdrome
16:10:30 <FreeFull> Go oerjan go
16:10:30 <ais523> Sgeo: actually that sounds a lot like Feather :)
16:10:41 <ais523> with the retroactively adding language features thing
16:10:55 <Sgeo> hm
16:11:16 <Phantom_Hoover> FreeFull, could work.
16:11:33 <Sgeo> Yes, but also retroactively making old code use it?
16:11:57 <Phantom_Hoover> Don't think you have to use duplication for it, which is the trickiest thing in eodermdrome.
16:13:05 <ais523> Sgeo: I don't think it'd rewrite the old code to be more idiomatic
16:13:12 <ais523> that does indeed sound quite difficult
16:13:28 <ais523> in order to get a start on it, I guess the language should have a bytecode compiler and a decompiler that tries to infer the idioms
16:13:33 <Sgeo> Maybe not rewriting, but just making it interoperate with the new idiom fully... which still sounds difficult
16:13:35 -!- glogbackup has joined.
16:14:01 <ais523> something along the lines of "add exceptions, now all existing code is rewritten to be exception-safe" sounds more possible
16:14:01 <Phantom_Hoover> i'm pretty sure Sgeo's ideal language is either superturing or logically inconsistent
16:14:04 <ais523> very difficult, still
16:14:10 <ais523> but it's quite similar to what I do in my day job
16:14:27 <ais523> the nice thing is, for every new language feature you actually get to work, you can write an entire academic paper about how :)
16:14:45 * Sgeo suddenly wants a job like ais523's
16:14:50 <Sgeo> Designing stuff and writing papers
16:15:06 <ais523> Sgeo: it doesn't pay very well
16:15:26 <ais523> also it's coming to an end this year, but I should be able to use the experience to get another better-paying one in the same field
16:15:26 <elliott> ais523: just have to prove something for wolfram every few years
16:15:43 <ais523> (this is the same sort of sentence as "I should go to KFC some day", btw)
16:15:43 <elliott> though I hear he usually doesn't pay people for that
16:15:54 <elliott> ais523: what sort of sentence is that
16:16:03 <ais523> elliott: where "some day" refers to a particular day
16:16:08 <ais523> rather than just being a variable
16:16:25 <ais523> btw, does Emmental remind anyone else of Splinter?
16:17:32 <Sgeo> Link to Splinter?
16:17:36 <elliott> ais523: ah, so there is a specific job?
16:17:45 <ais523> elliott: at least one, that I have in mind
16:17:48 <ais523> Sgeo: http://esolangs.org/wiki/Splinter
16:17:58 <ais523> I heartily recommend adding a macro in your IRC client to easily link people to things
16:18:03 <ais523> also, the Esolang search box to your browser
16:18:30 -!- glogbackup has quit (Remote host closed the connection).
16:18:37 * Sgeo wasn't sure if it was an esolang or a real language
16:19:07 <Sgeo> I should write an esolang at some point
16:19:24 <Sgeo> Besides my boring ones
16:19:45 -!- ais523_ has joined.
16:19:45 -!- ais523 has quit (Remote host closed the connection).
16:19:46 -!- ais523_ has changed nick to ais523.
16:20:41 <monqy> Sgeo: would it be a good esolang
16:20:42 <boily> considering the current span of all esolangs that have been noted down, is there any niche out there left to be discovered, exploited, maimed, tortured and obfuscated?
16:20:56 <monqy> boily: yes
16:21:47 <ais523> boily: almost certainly yes
16:21:52 <ais523> they just get harder to find as time goes on
16:22:08 <ais523> like, it took me around a year of thought to find Underload, probably
16:22:19 <Sgeo> A language that compiles to x86 where the compiler's source makes no deliberate reference to x86 code?
16:22:47 <Sgeo> (The compiler would of course be written in that language)
16:23:12 <ais523> now you're trying to make me work out if a metacircular compiler is an actual concept
16:23:13 -!- Phantom__Hoover has joined.
16:23:28 <ais523> I guess it'd need the ability to compile at runtime, like Perl
16:23:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
16:23:43 <Taneb> Sgeo: did you see the latest turn in the Chinese Graphics Card tale?
16:23:49 <Sgeo> Taneb, no
16:24:04 <Taneb> Basically, I stupid'd again, and have ordered an actual graphics card
16:24:11 <Sgeo> yay
16:24:23 <Phantom__Hoover> make sure you don't ask elliott for advice
16:24:25 <ais523> Taneb: I somehow missed this tale
16:24:49 <Taneb> ais523: I tried to upgrade my graphics card driver on day
16:24:54 <Taneb> Things went a little wrong
16:25:02 <Taneb> So I asked for help in #ubuntu-steam
16:25:02 <ais523> which OS?
16:25:06 <Taneb> Ubuntu
16:25:13 <ais523> oh, I can sort-of see where this is going
16:25:13 <Taneb> Because I was trying to get Steam working
16:25:20 <ais523> #ubuntu is kind-of random in the quality of help it gives
16:25:27 <Taneb> They couldn't help me, and redirected me to #nvidia
16:25:31 <ais523> I expect #ubuntu-steam is similar, except full of gamers
16:26:10 <Taneb> After talking to someone in #nvidia for a bit, sending photos of my graphics driver
16:26:11 <ais523> (which is not necessarily a bad thing)
16:26:16 <Taneb> *graphics card
16:26:24 <Taneb> It turns out that my graphics card was bootleg
16:26:35 <Taneb> And an old model disguised poorly as the new one
16:26:45 <elliott> good
16:26:48 <ais523> is the rest of your computer bootleg too?
16:26:55 <Taneb> I believe not
16:27:09 <Taneb> I bought all the parts separatley
16:27:14 <boily> is Taneb itself bootleg?
16:27:46 -!- cuttlefish has joined.
16:27:58 <Taneb> I'm a story about the prohibition of chocolate
16:28:24 <elliott> waht
16:28:36 <boily> ~metar CYUL
16:28:40 <cuttlefish> CYUL 111605Z 35006KT 5/8SM R06L/2000FT/N R06R/2200FT/N -SN BR VV003 M07/ RMK SN8
16:28:45 -!- glogbackup has quit (Ping timeout: 252 seconds).
16:28:57 <Taneb> ~help
16:28:57 <cuttlefish> --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi
16:29:01 <Taneb> ~duck Bootleg
16:29:02 <cuttlefish> The term bootlegging originally came from black people being cheep and drinking alcohol in the legs of boots.
16:29:07 <Taneb> ~duck Bootleg story
16:29:09 <cuttlefish> --- No relevant information
16:29:16 <monqy> what's this
16:29:17 <boily> the weather lies! no way it's -SN now.
16:29:24 <boily> ~duck bootleg
16:29:25 <cuttlefish> The term bootlegging originally came from black people being cheep and drinking alcohol in the legs of boots.
16:29:35 <Taneb> http://en.wikipedia.org/wiki/Bootleg_(TV_serial)
16:29:47 <Taneb> "cheep"
16:30:14 <Sgeo> What information does primitive + need to know?
16:30:29 <Sgeo> It needs to know how to add. It needs to know how to compile itself.
16:30:30 <Sgeo> Hmmm
16:32:08 <ais523> `addquote <Taneb> I'm a story about the prohibition of chocolate
16:32:15 <HackEgo> 963) <Taneb> I'm a story about the prohibition of chocolate
16:32:16 <ais523> the best part about that quote is, there /isn't/ any context
16:32:19 <Sgeo> ais523, what sort of information can be hidden in a Trusting Trust style manner?
16:32:45 <Sgeo> THat's really what's making me think about this
16:32:53 <Taneb> There's actually context
16:32:56 -!- epicmonkey has quit (Ping timeout: 245 seconds).
16:33:01 <Taneb> Just it's a stupidly obscure reference
16:33:03 <ais523> Sgeo: well that attack stops working as soon as someone writes a second compiler, but if you trusting-trust a strong AI into your compiler, pretty much anything
16:33:18 <ais523> (until someone recompiles it with a different compiler that it didn't compile in the first place)
16:33:35 <ais523> (the "it didn't compile in the first place" isn't normally necessary, but it is if you suspect there's a strong AI in there)
16:33:57 <Sgeo> I think in this case, trusting trust is not an "attack", but the implementation strategy
16:34:18 <monqy> i prefer to err on the safe side and always suspect there's a strong ai in my compilers
16:34:54 <elliott> Taneb: oh wow i think i actually saw this
16:34:56 <ais523> it might be possible, because it wouldn't need to be a very /good/ strong AI
16:34:58 <elliott> when i was younger
16:35:13 <ais523> you might be able to get away with just a bunch of heuristics
16:35:18 <Phantom__Hoover> wasn't that an episode of the simpsons
16:35:25 <Taneb> Phantom__Hoover: that was sugar
16:35:29 <ais523> strong AIs are easy to write if you don't mind them being really bad at their jobs
16:35:42 <Taneb> And alcohol in a different episode
16:35:50 <Sgeo> There's an anime called Chocolate Underground
16:36:27 <Phantom__Hoover> there's a book called the chocolate war, isn't there
16:36:37 <Phantom__Hoover> i hear it's soulcrushing
16:36:40 <monqy> did you know: there's a food called chocolate
16:36:51 <ais523> `quote
16:36:52 <ais523> `quote3
16:36:53 <HackEgo> 29) <ehird> Or the brutal rape of the English language! <pikhq> That wasn't rape. English is always willing.
16:36:54 <ais523> `quote
16:36:54 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quote3: not found
16:36:55 <ais523> `quote
16:36:56 <HackEgo> 297) <oklopol> esperanto is just spanish with a diarrhea
16:36:57 <ais523> `quote
16:36:57 <HackEgo> 782) <itidus21> i have a simple view of reality that goes something like this.. once your sufficiently well tied up.. it doesn't make a difference if your enemy has a knife or a gun.. you're equally screwed
16:36:58 <ais523> `quote
16:36:59 <HackEgo> 614) <Vorpal> oh my god <Vorpal> that is one ugly solution <elliott> beautiful
16:37:00 <HackEgo> 339) <EgoBot> hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER
16:37:02 <Taneb> http://www.youtube.com/watch?v=uzIs1epLEdc
16:37:21 <ais523> elliott: delete 297 or 339?
16:37:37 <Phantom__Hoover> 339
16:37:48 <monqy> 339
16:38:32 <Taneb> That looks quite a bit different from the book
16:38:54 -!- ais523_ has joined.
16:38:57 -!- ais523 has quit (Disconnected by services).
16:38:58 -!- ais523_ has changed nick to ais523.
16:39:09 <elliott> `delquote 29
16:39:14 <HackEgo> ​*poof* <ehird> Or the brutal rape of the English language! <pikhq> That wasn't rape. English is always willing.
16:39:28 <ais523> elliott: I can live with that
16:39:33 <elliott> DELETED UNDER GROUNDS OF: (a) did I actually say that; (b) it's stupid
16:39:58 <monqy> 29 is also a good choice
16:40:02 <ais523> `pastlog brutal rape of the
16:40:30 <HackEgo> 2010-05-03.txt:01:00:52: <HackEgo> 46|<ehird> Or the brutal rape of the English language! <pikhq> That wasn't rape. English is always willing.
16:40:43 <ais523> btw, is 782 meant to be a BF Joust reference? because that's how I interpreted it
16:41:00 <elliott> are you new to itidus21
16:41:19 -!- glogbackup has quit (Remote host closed the connection).
16:41:37 <Phantom__Hoover> is it funnier if you imagine it's one of iti's aimless blunderings in the world of sex
16:42:40 <ais523> elliott: no but I haven't been paying much attention to him in particular
16:42:43 <ais523> `pastequotes itidus
16:42:50 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20847
16:44:14 <Phantom__Hoover> seeing them all at once
16:44:17 <Phantom__Hoover> it's too much
16:44:46 <Phantom__Hoover> apparently he's... still online?
16:45:00 <elliott> wow every single one of itidus' quotes is amazing
16:45:01 <Phantom__Hoover> must've gotten bored
16:45:11 <elliott> Phantom__Hoover: did you forget the part where you drove itidus off
16:45:18 <Phantom__Hoover> shit was that me
16:45:37 -!- glogbackup has joined.
16:46:06 <monqy> oh is that what happened to him
16:46:26 <ais523> `quote 539
16:46:28 <HackEgo> 539) <Taneb> I think this has taught us one thing. We can't teach itidus20 lambda calculus by comittee
16:46:32 <ais523> not an itidus quote, but it's awesome
16:47:15 <ais523> 647 is pretty good too, though
16:47:25 <elliott> Expected type: Ehh t t1 -> (Dom t1 (t % x) (t % x) -> r) -> r
16:47:25 <elliott> Actual type: Ehh t t1 -> (Dom t1 (t % x0) (t % x0) -> r) -> r
16:47:29 <elliott> can someone please fix my GHC
16:48:21 <monqy> ehh
16:48:40 <ais523> x and x0 might be different types, though
16:48:52 <elliott> ais523: no they're totally polymorphic
16:49:05 <elliott> this is a stupid type family problem
16:49:15 <elliott> monqy: I called it Ehh because I was a bit upset about having to define it in the first place
16:49:44 <FreeFull> elliott: o.o
16:49:51 <FreeFull> That looks like a weird type error
16:50:16 <Taneb> ScopedTypeVariables?
16:50:28 <ais523> elliott: this reminds me of SCC inference, where sometimes in Verity a program will fail to compile because program transformations changed the definition of "polymorphic"
16:50:41 <elliott> Taneb: no, it's not that simple
16:50:46 <ais523> so far, the error's only happened on intentionally contrived examples, and programs which were incorrect anyway
16:50:49 <Sgeo> Just applied to a fun sounding job
16:51:01 <elliott> newtype Ehh f = Ehh (forall x. Blah (Foo f x))
16:51:04 <Sgeo> Seems like it would involve writing training documentation and teaching people things
16:51:04 <Sgeo> :D
16:51:05 <elliott> out :: Ehh f -> Blah (Foo f x)
16:51:10 <elliott> out (Ehh x) = x
16:51:14 <elliott> the problem is you can't do this
16:51:15 <ais523> Sgeo: are you actively seeking out a job atm? or do you just apply to jobs for fun?
16:51:15 <elliott> where Blah is anything
16:51:17 <elliott> and Foo is a type family
16:51:26 <Sgeo> ais523, actively seeking out a job
16:51:27 <elliott> because GHC's handling of type families is kind of bad
16:51:28 <ais523> actually applying to jobs for fun sounds like a great idea if you have time to spare
16:51:41 <ais523> except it might make it hard to get a job if you get a reputation for applying to jobs then turning them down
16:51:48 -!- glogbackup has quit (Ping timeout: 264 seconds).
16:51:57 <Sgeo> Although I'm still vacillating between getting a job and going to grad school
16:52:06 <Sgeo> I want to not need to deal with my dad as soon as possible :/
16:52:20 <Sgeo> Although he did say he'd give me an allowance if I went to grad school
16:52:22 <Sgeo> >.>
16:56:07 <monqy> do you know what you want to do with grad school
16:56:33 <Sgeo> Not really
16:56:45 <Sgeo> Computer Science
16:57:04 <Sgeo> But ... why, I guess, is the question. Would I have an opportunity to design a language?
16:57:04 -!- glogbackup has quit (Ping timeout: 246 seconds).
16:57:23 <ais523> Sgeo: if you're going to do a graduate degree, the difficulty is finding a good supervisor who knows problems to work on that you could complete and would be useful
16:58:01 <quintopia> Sgeo: grad school sucks with the wrong advisor
16:58:22 <quintopia> be prepared to switch or quit
16:58:25 <ais523> I've ended up designing several languages as a result of what I've been doing; most of them are mathematical abstractions, some would be a pain to write in (e.g. affine ICA), only one of them is a "real programming language", and it's Verity, which very much feels like an academic language
17:00:01 <ais523> btw, 794 works better when you know that there's a brand of cola called ubuntu
17:00:15 <Sgeo> I don
17:00:19 <quintopia> what is 794
17:00:26 <Sgeo> I don't even know who I could talk to at the school to start with anything
17:00:32 <elliott> ais523: thats the context
17:00:34 <ais523> `quote 794
17:00:36 <HackEgo> 794) <itidus21> ubuntu is the solaris of the cola world
17:00:37 <ais523> elliott: I guessed
17:00:43 <monqy> Sgeo: interesting/useful languages that will get you publications are more like things that fall out of a need or niche or something than something you can just decide to design
17:01:03 <ais523> Sgeo: also if you want to get funding for it, you need to have a pretty good track record
17:02:18 -!- glogbackup has quit (Ping timeout: 252 seconds).
17:02:39 <Sgeo> track record?
17:02:52 <monqy> Sgeo: if there's an interesting problem you want to explore maybe you can design a language around that, but if you have an idea already...........
17:04:11 <Sgeo> So, for that metacircular compiler idea, would it be cheating to do something other than x86
17:04:22 <Sgeo> Say, Ngaro VM?
17:04:24 <ais523> I'm still not convinced "metacircular compiler" makes sense
17:04:35 <elliott> whats ngaro vm
17:04:36 <ais523> although I'd be happy for elliott to tell me whether it does or not, he probably knows
17:05:34 <Sgeo> http://rx-core.org/docs/The_Ngaro_Virtual_Machine.html
17:08:44 <elliott> ok now whats cheating
17:09:13 <Sgeo> I don't know
17:09:22 <monqy> ok
17:09:28 <ais523> I'm still not convinced I know what a metacircular compiler is
17:09:38 <ais523> it'd have to compile a language into itself
17:09:39 <Sgeo> Still needing an interpreter to run the compiled thing feels... cheating-ish somehow, but seems saner than trying to learn x86
17:09:44 <ais523> and then compile that with an existing compiler
17:09:52 <ais523> and yet compiling a language into itself is normally kind-of easy
17:10:03 <Sgeo> ais523, presumably, there'd be a bootstrapping compiler at first which then gets discarded
17:10:16 <ais523> no, then it isn't metacircular
17:10:18 <ais523> it's just a compiler
17:10:37 -!- glogbackup has quit (Remote host closed the connection).
17:10:52 <monqy> sgeo is this just about you want to write a compiler but don't want to learn x86 so you're writing it really silly
17:10:58 <Sgeo> So it can't start off non-metacircular then become metacircular? Does the fact that C compilers weren't originally written in C hampers the names it can be given?
17:10:58 <Taneb> @time Taneb
17:10:59 <lambdabot> Local time for Taneb is Mon Feb 11 17:10:58 2013
17:11:15 <Taneb> I don't have a clock
17:11:22 <kmc> "metacircular" doesn't just mean "written in the same language it's implementing"
17:11:54 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de).
17:12:38 <Sgeo> Ok, this is what I want: The compiler for language ?? is written in ??. The compiler contains no code that directly corresponds to the target platform. That is, the source code for the compiler does not mention the assembly or machine code for +, for example
17:12:58 <Sgeo> Rather, somehow + is a primitive that knows how to compile itself as well as add
17:13:06 <ais523> sounds like Forth
17:13:10 <ais523> except not really
17:13:31 <Sgeo> The information for what constitutes addition should be trusting trusted somehow
17:13:44 <Phantom__Hoover> my first thought would be that the compiler has access to its own compiled form
17:13:51 <Taneb> Ditto
17:13:55 <ais523> huh, if it's /really/ trusting trusted
17:14:01 <ais523> then there's no need for the language to even have I/O
17:14:07 <Phantom__Hoover> and uses this to deduce
17:14:18 <ais523> although, in that case, the semantics of the language and the compiler would basically be entirely disjoint
17:14:19 <Phantom__Hoover> somehow what it's compiling to
17:14:23 <ais523> so how can you call it a compiler for the language?
17:15:27 <ais523> I think I have a tarpit version of the idea
17:15:29 -!- glogbackup has joined.
17:15:45 <ais523> a language X which, given any program, ignores it and outputs a language X compiler
17:15:53 <ais523> actually, that's known as a quine
17:15:55 <elliott> reminds me of brainbrain
17:16:31 <ais523> elliott: good reference
17:16:45 <ais523> actually I'll write this esolang up, because it's hurting my head (in a good way)
17:16:59 <ais523> on the joke languages list, of course
17:17:11 <kmc> a... quinepiler?
17:17:18 <elliott> quiler
17:17:21 <elliott> ais523: call it Quiler
17:17:25 <ais523> OK
17:17:32 <kmc> quiler sounds like a web 2.0 startup
17:17:55 <Sgeo> Does this count as me helping create a language?
17:18:03 -!- glogbackup has quit (Remote host closed the connection).
17:18:09 <Sgeo> Also, I do want a less tarpitty version, but will wait to see the writeup of this
17:20:00 <Sgeo> ...I think some Smalltalk person has worked on ... something similar to what my idea would be if extended into usefulness
17:22:37 -!- augur has quit (Remote host closed the connection).
17:23:42 <Sgeo> Hum.
17:24:03 -!- glogbackup has quit (Remote host closed the connection).
17:24:13 <Sgeo> I don't think it's cheating to do something like binary(+) and get the x86 code out from that, right?
17:24:32 <Sgeo> If the compiler uses binary() calls but doesn't contain the actual binary code explicitly...
17:24:57 <Sgeo> I pretty much have to be able to do that, I think
17:25:32 <Phantom__Hoover> yes, although idk if that's a particularly elegant way of doing so
17:25:39 <Sgeo> What, the syntax?
17:26:03 <Sgeo> Syntax just quick way of joting thoughts down, not concrete yet
17:26:09 <Sgeo> Probably code{+} makes more sense
17:26:23 <Phantom__Hoover> i mean conceptually
17:26:24 <Sgeo> code{1+1} is a binary blob containing the code that gets inserted for 1+1
17:26:41 <Sgeo> I don't think it's avoidable
17:26:41 <elliott> compile(program) = print code{$program}
17:26:56 <Sgeo> The compiler has to be able to emit the code somehow
17:26:57 <elliott> metaitmceaulciualr compierls
17:27:31 -!- ais523 has quit (Ping timeout: 245 seconds).
17:28:33 <Sgeo> Could just be a command saying "Compile this code into the program I'm compiling", and block programs finding out at runtime what the binary code is, but that seems icky
17:29:33 <monqy> btw what are you doing and why. i'm trying to figure out if this is a thought experiment or an xy problem gone horribly wrong
17:29:42 <Sgeo> Both
17:29:45 <monqy> ah
17:29:53 <Sgeo> I think it could make writing compilers easier somehow?
17:30:11 <monqy> good luck
17:34:51 -!- ais523 has joined.
17:35:08 <ais523> btw, I made a mistake, it's not output only
17:35:11 <Phantom__Hoover> Sgeo, challenge, make this work without assuming a von neumann architecture
17:35:12 <ais523> it takes input, just doesn't do anything with it
17:35:45 <ais523> OK, here we go: http://esolangs.org/wiki/Quiler
17:35:51 <ais523> IMO it's more interesting than over half the joke languages
17:35:53 <ais523> not that that's hard
17:36:51 <ion> I read that as “Quitler” for some reason.
17:37:26 -!- monqy has quit (Quit: hello).
17:38:04 <Taneb> "Surrender now, at my moment of triumph!? I'm Hitler, not Quitler!"
17:39:03 -!- epicmonkey has joined.
17:39:11 <elliott> Could not deduce ((forall x1. Dom g (f % x1) (f % x1))
17:39:11 <elliott> ~ Dom g (f % x) (f % x))
17:39:15 <elliott> WHY WHY WHY WHY WHY WHYW HYW
17:40:19 <Sgeo> I have an idea for a usable version
17:40:23 <elliott> ais523: please kill me to death. ty
17:40:28 <Sgeo> Although it makes the compiler too simple to write, I think
17:40:50 <Sgeo> Also, it's a Brainfuck derivative
17:40:57 * Sgeo runs from Phantom__Hoover very, very fast
17:42:03 <Sgeo> > ord '+'
17:42:05 <lambdabot> 43
17:42:12 <Sgeo> !text2bf +
17:42:51 <Sgeo> Well, "too simple" as in the source code is simple
17:43:01 <Sgeo> Creating an actual compiler is trickier than writing the source code
17:43:45 <ais523> especially in BF
17:44:05 <ais523> Sgeo: actually, did you see Gregor's IOCCC entry? the only reason it doesn't fulfil your definition is that it implements the wrong language
17:44:24 <Sgeo> ais523, I think I have seen it but forgotten everything about it
17:44:46 <Taneb> dc JIT
17:44:52 -!- Mathnerd314_ has changed nick to Mathnerd314.
17:44:59 <Taneb> Criss-platform
17:45:02 <Taneb> *cross
17:45:50 <elliott> haaaaaaaaah it works
17:45:52 <elliott> it works!!!
17:45:58 <elliott> joinAM :: forall f g x. (Adjoint f g, Cod g ~ (->)) => AM f g (AM f g x) -> AM f g x
17:46:02 <elliott> joinAM m = AM $ \f g o -> case eps f g of
17:46:04 <elliott> Nat _ _ trans ->
17:46:07 <elliott> let o' :: Dom g (f % x) (f % x)
17:46:09 <elliott> o' = case o of Ehh o' -> unsafeCoerce o' -- work-around stupid type family behaviour
17:46:12 <elliott> in (g % trans o') $ runAM (fmap (\(AM m') -> m' f g o) m) f g o
17:46:45 <Sgeo> I have no idea how Gregor's entry works
17:47:00 <Taneb> elliott: that looks uglier than my average code
17:47:07 <Sgeo> Is it Trusting Trust based? If not, I don't see how it matches...
17:47:27 <Sgeo> Or... I'm confused
17:47:45 <Sgeo> !txt2bf +
17:47:51 <elliott> the list monad from adjoint functors in Haskell: http://sprunge.us/Zcig
17:47:55 <Sgeo> What's the text2bf thing here?
17:47:58 <Sgeo> ^help
17:47:58 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
17:47:59 <elliott> (+ an awful lot of support code)
17:48:05 <Sgeo> !help
17:48:05 <EgoBot> ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
17:48:09 <elliott> oops, I omitted Mon
17:48:10 <Sgeo> !bf_txtgen +
17:48:14 <EgoBot> ​33 +++++++[>++++++>+>><<<<-]>+.>+++. [37]
17:48:28 <Sgeo> Uh, that has two dots in it
17:48:53 <elliott> redux: http://sprunge.us/fGjC
17:48:59 <Sgeo> Also I don't want to output
17:49:14 <Sgeo> Hmm, instead of initial idea, I could
17:49:20 <elliott> all you philistines
17:49:22 <elliott> ais523: appreciate please
17:49:25 <Sgeo> Wait, no, I can't
17:49:31 <Taneb> elliott: that's an... unusual Functor
17:49:34 <elliott> even though I didn't write most of that and also that's not the hard part
17:49:51 <elliott> Taneb:
17:49:56 <elliott> class (Category (Dom f), Category (Cod f)) => Functor f where
17:49:59 <elliott> type Dom f
17:50:01 <elliott> type Cod f
17:50:03 <elliott> type f % x
17:50:06 <elliott> (%) :: f -> Dom f x y -> Cod f (f % x) (f % y)
17:50:07 <ais523> elliott: err, I haven't looked at it yet, I'm busy
17:50:12 <Taneb> Okay
17:50:21 <elliott> Taneb: the problem is that the functors you need aren't endofunctors (Hask -> Hask) like the standard Functor gives you
17:50:32 <elliott> they are (Hask -> Mon) and (Mon -> Hask)
17:50:41 <elliott> the Category is custom too
17:50:51 <elliott> class Category c where
17:51:01 <elliott> dom :: c x y -> c x x
17:51:03 <elliott> cod :: c x y -> c y y
17:51:05 <elliott> (.) :: c y z -> c x y -> c x z
17:51:12 -!- sebbu has quit (Ping timeout: 264 seconds).
17:51:37 <Sgeo> Ok, so, my idea is basically Brainfuck with an added command ;
17:51:43 <FreeFull> What is Mon? Monad?
17:51:47 <Sgeo> The first invocation of ; marks the memory position
17:51:55 <elliott> FreeFull: Mon-oid
17:51:55 <Taneb> (%) :: FreeMon -> (x -> y) -> Mon [x] [y]
17:52:13 <elliott> it is the category of monoids
17:52:25 <Sgeo> The second takes all the data between the first and second memory position, and outputs the target code to compile what's in the thing
17:52:46 <Sgeo> Or maybe ; just means output the source for current memory position character
17:53:05 <Taneb> Also! Completely irrelevant thing I was thinking of today
17:53:20 <elliott> here's how you get the state monad: http://sprunge.us/bIbO
17:53:24 <Sgeo> [,;] is a compiler for this language
17:53:26 <Taneb> A function such that its third derivative is equal to itself
17:53:28 <Phantom__Hoover> Sgeo, mm
17:53:31 <Phantom__Hoover> don't like it
17:53:49 <Phantom__Hoover> essentially because you still have to have the original compiler 'on hand' for it to work
17:54:00 <FreeFull> Taneb: I can think of one where the fourth is
17:54:05 <FreeFull> But not the third
17:54:09 <elliott> Phantom__Hoover: comeo n appreciate
17:54:14 <Taneb> FreeFull: I can do first, second and fourth easily
17:54:21 <Taneb> I think I can figure out third
17:54:35 <Sgeo> Phantom__Hoover, not sure of that
17:54:49 <FreeFull> First is e^x, fourth is sin x or cos x
17:55:05 <Phantom__Hoover> Sgeo, i think if you can, like, retrieve the source of a suitable set of primitives?
17:55:10 <elliott> Phantom__Hoover: come on appreciate
17:55:16 <Phantom__Hoover> elliott, appreciate what
17:55:32 <elliott> Phantom__Hoover: the code!!!
17:55:43 <FreeFull> Second would be e^(-x) I think
17:55:47 <Sgeo> Phantom__Hoover, I don't know how to make a good "retrieval" operation in brainfuck
17:55:50 <Sgeo> Outputting's easier
17:56:06 <Sgeo> But anyway the C code that ; emits would have to be a quine, I think
17:56:17 <Phantom__Hoover> Taneb, e^((-1)^1/3)x
17:56:22 <Phantom__Hoover> uhhh
17:56:26 <Phantom__Hoover> that should be 1
17:56:28 <Phantom__Hoover> not -1
17:56:30 <Sgeo> I'm assuming that we're targetting C
17:56:33 <Sgeo> Because that's easy
17:56:41 <Sgeo> Although targetting x86 would be better obviously
17:57:27 <FreeFull> Phantom__Hoover: The cube root of 1 is 1 though
17:57:53 <Sgeo> But users of ; should explicitly NOT rely on the result except that that's the appropriate code to compile into the program
17:58:01 <Phantom__Hoover> FreeFull, the /real/ cube root of 1 is 1
17:58:08 <elliott> oh well if they shouldn't then of course nobody will
17:58:26 -!- sebbu has joined.
17:58:27 -!- sebbu has quit (Changing host).
17:58:27 -!- sebbu has joined.
17:58:52 <FreeFull> Phantom__Hoover: Oh wait, you're right
17:58:58 <FreeFull> But you didn't specify which cube root
17:59:23 <Taneb> Phantom__Hoover: I'm making it nicer, hang on
17:59:49 <ais523> yeah, you want one of the imaginary cube roots of 1
18:00:07 <Phantom__Hoover> i'm sure you can find a general form with differential equations but my opinions on differential equations can't really be coherently put into words
18:00:39 <Sgeo> Although maybe Brainfuck is not the best host language for this
18:00:45 <Taneb> Do they compare with your opinion on people who write brainfuck derivatives, Phantom__Hoover?
18:00:52 <Sgeo> Phantom__Hoover, do you think I should keep trying to make BF fit as a language for this thing, or try another?
18:01:03 <elliott> "ph should i make a bf derivative"
18:01:58 -!- ais523 has quit.
18:02:40 <Phantom__Hoover> Sgeo, have you considered stuff like sbcl
18:02:50 <Phantom__Hoover> i feel like it's relevant but i can't be bothered to work out how
18:02:58 <FreeFull> e^((-e^((i*pi)/3))*x) ?
18:03:49 <Taneb> e^0.5x * cos (x * sqrt 3 / 2)
18:03:49 <Taneb> I think
18:04:10 <Taneb> I'm wrong but don't know how
18:04:15 <Phantom__Hoover> FreeFull, the reason i wrote it the way i did was because i couldn't be bothered working out where all the (s and ^s went
18:04:16 <Taneb> Which means it's dinner time
18:04:18 <Phantom__Hoover> thank you
18:04:39 -!- augur has joined.
18:05:30 <FreeFull> What's the differencial period of e^-x + sin x ?
18:05:35 <Sgeo> Phantom__Hoover, well, I doubt that actually approaching things the way I'm trying to approach them is at all a good idea for maintainability or portability
18:05:57 <Phantom__Hoover> FreeFull, 4
18:05:58 <Phantom__Hoover> obv.
18:06:08 <FreeFull> Oh yeah, right
18:06:11 <Phantom__Hoover> Sgeo, i mean the overall compilation model
18:08:19 * Sgeo changes the language a bit
18:08:29 <Sgeo> ; on 0 outputs a prelude if needed
18:08:30 <Sgeo> ;+[,;]
18:08:54 <Sgeo> Wait, that's broken
18:10:28 -!- dessos has joined.
18:12:56 <Sgeo> "The main point of divergence at the time was a clean bootstrapping procedure: CMUCL requires an already compiled executable binary of itself in order to compile the CMUCL source code, whereas SBCL supported bootstrapping from - theoretically - any ANSI-compliant Common Lisp implementation."
18:14:39 <Sgeo> An interesting excersize is to write, in this language, a compiler for a different language, with similar semantics except + and - flipped around
18:15:09 <Sgeo> Beyond flipping + and - before sending it to ;, ; itself needs to be guarded such that it sees the flipped - and +
18:16:12 <Sgeo> How many machine code quines are there?
18:17:46 <Phantom__Hoover> 'machine code quine' is a bit of a vague concept
18:18:09 <coppro> Phantom__Hoover: why?
18:18:22 <Sgeo> Phantom__Hoover, yeah, I am getting visions of image based Lisps
18:18:23 <Phantom__Hoover> do you have to output the executable file? or the actual data in memory?
18:18:39 <Sgeo> For these purposes presumably the executable file
18:19:54 -!- SirCmpwn has quit (Excess Flood).
18:20:34 <Sgeo> CMUCL before SBCL split sounds similar to what I want, really
18:20:42 <Sgeo> Does what I want count as a metacircular compiler?
18:22:42 <kmc> you should call it MetaMuCL
18:23:16 -!- NihilistDandy has joined.
18:24:55 -!- SirCmpwn has joined.
18:25:01 <Sgeo> I don't get it, except being similar in name to CMUCL
18:26:06 <NihilistDandy> Anyone using Mozart on OS X? I'm trying to get it to use Cocoa Emacs over Aquamacs and google is failing me, so far.
18:28:30 <Sgeo> Ok, so ; on one should be a postlude
18:28:37 <Sgeo> So, the compiler looks like
18:28:49 <Sgeo> ;,[;,]+;
18:30:49 <nortti> what language is that?
18:31:21 <Taneb> Ae^x + e^(-x/2)(Bcos((x*sqrt 3)/2) + Csin((x*sqrt 3)/2)
18:32:03 <Sgeo> nortti, language with no name yet
18:32:06 <Taneb> Any function of that form is its own third derivative
18:33:02 <Sgeo> nortti, but, tl;dr: compiler for the language written in the language does not contain code in target language
18:33:31 <Taneb> For intsance, e^(-x/2) * cos (sqrt 3 * x / 2)
18:33:51 <Taneb> (where A = C = 0; B = 1)
18:33:57 <Taneb> Is its own third derivative
18:34:07 <Sgeo> The actual code to be emitted must be Trusting Trust'ed into the compiler
18:36:49 <NihilistDandy> Oh, neat, I just had a lie significantly with symlinks. I hope nothing breaks.
18:36:55 <Sgeo> lie?
18:37:37 <NihilistDandy> Had to call Emacs Aquamacs and the Emacs app bundle Aquamacs.app
18:37:52 <NihilistDandy> Oz doesn't seem to care so far.
18:38:58 -!- NihilistDandy has quit (Quit: Textual IRC Client: www.textualapp.com).
18:39:25 <Sgeo> Hmm, I think I need to think whether what I want is actually possible in the language I described
18:42:00 <Sgeo> I should be able to, in a few steps with the language, write a compiler for a language that's identical except - and + flipped
18:42:13 <Sgeo> ;,[;,]+; should also serve as a compiler for that language, written in that language, too
18:44:05 <Sgeo> Wait, no it shouldn
18:44:07 <Sgeo> shouldn't
18:44:10 <Sgeo> It would be ;,[;,]-;
18:45:56 <nortti> I'd like to know what those commands do
18:47:02 <Sgeo> It's Brainfuck with an additional operation ;
18:47:22 <Phantom__Hoover> gj Sgeo
18:47:28 <nortti> what does ; do?
18:47:47 <Sgeo> Say you have the Unicode codepoint for + in memory
18:48:02 <Sgeo> Then ; at that position will output code to do + in some language
18:48:12 <Sgeo> Let's say the target is machine code. ; then sort of compiles the +
18:49:02 <Sgeo> ; on 0 emits a prelude if necessary. ; on 1 emits a postlude if necessary
18:50:01 <Phantom__Hoover> http://blog.wolfram.com/2013/02/11/announcement-our-first-cbm-country/
18:50:03 <Phantom__Hoover> wolfram
18:50:06 <Phantom__Hoover> you motherfucker
18:50:29 <Sgeo> nortti, does this make sense?
18:50:50 <Sgeo> This means that the code that knows how to turn + into machine code is not in the compiler
18:51:00 <nortti> yeah
18:51:26 <Taneb> Phantom__Hoover: that bastard, choosing Estonia
18:54:18 -!- jix has quit (Quit: leaving).
18:54:39 -!- jix has joined.
19:03:03 <Sgeo> Ok, I see how to make the + - flip
19:03:07 <Sgeo> But it's... very...
19:03:12 <Sgeo> Would result in verbose target code
19:03:19 <Sgeo> Permanently from that point on
19:03:29 <Sgeo> But I guess that that's not necessarily a terrible thing?
19:05:00 <Sgeo> Python is probably an unusually bad language to target
19:08:25 <Sgeo> You know what would be a good language to target? Some implementation of Common Lisp
19:08:46 <Sgeo> Maybe
19:11:29 <Sgeo> What should I call this language?
19:11:31 <Sgeo> Trustfuck?
19:12:00 <elliott> how about base it on underload instead
19:12:27 <Sgeo> As in instead of Brainfuck, or as a target language?
19:12:41 * Sgeo looks at Underload
19:12:58 <Sgeo> Oh right that one
19:12:58 <Sgeo> Hmm
19:13:38 <Sgeo> So, a command that takes the top element of the stack and puts on the stack the target code?
19:14:47 <Sgeo> Do we still want to ... wait
19:15:01 <Sgeo> Is Underload even compilable?
19:15:07 <Sgeo> Without including an Underload interpreter?
19:15:21 * Sgeo glares at elliott
19:15:22 <boily> in times of doubt, uncertainty and generic undecisiveness...
19:15:24 <boily> ~yi
19:15:25 <cuttlefish> Your divination: "Great Exceeding" to "Small Accumulating"
19:15:51 <elliott> Sgeo: yes.
19:15:55 <elliott> Sgeo: I wrote an Underload compiler ages back
19:16:00 <elliott> it is easy
19:16:38 <Sgeo> I don't see an input mechanism :/
19:17:24 <elliott> I don't really see why you need input for this to work
19:17:28 <Phantom__Hoover> ~yi
19:17:28 <cuttlefish> Your divination: "Small Accumulating" to "Small Accumulating"
19:17:37 <Phantom__Hoover> is that bad
19:17:47 <boily> let me check...
19:18:25 <boily> you'll gain power by combining small things.
19:18:32 <kmc> smell accumulating
19:18:33 <kmc> ~yi
19:18:33 <cuttlefish> Your divination: "Diminishing" to "Centre Confirming"
19:18:39 <Sgeo> elliott, technically I don't, but prepending the program to compile to the compiler seems like it would be an annoying way to do things
19:18:56 <Sgeo> Wait, hmm
19:19:04 * Sgeo is slightly confused
19:19:31 <Sgeo> Yeah, I'm sorry, I want input
19:19:48 <nortti> lazy k?
19:20:38 <kmc> Phantom__Hoover: looks cool
19:21:49 <Phantom__Hoover> ~source
19:21:50 <cuttlefish> --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi
19:21:52 <Phantom__Hoover> boring
19:21:56 <Phantom__Hoover> ~duck
19:21:56 <cuttlefish> --- ~duck query
19:21:56 <cuttlefish> --- Query information from Duck Duck Go
19:22:25 <nortti> whose bot is cuttlefish?
19:22:31 <nortti> ~fortune
19:22:31 <cuttlefish> Accent on helpful side of your nature. Drain the moat.
19:22:33 <boily> nortti: mine.
19:22:51 <Sgeo> Is LLVM difficult to learn?
19:23:16 <kmc> it's 5 difficult
19:24:15 -!- monqy has joined.
19:24:33 * Sgeo wonders if an LLVM quine would be difficult
19:24:50 <Sgeo> LLVM bytecode still has to be compiled though I think? So why bother?
19:25:00 <olsner> you can interpret them too
19:25:48 <Sgeo> Either way, they're not native
19:26:25 <kmc> "native" is arbitrary
19:26:49 <nortti> Sgeo: target scab
19:27:21 -!- TwilightSpockle has changed nick to Gregor.
19:27:29 * kmc runs Sgeo's "native" code in qemu on a Transmeta processor. checkmate.
19:27:48 -!- zzo38 has joined.
19:28:08 <boily> transmeta?
19:28:16 <boily> ~duck transmeta
19:28:16 <cuttlefish> Transmeta Corporation was a US-based corporation that licensed low power semiconductor intellectual property.
19:28:27 <Taneb> ~duck FOGL
19:28:27 <cuttlefish> Falkland Oil and Gas Ltd, abbreviated to FOGL, is an energy company registered in the Falkland Islands and headquartered in London, the United Kingdom.
19:28:28 <kmc> "The actual Transmeta processors are in-order very long instruction word (VLIW) cores. To execute x86 code, a pure software-based instruction translator dynamically compiles or emulates x86 code sequences, using execution-hotspot guided heuristics."
19:28:59 <kmc> it didn't do that well, but cool idea
19:29:29 <boily> I think I recall remembering something like that we saw once in an obscure elective I had back in university.
19:30:53 <Sgeo> #jesus is hilarious
19:30:54 <kmc> an "x86" CPU that got a software update to add NX bit and SSE3 support
19:31:53 <Sgeo> Two people got into a people loop
19:32:49 -!- epicmonkey has quit (Ping timeout: 246 seconds).
19:33:02 <boily> there's an #jesus on freenode?
19:33:23 <Sgeo> yes
19:33:43 <boily> I fail to relate this channel's possible subject with any FLOSS project.
19:33:45 <olsner> a people loop?
19:33:54 <Sgeo> olsner, two people repeating the same thing
19:34:00 <kmc> a people loop?
19:34:08 <zzo38> boily: Look at the topic (you can look at it without joining)
19:34:13 <Sgeo> One going "shut your foul mouth up now." and the other going "wash your own mouth first"
19:34:21 <Sgeo> kmc, as opposed to a bot loop
19:34:23 <kmc> are they arguing about the pope
19:34:39 <Phantom__Hoover> boily, they have a link in the topic to the source for their channel bot
19:34:41 <Sgeo> I don't think so
19:34:49 <Phantom__Hoover> so maybe they're justifying it with that
19:34:57 <boily> oh well. here I join...
19:35:10 <Sgeo> It's been around since 2003
19:35:24 <Sgeo> So same way #esoteric justifies the single pound, I guess
19:35:44 <nortti> http://www.plutorocks.com/ vote persephone
19:35:49 <boily> now, I'm perturbed. shouldn't have joined.
19:36:17 <Sgeo> boily, you were in there and saw one line
19:36:25 <Sgeo> What happened before and afterwards is far more perturbing
19:37:04 * boily puts his hands on his ears and wildly sings ♪ LA LA LA LA LA LA LA ♪
19:38:46 <Phantom__Hoover> nortti, isn't persephone the greek name
19:38:54 <nortti> yes
19:39:16 <nortti> Phantom__Hoover: why do you ask?
19:39:34 <Phantom__Hoover> traditionally they use the roman ones
19:39:39 <nortti> ah
19:39:46 <Phantom__Hoover> in which case it should be... kore?
19:40:10 <Phantom__Hoover> fun fact: persephone was actually hades' niece
19:40:16 <boily> I voted persephone, but then eurydice was fine too. in the end, I checked both.
19:40:36 <Arc_Koen> Phantom__Hoover: how can kore be the roman name
19:40:42 <Phantom__Hoover> it's not
19:40:42 <Arc_Koen> kore means young girl in greek
19:41:02 <Phantom__Hoover> but i was working off the part of the wp article visible on google
19:41:33 <Arc_Koen> well I apologize, I haven't read the beginning of this conversation
19:41:48 <Arc_Koen> I just needed to show off and inform everyone here that I knew ancient greek
19:42:25 <boily> wikipedia says that the roman's persephone is proserpina.
19:43:23 -!- Taneb has quit (Ping timeout: 245 seconds).
19:43:25 <Sgeo> Maybe I should target Racket... wait, no
19:43:34 <Sgeo> I still think targetting CL is the best idea... somehow
19:43:49 <Sgeo> Or Haskell
19:43:55 <Sgeo> But might be easier to write the quine in CL?
19:44:51 <nortti> scheme?
19:49:04 <Sgeo> Hmm, what Schemes compile nicely?
19:52:26 <nortti> well there is stalin which seems like a pretty nice compiler
19:52:46 -!- WeThePeople has joined.
19:53:56 <Sgeo> That's R4RS, right?
19:54:19 <kmc> you should target Tcl via Ada and Clojure
19:54:21 -!- sirdancealot has quit (Ping timeout: 276 seconds).
19:55:23 <Sgeo> o.O <pjb> Sgeo: have a look at the sources of SBCL. Eg.: (defun car (x) (car x)) <--- !!!
19:55:52 <nortti> Sgeo: yeah. r4rs
19:56:03 <monqy> sgeo have you considered writing an interpreter for proof of concept before doing silly compiler things
19:56:31 <Sgeo> Not... entirely sure what an interpreter for this language would look like
19:57:28 <monqy> whats up with this language
19:58:59 -!- SirCmpwn has quit (Ping timeout: 252 seconds).
20:01:00 -!- DHeadshot has joined.
20:05:40 -!- SirCmpwn has joined.
20:06:34 -!- sirdancealot has joined.
20:11:27 -!- SirCmpwn has quit (Ping timeout: 260 seconds).
20:13:58 <Sgeo> I may as well make the compiler just glue an interpreter to some source-like thing
20:14:50 -!- DHeadshot has quit (Ping timeout: 240 seconds).
20:17:15 <Sgeo> Gah, need to remember esolangs password
20:17:49 <elliott> have you considered using our handy password reset feature
20:18:05 <Sgeo> There is no e-mail address recorded for user "Sgeo".
20:18:21 <elliott> maybe you should have recorded an email...........
20:18:25 <elliott> do you want me to reset it
20:18:49 <Sgeo> Sure, thanks
20:22:04 <Phantom__Hoover> monqy, at some point someone said 'metacircular compiler' and Sgeo rolled with it.
20:23:43 <monqy> i thought it was sgeo not wanting to learn x86 to implement his language so he overcomplicates it into a horrible thought experiment and nobody knoiws what they're even talking about
20:24:04 <Sgeo> Phantom__Hoover, I had the idea before anyone said "metacircular compiler"
20:24:16 <Sgeo> I think someone decided that my idea was a metacircular compiler
20:24:28 <Phantom__Hoover> oh was this your ridiculous language idea
20:24:45 <Phantom__Hoover> sorry i was misled by the fact that this is only mildly ridiculous
20:25:35 <Sgeo> monqy, the language idea is the same regardless of whether it targets x86 or not
20:25:45 <Sgeo> Targetting x86 would be cooler though
20:26:18 <Sgeo> There is still an implication I need to think through
20:26:22 <Sgeo> Having some trouble with it
20:27:01 <nortti> target stand-alone x86
20:27:14 <nortti> make your programs bootable!
20:27:37 <zzo38> I don't think you can make a full program target stand-alone x86, but you can target PC.
20:28:29 <Sgeo> Basically, I think it's currently a bit difficult to redefine ;
20:28:53 <nortti> compatible with original pc
20:29:04 <nortti> bios must have rom-basic
20:29:30 <kmc> zzo38 makes an important point that is often forgotten
20:29:41 <nortti> yeah
20:29:43 <kmc> there are significant non-PC x86 systems
20:30:45 <kmc> hell my college's intro microcontrollers class used a custom board (hand-soldered by students) with an 80186
20:30:46 <zzo38> Even disregarding those, though, the x86 is only the CPU and is not the keyboard, monitor, RAM, BIOS, disk, and everything else.
20:30:57 <kmc> which was pretty terrible
20:31:27 <kmc> i think they got a bulk discount on a 50 gallon drum full of 80186es back in the 80s and are still using them up
20:31:37 <nortti> 186?
20:31:41 -!- WeThePeople has quit (Quit: Leaving).
20:31:50 <kmc> yep
20:31:56 <Sgeo> What esolangs have I/O and are easy to write quines in?
20:32:03 <Sgeo> Might make more sense to use that as a base
20:32:08 <kmc> it was a halfassed attempt to make a microcontroller around the x86 architecture
20:32:19 <kmc> but it still requires way more external chips than, say, a PIC or AVR
20:32:28 <Sgeo> Trustfuck compiling to brainfuck. Would be a bit... pointless, but hmm
20:32:33 <kmc> probably due to being old
20:33:47 <kmc> here you are: http://wolverine.caltech.edu/eecs51/kits/index.htm http://wolverine.caltech.edu/eecs51/kits/kit51ins.htm
20:34:35 <kmc> in this class i would find some unusual term used, google it, and the only hit would be this course website
20:34:41 <kmc> nobody else cares about the 80186
20:36:25 -!- SirCmpwn has joined.
20:38:02 -!- Nisstyre has joined.
20:38:22 <Sgeo> To redefine ; is a quine needed?
20:38:59 -!- WeThePeople has joined.
20:39:40 <monqy> ; takes the value at the current location on the tape. If it is 0, it emits to output a "prelude". If it is 1, it emits to output an "epilogue". If it is any other value, it emits the code, in the target of the compiler, to perform the functionality of the
20:39:45 <monqy> ANSWER: maybe?
20:39:57 <olsner> !rot13 byfare
20:39:59 <EgoBot> olsner
20:40:28 <olsner> ah, twitter emails are sent from your email address rot13:d
20:43:26 * Sgeo goes to read an ActorScript tutorial
20:43:43 <monqy> ok
20:43:55 <Sgeo> oh god I thought it was going to be some cool thing of pure beauty but it has so many buzzwords
20:44:01 <Sgeo> Tutorial for ActorScript
20:44:01 <Sgeo> extension of C#
20:44:01 <Sgeo>
20:44:01 <Sgeo> , Java
20:44:01 <Sgeo>
20:44:01 <Sgeo> , Objective C
20:44:03 <Sgeo>
20:44:07 <Sgeo> oops
20:44:46 -!- impomatic has joined.
20:44:55 <monqy> what's this
20:45:08 <monqy> and why is it cool/pure beauty/buzzwords
20:45:44 <olsner> Sgeo: there may or may not be an attempt at humor hidden there
20:46:01 <Sgeo> olsner, oh
20:46:44 <monqy> ActorScript(TM): Industrial strength integration of local and nonlocal concurrency for Client-cloud Computing
20:47:26 <Sgeo> It's all message passing based, apparently including the definition of the language
20:47:32 -!- SirCmpwn has quit (Ping timeout: 248 seconds).
20:47:58 -!- zzo38 has quit (Remote host closed the connection).
20:48:35 <Sgeo> Ok, this paper is almost certainly a joke
20:49:00 <Sgeo> "Unlike almost all previous programming languages,
20:49:00 <Sgeo> because ActorScript uses bold font for reserved names,
20:49:00 <Sgeo> new reserved words can be introduced into the
20:49:00 <Sgeo> language without breaking existing programs."
20:49:25 <nortti> :DDDD
20:49:29 <kmc> doesn't algol do that
20:49:40 <boily> not sure if poe should be invoked...
20:49:44 <kmc> in some original form
20:49:54 <nortti> algol 58?
20:50:06 <olsner> are you sure that's not something they just did in books to make the programs look pretty?
20:50:17 <kmc> i heard that it was part of the language syntax, however I may have been misinformed
20:50:31 <kmc> in those days I guess "bold" meant "make the typewriter hit it twice"
20:50:46 <kmc> "punch an extra large hole in the card"
20:50:53 <olsner> hmm, so if it says "while" in bold you're supposed to type wwhhiillee?
20:51:24 <olsner> or maybe that plus backspaces
20:51:25 -!- asiekierka has quit (Read error: Connection reset by peer).
20:51:40 <Phantom__Hoover> no, you type while
20:51:50 <nortti> huh
20:51:52 <Phantom__Hoover> (backspaces omitted)
21:11:54 <Sgeo> Trustfuck is still a work in progress
21:14:24 <monqy> i'll take your word for it
21:18:04 -!- WeThePeople has quit (Ping timeout: 252 seconds).
21:19:02 <Sgeo> heh
21:31:14 <Sgeo> Hmm
21:31:59 <Sgeo> I forgot about :
21:33:47 -!- oerjan has joined.
21:34:25 <Sgeo> How do I avoid making my metacircular compiler look like a cleverly hidden metacircular interpreter?
21:35:18 -!- hagb4rd has joined.
21:35:31 * oerjan looks at the logs and starts inflating like a balloon
21:35:54 * boily looks at the logs and starts inflating like a zimbabwean dollar
21:36:02 <monqy> hi
21:36:03 <Sgeo> Quiler still confuses me. And I inspired it
21:36:04 <Sgeo> :/
21:36:04 <oerjan> OKAY
21:36:10 -!- trout has changed nick to variable.
21:36:11 <boily> ~metar OKAY
21:36:11 <cuttlefish> --- Station not found!
21:36:16 <boily> meh.
21:38:28 -!- Taneb has joined.
21:39:04 <Sgeo> Example might be easier
21:39:15 <Taneb> Perhaps, but perhaps not!
21:39:16 <Sgeo> Let's say that memory looks like this
21:39:24 <Sgeo> '+' | 1 | '-'
21:39:40 <oerjan> <Sgeo> The Pope's resigning <-- wat, seriously?
21:39:58 <Sgeo> That is, the current cell is the ASCII value for +, the cell to the right of that is 1, the cell to the right of that is the ASCII value for -
21:40:13 <boily> ~metar OKAS
21:40:13 <cuttlefish> --- Station not found!
21:40:18 <boily> ~metar OKAJ
21:40:19 <cuttlefish> --- Station not found!
21:40:19 <Sgeo> ; will take that, and change what will happen when : is executed with '+'
21:40:25 <boily> ~metar OKBK
21:40:25 <cuttlefish> OKBK 112100Z 17006KT 8000 NSC 18/10 Q1008 NOSIG
21:40:25 <Phantom__Hoover> Sgeo are you still prototyping this in brainfuck
21:40:42 <Sgeo> Phantom__Hoover, until such time that a better language for this purpose is shown to me
21:40:50 <Sgeo> But I agree there probably is a better language
21:40:56 <Phantom__Hoover> idk, false? underload/
21:41:11 <oerjan> fueue
21:41:12 <Sgeo> Underload has no input facility, which kind of sucks for this purpose
21:41:16 * oerjan hides back under rock
21:41:28 <Phantom__Hoover> false, then
21:41:56 -!- SirCmpwn has joined.
21:42:01 <Phantom__Hoover> maybe even something functional
21:43:07 <Taneb> oerjan: I'm amazed that a brainfuck intepreter in Fueue could be that short
21:43:10 <Taneb> Seriously, well done
21:43:18 <monqy> "prototype it in ada" - someone???
21:43:19 <oerjan> THANK YOU.
21:43:23 <monqy> "prototype it in dylan" - someone???, shortly after
21:43:30 * oerjan basks in his newfound divinity
21:43:47 -!- boily has quit (Quit: mon aéroglisseur est plein de lasagne française.).
21:43:51 -!- cuttlefish has quit (Remote host closed the connection).
21:43:58 <Sgeo> monqy, I need two languages for this
21:44:10 <Sgeo> 1) A language to base it on. That is, a simple language whose semantics I extend
21:44:18 <oerjan> it could have been even shorter if i had left out all the error checking (for mismatched [])
21:44:18 <monqy> "ada and dylan"
21:44:26 <Sgeo> And 2) A language to serve as the target of an initial implementation
21:45:08 -!- SirCmpwn has quit (Excess Flood).
21:46:04 <Phantom__Hoover> hmm
21:46:29 <Sgeo> I think Brainfuck might still be fine as a basis
21:46:37 <Taneb> oerjan: fondly regard creation?
21:46:53 <oerjan> Taneb: wat
21:47:02 <Sgeo> Especially with : and ;
21:47:09 <Taneb> oerjan: it's what gods do
21:47:25 <oerjan> ic. well my own creation, probably.
21:47:35 <oerjan> the rest is a bit mixed.
21:47:38 <Sgeo> Although I don't know how implementable that is
21:48:14 <Phantom__Hoover> would it be fair to say you're looking for a language in which you can write a 'general compiler'
21:48:17 <Taneb> http://www.mspaintadventures.com/?s=4&p=001326
21:48:26 <Taneb> shachaf: that isn't homestuck, don't worry
21:48:46 <Sgeo> Phantom__Hoover, for which part?
21:48:54 <Phantom__Hoover> i.e. if you have a compiler Q : A -> X, you can have a program P : A such that Q P : A -> X forall X?
21:49:01 <Phantom__Hoover> and it's the same P?
21:49:45 <Sgeo> erm
21:49:52 <Sgeo> Sorry, I'm feeling a bit derpy right now
21:50:28 <Phantom__Hoover> where A is the metacircular language, X is some target, P is the universal compiler, and Q P is the program in X that Q compiles P to, and this notation was a terrible idea
21:51:29 <Sgeo> Hmm. Yes, I think
21:51:57 <Sgeo> Although my current ; and : semantics rule out some Xs, which is sad
21:52:37 <Sgeo> But :,[:,]+: is supposed to be a Trustfuck compiler, written in Trustfuck, for any target language
21:52:54 <Sgeo> *that targets the language in which the compiler itself was... erm
21:53:09 <Phantom__Hoover> the thing is, i'm fairly sure to implement this you basically have to include a copy of Q in Q P
21:53:55 <Sgeo> That's done via quine
21:54:13 <oerjan> `quine is quite easily done
21:54:16 <Sgeo> : expands to a quine in the target
21:54:16 <HackEgo> ​`quine is quite easily done
21:56:29 <oerjan> `run $x = "$(quine)"; print "%s" "$x" #Is this the right syntax?
21:56:33 <HackEgo> bash: =: command not found \ Warning: unknown mime-type for "%s" -- using "application/octet-stream" \ Warning: unknown mime-type for "" -- using "application/octet-stream" \ Error: no such file "%s" \ Error: no such file ""
21:56:42 <oerjan> hmph
21:57:14 <oerjan> `cat bin/log
21:57:15 <HackEgo> ​#!/bin/sh \ cd /var/irclogs/_esoteric \ if [ "$1" ]; then \ grep -P -i -- "$1" ????-??-??.txt | shuf -n 1 \ else \ file=$(shuf -en 1 ????-??-??.txt) \ echo "$file:$(shuf -n 1 $file)" \ fi
21:57:29 <oerjan> `cat bin/'?'
21:57:30 <HackEgo> cat: bin/'?': No such file or directory
21:57:34 <oerjan> `cat bin/?
21:57:36 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z | sed "s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "$topic" = "ngevd" \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ elif [ -e "$topic" ]; \ then cat "$topic"; \ elif [ -e "$topic1" ]; \ then cat "$topic1"; \ else echo "$1? ¯\(°_o)/¯"; exit 1;
21:58:11 <oerjan> `run x="$(quine)"; print "%s" "$x" #Is this the right syntax?
21:58:15 <HackEgo> Warning: unknown mime-type for "%s" -- using "application/octet-stream" \ Warning: unknown mime-type for "`run x="$(quine)"; print "%s" "$x" #Is this the right syntax?" -- using "application/octet-stream" \ Error: no such file "%s" \ Error: no such file "`run x="$(quine)"; print "%s" "$x" #Is this the right syntax?"
21:58:19 <oerjan> oops
21:58:23 <oerjan> `run x="$(quine)"; printf "%s" "$x" #Is this the right syntax?
21:58:27 <HackEgo> ​`run x="$(quine)"; printf "%s" "$x" #Is this the right syntax?
21:58:38 <oerjan> there you go.
22:03:45 <Sgeo> oerjan, have you been reading about my language?
22:04:00 <oerjan> i'm not very far in the logs
22:04:25 <oerjan> although you have started mentioning it
22:06:39 <oerjan> <Phantom_Hoover> Don't think you have to use duplication for it, which is the trickiest thing in eodermdrome. <-- hm ideally you'd want [] to actually have a real cyclic path representation
22:06:46 <oerjan> *[] loops
22:08:36 <oerjan> i think the main difficulties with doing this in eodermdrome are (1) the limited number of letters forcing you to look at only small parts of the graph at a time - my BCT interpreter almost reached the limit although ais523 had a hunch it could be made to use less. (2) no implementation to actually test stuff in, which admittedly didn't stop me from doing BCT.
22:09:08 <Phantom__Hoover> oerjan
22:09:15 <Phantom__Hoover> there is a simple solution to 1
22:09:16 <oerjan> oh and you'd want complete character tables for I/O, but that was a thing with unlambda too.
22:09:32 <Phantom__Hoover> at no point in the spec does it say you have to stick to ascii
22:09:59 <oerjan> i'm pretty sure that is implied. although i also jested about ... the other day.
22:10:08 <Phantom__Hoover> a string of letters, representing a graph (see below); this is the match subgraph
22:10:12 * oerjan prepares to search the logs for what ... was
22:10:13 <Phantom__Hoover> just says letters
22:10:23 <Phantom__Hoover> no reason that can't include greek or cyrillic
22:10:55 <oerjan> `log <oerjan.*[^o]d.*rmdr.*m.*
22:11:23 <HackEgo> 2013-02-11.txt:22:08:36: <oerjan> i think the main difficulties with doing this in eodermdrome are (1) the limited number of letters forcing you to look at only small parts of the graph at a time - my BCT interpreter almost reached the limit although ais523 had a hunch it could be made to use less. (2) no implementation to actually test stuff in, w
22:11:38 <oerjan> oh hm
22:11:51 -!- Taneb has quit (Quit: Page closed).
22:12:00 <oerjan> `log <oerjan.*[^o]d..?.?rmdr.?.?m
22:12:08 <HackEgo> 2013-02-11.txt:22:10:55: <oerjan> `log <oerjan.*[^o]d.*rmdr.*m.*
22:12:13 <oerjan> fff
22:12:17 <oerjan> `pastlog <oerjan.*[^o]d..?.?rmdr.?.?m
22:12:24 <HackEgo> No output.
22:12:45 <oerjan> `pastlog <oerjan.*[^o]d..?.?.?rmdr..?.?.?m
22:12:52 <HackEgo> No output.
22:13:00 <oerjan> wat.
22:13:22 <oerjan> `pastlog <oerjan.*d.?.?.?[^e]rmdr..?.?.?m
22:13:26 <Phantom__Hoover> there is a not-so-simple solution to 2, as well
22:13:29 <HackEgo> No output.
22:13:43 <oerjan> oh wtf
22:13:57 <oerjan> YOU DON'T SAY
22:15:16 <oerjan> `pastlog <oerjan.*d.?.?.?.?[^e]rmdr..?.?.?.?m
22:15:22 <HackEgo> No output.
22:15:29 <oerjan> this is awkward
22:16:21 <oerjan> `pastelogs <oerjan.*[^o]d.*rmdr.*m.*
22:16:37 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27897
22:17:12 <oerjan> oh wait
22:17:19 -!- carado has quit (Ping timeout: 246 seconds).
22:17:20 <oerjan> i changed consonants too.
22:18:09 <oerjan> `pastelogs <oerjan.*đ
22:18:22 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32689
22:18:52 <oerjan> 2013-02-06.txt:20:54:15: <oerjan> we shall just have to make the Ëơđëřmđřơmë dialect, which has a large enough alphabet to be practical.
22:19:27 <Phantom__Hoover> sorry, what were we talking about
22:19:49 <oerjan> my suggested name for a Unicode eodermdrome dialect
22:20:26 <Phantom__Hoover> oh
22:20:31 <Phantom__Hoover> how'd we get on to that
22:22:58 <oerjan> because i said eodermdrome had too few letters, and you said it wasn't restricted to ascii
22:24:43 <oerjan> <Sgeo> Maybe not rewriting, but just making it interoperate with the new idiom fully... which still sounds difficult <-- this _does_ sound a bit like what you use monad stacks for in haskell
22:25:04 <oerjan> *monad transformer stacks
22:25:10 <Sgeo> oerjan, you're still on that idea. I've since gone on to discuss something more plausible
22:25:27 <Sgeo> Yet somehow more headachey
22:25:27 <oerjan> LOG READING TAKES TIME
22:25:32 <oerjan> OKAY
22:25:33 <Sgeo> ok
22:52:24 <coppro> I want a language where 'intern' is either a data type
22:52:27 <coppro> or a modifier on a variable
22:55:18 <Sgeo> How goes log-reading?
23:01:08 <oerjan> i'm currently recursing into ais523's comment on splinter, which has led me to hand-execute his converted PDA
23:12:14 <FreeFull> How about eodermdrome with doubleletter and tripleletter constants, using some sort of escaping
23:22:12 <Phantom__Hoover> no
23:22:13 <Phantom__Hoover> unicode
23:22:19 <Phantom__Hoover> much better
23:23:59 <Sgeo> Phantom__Hoover, I'm starting to see what you mean
23:24:20 <Phantom__Hoover> what did i mean
23:24:35 <Sgeo> About needing to include the compiler
23:24:43 <Sgeo> Suppose I want to make a modification
23:25:08 <Sgeo> I'm going to end up needing to write a trustfuck quine in order to emit different code for : that stays consistent, I think
23:25:11 * Sgeo isn't certain though
23:25:29 * oerjan concludes Splinter is indeed a PDA
23:26:30 <Phantom__Hoover> actually you definitely need to include a full compiler
23:27:06 <Sgeo> ?
23:27:13 <Phantom__Hoover> because the target language could have completely ridiculous semantics for concatenation or whatever, so you pretty much need to compile the code given to you holistically
23:27:45 <Sgeo> Phantom__Hoover, with my current spec, the target language is constrained :(
23:28:49 <Phantom__Hoover> well i'm satisfied that there's no way to do it 'properly' now
23:29:14 * oerjan suddenly realizes `addquote sounds funny when read aloud
23:30:02 <Sgeo> Phantom__Hoover, eh? Just because I'm having a failure of imagination??
23:30:09 <Sgeo> s/\?\?/\?/
23:31:15 <Phantom__Hoover> no, because of the thing i just said
23:31:24 <Sgeo> Phantom__Hoover, one of my original thoughts had { and } primitives
23:32:06 <Sgeo> Where you go to one location in memory, then do {, then to another, then }, then those primitives proceed to compile the code represented within those memory locations into target language and output
23:32:12 <Phantom__Hoover> you have to either include a compiler into the compiled program or include details of the target language into the language spec itself
23:32:13 <oerjan> <ais523> (the "it didn't compile in the first place" isn't normally necessary, but it is if you suspect there's a strong AI in there) <-- "wtf is cat compiled with this 9 gigabytes? oh it was a bug in ls, it was fixed when i recompiled it."
23:32:52 <oerjan> "there was a similar bug in du and df"
23:33:14 <Sgeo> Phantom__Hoover, should I go back to those primitives
23:33:16 <FreeFull> Which is faster, multiplying two bignums and then taking the mod n, or taking the mod n of both, multiplying and taking the result mod n?
23:33:38 <kmc> depends how big and how n relates, i expect
23:33:46 <Phantom__Hoover> Sgeo, your best bet is to ignore my advice, because i'm thinking about something significantly different to you
23:33:53 <kmc> for large numbers and small n the latter will probably be faster
23:34:00 <kmc> but the real answer to "which is faster" questions is "benchmark it"
23:34:36 <Sgeo> Phantom__Hoover, I think in a sense I am including a compiler into the compiled program
23:34:51 <Sgeo> ...it's not "in a sense"
23:35:04 <Sgeo> The : primitive (or {} primitives) are a compiler
23:35:50 <Phantom__Hoover> yeah
23:36:04 <Phantom__Hoover> so i have relatively little interest in the actual implementation of the whole thing
23:36:41 <Phantom__Hoover> there are probably other interesting things you can do with the concept! but i suspect most of them will be equivalent to interesting things you can do with metacircular evaluators
23:37:07 * Sgeo isn't as used to metacircular evaluators as he'd like to be
23:37:50 <Phantom__Hoover> the first time i heard the word 'metacircular' was with Gregor's amazing javascript token checking thing
23:42:27 <kmc> "There's no doubt that Apple is at the center of technology's largest revolution ever"
23:42:35 <Sgeo> I think I like the {} idea better
23:44:08 <kmc> who needs agriculture or industrialization when you can have... ipads
23:44:47 <Sgeo> {,[>,]<}
23:45:07 <kmc> what kind of fucked up emoticon is that
23:46:27 <Sgeo> Hmm, the semantics of { and } aren't clear enough in my head
23:48:59 -!- sirdancealot has quit (Ping timeout: 255 seconds).
23:56:59 -!- augur has quit (Remote host closed the connection).
23:58:08 <oerjan> <Sgeo> Also I don't want to output <-- http://esolangs.org/wiki/Brainfuck_constants hth
←2013-02-10 2013-02-11 2013-02-12→ ↑2013 ↑all