←2015-04-01 2015-04-02 2015-04-03→ ↑2015 ↑all
00:07:05 * boily pokes Lymia in the connection
00:08:09 <shachaf> boilymia
00:09:03 <boily> along with boilognese, boilamia.
00:09:41 <oerjan> what about some boilabaisse
00:10:31 <shachaf> alexandrelrod
00:11:06 <boily> what's an elrod?
00:11:58 <shachaf> relrod: You may be more qualified to answer that than I am.
00:13:46 <boily> http://www.globalsino.com/EM/image1/3911.gif ???
00:14:40 <oerjan> ah that must be the machine cern used to find the force
00:17:17 * relrod looks up
00:18:13 <relrod> what did I do :(
00:18:19 <boily> AH!
00:18:33 <boily> somebody named relrod.
00:18:51 * relrod puts bucket over head. Where?!
00:18:53 <shachaf> relrod: Apparently you were instrumental in finding the force?
00:18:56 <boily> relrod: uhm. hello? what are your approximate coördinates and body weigh?
00:20:00 * oerjan checks relrod's lilaxity, just because.
00:20:20 <relrod> boily: 39.111748, -76.775635; -4 lbs.
00:21:00 -!- oren has quit (Quit: Lost terminal).
00:21:02 * oerjan determines it to be zero on account of the redhat cloak.
00:21:42 <relrod> stalker ;)
00:22:04 <shachaf> You never answered the question about elrods.
00:22:42 <relrod> shachaf: what's a shachaf? :P
00:22:52 <shachaf> a seagull hth
00:22:53 <oerjan> relrod: i am not a stalker and i _totally_ didn't find your picture on github.
00:23:12 <relrod> oerjan: onoes
00:23:37 <shachaf> oerjan: did you find my picture on github twh
00:23:44 <oerjan> shachaf can confirm i'm not a stalker hth
00:23:55 <oerjan> shachaf: you've linked your picture many times
00:24:27 <shachaf> i,i http://dl.dropboxusercontent.com/u/13786158/portraits/shachaf.png
00:25:35 <oerjan> as proof that i'm not a stalker, this is totally the first time i check out shachaf's github account. unless i've forgotten.
00:26:10 <shachaf> oerjan: it's called "cloning" in the git nomenclature hth
00:27:55 <oerjan> i think we are confusing denotations again.
00:28:05 <boily> oerjan: strangely, you're not in the Wisdom Conspirators.
00:28:06 <shachaf> relrod: so how 'bout that bug #9858
00:28:27 <oerjan> i don't think i've ever used git directly, anyway.
00:28:45 <oerjan> wait, relrod is related to #9858?
00:29:09 <boily> what's 9858?
00:29:52 <oerjan> shachaf: i am tending to believe that that typeRep confusion you found is harmless, because there is no function to cast without comparing actual kinds or embedding in another type.
00:30:11 <oerjan> which i assume was your and int-e's conclusion too
00:30:13 <shachaf> That's what I'm tending to believe also.
00:30:31 <shachaf> But not to the point where I'd trust an unsandboxed -XSafe GHC.
00:30:51 <oerjan> i think we stopped doing that anyway.
00:30:58 <oerjan> pretty sure int-e did.
00:31:13 -!- Lymia has quit (Remote host closed the connection).
00:31:43 -!- GibVent has changed nick to GeekDude.
00:31:55 <shachaf> Sure.
00:32:22 <oerjan> of course all it would take is one function which _doesn't_ compare kinds, but there seems to be little reason to define one. except perhaps to fake kind equality testing...
00:32:49 <shachaf> There could be some serialization thing.
00:32:56 <shachaf> I don't know.
00:32:56 -!- Lymia has joined.
00:36:23 -!- ais523 has quit (Quit: building NetHack 4 on Windows).
00:36:34 <oerjan> boily: wait what's the Wisdom Conspirators
00:37:04 <shachaf> oerjan: do you really expect an answer, given that you're not among them
00:37:42 <boily> oerjan: I can't remember if you didn't not have a github account. if you don't, could you please point me to it?
00:37:45 <oerjan> boily: http://ghc.haskell.org/trac/ghc/ticket/9858 the bug we found that helped hold up ghc release for a month. and which shachaf just discovered hasn't been entirely fixed
00:37:59 <boily> oooooh. that.
00:38:09 <oerjan> (actually we didn't find it, just probed the consequences)
00:38:17 <shachaf> well, i found it
00:38:21 <shachaf> but someone else found it first
00:38:35 <oerjan> boily: i have no github account, i'm pretty sure i just said i haven't used git
00:39:47 <shachaf> https://ghc.haskell.org/trac/ghc/ticket/7258
00:39:49 <boily> therefore the reason for you perfectly logical prolonged absence from the List.
00:39:54 <shachaf> spj is so jolly
00:40:35 <oerjan> bah i didn't get goldfire's reply on Cc:
00:41:17 <shachaf> I wonder whether there are any other places where this * ~ Constraint thing is exposed?
00:44:46 <HackEgo> [wiki] [[User:SuperJedi224]] http://esolangs.org/w/index.php?diff=42267&oldid=42229 * SuperJedi224 * (+56)
00:45:07 <oerjan> i don't think that's what's happening, just made a comment
00:45:26 <oerjan> it's true but not really relevant to constructing TypeReps
00:45:52 <shachaf> oerjan: It's pretty strange that () :: Constraint's TypeRep is "ghc-prim GHC.Tuple ()"
00:47:27 <oerjan> they totally need to expose those Constraint entities somewhere people can get them even unapplied, like (,)
00:47:37 <shachaf> Yes.
00:47:44 <relrod> shachaf: what about #9858 :( it's not my fault, I swear
00:47:46 * relrod clicks link
00:48:07 -!- variable has joined.
00:48:15 <shachaf> relrod: I didn't think any of these things were your fault, but you seem very defensive for some reason.
00:48:24 <shachaf> Maybe it is your fault?
00:48:48 <relrod> shachaf: you act like I know enough about GHC internals to be able to have an impact here. :P
00:49:01 * relrod really, really should learn more about how GHC actually works :/
00:49:02 -!- Lymee has joined.
00:49:04 <shachaf> I thought you were all about GHC?
00:49:29 <relrod> shachaf: Naw. I do Haskell Infra stuff, but haven't gotten into GHC stuff yet.
00:49:30 <relrod> I want to
00:49:30 -!- Lymia has quit (Ping timeout: 256 seconds).
00:50:07 <shachaf> Well, I don't know how GHC works either.
00:51:08 <relrod> shachaf: Lately I'm on a type theory thing. Trying to work with people in the math department at my school and have them let me do an Individual Study in type theory.
00:51:27 <relrod> Because I think it would be a lot of fun
00:51:40 <relrod> And I'm going to learn it anyway, so why not get some credit for it ;)
00:59:55 -!- mihow has quit (Quit: mihow).
01:01:20 <shachaf> `? relrod
01:01:36 <HackEgo> relrod? ¯\(°​_o)/¯
01:02:34 <shachaf> `learn A relrod is a machine useful for finding the Force.
01:02:44 <HackEgo> Learned 'relrod': A relrod is a machine useful for finding the Force.
01:05:32 -!- ais523 has joined.
01:06:20 -!- mihow has joined.
01:06:40 -!- mihow has quit (Client Quit).
01:16:48 -!- ais523 has quit (Quit: more Windows builds).
01:26:27 -!- Lymee has changed nick to Lymia.
01:30:05 -!- boily has quit (Quit: NAUTICAL CHICKEN).
01:31:23 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:31:37 -!- Phantom_Hoover has joined.
01:37:52 -!- ais523 has joined.
01:40:13 -!- ais523 has quit (Client Quit).
01:40:32 -!- ais523 has joined.
01:48:55 -!- Lymee has joined.
01:49:00 -!- Lymia has quit (Ping timeout: 256 seconds).
01:52:20 -!- variable has changed nick to function.
02:01:23 -!- Decim has quit (Ping timeout: 250 seconds).
02:07:05 <oerjan> shachaf: you've been til'ed http://www.reddit.com/r/haskelltil/comments/313n72/the_numdecimals_extension_lets_you_write_integers/
02:07:37 <shachaf> oerjan: wasn't that dmwit
02:08:04 <oerjan> oh wait was it the binary one you did?
02:08:18 <shachaf> I guess I did implement this.
02:08:22 <shachaf> dmwit was the one who asked for it.
02:08:56 <shachaf> also what's this subreddit thing
02:09:41 <shachaf> i guess if you actually log in following the small ones isn't so painful
02:13:20 <oerjan> it was advertised on haskell recently
02:13:34 <oerjan> it's only my second smallest
02:13:41 <oerjan> (guess which is the smallest one)
02:13:59 <oerjan> also it's the large ones which are painful hth
02:14:30 * oerjan doesn't actually use the front page, which means it would probably be painful if he had more subreddits than fit in the menu
02:14:47 <shachaf> tdnhaa
02:14:54 <oerjan> which part
02:15:00 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:15:43 <oerjan> i don't want to use the front page because then the largest ones that i almost never visit would swamp the small ones which i follow closely. i think.
02:16:22 <shachaf> the part preceding the hth
02:16:42 <shachaf> another thing that isn't helpful is 35s roundtrip latency to 8.8.8.8
02:16:50 <oerjan> OKAY
02:17:10 <shachaf> Anyway, the painful part is having a lot of them, since then I have to click them all.
02:17:19 <shachaf> If everyone puts everything in the main one then there's no problem.
02:17:24 <shachaf> (Except that the main one is getting noisy.)
02:17:32 <shachaf> (has gotten)
02:17:47 <oerjan> you can make subreddit combinations, i hear
02:18:00 <shachaf> That's true. /r/haskell+haskelltil
02:18:28 -!- callforjudgement has joined.
02:18:52 -!- ais523 has quit (Disconnected by services).
02:18:53 -!- callforjudgement has changed nick to ais523.
02:18:57 <oerjan> (the smallest one is /r/esolangs hth)
02:19:23 * copumpkin rubs eyes
02:19:25 <copumpkin> holy shit
02:19:34 <copumpkin> shachaf is tweeting, stop the press
02:19:35 <shachaf> copumpkin: whoa whoa whoa
02:19:38 <shachaf> don't be like that :'(
02:19:43 <oerjan> copumpkin: hm?
02:19:43 <shachaf> i was hoping to keep it quiet
02:19:48 <copumpkin> oh
02:19:50 <copumpkin> I mean
02:19:56 <copumpkin> fahcahs is not tweeting
02:20:01 -!- vodkode_ has quit (Ping timeout: 265 seconds).
02:20:03 <copumpkin> err, I flipped it too much
02:20:09 <copumpkin> anyway, disregard everything
02:20:28 <shachaf> twitter used to email me from n-funpuns=...@postmaster.twitter.com
02:21:50 <shachaf> copumpkin: Do you know how Twitter lists work?
02:22:05 <copumpkin> they forgot about that feature
02:22:05 <shachaf> Such a mess.
02:22:15 <shachaf> I use that feature instead of the "follow" feature.
02:22:17 <copumpkin> they added it years ago and have been progressively de-emphasizing
02:22:20 <shachaf> So my followee list isn't public.
02:22:26 <shachaf> It only sort of works.
02:22:52 <copumpkin> oh interesting
02:23:12 <copumpkin> you actively mark it as not public? or just have 0 and it shows up that way?
02:23:30 <shachaf> It's separate from the following feature.
02:23:44 <shachaf> I made a list and I look at that list instead of the front page.
02:24:03 <copumpkin> ah
02:24:20 <shachaf> But I want to follow conversations including ones where people reply to me, and it doesn't seem to work very well for that. I managed to add myself to the list but it still doesn't do it.
02:24:24 <shachaf> Oh well.
02:42:03 -!- nys has quit (Quit: quit).
02:49:04 <oerjan> ais523: it was inevitable that someone would reinvent feather in haskell https://mail.haskell.org/pipermail/haskell-cafe/2015-April/118905.html
02:49:55 -!- vodkode_ has joined.
02:49:58 <ais523> it is clearly a terrible idea for me to follow this link
02:50:00 * ais523 does so anyway
02:50:23 <oerjan> *MWAHAHAi mean, not at all.
02:50:38 <ais523> "Bearing in mind our model of a space-time continuum of hackage dependences, the solution emerges — enforce immutability, but allow retroactive mutation." oh good, they came to the same conclusion as me without necessarily being able to implement it
02:50:46 <shachaf> `? feather
02:50:47 <HackEgo> feather? ¯\(°​_o)/¯
02:51:24 <oerjan> `? ais523
02:51:25 <HackEgo> Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good.
02:51:38 <ais523> wait, how does shachaf not know what feather is
02:51:48 <ais523> and why isn't it in the wisdomdb, I thought it was
02:51:57 <oerjan> i think he's just checking what current wisdom on feather is
02:52:06 <shachaf> I've seen it mentioned but I don't remember if I ever knew what it is.
02:52:12 <shachaf> Unless it's a thing where the joke is that no one says what it is.
02:52:27 <ais523> http://esolangs.org/wiki/Feather
02:52:34 <ais523> the joke /became/ that but it wasn't the original joke
02:54:03 <ais523> the esolangs page is quite a good description
02:54:10 <ais523> both the idea of the language itself, and why everyone avoids talking about it
02:55:06 <shachaf> Speaking of which, Broken Age Act 2 will come out this month.
02:56:05 <ais523> gah, now I'm on the verge of thinking about Feather again
02:56:09 <ais523> `quote Feather
02:56:10 <HackEgo> 865) -!- ais523 has parted #esoteric ("someone is going to mention Feather, I know it"). \ 866) <Bike> i don't even know anything about feather and i'm getting sick of the time travel jokes \ 896) <ais523> in Smalltalk, as in Feather, in order to do I/O, you must first create the universe <Sgeo> ais523, it seems quite capable of I/O... GUI is a fo
02:56:24 <MDude> Programming language based on the principles of metacybernetics.
02:56:28 <shachaf> Who are the time travelers?
02:58:53 <ais523> in Feather, everything is immutable, but you can retroactively change what an object was when it was created
02:59:23 <ais523> or to think about it another way, you have a "clone" operation, and the result of the clone has a method that lets you retroactively change what the clone function returned
02:59:30 * function looks at ais523
02:59:37 <ais523> this much is easy to implement, it's basically a wrapper around call/cc
02:59:49 <ais523> then things start getting confusing very quickly
02:59:58 -!- function has left ("/dev/null is full").
03:00:01 -!- function has joined.
03:01:35 <shachaf> `` echo -ne '#!/bin/sh\ngrep -P -i -n "$1" quotes | cut -d ':' -f 1 | xargs\n' > bin/quotenums; chmod +x bin/quotenums
03:01:38 <HackEgo> No output.
03:01:39 <shachaf> `quotenums feather
03:01:40 <HackEgo> 865 866 896 897
03:01:57 -!- idris-bot has quit (Quit: Terminated).
03:16:15 -!- idris-bot has joined.
03:22:38 -!- oerjan has quit (Quit: Retroactively going to bed 1 1/2 hour ago, maybe.).
03:51:10 -!- GeekDude has quit (Ping timeout: 272 seconds).
04:00:05 -!- function has quit (Quit: 1 found in /dev/zero).
04:00:21 -!- variable has joined.
04:03:59 -!- vodkode_ has quit (Remote host closed the connection).
04:13:55 -!- callforjudgement has joined.
04:15:43 -!- ais523 has quit (Ping timeout: 245 seconds).
04:19:45 -!- callforjudgement has changed nick to ais523.
04:25:33 -!- vodkode_ has joined.
04:27:39 -!- vodkode_ has quit (Remote host closed the connection).
04:41:56 -!- callforjudgement has joined.
04:42:18 -!- ais523 has quit.
04:42:52 -!- g2watson has joined.
04:43:21 -!- callforjudgement has changed nick to ais523.
04:44:51 -!- MDude has changed nick to MDream.
04:45:17 <HackEgo> [wiki] [[Special:Log/newusers]] create * Idunnowhy9000 * New user account
04:48:12 -!- variable has quit (Ping timeout: 264 seconds).
04:56:42 -!- variable has joined.
05:03:23 -!- v4s has quit (Ping timeout: 265 seconds).
05:03:34 -!- SgeoPhone has joined.
05:04:24 <SgeoPhone> My laptop currently is in pieces in front of me, as i try to fix whatever's wrong without making things worse
05:04:45 <SgeoPhone> I think im failing but no way to know until i put it back together
05:04:53 -!- v4s has joined.
05:12:05 -!- Lymee has quit (Ping timeout: 265 seconds).
05:16:04 -!- Lymia has joined.
05:16:31 -!- vodkode_ has joined.
06:00:04 <SgeoPhone> Does this thick black cable look damaged? http://i.imgur.com/ZqNmL4t.jpg
06:07:30 -!- ais523 has quit.
06:07:43 -!- ais523 has joined.
06:12:26 -!- infinitymaster has joined.
06:18:36 <infinitymaster> folks
06:19:13 <infinitymaster> !zjoust Iron_Will_and_a_Clear_Conscience >(-)*16>(+)*15(>+>-)*3>([(-)*15[+]]>)*21
06:19:14 <zemhill_> infinitymaster.Iron_Will_and_a_Clear_Conscience: points -3.45, score 16.57, rank 39/47 (-4)
06:19:40 <infinitymaster> gross
06:21:43 -!- infinitymaster has quit (Quit: Leaving...).
06:39:44 <Jafet> Maybe you need to take a step back here
06:40:05 -!- vodkode_ has quit (Remote host closed the connection).
06:47:44 -!- zadock has quit (Quit: Leaving).
07:16:59 -!- f|`-`|f has quit (Read error: Connection reset by peer).
07:18:26 -!- f|`-`|f has joined.
07:31:07 -!- Patashu has joined.
07:34:45 -!- Patashu has quit (Remote host closed the connection).
07:35:03 -!- Patashu has joined.
07:36:26 -!- zadock has joined.
07:39:08 -!- variable has quit (Ping timeout: 248 seconds).
07:39:22 -!- vodkode_ has joined.
07:46:59 -!- f|`-`|f has quit (Read error: Connection reset by peer).
07:48:23 -!- f|`-`|f has joined.
07:48:24 -!- SgeoPhone has quit (Remote host closed the connection).
07:48:39 -!- SgeoPhone has joined.
07:55:33 -!- vodkode_ has quit (Ping timeout: 255 seconds).
08:07:38 <mroman> http://news.slashdot.org/story/15/04/02/0227211/uk-forces-microsoft-to-adopt-open-document-standards
08:07:41 <mroman> neat
08:36:37 -!- callforjudgement has joined.
08:38:38 -!- ais523 has quit (Ping timeout: 245 seconds).
08:39:12 -!- callforjudgement has changed nick to ais523.
08:42:47 -!- AnotherTest has joined.
09:00:01 -!- ais523 has quit (Read error: Connection reset by peer).
09:00:13 -!- ais523 has joined.
09:03:18 <mroman> Is there a browser that runs in x11?
09:08:07 -!- stuntaneous has joined.
09:21:53 -!- Patashu has quit (Disconnected by services).
09:21:53 -!- Patashu_ has joined.
09:22:39 -!- ais523 has quit (Read error: Connection reset by peer).
10:04:02 -!- Lymia has quit (Ping timeout: 265 seconds).
11:31:26 -!- hailer has joined.
11:41:10 -!- AnotherTest has quit (Remote host closed the connection).
11:44:49 -!- ais523 has joined.
11:48:32 -!- SgeoPhone has quit (Remote host closed the connection).
11:48:47 -!- SgeoPhone has joined.
11:54:28 -!- ais523 has quit (Ping timeout: 244 seconds).
11:55:28 -!- ais523 has joined.
11:57:07 -!- MDream has changed nick to MDude.
11:57:20 -!- hjulle has joined.
12:00:33 -!- stuntaneous_e has joined.
12:01:00 -!- stuntaneous has quit (Ping timeout: 265 seconds).
12:03:46 -!- Patashu has joined.
12:06:52 -!- gamemanj has joined.
12:07:24 -!- Patashu_ has quit (Ping timeout: 264 seconds).
12:12:52 -!- gamemanj has quit (Read error: Connection reset by peer).
12:12:55 -!- stuntaneous_e has quit (Ping timeout: 264 seconds).
12:16:31 -!- GeekDude has joined.
12:16:36 -!- GeekDude has quit (Changing host).
12:16:36 -!- GeekDude has joined.
12:39:07 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
12:43:03 -!- Patashu has quit (Ping timeout: 265 seconds).
13:01:52 -!- oerjan has joined.
13:11:21 -!- ais523 has quit.
13:11:59 <b_jonas> you know how ia64 (also known as itanium) is a different cpu architecture from x86_64 (also known as intel-64 or amd64 or x64)? these names will confuse some more newbies in the future.
13:13:04 -!- SgeoPhone has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
13:13:15 <b_jonas> so anyway, now we have another similar set of confusing architecture names: http://hurrdurr.org hosts the Hurr Durr kernels, also know as Linux, not to be confused with Hurd which is a different kernel.
13:13:24 <oerjan> :k Dict
13:13:26 <lambdabot> Not in scope: type constructor or class ‘Dict’
13:14:00 <oerjan> aren't you about a day late
13:14:10 <b_jonas> yes, I am
13:14:15 <b_jonas> but hurrdurr.org is still alive
13:14:20 <mroman> but... but... x86 has more bits than x64
13:14:24 <mroman> 64 only has 64
13:14:28 <mroman> x86 has way more
13:14:28 <b_jonas> it's just that kernel.org no longer redirects to it
13:14:33 <mroman> namely 86 bits
13:15:42 <mroman> Which lets me count to 77371252455336267181195263
13:17:34 <b_jonas> mroman: yes, there's a quote about that in http://www.scottaaronson.com/blog/?p=1558
13:18:59 <oerjan> oh interesting, in 7.8 the () constraint wasn't Typeable, it seems.
13:19:11 <b_jonas> [ <:2x^86
13:19:12 <j-bot> b_jonas: 77371252455336267181195263
13:19:20 <oerjan> and you cannot derive it, of course
13:20:15 <b_jonas> put it in a Maybe then
13:20:21 <b_jonas> or add a dummy constraint
13:20:26 <oerjan> oh damn i cannot define Dict in lambdabot because int-e refuses to import Constraint
13:21:20 <oerjan> b_jonas: not useable for what i'm actually trying to do, which is to expand shachaf's discovery from yesterday to an exploit
13:21:54 <b_jonas> oh
13:22:14 <b_jonas> isn't that why int-e refuses to import Constraint though?
13:22:19 <oerjan> unfortunately i'm too lazy to install 7.10 until the Haskell Platform gets out
13:22:35 <oerjan> b_jonas: no.
13:23:02 <oerjan> he gave up trying to get around our previous exploits with that kind of restrictions, and made a proper sandbox.
13:23:32 <b_jonas> um sure, and?
13:23:36 <oerjan> the reason he refuses is that Constraint is in GHC.Exts, an Unsafe module.
13:23:45 <b_jonas> he might want to use both for security
13:23:49 <oerjan> which means he'll have to jump through some hoops.
13:24:02 <oerjan> b_jonas: but Constraint is _supposed_ to be safe.
13:24:32 <b_jonas> sure, but int-e suspects it's not safe even if it's supposed to be
13:24:57 <oerjan> b_jonas: i don't think he suspects Constraint, in itself, is safe. he'd have to ban _everything_.
13:25:02 <oerjan> *unsafe
13:25:31 <oerjan> except, of course, in this case i need it to test whether there is an exploit.
13:26:06 <oerjan> i tried to use 7.8 as far as possible to test, but it doesn't even _have_ the Typeable instances i need
13:26:48 <b_jonas> hmm
13:27:01 <b_jonas> isn't there a different online haskell interpreter somewhere?
13:29:20 <oerjan> :t Proxy :: (Proxy (() => ()))
13:29:21 <lambdabot> Proxy ()
13:29:24 <oerjan> hmph
13:29:39 <oerjan> it is quite possible it isn't possible to actually construct the () => () type
13:30:31 <oerjan> oh hm it's probably not considered monomorphic.
13:30:51 <oerjan> in which case it won't show up as Typeable
13:31:13 <oerjan> you can make an argument with the type, but not define instances for it.
13:31:29 <oerjan> shachaf: ^
13:31:52 -!- ProofTechnique has quit (Ping timeout: 265 seconds).
13:33:35 <oerjan> but _if_ you could, and if goldfire's ghc trac comment about * and Constraint being identified in core is actually relevant and creeps into the form of Typeable instances...
13:33:46 <Taneb> oerjan, isn't the constraint () trivially true?
13:34:22 <oerjan> Taneb: well sure. i was trying to construct (() => ()) as an actual _type_ with a Typeable instances distinct from ()
13:34:40 <oerjan> in order to check whether it had the same TypeRep as () -> ()
13:35:08 <oerjan> which could have allowed an exploit.
13:35:08 <Taneb> :t Proxy :: Proxy (Eq Int => Int)
13:35:10 <lambdabot> Illegal polymorphic or qualified type: Eq Int => Int
13:35:10 <lambdabot> Perhaps you intended to use ImpredicativeTypes
13:35:10 <lambdabot> In an expression type signature: Proxy (Eq Int => Int)
13:35:20 <oerjan> hm
13:36:40 <oerjan> Taneb: it cannot contain actual class names or anything _officially_ polykinded.
13:37:16 <oerjan> () :: * and () :: Constraint have the same TypeRep, but the problem is constructing something with the _same_ kind
13:37:25 <Taneb> :t Proxy :: Proxy (((),()) => Int)
13:37:26 <lambdabot> Illegal polymorphic or qualified type: ((), ()) => Int
13:37:26 <lambdabot> Perhaps you intended to use ImpredicativeTypes
13:37:26 <lambdabot> In an expression type signature: Proxy (((), ()) => Int)
13:37:47 <oerjan> you cannot define any helper types, they would be polykinded.
13:38:54 <oerjan> but => is the same as -> in core, which might or might not be relevant. i'm starting to think it isn't, because => doesn't construct a monomorphic type.
13:39:39 <oerjan> so has no chance of ending up in a Typeable argument.
13:42:09 <oerjan> oh hm maybe it does. in 7.8 with ImpredicativeTypes enabled, typeRep (Proxy :: Proxy (((),()) => ()))
13:42:22 <oerjan> gets close enough to complain about a lacking instance.
13:42:44 <oerjan> (having just () got removed)
13:43:24 * Taneb helped
13:44:14 <oerjan> i just need 7.10 without stupid restrictions to test this :(
13:44:53 <oerjan> MinGHC or not MinGHC, that's the question.
13:44:56 <mroman> tanebvented is the word.
13:45:39 <Taneb> mroman, this was just a tanebhelped
13:46:51 -!- ais523 has joined.
13:47:02 <oerjan> gah 11 minutes to download something i only want to test something
13:47:15 <oerjan> nope.
13:48:27 * oerjan is not patient
13:49:12 <oerjan> so basically, i need a ghc 7.10 with ImpredicativeTypes and Data.Typeable enabled.
13:49:44 <oerjan> and that's just to test if the TypeReps _are_ the same, which they most likely aren't.
13:50:27 <oerjan> why isn't shachaf awake :(
13:50:42 <oerjan> (pesky americans)
13:52:20 <oerjan> @ask shachaf Can you test (you need ImpredicativeTypes) whether typeRep (Proxy :: Proxy (((),()) => ())) == typeRep (Proxy :: Proxy (((),()) -> ()))
13:52:20 <lambdabot> Consider it noted.
13:53:09 -!- ProofTechnique has joined.
13:53:51 <oerjan> > typeRep (Proxy :: Proxy (((),()) -> ()))
13:53:52 <lambdabot> ((),()) -> ()
13:54:57 <oerjan> Taneb: oh and thanks
13:55:03 <Taneb> :)
13:58:46 <oerjan> huh safe haskell still allows some FFI
13:59:03 <mroman> safeFFI
13:59:24 <oerjan> under the "everything's still allowed in IO" principle
14:00:13 <oerjan> nothing about ImpredicativeTypes, anyway.
14:02:55 <oerjan> @ask int-e Why aren't ImpredicativeTypes enabled, anyway.
14:02:55 <lambdabot> Consider it noted.
14:04:06 <oerjan> int-e seems conspicuously absent. maybe germans have easter holidays too
14:04:59 <oerjan> Taneb: hey, you don't happen to have GHC 7.10 by any chance
14:05:09 <Taneb> oerjan, just got it installed somewhere
14:05:28 <oerjan> then you could test what i asked shachaf
14:06:42 <oerjan> if it compiles but they _aren't_ equal, the printout of typeRep (Proxy :: Proxy (((),()) => ())) would also be interesting.
14:07:35 <Taneb> They are not equal
14:08:01 <Taneb> > typeOf (Proxy :: Proxy (((),()) => ()))
14:08:02 <Taneb> Proxy * (() -> () -> ())
14:08:03 <lambdabot> Illegal polymorphic or qualified type: ((), ()) ⇒ ()
14:08:03 <lambdabot> Perhaps you intended to use ImpredicativeTypes
14:08:03 <lambdabot> In an expression type signature: Proxy (((), ()) ⇒ ())
14:08:08 <Taneb> Sorry, lambdabot
14:08:45 <Taneb> > typeOf (Proxy :: Proxy (((),()) -> ()))
14:08:45 <Taneb> Proxy * (((),()) -> ())
14:08:47 <lambdabot> Proxy * (((),()) -> ())
14:08:51 <Taneb> Again, sorry lambdabot
14:09:09 <Taneb> oerjan, is that right?
14:09:55 <mroman> @type typeOf
14:09:56 <lambdabot> Typeable a => a -> TypeRep
14:10:06 <mroman> > typeOf (5,())
14:10:08 <lambdabot> (Integer,())
14:10:24 <mroman> > typeOf (5,()) == typeOf (3,())
14:10:25 <lambdabot> True
14:10:30 <oerjan> Taneb: @tell shachaf I cannot get either lambdabot or 7.8 to accept the re
14:10:38 <oerjan> wat
14:11:09 <oerjan> Taneb: @ask shachaf Can you test (you need ImpredicativeTypes) whether typeRep (Proxy :: Proxy (((),()) => ())) == typeRep (Proxy :: Proxy (((),()) -> ()))
14:11:15 <mroman> @type typeRe
14:11:16 <lambdabot> Not in scope: ‘typeRe’
14:11:16 <lambdabot> Perhaps you meant one of these:
14:11:16 <lambdabot> ‘typeRep’ (imported from Data.Typeable),
14:11:16 <mroman> @type typeRep
14:11:17 <lambdabot> forall (k :: BOX) (proxy :: k -> *) (a :: k). Typeable a => proxy a -> TypeRep
14:11:22 <Taneb> oerjan, yeah, they are different
14:11:28 <Taneb> The constraints are uncurried
14:11:47 <Taneb> Which means that
14:11:50 <oerjan> what does typeRep (Proxy :: Proxy (((),()) => ())) look like
14:11:51 <Taneb> Prelude Data.Typeable> typeOf (Proxy :: Proxy (((),()) => ())) == typeOf (Proxy :: Proxy (() -> () -> ()))
14:11:51 <Taneb> True
14:11:52 <mroman> @typeRep (5,())
14:11:52 <lambdabot> Unknown command, try @list
14:11:57 <mroman> > typeRep (5,())
14:11:58 <lambdabot> ()
14:12:46 <oerjan> Taneb: what is the result of typeRep (Proxy :: Proxy (((),()) => ()))
14:13:05 <Taneb> Proxy * (() -> () -> ())
14:13:22 <Taneb> "() -> () -> ()" rather
14:13:57 <oerjan> oh.
14:14:03 <barrucadu> oldl maybe
14:14:05 <barrucadu> Oops
14:14:12 <oerjan> in that case, please compare with actual () -> () -> ()
14:14:46 <oerjan> ooh, that does look promising
14:14:47 -!- vodkode_ has joined.
14:14:52 <Taneb> oerjan, True
14:14:58 <oerjan> yay!
14:16:47 -!- hailer has quit (Ping timeout: 246 seconds).
14:19:11 <oerjan> oh duh i failed to read some of your lines :P
14:19:20 <oerjan> Taneb: could you try out http://oerjan.nvg.org/haskell/TypeableExploits/TFs5.hs ?
14:20:19 <Taneb> Illegal tuple constraint: () (Use ConstraintKinds to permit this)
14:21:00 <Taneb> oerjan, with ConstraintKinds it compiles
14:22:24 <Taneb> And uc (100 :: Int) :: Char gets 'd'
14:22:44 <oerjan> ooh
14:25:01 <oerjan> i fixed that, including your and shachaf's real name
14:25:06 <oerjan> to the ghc trac ->
14:26:30 <Taneb> :)
14:26:43 <oerjan> oh, could you add Safe too, on principle.
14:27:20 <Taneb> Still works
14:27:27 <oerjan> "good"
14:27:55 <Taneb> There's a single warning (duplicate constraint ()) but other than that it's all good
14:28:56 <int-e> oerjan: no holidays, just a combination of getting up late and staying away from the computer
14:29:38 <int-e> Nobody likes ImpredicativeTypes
14:30:41 <oerjan> you think :)
14:30:48 <int-e> And I'm in Austria, even tomorrow is not a proper holiday...
14:31:16 <int-e> (i.e. Good Fridat) But Easter Monday is.
14:31:31 <oerjan> ah.
14:31:47 <oerjan> norway has the highest density of easter holidays in the world, i think
14:32:07 <oerjan> (today, tomorrow, Easter and Easter Monday)
14:32:09 <int-e> . o O ( Dear empty review form, please inspire me... [a different one from yesterday] )
14:32:38 <int-e> Easter Sunday is also a holiday, but a rather useless one.
14:33:03 <ais523> oerjan: does it not have april 1 as a holiday?
14:33:20 <int-e> what kind of holiday would that be?
14:34:05 <ais523> a celebration of creativity that isn't necessarily directed towards a useful goal
14:34:37 <mroman> int-e: It's not?
14:34:41 <mroman> Karfreitag is usually a thing.
14:34:52 <Taneb> oerjan, do send me a link to the ticket when it is available
14:35:03 <mroman> I'm going to work anyway
14:35:10 <mroman> but it's a holiday around here.
14:35:21 <int-e> mroman: In Austria, it's only a holiday for Protestants. Everybody else has to work.
14:35:52 <mroman> Wait... catholics have to attend work, protestants get a holiday?
14:35:54 <int-e> (Not sure whether it depends on the state, I'm in Tyrol...)
14:35:56 <mroman> That's "lawful"?
14:36:08 <mroman> Oh. I get that it depends on the state, yeah.
14:36:13 <int-e> mroman: there are catholic-only holidays as well
14:36:16 <mroman> Switzerland has different holidays in different states as well.
14:36:28 <mroman> Depending on what religion was dominant some years ago I guess.
14:36:29 <int-e> mroman: no it really depends on the individual
14:36:33 <mroman> int-e: Oh.
14:36:34 <mroman> Ok.
14:36:41 <mroman> That's certainly... insteresting.
14:36:51 <int-e> (Which I find rather strange. But oh well... and I'm neither catholic nor protestant.)
14:37:06 <mroman> Well...
14:37:16 <mroman> I think this holiday system sucks anyway
14:37:36 <int-e> I think this work system... never mind.
14:37:39 <mroman> Instead of having religious holidays you might as well say "well.. you have 5 days each year you can take off for whatever religious purpose it serves you"
14:37:50 -!- AnotherTest has joined.
14:38:08 <mroman> which would be the same thing as giving you an extra week
14:38:08 <oerjan> ais523: by holiday i mean a day that most people don't need to work hth
14:38:11 <mroman> Which I would prefer.
14:38:25 <mroman> on the other hand
14:38:43 <mroman> with these "free extra holidays" you could add some restrictions like "not more than two consecutive days"
14:38:59 <oerjan> Taneb: i just added it to the already existing one https://ghc.haskell.org/trac/ghc/ticket/9858#comment:76
14:39:01 <mroman> so you have 5 extra days, but can't use them as a whole week at once.
14:39:23 <ais523> mroman: your "you have N days and can spend them whenever you want" is very common as a method of allocating time off in companies nowadays
14:39:30 <int-e> mroman: Then again the christian population pays dearly for those extra free days (there are additional taxes).
14:39:36 <mroman> ais523: It is :)
14:39:51 <ais523> sometimes requiring very slow days like Christmas Day to be one of those days
14:39:51 <mroman> but then you have additional days off because of some religious background.
14:40:17 <mroman> int-e: what kind of taxes?
14:40:19 <ais523> but that's mostly because it's a huge secular holiday where basically nobody works, with the Christian holiday on the same date being observed by a much smaller number of people
14:40:20 <mroman> church taxes?
14:40:25 <int-e> well, church taxes.
14:40:32 <mroman> but these don't go to the state
14:40:35 <mroman> they go to the churches.
14:40:45 <int-e> mroman: but they still reduce the people's paycheck
14:40:56 <Taneb> oerjan, :)
14:41:04 <mroman> int-e: what if you're an atheiest?
14:41:10 <mroman> do you get holidays on christmas?
14:41:19 <int-e> mroman: There is this theory of division of church and state, well, this is how it looks in practice ;)
14:41:27 <mroman> yeah
14:41:35 <ais523> mroman: it's hard to argue that there isn't an atheist holiday on Christmas; just statistically, such a holiday exists
14:41:55 <ais523> interestingly, the UK doesn't officially have a separation of church and state
14:41:57 <int-e> mroman: Yes, I do. There's only one or two days where the faith is actually taken into account.
14:41:59 <ais523> and yet the two overlap pretty rarely
14:42:39 <int-e> mroman: To be fair, despite the name, Christmas is really a capitalist holiday. (Ironically it was a holiday in communist countries as well.)
14:42:57 <mroman> Well...
14:43:10 <mroman> I don't fully agree with that
14:43:17 <mroman> like valentine's day
14:43:24 <mroman> people develop expectations from it
14:43:33 <mroman> so you can't really blame it only on shops and malls and the like
14:43:46 <mroman> people's expectations are to blame
14:44:04 <int-e> I have no expectation whatsover for Valentine's day.
14:44:09 <mroman> Yeah me neither.
14:44:19 <int-e> wow.
14:44:25 <int-e> expectations, whatsoever.
14:44:27 <mroman> mainly because there's no relationship on the horizon and there never was.
14:44:39 <mroman> but...
14:44:42 <ais523> now I'm feeling bad for not showing up to #esoteric with flowers
14:45:05 <int-e> (the "wow" came from the realization that "whatsover" almost looks like a real word)
14:45:25 <mroman> I only buy christmas gifts for closest of family members
14:45:28 <mroman> brothers and parents
14:45:30 <mroman> that's it.
14:45:54 <mroman> and usually you'll tell each other what presents you would have a use for
14:45:55 <int-e> ais523: Cherry blossom is almost over, too.
14:46:00 <mroman> which... makes the whole point rather moot
14:46:01 <mroman> but
14:46:11 <mroman> what do I know about social things.
14:46:47 <int-e> anyway, bbl
14:48:08 <mroman> ^flowers
14:48:10 <mroman> !flowers
14:48:13 <mroman> )flowers
14:48:14 <mroman> (flowers
14:48:15 <mroman> hm
14:48:18 <mroman> no flower bot
14:48:20 <mroman> `flowers
14:48:39 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: flowers: not found
14:49:12 <mroman> @}~}~~~
14:49:12 <lambdabot> Unknown command, try @list
14:49:34 <mroman> damn bot prefixes :(
14:49:52 <mroman> It would make more sense for bots to have <space><prefix>
14:49:55 <mroman> instead of <prefix>
14:49:56 <mroman> because
14:50:00 <mroman> nobody starts a sentence with a space
14:50:04 <mroman> but
14:50:13 <mroman> those damn bot writers are just too dumb to notice that
14:50:35 <ais523> mroman: I think it's precisely /because/ nobody starts a sentence with aa space
14:50:46 <ais523> people wouldn't be able to use the bot
14:50:50 <mroman> of course
14:50:52 <mroman> @help
14:50:53 <mroman> see
14:50:55 <mroman> no proble
14:50:56 <mroman> m
14:51:36 <mroman> (hi)
14:51:46 <mroman> ( <:i9
14:51:46 <idris-bot> (input):1:1: error: expected: ":",
14:51:46 <idris-bot> dependent type signature,
14:51:46 <idris-bot> end of input
14:51:46 <idris-bot> <:i9<EOF>
14:51:46 <idris-bot> ^
14:52:00 <mroman> ( <i9
14:52:00 <idris-bot> (input):1:1: error: expected: ":",
14:52:00 <idris-bot> dependent type signature,
14:52:00 <idris-bot> end of input
14:52:00 <idris-bot> <i9<EOF>
14:52:00 <idris-bot> ^
14:52:03 <mroman> hm
14:52:42 <mroman> [ i9
14:52:42 <j-bot> mroman: |value error: i9
14:52:47 <mroman> [ <i9
14:52:47 <j-bot> mroman: < i9
14:52:53 <mroman> [ <:i9
14:52:54 <j-bot> mroman: <: i9
14:53:00 <mroman> [ <9
14:53:00 <j-bot> mroman: ┌─┐
14:53:00 <j-bot> mroman: │9│
14:53:00 <j-bot> mroman: └─┘
14:53:09 <mroman> hu
14:53:11 <mroman> [ <:9
14:53:11 <j-bot> mroman: 8
14:56:40 <mroman> oh yeah
14:56:42 <mroman> that reminds me
14:56:49 <mroman> I have to check if I still have the source for octofrogscript
14:57:34 <mroman> probably not
14:58:44 -!- shikhin has joined.
15:01:47 <mroman> I'm having a new language in mind that engrains code conventions in its syntax
15:01:53 <mroman> such as indentation
15:02:12 <myname> python?
15:02:19 <mroman> a bit more restricted than python
15:02:34 <mroman> In python you can still choose between 2 spaces, 4 spaces, 1 tab or 99 spaces
15:02:39 <mroman> that's too much freedom!
15:02:44 -!- vodkode_ has quit (Ping timeout: 265 seconds).
15:02:55 <mroman> also I think if(9 <0) is legal
15:02:58 <Taneb> Go?
15:02:59 <mroman> as well as if (9<0)
15:03:19 <mroman> or if (9 < 0)
15:03:33 <mroman> but that might be too restrictive
15:03:35 <mroman> I don't know
15:03:47 <ais523> so basically this is $EXISTING_LANGUAGE except that your code must be byte-identical to the output produced by a pretty printer on its parse tree?
15:03:55 <mroman> well!
15:03:59 <myname> mroman: if(9 <0) should be legal, but do something completely different from if(9<0)
15:04:05 <mroman> And you can write using different syntaxes I guess
15:04:15 <mroman> delphi style, lisp style, c style
15:04:16 <mroman> :D
15:04:31 <ais523> myname: have you seen Ursala?
15:04:39 <mroman> Ursala rocks
15:04:44 <ais523> not even joking, whitespace around operators changes their meaning there
15:05:00 <mroman> wait
15:05:03 <myname> :D
15:05:07 <ais523> a while back I learned enough Ursala to get an appreciation of how it works and just how twisted the design is
15:05:09 <myname> ais523: i have not
15:05:10 <mroman> you actually looked at Ursala a bit more serious?
15:05:12 <ais523> although not enough to actually program in it
15:05:23 <myname> drop me a link
15:05:24 <mroman> oh
15:05:36 <mroman> bbl
15:05:42 <ais523> I can normally mentally parse programs, but not figure out what they mean (or precedence/associativity; those aren't transitive in ursala)
15:06:29 <ais523> myname: huh, I can't find it via my normal search engine
15:06:39 <ais523> maybe it's gone down
15:07:02 <ais523> yep, I found the URL but it's 404
15:07:05 <ais523> now trying wayback
15:07:17 <myname> ruby some weird whitespace effects, too
15:07:41 <b_jonas> what? it has non-transitive precedence?
15:08:35 <ais523> myname: here you go: http://web.archive.org/web/20110910024105/http://www.basis.netii.net/ursala/manual.pdf
15:08:38 <ais523> b_jonas: yes!
15:08:58 <ais523> I was actually reading through the book I learned to write compilers from recently
15:09:14 <ais523> and it mentions offhand that non-transitive precedence is mathematically possible and the parsing algos work fine on it
15:09:21 <myname> why isn't this in our wiki
15:09:36 <ais523> but that people might want to voluntarily avoid such languages because they might be confusing
15:09:41 <ais523> IMO, ursala is evidence for this
15:11:56 <HackEgo> [wiki] [[Talk:Hexadecimal Stacking Pseudo-Assembly Language]] N http://esolangs.org/w/index.php?oldid=42268 * Esowiki201529A * (+66) Created page with "这个正确的名字是“十六进制堆栈式伪汇编语言”"
15:12:19 <ais523> odds of a spambot?
15:12:39 <ais523> zero
15:12:52 <ais523> users has plenty of other contributions
15:12:56 <ais523> may be confuse though
15:13:02 <myname> interesting user name
15:13:24 <ais523> ah right, this is a known problem user: http://esolangs.org/wiki/User_talk:Esowiki201529A
15:14:28 <oerjan> @tell shachaf Never mind, Taneb helped; see https://ghc.haskell.org/trac/ghc/ticket/9858#comment:76
15:14:28 <lambdabot> Consider it noted.
15:24:08 -!- zadock has quit (Quit: Leaving).
15:24:20 <b_jonas> ais523: ok
15:25:32 <oerjan> int-e: btw are you also still missing Cc:s on https://ghc.haskell.org/trac/ghc/ticket/9858 ? i've received shachaf's last message but nothing later.
15:28:17 <int-e> yes
15:31:59 <int-e> oerjan: nice exploit. And yeah, I think deep down () :: Constraint and () :: * should have different names.
15:33:31 <int-e> (oh and shachaf and Taneb)
15:34:42 <oerjan> as well as (,) and =>
15:35:19 <oerjan> btw you know you're excited about something when you're trying to multitask irc'ing and shaving.
15:35:21 <int-e> is there a (,) on the constraint level?
15:35:40 <int-e> oerjan: bloddy business?
15:35:44 <int-e> bloody
15:36:09 <int-e> Ah maybe you're using one of those extra-safe, buzzing, electric shavers
15:39:32 <int-e> . o O ( is there a smartphone with built-in shaver yet? )
15:40:16 <int-e> There could even be a razor-thin edition...
15:40:49 -!- shikhin has quit (Ping timeout: 250 seconds).
15:50:27 <oerjan> int-e: yes the (,) in (Ord a, Num a), say
15:51:07 <oerjan> actually i'm using razor blades. pretty safe, though. although i'm not always entirely free of bleeding.
15:51:31 <oerjan> also, the multitasking still moves between different rooms
15:52:39 <oerjan> i use to use electric but it went *poof* just after i moved here.
15:52:59 <oerjan> as in, there was arcing when it died.
15:53:07 <oerjan> *used
15:53:15 <oerjan> now brushing teeth ->
15:56:41 <oerjan> oh hm there was that automatic currying Taneb noticed, but i'm sure that cannot apply in positive position in data types/families
16:00:03 -!- shikhin has joined.
16:08:32 <oerjan> or anywhere polymorphic in the constraints
16:17:32 -!- Koen_ has joined.
16:20:29 -!- Phantom_Hoover has joined.
16:22:19 -!- shikhin has quit (Ping timeout: 272 seconds).
16:26:16 -!- shikhin has joined.
16:36:48 <ais523> ooh, new INTERCAL release
16:36:52 <ais523> err, C-INTERCAL
16:37:00 <ais523> esr released it to get the code out there before gitorious died
16:52:32 -!- shikhin has quit (Ping timeout: 246 seconds).
16:56:27 -!- Lymia has joined.
16:59:18 -!- vodkode_ has joined.
17:01:20 -!- shikhin has joined.
17:01:37 -!- shikhin has quit (Changing host).
17:01:37 -!- shikhin has joined.
17:05:38 -!- oerjan has quit (Quit: leaving).
17:12:17 -!- Xeironis has joined.
17:23:00 -!- vodkode_ has quit (Ping timeout: 264 seconds).
17:26:17 -!- Lymia has quit (Ping timeout: 256 seconds).
17:28:01 -!- vodkode_ has joined.
17:29:49 -!- mihow has joined.
17:33:16 -!- vodkode_ has quit (Ping timeout: 248 seconds).
17:35:46 -!- vodkode_ has joined.
17:37:28 <shachaf> oerjan: whoa, I missed the whole thing.
17:37:30 <shachaf> oerjan++
17:37:43 <shachaf> @messages-lead
17:37:43 <lambdabot> oerjan asked 3h 45m 22s ago: Can you test (you need ImpredicativeTypes) whether typeRep (Proxy :: Proxy (((),()) => ())) == typeRep (Proxy :: Proxy (((),()) -> ()))
17:37:43 <lambdabot> oerjan said 2h 23m 14s ago: Never mind, Taneb helped; see https://ghc.haskell.org/trac/ghc/ticket/9858#comment:76
17:40:52 <shachaf> why isn't oerjan awake :(
17:41:16 <int-e> . o O ( Why do you tempt me to give a tautological answer? )
17:43:44 <ais523> wouldn't the tautological answer there be "because oerjan isn't awake", which doesn't actually answer the question?
17:44:01 <int-e> ais523: yes.
17:44:34 <int-e> The temptation arises from the fact that I cannot conceive of a more useful answer than that.
17:44:59 <shachaf> 06:52 <oerjan> why isn't shachaf awake :(
17:45:14 <int-e> shachaf: thanks
17:46:26 <myname> lol
17:47:55 <shachaf> look i just woke up
17:48:34 <int-e> shachaf: FWIW I consider this to be one of my character flaws. So I can't really complain.
17:48:55 <shachaf> Now I'm confused.
17:49:09 <int-e> "this" being the tendency to give tautological answers.
17:59:18 -!- variable has joined.
18:00:53 <int-e> why is fungot awake :(
18:00:53 <fungot> int-e: you got to try that kind of explanation makes it easier
18:01:35 <int-e> okay, another review done.
18:01:42 <ais523> clearly, fungot is awake because fungot is awake
18:01:42 <fungot> ais523: i have complained about the lack of such a function
18:01:52 <ais523> and apparently doesn't know how to go to sleep
18:02:15 <int-e> ^sleep
18:07:39 <int-e> Now as long as nobody mentions fun⁠got by name we can pretend that it worked.
18:10:30 -!- hjulle has quit (Ping timeout: 256 seconds).
18:18:11 -!- hjulle has joined.
18:22:17 -!- ^v^v has quit (Read error: Connection reset by peer).
18:22:42 -!- ^v^v has joined.
18:24:00 <shachaf> oerjan: Makes me wonder whether there are other bugs involving ConstraintKinds that don't need Typeable. E.g. can you write (Show a, Show b) :~: (Show b, Show a) somehow?
18:28:53 -!- variable has changed nick to trout.
18:44:02 -!- ais523 has quit.
18:52:29 -!- nys has joined.
19:00:16 -!- shikhin_ has joined.
19:02:34 -!- idris-bot has quit (Quit: Terminated).
19:03:24 -!- shikhin has quit (Ping timeout: 248 seconds).
19:04:05 -!- shikhin_ has changed nick to shikhin.
19:09:17 -!- mihow has quit (Ping timeout: 248 seconds).
19:12:09 -!- mihow has joined.
19:22:12 -!- ^v has joined.
19:22:14 -!- variable has joined.
19:22:18 -!- trout has quit (Remote host closed the connection).
19:24:44 -!- ^v^v has quit (Ping timeout: 256 seconds).
19:28:59 -!- variable has quit (Remote host closed the connection).
19:29:25 -!- variable has joined.
19:45:21 -!- variable has quit (Remote host closed the connection).
20:03:30 -!- Lymia has joined.
20:33:36 <int-e> shachaf: regarding unicodesyntax, I'm going to patch my ghc.
20:34:15 <int-e> (and update #8959 accordingly once it works)
20:34:44 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
20:37:48 -!- Phantom_Hoover has joined.
20:38:22 -!- variable has joined.
20:44:11 <HackEgo> [wiki] [[Special:Log/newusers]] create * AnonymousAnomaly * New user account
20:47:49 -!- mihow has quit (Quit: mihow).
20:53:34 -!- Koen_ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?").
20:59:37 -!- ProofTechnique has quit (Quit: ZNC - http://znc.in).
21:08:13 -!- ProofTechnique has joined.
21:08:34 <HackEgo> [wiki] [[Gott]] N http://esolangs.org/w/index.php?oldid=42269 * AnonymousAnomaly * (+143) Gott is an esoteric programming language that uses only for loops.
21:12:46 -!- ProofTechnique has quit (Ping timeout: 252 seconds).
21:13:29 -!- idris-bot has joined.
21:17:44 <HackEgo> [wiki] [[Gott]] http://esolangs.org/w/index.php?diff=42270&oldid=42269 * AnonymousAnomaly * (+826)
21:20:54 -!- Lymia has quit (Ping timeout: 256 seconds).
21:22:20 -!- oerjan has joined.
21:24:36 <oerjan> <shachaf> why isn't oerjan awake :( <-- the question assumes facts not in evidence hth
21:24:49 <shachaf> oerjan: so did yours hth
21:25:03 * oerjan was, at that time, probably showering.
21:25:04 -!- mihow has joined.
21:25:16 -!- Xeironis has left ("Konversation terminated!").
21:25:24 <shachaf> so not completely awake
21:25:41 <oerjan> um i wasn't going either to or from bed
21:25:52 <oerjan> just preparing to leave the house.
21:26:04 <shachaf> <shachaf> It's a bit funny that GHC's normalization is exposed by type equality, so that "(Foo a, Bar a) => a" unifies with "Foo a => Bar a => a" but not with "(Bar a, Foo a) => a"
21:26:28 <oerjan> yeah
21:26:48 -!- idris-bot has quit (Quit: Terminated).
21:26:52 <oerjan> basically, they haven't worked too hard on making type inference of constraints be flexible.
21:27:08 <oerjan> (or maybe they have and gave up.)
21:27:42 -!- idris-bot has joined.
21:28:03 -!- AnotherTest has quit (Remote host closed the connection).
21:28:10 <oerjan> <shachaf> oerjan: whoa, I missed the whole thing. <-- on the bright side, you got credited.
21:28:46 <shachaf> oerjan: to be fair, what sort of person would even do that sort of thing with constraints
21:28:57 <oerjan> edwardk hth
21:29:51 <shachaf> I haven't seen even edwardk make GADTs/type families with arguments that require constraint unification.
21:29:58 <oerjan> in fact, i greatly suspect he'd like it if the outcome of this was to make the (,) :: Constraint -> Constraint -> Constraint etc. entirely separately referencable entities.
21:30:15 <shachaf> Oh, sure, that's a much more reasonable outcome.
21:30:28 <shachaf> Given that you can't even get at that (,) right now.
21:31:26 <shachaf> Anyway, after that's fixed, SafeHaskell is *sure* to be bulletproof!
21:32:14 -!- fractal has quit (Ping timeout: 256 seconds).
21:32:48 -!- merdach has quit (Ping timeout: 256 seconds).
21:32:49 -!- pikhq has quit (Ping timeout: 256 seconds).
21:33:06 -!- merdach has joined.
21:33:56 -!- edirc has quit (Ping timeout: 256 seconds).
21:34:11 <oerjan> indeed!
21:34:42 -!- pikhq has joined.
21:34:50 -!- perrier_ has joined.
21:35:04 -!- mhi^ has quit (Ping timeout: 256 seconds).
21:35:26 -!- dianne_ has joined.
21:36:05 <oerjan> `unidecode n⁠
21:36:32 -!- mhi^ has joined.
21:36:46 <HackEgo> [wiki] [[Gott]] http://esolangs.org/w/index.php?diff=42271&oldid=42270 * AnonymousAnomaly * (+453)
21:36:49 -!- perrier has quit (Ping timeout: 265 seconds).
21:36:49 -!- dianne has quit (Ping timeout: 265 seconds).
21:37:06 <HackEgo> ​[U+006E LATIN SMALL LETTER N] [U+2060 WORD JOINER]
21:37:43 <oerjan> mein gott
21:38:34 <HackEgo> [wiki] [[Gott]] http://esolangs.org/w/index.php?diff=42272&oldid=42271 * AnonymousAnomaly * (+437)
21:38:39 -!- Lymia has joined.
21:39:39 -!- mihow has quit (Quit: mihow).
21:39:49 -!- fractal has joined.
21:41:28 -!- variable has changed nick to constant.
21:42:35 -!- TieSleep has quit (Read error: Connection reset by peer).
21:43:05 <oerjan> :t fmap
21:43:06 <lambdabot> Functor f => (a -> b) -> f a -> f b
21:46:18 <shachaf> :t fmap :: Monad m => (a -> b) -> m a -> m b -- p. fancy
21:46:19 <lambdabot> Monad m => (a -> b) -> m a -> m b
21:46:37 -!- constant has quit (Quit: 1 found in /dev/zero).
21:54:18 -!- variable has joined.
21:56:51 -!- ProofTechnique has joined.
21:57:13 -!- vodkode_ has quit (Ping timeout: 264 seconds).
22:03:59 <int-e> :t toList
22:04:00 <lambdabot> Not in scope: ‘toList’
22:04:00 <lambdabot> Perhaps you meant one of these:
22:04:00 <lambdabot> ‘F.toList’ (imported from Data.Foldable),
22:09:13 -!- mihow has joined.
22:11:08 -!- ProofTechnique has quit (Ping timeout: 264 seconds).
22:14:00 <int-e> :t toList
22:14:01 <lambdabot> Not in scope: ‘toList’
22:14:01 <lambdabot> Perhaps you meant one of these:
22:14:01 <lambdabot> ‘F.toList’ (imported from Data.Foldable),
22:20:19 <int-e> :t toList
22:20:20 <lambdabot> IsList l => l -> [Item l]
22:20:27 <int-e> :k () :: Constraint
22:20:28 <lambdabot> parse error on input ‘::’
22:20:41 <int-e> Ah.
22:22:48 -!- FatBack has joined.
22:23:24 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
22:23:40 <int-e> :k (() :: Constraint)
22:23:41 <lambdabot> Not in scope: type constructor or class ‘Constraint’
22:23:41 <lambdabot> Perhaps you meant ‘Contains’ (imported from Control.Lens)
22:25:02 -!- Patashu has joined.
22:25:46 -!- ProofTechnique has joined.
22:26:58 <oerjan> :t toList
22:26:59 <lambdabot> IsList l => l -> [Item l]
22:27:08 <oerjan> but, why
22:27:58 <HackEgo> [wiki] [[Gott]] http://esolangs.org/w/index.php?diff=42273&oldid=42272 * AnonymousAnomaly * (+811)
22:28:31 <oerjan> after all that work to avoid name clashes
22:29:53 -!- ^v has quit (Read error: Connection reset by peer).
22:30:18 -!- ^v has joined.
22:31:07 <HackEgo> [wiki] [[Gott]] http://esolangs.org/w/index.php?diff=42274&oldid=42273 * AnonymousAnomaly * (+63)
22:31:44 <HackEgo> [wiki] [[Gott]] http://esolangs.org/w/index.php?diff=42275&oldid=42274 * AnonymousAnomaly * (+0)
22:32:46 <int-e> funny, this module exports nothing: http://sprunge.us/XUNE?hs
22:34:41 <int-e> :k (() :: Constraint)
22:34:42 <lambdabot> Constraint
22:34:57 <int-e> :k () :: Constraint -- this appears to be a ghci bug
22:34:58 <lambdabot> parse error on input ‘::’
22:35:25 <oerjan> fancy
22:36:16 <oerjan> huh indeed it doesn't seem to export anything
22:36:49 <shachaf> int-e: Not just ghci.
22:37:09 <shachaf> type A = () :: ... has the same issue.
22:37:50 <int-e> if I just put an extra pair of parentheses there, will that break anything?
22:37:54 <int-e> :t (Maybe)
22:37:55 <lambdabot> Not in scope: data constructor ‘Maybe’
22:37:55 <lambdabot> Perhaps you meant variable ‘maybe’ (imported from Data.Maybe)
22:37:58 <int-e> :k (Maybe)
22:37:59 <lambdabot> * -> *
22:38:09 * variable is imported from lambdabot
22:40:34 -!- FatBack has set topic: penis.
22:41:06 -!- ChanServ has set channel mode: +o oerjan.
22:41:08 -!- int-e has set topic: RIP Misao Okawa | I'm a fungot trapped in a channel full of weirdos | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
22:41:19 -!- oerjan has set channel mode: +b *!*Fat@*.neo.res.rr.com.
22:41:19 -!- oerjan has kicked FatBack Go to Hell.
22:41:39 <oerjan> ...that's just the reaction they wanted, wasn't it.
22:41:49 <int-e> probably
22:41:53 -!- oerjan has set channel mode: -o oerjan.
22:41:58 <int-e> if it happens again, use your powers to set +t
22:42:04 -!- ChanServ has set channel mode: +o oerjan.
22:42:05 <int-e> (temporarily at least)
22:42:19 -!- oerjan has set channel mode: +tsric.
22:42:27 <oerjan> argh
22:42:30 <int-e> oops.
22:42:55 -!- oerjan has set channel mode: -sric.
22:43:11 * int-e wonders what +r is...
22:43:19 <oerjan> i cannot remember, was it +c or +C
22:43:37 <oerjan> int-e: it's already happened, ais523 banned em yesterday
22:43:41 <variable> oerjan, /raw help umode
22:43:44 <int-e> ah. block unidentified
22:43:56 <variable> erm cmode
22:44:04 <oerjan> variable: i am quite sure irssi doesn't use /raw
22:44:05 <int-e> oerjan: +C
22:44:10 <oerjan> good
22:44:13 <variable> oerjan, eh?
22:44:17 <variable> * cmode : +C - Disable CTCP. All CTCP messages to the channel, except ACTION,
22:44:25 <int-e> +c filters color, I hear some people here like color.
22:44:34 <variable> * cmode : +c - No color. All color codes in messages are stripped.
22:44:36 <int-e> https://freenode.net/using_the_network.shtml works.
22:44:44 <oerjan> variable: my client doesn't use /raw
22:44:56 <int-e> it uses /quote, hth
22:44:57 <variable> oerjan, oh, so just direct /help cmode
22:44:58 <variable> ?
22:45:02 <variable> ah, /quote
22:45:04 -!- oerjan has set channel mode: -o oerjan.
22:45:09 * variable can't remember irssi
22:45:30 <oerjan> no, /help cmode gives irssi's own help, which is empty
22:47:06 <shachaf> oerjan: use glguy's fancy new irc client hth
22:47:34 <int-e> does it run on a terminal?
22:47:42 <shachaf> Yes.
22:48:07 <int-e> does it look like irssi?
22:48:09 * int-e ducks
22:48:26 <shachaf> A little bit.
22:48:53 <int-e> (I think I've already invested too much time in customizing irssi)
22:49:14 <int-e> s/in /into /
22:49:25 <shachaf> But this client has all sorts of great features.
22:49:41 <shachaf> And also if you tell glguy what you're missing he'll implement it.
22:50:44 <oerjan> int-e: huh why doesn't Constraint get exported
22:52:34 <oerjan> huh it's just Constraint, too
22:53:17 <oerjan> (this with 7.8.3, naturally)
22:53:46 -!- variable has changed nick to constant.
22:59:20 <oerjan> int-e: probably a ghc bug?
22:59:44 <int-e> Maybe, I'm asking #ghc before I put in on Trac.
23:00:15 <oerjan> what you can do that
23:00:40 <int-e> (I did verify that this doesn't happen with just any empty data type, perhaps it's a builtin identifiers thing.)
23:01:37 <oerjan> i verified that Any and Down worked...
23:01:53 <oerjan> (just random ones that aren't prelude or containing #)
23:02:15 <int-e> oh, it's an indirect import thing.
23:02:46 <int-e> (Constraint is "defined" in Ghc.Prim)
23:02:51 <int-e> GHC.Prim
23:03:17 <oerjan> but so is a _lot_ of GHC.Exts, no
23:04:27 <int-e> or not...
23:04:32 <oerjan> xor# works just fine, and is from there too
23:04:50 <int-e> I don't know what went wrong in my test, cannot reproduce it anymore.
23:05:07 <oerjan> reproduce what?
23:05:39 <int-e> the one where I thought that a reexport hid a reexported identifier
23:07:20 <int-e> "the one"? the incident, I guess.
23:08:05 <oerjan> hm * is also in GHC.Prim but not in GHC.Exts
23:08:18 * shachaf is at computer now, tries to figure out what bug is being discussed.
23:08:22 <int-e> I have not tried to reexport *.
23:08:36 <shachaf> Oh, the Constraint export paste above.
23:09:02 <int-e> (since I don't really know how to refer to it in an import or export list)
23:09:23 <int-e> (or what extension I need for that to work)
23:09:29 -!- ^v^v has joined.
23:09:35 <int-e> (assuming it's possible at all)
23:09:38 <oerjan> oh right the source links weren't working in the 7.10 haddocks
23:10:41 <oerjan> int-e: it just seems that GHC.Exts reexports all of GHC.Prim, so * is also excluded there
23:11:54 <int-e> GHC.Exts has an explicit export for Constraint, figures.
23:12:04 -!- shikhin has quit (Quit: leaving).
23:12:32 -!- ^v has quit (Ping timeout: 256 seconds).
23:12:43 <oerjan> oh
23:13:40 -!- ProofTechnique has quit (Ping timeout: 256 seconds).
23:13:41 <int-e> no explanation :( https://github.com/ghc/ghc/commit/c0e32a32a3f20a9310e7321a8a96acfe0ef0d0f7
23:14:53 <oerjan> and it still exported GHC.Prim too
23:15:46 <shachaf> They should've just given Constraint a symbolic name like *
23:15:49 <oerjan> the most "obvious" cause to me is that this affects kind-only identifiers
23:15:57 <shachaf> Then it wouldn't've needed an import.
23:16:25 <oerjan> which cannot be defined presently iirc
23:16:41 <oerjan> which is why i wondered about *
23:17:08 <oerjan> shachaf: but then it'd clash with type operators
23:17:16 <shachaf> Just like *
23:17:28 <oerjan> yes but it'd be a _new_ clash.
23:17:48 <shachaf> Just give it a name starting with :
23:17:55 <shachaf> No one would name a type operator that.
23:18:07 * oerjan swats shachaf -----###
23:18:16 <oerjan> darn
23:18:20 <oerjan> you finally got me
23:18:47 <shachaf> The letdown is that I've said much more swatworthy things.
23:19:08 <int-e> don't worry, the swatter is reusable.
23:19:22 <shachaf> Can it go back in time?
23:19:44 <oerjan> only if someone adds feather to it
23:19:44 <int-e> editing the codu logs may be an option
23:22:26 <int-e> (hmm, a minority report)
23:28:27 -!- zadock has joined.
23:38:08 -!- ProofTechnique has joined.
23:42:57 -!- ProofTechnique has quit (Ping timeout: 264 seconds).
23:45:59 -!- Lymia has quit (Quit: Hug~♪).
←2015-04-01 2015-04-02 2015-04-03→ ↑2015 ↑all