00:04:05 -!- tromp has quit (Remote host closed the connection).
00:04:18 -!- tromp has joined.
00:11:32 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
00:11:57 -!- MDude has joined.
00:15:55 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
00:15:59 <oerjan> int-e: i posted an improved Haskell quine on PPCG that uses <>, and now I'm getting a suggestion to use <> on another answer. This GHC change might open a bit of a floodgate...
00:16:14 <oerjan> (also the same person improved my quine)
00:16:38 -!- doesthiswork has joined.
00:19:48 -!- augur has quit (Remote host closed the connection).
00:27:09 -!- wob_jonas has joined.
00:28:15 <wob_jonas> oerjan: strange. doubly strange, both because of the strange Semigroup instance used, and because I thought the plan was to get the (++) generalized to Monoid into the Prelude instead of a (<>)
00:32:18 <wob_jonas> how do I ask what fixity an operator is?
00:33:59 <lambdabot> Source not found. You untyped fool!
00:35:07 -!- rain1 has left ("Leaving").
00:51:56 -!- augur has joined.
00:56:01 -!- augur has quit (Remote host closed the connection).
00:56:17 -!- augur has joined.
01:01:06 <lambdabot> The operator ‘<>’ [infixr 6] of a section
01:01:06 <lambdabot> must have lower precedence than that of the operand,
01:02:29 <wob_jonas> oerjan: thanks. the guys on #haskell already gave two other possibilities
01:02:32 <oerjan> wob_jonas: i think the Monoid IO instance is way too new for lambdabot's @src
01:03:04 <wob_jonas> and I found the source of the instances too with their help
01:04:25 <oerjan> i'm sure someone suggested generalizing ++ , but there were people disagreeing
01:04:56 <oerjan> <> has been in Data.Monoid for a while, as a synonym of mappend.
01:05:40 <oerjan> but *also* in Data.Semigroup with a conflicting type, something which only got resolved now (I assume they resolved it.)
01:06:21 <oerjan> (Data.Semigroup got moved from a separate package to base only after <> had already been added to Data.Monoid.)
01:06:38 <wob_jonas> oerjan: yes, they did the same incompatible maneouver as with Applicative: the Monoid class now requires the Semigroup class, and both are in Prelude and (<>) is in Prelude too
01:07:18 <wob_jonas> the problem was similar: Monad was in core libraries before Applicative, and Monoid was in core libraries before Semigroup
01:07:32 <oerjan> in stage four they're supposed to make mappend a synonym of (<>), it's still technically a method of Monoid.
01:07:38 <wob_jonas> so there was some duplication of functionality, which now they eliminated, but everyone has to rewrite their Monad and Monoid instances
01:08:51 <oerjan> it's going in four stages because although this breaks backwards compatibility, there's a policy on how quickly it can break, the three release policy.
01:09:27 <zzo38> Should they add a mechanism into Haskell to allow default instances to automatically be made in these cases, so that you don't have to rewrite it?
01:09:28 <oerjan> (assuming they haven't changed that, they might because now GHC has a faster schedule.)
01:10:12 <wob_jonas> I wonder what if they add so many superclasses that eventually there are core classes for which you can only define an instance if you define an infinity of other instances first
01:10:14 <oerjan> zzo38: that's been suggested lots of times but there are too many caveats
01:11:04 <oerjan> wob_jonas: i don't know about core classes, but they _did_ add the `UndecidableSuperClass` extension, which can do such things.
01:11:50 * oerjan is still in markdown mode
01:14:08 <oerjan> zzo38: in fact for many years i think the spirit was "we'll make Applicative a superclass of Monad, but we'll need a system for automatic defaults first". but they eventually gave up waiting for that, and implemented it in a backwards incompatible way insted.
01:15:36 <oerjan> i think edward kmett wrote a post somewhere explaining some of the difficulties, but i've forgot.
01:16:22 <oerjan> oh, one thing i remember is that it really doesn't work with multiparameter typeclasses.
01:17:13 <zzo38> I also think though that "join" should be part of the Monad class, so that you do not need to define both >>= and join, either one will do (but you need to define the Functor instance too if you aren't defining >>=)
01:18:23 <zzo38> I also have seen implementations of Alternative IO that I don't like. A better way can be that: x <|> y is try y if x is error, but the error is allowed to include the indicator at the beginning or end optionally to inherit the error message from x. This not only makes it into a proper monoid, but also can be useful in case you want to report both errors.
01:21:06 <zzo38> oerjan: I do not see how that is a problem (although there may be problems, that doesn't seem to be one of them), since it doesn't need to work with multiparameter typeclasses.
01:28:25 <oerjan> zzo38: join was supposed to be added to the Monad class, but that broke because of the role inference system. i think i saw some statement recently that the new QuantifiedConstraints extension may be able to fix that.
01:29:13 <zzo38> O, then OK, they can see if that extension does fix that. But, what is that extension?
01:29:48 <oerjan> QC will allow constraints like (forall a. Monoid (F a))
01:30:33 <oerjan> it's not released yet, but supposedly most of the code is written
01:31:50 <zzo38> How will that help this problem though?
01:32:45 <oerjan> zzo38: i don't know, i only saw statement in a header and didn't actually read the post.
01:33:17 <oerjan> but i might guess it could allow role inference to use such constraints
01:33:27 -!- sprocklem has quit (Ping timeout: 240 seconds).
01:35:14 <oerjan> ok here https://www.reddit.com/r/haskell/comments/8257mz/how_quantifiedconstraints_can_let_us_put_join/
01:36:23 <oerjan> anything that makes edward kmett super-happy has to be good
01:42:51 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
01:52:38 <zzo38> OK, now I can see.
02:00:30 -!- hppavilion[1] has joined.
02:02:15 -!- sprocklem has joined.
02:08:00 -!- tromp has quit (Remote host closed the connection).
02:10:48 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
03:08:44 -!- Aearnus has joined.
03:10:45 <zzo38> oerjan: How often are you using markdown anyways?
03:15:12 <zzo38> I thought of something to make up Magic: the Gathering card: When ~ is faced up, counter target facedown spell.
03:15:26 <zzo38> (I don't know if they already have that or not)
03:16:30 <alercah> http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=108811
03:16:37 <alercah> err wait that's the wrong one
03:17:18 <alercah> http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=393874
03:18:22 <zzo38> That one is counter any spell
03:19:09 -!- tromp has joined.
03:23:57 -!- tromp has quit (Ping timeout: 240 seconds).
03:34:25 <zzo38> I think that rule 400.11 would make more sense if it says "all objects" instead of "all cards", it look like to me.
03:36:45 <zzo38> 400.11. Some effects instruct a player to do something to a zone (such as "Shuffle your hand into your library"). That action is performed on all cards in that zone.
03:38:41 <alercah> ah no that is intended only for cards
03:40:01 <zzo38> Yes it is, although it says "your hand", which contains only cards anyways. (Even if it somehow did contain other objects, they will be gone by that time.)
03:40:04 <alercah> even though it's not much of a problem if you do, the game tries to avoid shuffling non-cards into libraries where it can
03:41:28 <zzo38> One card (Warp World) does shuffle tokens into the library. But, as you say it isn't a problem; the tokens once there don't do anything, so there is no need to physically shuffle the tokens.
03:44:24 <oerjan> zzo38: mostly i use markdown on PPCG, and i had just edited one of my posts
03:54:25 -!- tromp has joined.
03:57:35 <zzo38> Do you think sixteen thousand classes is enough for Free Hero Mesh, or should there be twice as much?
03:58:35 -!- tromp has quit (Ping timeout: 240 seconds).
04:10:53 <zzo38> I think being able to define up to sixteen thousand different kind of pieces in a puzzle game should be more than sufficient; most games have less than one hundred, and converted puzzle sets aren't going to have more than 512 classes anyways.
04:58:41 -!- augur has quit (Remote host closed the connection).
05:04:02 -!- tromp has joined.
05:08:40 -!- tromp has quit (Ping timeout: 256 seconds).
05:17:45 -!- doesthiswork has quit (Ping timeout: 264 seconds).
05:19:26 -!- augur has joined.
05:38:43 -!- tromp has joined.
05:43:48 -!- tromp has quit (Ping timeout: 260 seconds).
05:47:34 -!- Aearnus has quit (Quit: Aearnus).
06:13:01 -!- tromp has joined.
06:17:41 -!- tromp has quit (Ping timeout: 255 seconds).
06:29:46 <zzo38> Some random guy (not the police or king or guard or whatever) won't let ugly monsters on the carriage, even though he does not intend to enter the carriage himself anyways.
06:45:21 -!- tromp has joined.
06:50:17 -!- tromp has quit (Ping timeout: 268 seconds).
06:55:05 -!- imode1 has quit (Ping timeout: 256 seconds).
07:05:32 -!- oerjan has quit (Quit: Nite).
07:06:51 -!- tromp has joined.
07:11:18 -!- tromp has quit (Ping timeout: 260 seconds).
07:14:25 <izabera> https://en.wikipedia.org/wiki/Hentaigana
07:16:16 -!- tromp has joined.
07:21:22 -!- tromp has quit (Ping timeout: 264 seconds).
07:31:40 -!- SopaXorzTaker has joined.
07:34:23 -!- tromp has joined.
07:55:10 -!- augur has quit (Remote host closed the connection).
07:55:43 -!- augur has joined.
07:57:57 -!- AnotherTest has joined.
08:06:02 -!- augur has quit (Ping timeout: 256 seconds).
08:10:27 -!- sprocklem has quit (Ping timeout: 240 seconds).
08:12:37 -!- sprocklem has joined.
08:18:54 -!- augur has joined.
08:45:40 -!- xkapastel has quit (Quit: Connection closed for inactivity).
09:02:22 -!- augur has quit (Remote host closed the connection).
09:05:50 -!- imode1 has joined.
09:07:41 -!- sleffy has quit (Ping timeout: 245 seconds).
10:03:44 -!- SopaXorzTaker has quit (Remote host closed the connection).
10:24:49 -!- boily has joined.
10:31:15 -!- hppavilion[0] has joined.
10:31:30 -!- imode1 has quit (Quit: WeeChat 2.1).
10:31:50 -!- imode has joined.
10:34:05 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
10:36:50 -!- imode has quit (Ping timeout: 276 seconds).
10:40:12 <boily> the HackEgo is still dead :(
10:40:36 <fungot`> boily: that one's less useful, but a bit shorter :) i don't know how
10:44:08 -!- hppavilion[1] has joined.
10:47:08 -!- hppavilion[0] has quit (Ping timeout: 276 seconds).
10:48:06 <izabera> is anyone attending ACCU 2018?
10:58:05 -!- boily has quit (Quit: TURNING CHICKEN).
12:51:29 -!- hppavilion[0] has joined.
12:54:21 -!- hppavilion[1] has quit (Ping timeout: 264 seconds).
13:00:43 -!- doesthiswork has joined.
13:22:37 -!- wob_jonas has joined.
13:24:03 <wob_jonas> zzo38: doesn't matter. while you can have a token in your graveyard or library or hand, and very rarely it could even matter, it definitely can't move to another zone from there because of 110.5g
13:24:44 <wob_jonas> "I think being able to define up to sixteen thousand different kind of pieces in a puzzle game should be more than sufficient" => I think M:tG will eventually have more than 16000 different cards
13:32:35 <wob_jonas> If you want to define classes for some things that aren't cards, such as some abilities or tokens or card faces, then M:tG might already have more than 16000 elements in Vintage
13:32:50 <wob_jonas> In theory that is, most of them aren't actually used by players in Vintage
13:35:02 <wob_jonas> zzo38: most rules text that talks about moving objects from a graveyard or hand or library already mentions "card" in fact, the exceptions being ones that refer to the card the text is printed on, eg. cycling abilities
13:46:32 -!- SopaXorzTaker has joined.
13:48:09 -!- erkin has joined.
14:24:08 -!- hppavilion[0] has quit (Ping timeout: 260 seconds).
14:42:11 -!- Cale has quit (Remote host closed the connection).
15:16:33 -!- singingbanana has joined.
15:17:14 -!- LKoen has joined.
15:19:33 -!- Cale has joined.
15:24:37 -!- xkapastel has joined.
15:30:52 -!- LKoen has quit (Remote host closed the connection).
15:40:53 <wob_jonas> Ever since I'm more than 30 years old, increasingly often I've come to realize in how many ways I have become what I used to despise and mock in other people. I just had another of those realizations.
15:41:17 <wob_jonas> I took a shower, and I realized I have four different kinds of soap in the bloody shower!
15:42:50 <wob_jonas> There's no excuse for this. The young me would be ashamed if he knew.
15:43:57 -!- LKoen has joined.
16:10:09 -!- singingbanana has quit (Ping timeout: 260 seconds).
16:38:10 <Taneb> izabera: first I've heard of it
16:39:24 <zzo38> wob_jonas: Yes, I know you can't move a token to another zone once it is no longer in the battlefield anyways.
16:40:02 <zzo38> And, Magic: the Gathering isn't really suitable to implement in Free Hero Mesh.
17:07:13 -!- sleffy has joined.
17:08:51 <int-e> . o O ( M:tG is like Nomic except that only one of the players is allowed to change the rules. :P )
17:09:58 <Taneb> Conjecture: it's possible for every (well-defined) game to be a suitably progressed Nomic
17:10:49 <int-e> Yeah but if you take Chess, the rules are much more (though not absolutely) stable over time.
17:11:17 <Taneb> (I was going off on a tangent rather than disagreeing)
17:11:45 <int-e> I think you made a valid point but that doesn't stop me from trying to discredit it :P
17:17:45 -!- moei has quit (Quit: Leaving...).
17:35:48 -!- hppavilion[1] has joined.
17:38:19 <int-e> Ah it's odd when a week starts on Tuesday... I have not looked at yesterday's Girl Genius commic yet.
17:38:43 <int-e> Err, or non-comic.
17:50:35 -!- sprocklem has quit (Ping timeout: 240 seconds).
17:52:08 <int-e> ^8ball Will HackEgo ever be back?
17:52:59 -!- sprocklem has joined.
17:55:15 <int-e> . o O ( `learn portmontageousness//"Portmontageousness" describes the irresisturge to portmontulate. )
17:59:14 -!- sprocklem has quit (Ping timeout: 255 seconds).
18:01:23 -!- sprocklem has joined.
18:09:12 -!- augur has joined.
18:11:56 -!- augur_ has joined.
18:14:56 -!- Phantom_Hoover has joined.
18:14:56 -!- Phantom_Hoover has quit (Changing host).
18:14:56 -!- Phantom_Hoover has joined.
18:16:23 -!- augur has quit (Ping timeout: 276 seconds).
18:21:29 -!- augur_ has quit (Ping timeout: 276 seconds).
18:22:25 -!- augur has joined.
18:23:47 -!- augur has quit (Read error: Connection reset by peer).
18:25:57 -!- imode has joined.
18:31:01 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
18:38:43 -!- SopaXT has joined.
18:46:17 -!- prooftechnique_ has joined.
18:47:48 -!- SopaXorzTaker has quit (*.net *.split).
18:47:50 -!- GeekDude has quit (*.net *.split).
18:47:50 -!- prooftechnique has quit (*.net *.split).
18:48:20 -!- SopaXT has quit (Remote host closed the connection).
18:49:57 -!- lambdabot has quit (Ping timeout: 240 seconds).
18:51:04 -!- hppavilion[1] has joined.
18:51:18 -!- AnotherTest has quit (Ping timeout: 260 seconds).
18:51:40 -!- AnotherTest has joined.
18:56:20 -!- GeekDude has joined.
19:01:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
19:31:28 -!- LKoen has quit (Remote host closed the connection).
19:32:19 -!- lldd_ has joined.
19:38:24 -!- LKoen has joined.
19:50:28 -!- lambdabot has joined.
20:00:15 -!- Lord_of_Life has quit (Excess Flood).
20:00:57 -!- sprocklem has quit (Ping timeout: 264 seconds).
20:01:09 -!- Lord_of_Life has joined.
20:02:44 -!- sprocklem has joined.
20:10:46 -!- LKoen has quit (Remote host closed the connection).
20:33:52 -!- LKoen has joined.
20:44:51 -!- Aearnus has joined.
20:46:31 -!- LKoen has quit (Remote host closed the connection).
21:09:44 -!- LKoen has joined.
21:25:37 -!- LKoen has quit (Remote host closed the connection).
21:29:36 -!- erkin has quit (Quit: Ouch! Got SIGIRL, dying...).
21:32:23 -!- LKoen has joined.
21:39:55 -!- lldd_ has quit (Quit: Leaving).
21:42:21 -!- aeyxa has joined.
21:52:50 -!- boily has joined.
22:02:19 -!- AnotherTest has quit (Ping timeout: 256 seconds).
22:02:39 -!- moei has joined.
22:15:35 -!- staffehn has quit (Ping timeout: 276 seconds).
22:20:12 -!- staffehn has joined.
22:24:20 -!- Aearnus has quit (Quit: Aearnus).
22:28:14 <alercah> is there an official unicode spec for matching characters for text search
22:28:29 <alercah> like so that "a" matches "á", "ä", etc.
22:34:09 <boily> hellorcah. decompose characters and strip anything unascii.
22:34:22 <boily> I think it's NFKC or NFKD?
22:37:29 <alercah> that doesn't work for everything
22:37:57 <alercah> (I'm curious because of a search I encountered where you had to search "d" for eth and curious if it is standard or ont)
22:42:51 <fizzie> I don't think Unicode has any standard beyond the "K" normalization forms.
22:42:59 <fizzie> https://www.w3.org/TR/charmod-norm/#normalizationLimitations discusses the topic a little.
22:44:59 -!- sprocklem has quit (Ping timeout: 255 seconds).
22:48:53 <fizzie> There's some relevant stuff in the Unicode collation algorithm http://www.unicode.org/reports/tr10/#Searching and especially http://www.unicode.org/reports/tr10/#Asymmetric_Search and there's also a standard algorithm for determining "visually confusable" strings for security purposes in http://www.unicode.org/reports/tr39/#Confusable_Detection
22:54:57 -!- Melvar has quit (Ping timeout: 248 seconds).
22:55:08 -!- idris-bot has quit (Ping timeout: 256 seconds).
23:00:49 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:10:55 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:12:26 -!- sprocklem has joined.
23:12:51 -!- Melvar has joined.
23:14:10 -!- idris-bot has joined.
23:52:52 -!- oerjan has joined.
23:53:40 <boily> bonsøœøœøœøœøœøœøirjan.
23:55:05 <shachaf> "Consider the inverse id_M^-1 : M -> M of the identity map id_M, such that"
23:55:15 <shachaf> I know what these people were getting at but that's kind of a silly thing to say.