Home liberachat/#haskell: Logs Calendar

Logs on 2021-08-31 (liberachat/#haskell)

00:06:21 minimario joins (~minimario@2603:900a:1600:ba00:fd6a:eb62:ef42:2446)
00:07:49 zebrag joins (~chris@user/zebrag)
00:09:43 × Guest729 quits (~chris@81.96.113.213) (Remote host closed the connection)
00:15:09 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
00:15:26 jaja joins (~jaja@144.172.151.185)
00:19:27 × jaja quits (~jaja@144.172.151.185) (Remote host closed the connection)
00:19:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
00:21:12 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
00:25:18 × hololeap_ quits (~hololeap@user/hololeap) (Remote host closed the connection)
00:25:54 ec_ joins (~ec@gateway/tor-sasl/ec)
00:27:47 zebrag joins (~chris@user/zebrag)
00:27:51 × opac quits (~opac@ip-28-56.sn2.clouditalia.com) (Quit: Going offline, see ya! (www.adiirc.com))
00:29:52 lavaman joins (~lavaman@98.38.249.169)
00:31:34 × zer0bitz quits (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 252 seconds)
00:35:16 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
00:35:30 lavaman joins (~lavaman@98.38.249.169)
00:35:38 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
00:35:40 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
00:37:10 × desantra quits (~skykanin@user/skykanin) (Quit: WeeChat 3.2)
00:37:12 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
00:37:55 waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
00:38:45 × aegon quits (~mike@174.127.249.180) (Quit: leaving)
00:40:25 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
00:41:40 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
00:41:57 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
00:44:49 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
00:45:42 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
00:48:18 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
00:51:08 Achylles_ joins (~Achylles_@177.188.61.119)
00:52:06 × Achylles quits (~Achylles_@2804:431:d725:af0f:65ee:a58:ea07:2607) (Remote host closed the connection)
00:52:27 zebrag joins (~chris@user/zebrag)
00:54:13 × tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
00:56:18 ec_ joins (~ec@gateway/tor-sasl/ec)
00:56:41 tabemann joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
01:02:57 × tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
01:03:36 tabemann joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
01:03:54 hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
01:06:09 lavaman joins (~lavaman@98.38.249.169)
01:08:17 × hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
01:10:21 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
01:10:59 × Guest372 quits (~xxx@47.245.54.240) (Remote host closed the connection)
01:11:03 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
01:12:06 Guest372 joins (~xxx@47.245.54.240)
01:14:22 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
01:15:47 × minimario quits (~minimario@2603:900a:1600:ba00:fd6a:eb62:ef42:2446) (Quit: Client closed)
01:17:45 neurocyte3 joins (~neurocyte@212.232.81.2)
01:17:45 × neurocyte3 quits (~neurocyte@212.232.81.2) (Changing host)
01:17:45 neurocyte3 joins (~neurocyte@user/neurocyte)
01:18:19 × dsrt^ quits (~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 252 seconds)
01:19:28 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
01:19:57 × neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 250 seconds)
01:19:57 neurocyte3 is now known as neurocyte
01:20:01 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
01:22:54 × Achylles_ quits (~Achylles_@177.188.61.119) (Remote host closed the connection)
01:24:06 pavonia joins (~user@user/siracusa)
01:24:27 × xenon- quits (~bc8167eb@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
01:28:41 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Read error: Connection reset by peer)
01:28:48 machined1od joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
01:34:52 × xff0x quits (~xff0x@2001:1a81:5283:ae00:3380:f428:346c:f5a) (Ping timeout: 252 seconds)
01:36:53 xff0x joins (~xff0x@2001:1a81:52bb:c200:2c79:b44:78b6:918)
01:36:55 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
01:39:01 × sleblanc quits (~sleblanc@user/sleblanc) (Ping timeout: 250 seconds)
01:39:17 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds)
01:39:57 × tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
01:41:00 tabemann joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
01:41:31 dsrt^ joins (~dsrt@wsip-98-188-244-188.mc.at.cox.net)
01:41:32 <sim590> Is there a way to compile your code so that all of your datatypes derive a default Show instance without actually modifying the code? Some sort of flag you could pass to ghc ?
01:41:40 lavaman joins (~lavaman@98.38.249.169)
01:43:58 <pavonia> That would cause inconsistencies across different packages, so hopefully you can't
01:44:06 noddy joins (~user@user/noddy)
01:45:37 <pavonia> sim590: What you could do is to have an extra module with the instances and link that
01:46:25 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
01:48:26 <sim590> pavonia: why is that so? Let's say I would like to do that only for debugging purposes by compiling in a debug mode and not bother wether I did or not create a Show instance. What is the big deal if in the case when there's no Show instance for a given data type, ghc creates one ? I don't really see the issue.
01:49:17 <sim590> Because the advantage of using ghci to debug is not have to modify the code in order to debug. But if you have to put Show instances everytime you want to see what's inside something, it becomes annoying.
01:49:33 × abrantesasf quits (~abrantesa@2804:14d:b086:4b3c:2e56:dcff:fedb:62f) (Quit: Leaving)
01:50:59 <pavonia> What if another modules creates one too? Then you have two instances of the same type in scope but your code doesn't represent that
01:51:55 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
01:52:05 <sim590> If I create an extra module, let's say MyProject.Debug.MyModule and I define the instance inside that module, then I will end up with the warning "oprhan instance". I always try to get rid of warnings. I'm not sure I would like to disable this one. Unless I can tell cabal to compile the Debug module and disable the warning when in debug mode and do the opposite when not in debug mode?
01:53:31 <sim590> pavonia: wouldn't ghc be just able to detect whether there is another instance and not create one if there is?
01:53:34 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
01:53:54 <pavonia> You can have flags in cabal files with different options, I think
01:54:19 <pavonia> No, it wouldn't know whether there is already one is scope because the code say there is none
01:54:23 <c_wraith> I don't understand why you don't want show instances normally
01:54:35 <pavonia> The linker would complain, though
01:55:13 <sim590> pavonia: then if there's compile time errors, it's fine. I'm not sure why ghc could never provide that functionnality
01:55:54 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
01:56:12 <sim590> c_wraith: Some datatypes just don't need to be showed in the normal cases. If that's just for debugging purposes, I don't know why I would derive it for the user of my library.
01:56:36 <c_wraith> so... you're optimizing to make debugging hard at no cost to users?
01:58:03 <pavonia> sim590: What would be a convincing reason to support such a functionality? I can't see the advantage over just deriving Show automatically in your code
01:59:17 <sim590> It's no optimization. It's rather just that I'm writing code based on the needs of the user. The user of the library doesn't need to debug my code so it wouldn't need to have the instance of show. And if the user would need it, then I say that all my types should have a Show instance which brings me back to the GHC option flag I'm thinking I'd like to have because why bother enabling manually a
01:59:19 <sim590> Show instance if you want it in every cases.
01:59:40 <c_wraith> Because not every type can have a (sensible) show instance
02:00:35 <sim590> As soon as you need to check what's inside of a datatype, then you need it. If you're debugging, the :print command doesn't inform you on the values inside, but rather just the types.
02:01:47 <pavonia> You can always use preprocessor conditionals if you really want to hide the instances from your users
02:02:18 <sim590> But if I'm to do that, then I don't see a datatype that wouldn't have a Show instance for debugging purposes.
02:02:33 <sim590> Can you give an example of some datatype that couldn't be showed?
02:02:44 <janus> Void :P
02:02:49 <sim590> Yeah...
02:02:49 <c_wraith> data Foo = Foo (Int -> (Int -> Int))
02:03:12 <sim590> OK. So a datatype that contains a function cannot be shown, right?
02:04:19 <pavonia> data Foo = Foo (IO ()) is another example
02:04:24 <janus> Category seems to have no Show https://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Category.html
02:05:12 <sim590> OK, but what about deriving Show for all datatypes that don't contain a function inside it but rather "simple" data types (what would you call it actually?)
02:07:25 ystael joins (~ystael@user/ystael)
02:08:13 <janus> you can derive a sensible Show datatypes that are not polymorphic and have constructors and do not contains functions, i guess..
02:08:15 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
02:08:54 <janus> *Show for datatypes
02:09:00 <pavonia> sim590: Are you seriously arguing GHC should implement an option that might cause inconstistent object files only that you don't need to ignore a compiler warning for your debugging module?
02:11:00 <sim590> No, but rather only that I don't have to always specify `deriving Show` for all datatypes when the only reason I would do that is for debugging puposes. What I'm arguing about is that it is not a function of my datatype to be showable. It's not used in any circumstances for outputing or serializing anything. So why would I have a Show instance. It doesn't make sense.
02:11:10 <sim590> Then it makes it so the code doesn't make sense and it is irritating.
02:11:55 <janus> but how could the compiler know if you would stick a function in there in the future?
02:12:28 <janus> by writing "deriving Show" you're also making an assertion about its future behaviour
02:12:48 <sim590> May be at runtime it could try and see if it can show it and figure out that it cannot and bail out with the usual error it prompts me with at the moment.
02:13:19 <sim590> I'm talking about GHCi repl.
02:13:34 × amk quits (~amk@109.255.169.126) (Ping timeout: 250 seconds)
02:13:44 amk joins (~amk@109.255.169.126)
02:13:50 <janus> but then GHCi would work totally different ?
02:14:25 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds)
02:14:28 <sim590> What if I'd activate a flag for that with :set or something.
02:15:14 <janus> sounds like you want something like -fdefer-type-errors and something else than type classes that are not resolved at compile time
02:16:15 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:16:35 <sim590> Does it exist?
02:17:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:17:44 <sim590> Would -XStandaloneDeriving help me ? Could I then derive the Show instance live in the GHCi repl?
02:18:36 <pavonia> Yes, you would still have to type it :3
02:19:12 <pavonia> Doesn't :force even work there too?
02:21:40 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
02:21:55 <sim590> pavonia: That's OK. As long as I don't modify my file, I'm fine with that. I guess if I'd have more of these types to derive, then I'd be looking for something else. May be a file to run a list of repl commands before launching so that I don't have to run them by hand every time I launch my repl.
02:23:20 <janus> but you'd need to enumerate them, that's a dealbreaker for you no?
02:24:06 hyiltiz joins (~quassel@31.220.5.250)
02:24:24 × td_ quits (~td@94.134.91.159) (Ping timeout: 250 seconds)
02:25:58 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
02:26:23 td_ joins (~td@94.134.91.147)
02:26:59 <sim590> janus: I would have prefered something that is instantenous for which I wouldn't need to enumerate, indeed. But not modifying my source files is a big improvement.
02:28:03 <janus> sim590: you may need to modify your source files, since you can't make use standalone deriving without having the type available, so you may need exports , i think
02:28:41 <janus> one exported type could have an internal type embedded in it, which wouldn't be exported. how would you use standalone deriving on it?
02:29:04 <pavonia> Why not just an extra module? If its just for debugging purpose, why to care about orphan instances?
02:29:25 <sim590> pavonia: actually :force works
02:32:30 × alx741 quits (~alx741@186.178.108.235) (Quit: alx741)
02:33:45 <sm> sim590: is it such a big hassle to specify Show in your types' classes ?
02:36:28 <sim590> sm: as I said earlier, it doesn't make sense. I don't like writing it if it doesn't makes sense. I'm expecting that if something derives the Show instance, it's that it's either going to be serialized in some way or printed somewhere. I want to keep a code that honors the expectations. That's how I see it..
02:37:40 <sm> I'm having a hard time understanding this, could be my fault
02:37:44 × hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection)
02:38:14 hendursaga joins (~weechat@user/hendursaga)
02:38:39 hololeap joins (~hololeap@user/hololeap)
02:39:46 × tv quits (~tv@user/tv) (Ping timeout: 240 seconds)
02:40:10 tv joins (~tv@user/tv)
02:40:28 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
02:40:28 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
02:40:28 wroathe joins (~wroathe@user/wroathe)
02:42:29 <sim590> May be it is a just a matter of opinion. But that's how I see my code. I want to write it in a way that if you write something, it's not in case you need it. It's because you *need* it. And I don't need the show instance in normal circumstances. If I can derive it while debugging and remove it afterwards and that my code is totally fine then and the library does what it needs to do, then it means
02:42:31 <sim590> that I don't need the Show instance in my code.
02:44:40 <sm> is it that you don't want to see "deriving Show" in the source ? or you don't want the generated show code in your production executable ? both ?
02:45:10 <monochrom> "data Foo = MkFoo deriving ()" is legal.
02:45:53 <monochrom> Now you can "#define SHOW Show" or "#define SHOW" depending on a flag. Then "data Foo = MkFoo deriving (SHOW)".
02:46:21 <monochrom> perhaps s/SHOW/MAYBESHOW/
02:46:22 × waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
02:46:37 × tv quits (~tv@user/tv) (Ping timeout: 250 seconds)
02:47:00 tv joins (~tv@user/tv)
02:47:39 <sim590> sm: both I'd say.
02:48:46 <sm> you can certainly have separate production and debug builds, with Show included by a build flag, eg like monochrom said. Personally I would really avoid that unless it were absolutely necessary
02:49:07 × machined1od quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
02:49:16 <sm> eg the production build is usually the one you'll want debug output from..
02:49:18 <sim590> monochrom: interesting! I'd keep that functionality in mind. For now, I think that :force is great for what I need. If I ever need something else, I'll think about that. I'll take a note. Thanks!!
02:50:20 <monochrom> In a test suite, I would use some kind of standalone deriving, and move on.
02:51:01 <ystael> in a _production_ system, I would derive Show _everywhere_ and swear about the places where I can't, because every missed opportunity to add inspectability is suffering waiting to happen
02:51:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
02:51:33 Erutuon joins (~Erutuon@user/erutuon)
02:51:35 <monochrom> Assuming that my users absolutely do not want me to do "deriving Show" outside the test suite.
02:52:23 <sm> ystael++
02:52:26 <monochrom> My suspicion though is that my users would appreciate it if I derived Show so they can also deriving Show.
02:53:21 <sim590> Weird: http://ix.io/3xv7. I've issued :force a first time and I got `mt = _`. Then I ran :print on it. I only saw the types then. And then, I tried :force again and it gave a different result (the one I wanted to being with). Why? Just curious.
02:53:32 <monochrom> Right? If my type is T and their type is "data B = MkB T Int deriving Show" and it errs on the stupid technicality that I don't provide Show in any way.
02:53:38 econo joins (uid147250@user/econo)
02:54:04 <monochrom> I definitely have seen complaints in this channel for that.
02:54:35 × sagax quits (~sagax@213.138.71.146) (Excess Flood)
02:55:14 × tv quits (~tv@user/tv) (Ping timeout: 244 seconds)
02:55:26 <sim590> monochrom: But why wouldn't your users just use `:force` in GHCi if there's no point in showing the datatype in question (I'm supposing we're talking about a data type which it makes no sense to show in normal circumstances).
02:55:44 <monochrom> Huh, my users aren't using :force.
02:55:54 <monochrom> My users aren't using ghci either.
02:55:55 <sim590> Well, may be they should. :p
02:56:14 <monochrom> Perhaps they also have their test suites to run.
02:56:53 <monochrom> You are saying that every use case of my library must confine itself to ghci and :force.
02:57:07 <monochrom> Is that some kind of proprietory lock in?
02:58:49 <sim590> It depends on the library. If we're talking about a library that define fundamental data types, like Maybe for instance, then I say yeah you could show it. But if your type hides a potentially huge recursive definition (like a tree), then I don't think it's worth doing since nobody is gonna show that somewhere.
03:07:52 tv joins (~tv@user/tv)
03:08:09 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds)
03:12:47 × otto_s quits (~user@p5b044a64.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
03:14:52 otto_s joins (~user@p5de2f66c.dip0.t-ipconnect.de)
03:18:58 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
03:19:22 × tv quits (~tv@user/tv) (Ping timeout: 252 seconds)
03:19:45 tv joins (~tv@user/tv)
03:21:42 <pavonia> Missing or "wrong" Show instances is actually one of the biggest nuisance in user libraries, IMHO
03:22:09 × xff0x quits (~xff0x@2001:1a81:52bb:c200:2c79:b44:78b6:918) (Ping timeout: 250 seconds)
03:23:05 xff0x joins (~xff0x@2001:1a81:52bb:c200:b53e:f2f2:3cdd:f236)
03:32:26 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 244 seconds)
03:33:15 azeem joins (~azeem@62.18.127.19)
03:34:10 × Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
03:35:54 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 250 seconds)
03:44:07 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 252 seconds)
03:46:43 azeem joins (~azeem@62.18.127.19)
03:50:29 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
03:55:05 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
03:55:05 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
03:55:05 wroathe joins (~wroathe@user/wroathe)
04:12:07 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds)
04:12:53 × napping quits (~brandon@65.128.58.64) (Quit: leaving)
04:13:02 dajoer joins (~david@user/gvx)
04:13:11 Maxdamantus joins (~Maxdamant@user/maxdamantus)
04:13:46 × zaquest quits (~notzaques@5.128.210.178) (Ping timeout: 252 seconds)
04:21:15 freizl joins (~user@astound-66-234-218-139.ca.astound.net)
04:21:56 freizl parts (~user@astound-66-234-218-139.ca.astound.net) ()
04:30:18 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 244 seconds)
04:30:47 × synthmeat quits (~synthmeat@user/synthmeat) (*.net *.split)
04:30:47 × Hafydd quits (~Hafydd@user/hafydd) (*.net *.split)
04:30:47 × vjoki quits (~vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split)
04:30:47 × phaazon quits (~phaazon@2001:41d0:a:fe76::1) (*.net *.split)
04:31:04 phaazon joins (~phaazon@2001:41d0:a:fe76::1)
04:31:07 Hafydd joins (~Hafydd@user/hafydd)
04:31:12 synthmeat joins (~synthmeat@user/synthmeat)
04:32:01 vjoki joins (~vjoki@2a00:d880:3:1::fea1:9ae)
04:32:15 azeem joins (~azeem@62.18.127.19)
04:39:37 × hueso quits (~root@user/hueso) (Ping timeout: 252 seconds)
04:40:08 hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
04:44:15 × hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
04:45:31 light_ joins (~light@2601:987:280:fb20:ad54:a859:84a:ccc3)
04:46:45 hueso joins (~root@user/hueso)
04:47:23 mei joins (~mei@user/mei)
04:47:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:48:16 × favonia quits (~favonia@user/favonia) (Ping timeout: 250 seconds)
04:50:47 light_ is now known as Smokey
04:50:51 × oxide quits (~lambda@user/oxide) (Quit: oxide)
04:55:58 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
04:59:25 × VoidNoir0 quits (~VoidNoir0@72.80.203.52) (Ping timeout: 252 seconds)
04:59:59 favonia joins (~favonia@user/favonia)
05:02:16 × Smokey quits (~light@2601:987:280:fb20:ad54:a859:84a:ccc3) (Quit: Leaving)
05:02:34 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 250 seconds)
05:02:59 azeem joins (~azeem@62.18.127.19)
05:03:53 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 244 seconds)
05:03:56 light_ joins (~light@2601:987:280:fb20:ad54:a859:84a:ccc3)
05:05:37 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:06:06 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:06:52 hyiltiz joins (~quassel@31.220.5.250)
05:08:32 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
05:08:50 MQ-17J joins (~MQ-17J@8.21.10.6)
05:09:52 jakalx parts (~jakalx@base.jakalx.net) ()
05:10:06 mceldeen joins (~igloo@174-16-163-16.hlrn.qwest.net)
05:12:33 × light_ quits (~light@2601:987:280:fb20:ad54:a859:84a:ccc3) (Quit: Leaving)
05:13:13 × MQ-17J quits (~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds)
05:15:20 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:15:51 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
05:16:38 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:17:52 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
05:18:31 × mceldeen quits (~igloo@174-16-163-16.hlrn.qwest.net) (Remote host closed the connection)
05:21:19 × andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Remote host closed the connection)
05:21:33 andreas3- joins (andreas303@ip227.orange.bnc4free.com)
05:22:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
05:25:07 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
05:26:01 Gurkenglas joins (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de)
05:28:39 Christoph[m]12 joins (~hpotsirhc@2001:470:69fc:105::2ff8)
05:31:05 jpds joins (~jpds@gateway/tor-sasl/jpds)
05:31:40 jakalx joins (~jakalx@base.jakalx.net)
05:36:16 × cjb quits (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50)
05:42:12 lavaman joins (~lavaman@98.38.249.169)
05:45:22 nschoe joins (~quassel@2a01:e0a:8e:a190:3b50:adda:f977:f818)
05:46:46 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
05:50:42 hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
05:53:22 ubert joins (~Thunderbi@178.165.202.159.wireless.dyn.drei.com)
05:53:26 <dminuoso> pavonia: Is it? Im personally annoyed by the abundance of incorrect Show instances.
05:53:41 <dminuoso> At the end, they are just some rudimentary debugging tool for developers.
05:55:10 × hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
05:55:34 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 252 seconds)
05:56:19 <pavonia> Well, that's what I meant by "wrong". Instances that do no reflect the underlying Haskell data type
05:56:24 azeem joins (~azeem@62.18.127.19)
05:58:11 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
05:59:58 × ubert quits (~Thunderbi@178.165.202.159.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
06:00:20 oxide joins (~lambda@user/oxide)
06:05:36 gehmehgeh joins (~user@user/gehmehgeh)
06:07:26 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds)
06:09:29 × markus_ quits (~markus@193-154-202-236.adsl.highway.telekom.at) (Quit: Leaving)
06:11:10 lep is now known as lep-
06:12:34 × sjb0 quits (~stephen@1.145.78.87) (Quit: Leaving.)
06:16:36 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
06:17:03 jpds joins (~jpds@gateway/tor-sasl/jpds)
06:20:42 neo1 joins (~neo3@cpe-292712.ip.primehome.com)
06:22:06 michalz joins (~michalz@185.246.204.40)
06:24:30 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:24:30 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
06:24:30 wroathe joins (~wroathe@user/wroathe)
06:24:38 <tomsmeding> maerwald: I believe some haskell code that I still have lying around, combined with a bit of manual processing of 'cabal-plan dot' output :p
06:25:14 lep- is now known as lep
06:28:47 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
06:29:21 <tomsmeding> maerwald: current largest win is dropping libarchive lol
06:32:34 <tomsmeding> maerwald: apparently you can drop 7 deps by dropping haskus-utils-variant-3.1
06:33:16 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 244 seconds)
06:36:00 Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk)
06:38:17 max22- joins (~maxime@2a01cb0883359800abc384d6504f49b2.ipv6.abo.wanadoo.fr)
06:39:48 × nschoe quits (~quassel@2a01:e0a:8e:a190:3b50:adda:f977:f818) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
06:40:03 nschoe joins (~quassel@2a01:e0a:8e:a190:3b50:adda:f977:f818)
06:40:16 <maerwald[m]> tomsmeding: how I unpack stuff without libarchive lol
06:41:07 <tomsmeding> you don't, which is why I just added it to my dontblock list :p
06:41:12 <tomsmeding> s/block/drop/
06:44:06 <maerwald[m]> haskus doesn't have many alternatives. Only plucky
06:46:14 <tomsmeding> maerwald[m]: https://paste.tomsmeding.com/hOVxa3Se
06:47:46 <tomsmeding> and the max-savings sets of size 1, 2 and 3 are thoroughly unenlightening: haskus-utils-variant, huv+brick, hub+brick+optics
06:48:08 <tomsmeding> maerwald[m]: seems you've already removed the low-hanging fruit
06:50:26 <tomsmeding> why does data-clist (dependency of brick) depend on QuickCheck
06:51:12 <tomsmeding> ....... because it wants to provide instances
06:51:28 <tomsmeding> this is a significant problem that prevents people from minimising their dependency footprint
06:57:50 × oxide quits (~lambda@user/oxide) (Ping timeout: 250 seconds)
06:59:28 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:00:14 hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
07:00:21 oxide joins (~lambda@user/oxide)
07:04:27 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds)
07:04:35 o is now known as niko
07:04:44 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
07:06:11 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Ping timeout: 250 seconds)
07:07:48 <Axman6> This is one of the reasons popular libraries so often split into a foo-core and foo, so people can depend on just the definitons and not the whole library. it's not a simple problem to solve sadly
07:08:15 <tomsmeding> yeah I didn't claim to have a solution :p
07:09:03 <dibblego> nobody fixed that yet?
07:09:04 elf_fortrez joins (~elf_fortr@adsl-72-50-7-85.prtc.net)
07:13:33 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:14:05 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
07:21:49 fendor joins (~fendor@91.141.74.138.wireless.dyn.drei.com)
07:27:31 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 244 seconds)
07:27:32 kenran joins (~kenran@200116b82b76160097a4bfdda94078aa.dip.versatel-1u1.de)
07:28:00 azeem joins (~azeem@62.18.127.19)
07:29:47 × elf_fortrez quits (~elf_fortr@adsl-72-50-7-85.prtc.net) (Quit: Client closed)
07:29:59 jaamro is now known as ormaaj
07:34:40 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 250 seconds)
07:35:01 azeem joins (~azeem@62.18.127.19)
07:35:40 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
07:36:42 hyiltiz joins (~quassel@31.220.5.250)
07:39:06 vysn joins (~vysn@user/vysn)
07:39:53 opac joins (~opac@ip-28-56.sn2.clouditalia.com)
07:41:13 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
07:47:40 × cheater quits (~Username@user/cheater) (Ping timeout: 244 seconds)
07:49:57 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
07:52:10 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
07:56:45 acidjnk_new3 joins (~acidjnk@p200300d0c72b958461a8e0175dc7ce9e.dip0.t-ipconnect.de)
07:58:11 × mcglk_ quits (~mcglk@131.191.49.120) (Ping timeout: 250 seconds)
08:00:49 mcglk joins (~mcglk@131.191.49.120)
08:04:29 cfricke joins (~cfricke@user/cfricke)
08:05:31 hendursa1 joins (~weechat@user/hendursaga)
08:05:55 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 252 seconds)
08:09:00 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
08:09:39 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
08:10:33 azeem joins (~azeem@62.18.127.19)
08:13:03 d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
08:19:59 × CyrusT[m] quits (~cyrustcru@2001:470:69fc:105::306e) (Quit: You have been idle for 30+ days)
08:22:21 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
08:24:59 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
08:27:07 sjb0 joins (~stephen@1.145.78.87)
08:28:28 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
08:29:08 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
08:30:08 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
08:31:49 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
08:33:29 __monty__ joins (~toonn@user/toonn)
08:36:14 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
08:36:31 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
08:39:54 Vajb joins (~Vajb@85-76-32-132-nat.elisa-mobile.fi)
08:41:07 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
08:41:24 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
08:41:55 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 244 seconds)
08:42:43 × Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 252 seconds)
08:43:04 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
08:44:35 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6) (Remote host closed the connection)
08:46:20 azeem joins (~azeem@62.18.127.19)
08:48:16 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
08:53:49 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
08:56:50 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
08:58:16 kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
08:58:58 × azeem quits (~azeem@62.18.127.19) (Ping timeout: 244 seconds)
09:13:18 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:14:48 sjb01 joins (~stephen@2001:8004:2728:bb6:f4a4:82a7:ee79:3dae)
09:15:35 × sjb0 quits (~stephen@1.145.78.87) (Read error: No route to host)
09:18:43 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
09:23:03 Guest24 joins (~Guest24@adsl-72-50-4-41.prtc.net)
09:28:21 acidjnk_new joins (~acidjnk@p200300d0c72b9584411cb99d5036b21f.dip0.t-ipconnect.de)
09:29:30 × max22- quits (~maxime@2a01cb0883359800abc384d6504f49b2.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
09:31:47 × acidjnk_new3 quits (~acidjnk@p200300d0c72b958461a8e0175dc7ce9e.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
09:35:23 cheater joins (~Username@user/cheater)
09:36:35 <maerwald> dependencies per symbol?
09:40:49 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 244 seconds)
09:45:00 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6)
09:45:27 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
09:46:10 gehmehgeh joins (~user@user/gehmehgeh)
09:49:10 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6) (Ping timeout: 240 seconds)
09:52:37 × xff0x quits (~xff0x@2001:1a81:52bb:c200:b53e:f2f2:3cdd:f236) (Ping timeout: 252 seconds)
09:53:15 xff0x joins (~xff0x@2001:1a81:52bb:c200:2daa:f38a:b2b7:ac83)
10:00:50 × Guest24 quits (~Guest24@adsl-72-50-4-41.prtc.net) (Quit: Client closed)
10:05:37 × neo1 quits (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 244 seconds)
10:09:17 × acidjnk_new quits (~acidjnk@p200300d0c72b9584411cb99d5036b21f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
10:11:55 acidjnk_new joins (~acidjnk@p200300d0c72b958455fe344ab2f7364a.dip0.t-ipconnect.de)
10:14:27 × kenran quits (~kenran@200116b82b76160097a4bfdda94078aa.dip.versatel-1u1.de) (Quit: WeeChat info:version)
10:14:45 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
10:17:47 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
10:23:22 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
10:26:34 × kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Read error: Connection reset by peer)
10:27:11 acidjnk_new3 joins (~acidjnk@p200300d0c72b9584d1c56aac246435af.dip0.t-ipconnect.de)
10:29:02 azeem joins (~azeem@62.19.63.88)
10:31:07 × acidjnk_new quits (~acidjnk@p200300d0c72b958455fe344ab2f7364a.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
10:36:51 zaquest joins (~notzaques@5.128.210.178)
10:42:04 × azeem quits (~azeem@62.19.63.88) (Ping timeout: 252 seconds)
10:43:39 max22- joins (~maxime@2a01cb0883359800c385dd054c0a20af.ipv6.abo.wanadoo.fr)
10:45:28 azeem joins (~azeem@62.19.63.88)
10:45:38 Morrow_ joins (~Morrow@31.154.96.164)
10:56:36 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds)
10:57:50 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
10:58:19 × Morrow_ quits (~Morrow@31.154.96.164) (Ping timeout: 244 seconds)
10:58:22 <kuribas> Is there an easy alternative for effect stacks?
10:58:27 <kuribas> For example Validation over StateT.
10:58:30 <kuribas> Maybe Just use IO and a mutable variable?
10:58:51 <kuribas> (it's a project for haskell newbee's)
10:58:58 × sjb01 quits (~stephen@2001:8004:2728:bb6:f4a4:82a7:ee79:3dae) (Read error: Connection reset by peer)
10:59:34 <kuribas> Or the ST monad if I want to remain pure?
11:01:02 alx741 joins (~alx741@186.178.108.235)
11:01:56 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
11:03:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
11:04:00 × azeem quits (~azeem@62.19.63.88) (Ping timeout: 244 seconds)
11:04:33 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:08:48 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
11:09:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
11:10:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:11:07 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
11:15:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
11:16:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:17:46 sjb0 joins (~stephen@2001:8004:2738:35de:a1a3:a1c1:6e62:ba62)
11:21:03 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
11:21:18 × pbrisbin quits (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Ping timeout: 250 seconds)
11:21:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:25:19 fendor_ joins (~fendor@77.119.206.17.wireless.dyn.drei.com)
11:25:29 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
11:27:15 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
11:27:46 × fendor quits (~fendor@91.141.74.138.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
11:27:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:30:50 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
11:30:51 × Vajb quits (~Vajb@85-76-32-132-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
11:31:43 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
11:32:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
11:33:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:39:39 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
11:40:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:40:24 × bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
11:40:34 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
11:45:20 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
11:46:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:46:50 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6)
11:49:59 acidjnk_new joins (~acidjnk@p5487d90a.dip0.t-ipconnect.de)
11:51:19 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6) (Ping timeout: 250 seconds)
11:53:04 × acidjnk_new3 quits (~acidjnk@p200300d0c72b9584d1c56aac246435af.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
11:54:36 chris joins (~chris@81.96.113.213)
11:54:41 chris is now known as Guest8194
12:00:50 × Guest8194 quits (~chris@81.96.113.213) (Ping timeout: 244 seconds)
12:02:17 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:02:32 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Read error: Connection reset by peer)
12:02:49 kenran joins (~kenran@i577BCDA3.versanet.de)
12:02:54 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
12:03:45 mizu_no_oto joins (~textual@cpe-74-67-208-45.twcny.res.rr.com)
12:05:29 × oxide quits (~lambda@user/oxide) (Ping timeout: 244 seconds)
12:07:42 oxide joins (~lambda@user/oxide)
12:09:31 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
12:09:35 × mizu_no_oto quits (~textual@cpe-74-67-208-45.twcny.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:09:50 × max22- quits (~maxime@2a01cb0883359800c385dd054c0a20af.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
12:17:24 <dminuoso> Over time I've become a RIO without even knowing it. In my opinion, large scale monadic transformer stacks have various problems attached to it
12:17:31 <dminuoso> *RIO proponent
12:17:48 mizu_no_oto joins (~textual@cpe-74-67-208-45.twcny.res.rr.com)
12:19:09 <kuribas> dminuoso: ReaderT IO for everything?
12:19:14 <kuribas> even pure functions?
12:19:56 <dminuoso> kuribas: Not for everything, just the parts that need IO interleaved.
12:20:12 <dminuoso> And to be fair, I personally use `LoggingT (ReaderT Envt)`
12:20:26 <kuribas> dminuoso: where do get LoggingT from?
12:20:30 <dminuoso> monad-logger
12:20:48 Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
12:21:48 <dminuoso> If I need state, I usually bury it into IORefs into the environment.
12:22:02 <dminuoso> Though *local* uses StateT are fine and I sometimes do it
12:22:25 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
12:22:58 hololeap joins (~hololeap@user/hololeap)
12:23:00 <kuribas> dminuoso: yes this is local.
12:23:13 <kuribas> dminuoso: but also interleaved with Validation, which makes it a bit complicated...
12:23:26 <dminuoso> kuribas: Hard to say in general. How local is local?
12:23:27 <kuribas> hmm, StateT and validation makes no sense though...
12:23:31 <kuribas> dminuoso: one function
12:23:49 <maerwald> dminuoso: the reason I don't use RIO is because it doesn't have an outer ExceptT
12:23:54 <dminuoso> You can also in principle put the validation into your state
12:24:21 <dminuoso> maerwald: You can always through in IO
12:24:24 <dminuoso> *throw in IO
12:24:29 <maerwald> yeah, not the same
12:24:33 <dminuoso> Yeah I know its not the same
12:24:43 <maerwald> And I know that Snoyman is against ExceptT IO
12:24:47 <maerwald> but the arguments are odd
12:25:02 <dminuoso> Its quite interesting because over time I developed the same exact reasons as Snoyman has.
12:25:05 <kuribas> dminuoso: so to be beginner friendly, state in IO, and throw exceptions instead of Either?
12:25:15 <dminuoso> kuribas: What's the goal here anyway?
12:25:19 <dminuoso> What do you intend to teach?
12:25:28 <kuribas> dminuoso: not teach, it's a practical project
12:25:34 qbt joins (~edun@user/edun)
12:25:34 <kuribas> but should be usable by beginners.
12:25:41 <maerwald> dminuoso: well, the arguments against ExceptT IO are the same as against `IO (Either a b)` and that's really... uh, nonsense
12:25:43 <dminuoso> I wouldn't pick beginner readability as a concern.
12:26:07 <kuribas> dminuoso: it's not nonsense.
12:26:12 <dminuoso> maerwald: Oh well, I guess I meant wrt to RIO not ExceptT. :)
12:26:23 <kuribas> dminuoso: it means I care about the "Left" result...
12:26:29 <dminuoso> kuribas: Wrong recipient.
12:26:42 <kuribas> dminuoso: excuse me?
12:26:46 <kuribas> ah right :)à
12:26:49 <maerwald> well, unless you think checked exceptions are nonsense, then yeah
12:27:20 <maerwald> for low level libraries I agree
12:27:29 <kuribas> maerwald: I think exceptions which are part of control flow, needs to be visible.
12:27:31 <maerwald> I don't think e.g. `directory` should make any distinction
12:27:35 <kuribas> And exceptions aren't very visible.
12:27:36 <dminuoso> The main thing I dont like about ExceptT, is that it doesnt compose well on global parts of programs, because you get the same unlifting problematic
12:27:47 <maerwald> for application layer, not having `IO (Either a b)` is insane and hard to maintain
12:28:02 <dminuoso> If you dont mind or need MonadBaseControl, then all of this is mood, and transformers are great tools.
12:28:11 <dminuoso> Even on larger scale
12:28:44 favonia joins (~favonia@user/favonia)
12:29:05 <dminuoso> To me, there's no obviously correct way to even implement MoandBaseControl that doesn't surprise you in the presence of exceptions and bracket.
12:30:16 <dminuoso> maerwald: Mmm, I dont mind `IO (Either a b)`, but hierarchial exceptions can get the job done too
12:30:35 <dminuoso> But bizarrely hierarchial exceptions appears to have become a forgotten art if I look at source code on hackage a lot.
12:32:14 vektor joins (~vektor@94.46.71.236)
12:33:08 <merijn> dminuoso: Word
12:34:36 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
12:38:40 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
12:38:56 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:38:57 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
12:42:04 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM)
12:42:04 × MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Quit: Bridge terminating on SIGTERM)
12:42:04 × siraben quits (~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
12:42:04 × kadoban quits (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
12:42:04 × ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM)
12:42:04 × Dima[m] quits (~reddima10@2001:470:69fc:105::366) (Quit: Bridge terminating on SIGTERM)
12:42:04 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM)
12:42:04 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
12:42:04 × peddie quits (~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
12:42:04 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM)
12:42:04 × sm quits (~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
12:42:04 × psydroid quits (~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM)
12:42:04 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
12:42:04 × jophish quits (~jophish@2001:470:69fc:105::670) (Quit: Bridge terminating on SIGTERM)
12:42:04 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
12:42:04 × Deide quits (~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
12:42:04 × denbrahe[m] quits (~denbrahem@2001:470:69fc:105::19c0) (Quit: Bridge terminating on SIGTERM)
12:42:04 × rednaZ[m] quits (~r3dnazmat@2001:470:69fc:105::ba70) (Quit: Bridge terminating on SIGTERM)
12:42:04 × fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Quit: Bridge terminating on SIGTERM)
12:42:04 × Tisoxin quits (~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
12:42:04 × boxscape quits (~boxscape@user/boxscape) (Quit: Bridge terminating on SIGTERM)
12:42:04 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM)
12:42:04 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM)
12:42:04 × jkachmar quits (~jkachmar@2001:470:69fc:105::c72d) (Quit: Bridge terminating on SIGTERM)
12:42:04 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Quit: Bridge terminating on SIGTERM)
12:42:04 × kevin[m]1 quits (~pnotequal@2001:470:69fc:105::a54) (Quit: Bridge terminating on SIGTERM)
12:42:04 × JavierNeira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
12:42:04 × Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM)
12:42:04 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM)
12:42:04 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (Quit: Bridge terminating on SIGTERM)
12:42:04 × kar1 quits (~kar1@2001:470:69fc:105::c308) (Quit: Bridge terminating on SIGTERM)
12:42:04 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (Quit: Bridge terminating on SIGTERM)
12:42:04 × lwe[m] quits (~dendrumat@2001:470:69fc:105::2f9b) (Quit: Bridge terminating on SIGTERM)
12:42:04 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
12:42:04 × the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Quit: Bridge terminating on SIGTERM)
12:42:04 × jaror[m] quits (~jaror@2001:470:69fc:105::265) (Quit: Bridge terminating on SIGTERM)
12:42:04 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM)
12:42:04 × polykernel quits (~polykerne@user/polykernel) (Quit: Bridge terminating on SIGTERM)
12:42:04 × Drew[m] quits (~drewefenw@2001:470:69fc:105::c8c4) (Quit: Bridge terminating on SIGTERM)
12:42:04 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
12:42:04 × PotatoHatsue quits (~berberman@2001:470:69fc:105::b488) (Quit: Bridge terminating on SIGTERM)
12:42:04 × dualinverter[m] quits (~dualinver@2001:470:69fc:105::16a7) (Quit: Bridge terminating on SIGTERM)
12:42:05 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
12:42:05 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM)
12:42:05 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
12:42:05 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Bridge terminating on SIGTERM)
12:42:05 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
12:42:05 × jakefromstatefar quits (~jakefroms@2001:470:69fc:105::15ef) (Quit: Bridge terminating on SIGTERM)
12:42:05 × Magnus[m] quits (~magthetch@2001:470:69fc:105::d1a7) (Quit: Bridge terminating on SIGTERM)
12:42:05 × hughjfchen[m] quits (~hughjfche@2001:470:69fc:105::c29d) (Quit: Bridge terminating on SIGTERM)
12:42:05 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM)
12:42:05 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM)
12:42:05 × soft quits (~soft-matr@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM)
12:42:05 × Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (Quit: Bridge terminating on SIGTERM)
12:42:05 × adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Quit: Bridge terminating on SIGTERM)
12:42:05 × OndejSkup[m] quits (~mimivxmat@2001:470:69fc:105::c300) (Quit: Bridge terminating on SIGTERM)
12:42:06 × SimonWeiss[m] quits (~weiss-dma@2001:470:69fc:105::bebd) (Quit: Bridge terminating on SIGTERM)
12:42:06 × vbeatrice[m] quits (~vbeatrice@2001:470:69fc:105::3ebf) (Quit: Bridge terminating on SIGTERM)
12:42:06 × afotgkmnzj7asv3r quits (~afotgkmnz@2001:470:69fc:105::c24b) (Quit: Bridge terminating on SIGTERM)
12:42:06 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM)
12:42:06 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
12:42:06 × fakehacker[m] quits (~fakehacke@2001:470:69fc:105::b5f0) (Quit: Bridge terminating on SIGTERM)
12:42:06 × stoicswe[m] quits (~deadlette@2001:470:69fc:105::d277) (Quit: Bridge terminating on SIGTERM)
12:42:06 × infinisil quits (~infinisil@2001:470:69fc:105::ff8) (Quit: Bridge terminating on SIGTERM)
12:42:06 × Teohehim[m] quits (~teocmatri@2001:470:69fc:105::d327) (Quit: Bridge terminating on SIGTERM)
12:42:06 × ongy[m] quits (~ongymatri@2001:470:69fc:105::5018) (Quit: Bridge terminating on SIGTERM)
12:42:06 × deuslambda[m] quits (~deuslambd@2001:470:69fc:105::c749) (Quit: Bridge terminating on SIGTERM)
12:42:07 × andreabedini[m] quits (~andreabed@2001:470:69fc:105::c821) (Quit: Bridge terminating on SIGTERM)
12:42:07 × rosariopulella[m quits (~rosariopu@2001:470:69fc:105::a57) (Quit: Bridge terminating on SIGTERM)
12:42:08 × bakinonion[m] quits (~bakinonio@2001:470:69fc:105::ddb3) (Quit: Bridge terminating on SIGTERM)
12:42:08 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
12:42:08 × wysteriary[m] quits (~wysteriar@2001:470:69fc:105::a42e) (Quit: Bridge terminating on SIGTERM)
12:42:08 × hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Quit: Bridge terminating on SIGTERM)
12:42:08 × monadfritz[m] quits (~ahdytmatr@2001:470:69fc:105::e1f1) (Quit: Bridge terminating on SIGTERM)
12:42:09 × yin[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM)
12:42:09 × quantum quits (~quantum@user/quantum/x-8556232) (Quit: Bridge terminating on SIGTERM)
12:42:09 × Christoph[m]12 quits (~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Bridge terminating on SIGTERM)
12:42:11 × jchia[m] quits (~jchiamatr@2001:470:69fc:105::c50b) (Quit: Bridge terminating on SIGTERM)
12:42:11 × jmcantrell quits (~jmcantrel@user/jmcantrell) (Quit: Bridge terminating on SIGTERM)
12:42:11 × srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM)
12:42:11 × wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (Quit: Bridge terminating on SIGTERM)
12:42:11 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM)
12:42:12 × Cesionaut[m] quits (~cesionaut@2001:470:69fc:105::dd3b) (Quit: Bridge terminating on SIGTERM)
12:42:12 × zfnmxt quits (~zfnmxtzfn@user/zfnmxt) (Quit: Bridge terminating on SIGTERM)
12:42:12 × RohitGoswami[m]1 quits (~rgoswamim@2001:470:69fc:105::16cc) (Quit: Bridge terminating on SIGTERM)
12:42:12 × hsek[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Quit: Bridge terminating on SIGTERM)
12:42:12 × masaeedu[m] quits (~masaeedum@2001:470:69fc:105::e256) (Quit: Bridge terminating on SIGTERM)
12:42:12 × thonoht[m] quits (~thonohtma@2001:470:69fc:105::d7be) (Quit: Bridge terminating on SIGTERM)
12:42:12 × aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (Quit: Bridge terminating on SIGTERM)
12:42:13 × jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Quit: Bridge terminating on SIGTERM)
12:45:15 jakefromstatefar joins (~jakefroms@2001:470:69fc:105::15ef)
12:46:18 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
12:46:22 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
12:46:35 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
12:52:49 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
12:53:01 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
12:53:10 × sus quits (thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
12:53:18 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
12:53:51 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
12:54:03 Sgeo joins (~Sgeo@user/sgeo)
12:54:49 chris joins (~chris@81.96.113.213)
12:54:53 chris is now known as Guest2769
12:55:13 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
12:55:13 jaror[m] joins (~jaror@2001:470:69fc:105::265)
12:55:13 fgaz joins (~fgaz@2001:470:69fc:105::842)
12:55:13 peddie joins (~peddie@2001:470:69fc:105::25d)
12:55:13 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
12:55:13 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
12:55:13 thomasjm[m] joins (~thomasjmm@2001:470:69fc:105::c6d9)
12:55:13 hsek[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
12:55:13 ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2)
12:55:13 quantum joins (~quantum@user/quantum/x-8556232)
12:55:13 bb010g joins (~bb010g@2001:470:69fc:105::9a5)
12:55:13 fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db)
12:55:13 ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a)
12:55:13 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
12:55:13 the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f)
12:55:13 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
12:55:13 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
12:55:13 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
12:55:13 kadoban joins (~kadoban@user/kadoban)
12:55:14 bitonic joins (~bitonic@2001:470:69fc:105::1812)
12:55:14 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
12:55:14 jophish joins (~jophish@2001:470:69fc:105::670)
12:55:14 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
12:55:14 MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22)
12:55:14 PotatoHatsue joins (~berberman@2001:470:69fc:105::b488)
12:55:14 ixlun joins (~ixlun@2001:470:69fc:105::41b3)
12:55:14 Deewiant joins (~deewiant@2001:470:69fc:105::2fd3)
12:55:14 unclechu joins (~unclechu@2001:470:69fc:105::354)
12:55:14 rednaZ[m] joins (~r3dnazmat@2001:470:69fc:105::ba70)
12:55:14 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
12:55:14 SimonWeiss[m] joins (~weiss-dma@2001:470:69fc:105::bebd)
12:55:14 maralorn joins (~maralorn@2001:470:69fc:105::251)
12:55:14 denbrahe[m] joins (~denbrahem@2001:470:69fc:105::19c0)
12:55:14 lwe[m] joins (~dendrumat@2001:470:69fc:105::2f9b)
12:55:14 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
12:55:14 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
12:55:14 boxscape joins (~boxscape@user/boxscape)
12:55:14 schuelermine[m] joins (~schuelerm@user/schuelermine)
12:55:14 sm joins (~sm@plaintextaccounting/sm)
12:55:14 jkachmar joins (~jkachmar@2001:470:69fc:105::c72d)
12:55:14 kevin[m]1 joins (~pnotequal@2001:470:69fc:105::a54)
12:55:14 Deide joins (~deide@user/deide)
12:55:14 hughjfchen[m] joins (~hughjfche@2001:470:69fc:105::c29d)
12:55:14 srid[m] joins (~sridmatri@2001:470:69fc:105::1c2)
12:55:14 psydroid joins (~psydroid@user/psydroid)
12:55:14 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
12:55:14 thonoht[m] joins (~thonohtma@2001:470:69fc:105::d7be)
12:55:15 polykernel joins (~polykerne@user/polykernel)
12:55:15 OndejSkup[m] joins (~mimivxmat@2001:470:69fc:105::c300)
12:55:15 kar1 joins (~kar1@2001:470:69fc:105::c308)
12:55:15 ongy[m] joins (~ongymatri@2001:470:69fc:105::5018)
12:55:15 alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba)
12:55:15 ormaaj joins (~ormaaj@user/ormaaj)
12:55:15 infinisil joins (~infinisil@2001:470:69fc:105::ff8)
12:55:15 andreabedini[m] joins (~andreabed@2001:470:69fc:105::c821)
12:55:15 Drew[m] joins (~drewefenw@2001:470:69fc:105::c8c4)
12:55:15 Magnus[m] joins (~magthetch@2001:470:69fc:105::d1a7)
12:55:15 siraben joins (~siraben@user/siraben)
12:55:15 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
12:55:15 JavierNeira[m] joins (~jneiramat@2001:470:69fc:105::d729)
12:55:15 Tisoxin joins (~ikosit@user/ikosit)
12:55:15 Dima[m] joins (~reddima10@2001:470:69fc:105::366)
12:55:15 bakinonion[m] joins (~bakinonio@2001:470:69fc:105::ddb3)
12:55:15 jmcantrell joins (~jmcantrel@user/jmcantrell)
12:55:15 masaeedu[m] joins (~masaeedum@2001:470:69fc:105::e256)
12:55:21 hyiltiz joins (~quassel@31.220.5.250)
12:55:25 adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d)
12:55:25 wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae)
12:55:25 soft joins (~soft-matr@2001:470:69fc:105::c75)
12:55:25 dualinverter[m] joins (~dualinver@2001:470:69fc:105::16a7)
12:55:25 jchia[m] joins (~jchiamatr@2001:470:69fc:105::c50b)
12:55:26 justosophy[m] joins (~justosoph@2001:470:69fc:105::572f)
12:55:26 aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9)
12:55:26 afotgkmnzj7asv3r joins (~afotgkmnz@2001:470:69fc:105::c24b)
12:55:26 vbeatrice[m] joins (~vbeatrice@2001:470:69fc:105::3ebf)
12:55:26 Ollie[m] joins (~ollieocha@2001:470:69fc:105::41a5)
12:55:26 RohitGoswami[m] joins (~rgoswamim@2001:470:69fc:105::16cc)
12:55:26 wysteriary[m] joins (~wysteriar@2001:470:69fc:105::a42e)
12:55:26 deuslambda[m] joins (~deuslambd@2001:470:69fc:105::c749)
12:55:26 fakehacker[m] joins (~fakehacke@2001:470:69fc:105::b5f0)
12:55:26 jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae)
12:55:27 hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd)
12:55:27 Cesionaut[m] joins (~cesionaut@2001:470:69fc:105::dd3b)
12:55:27 rosariopulella[m joins (~rosariopu@2001:470:69fc:105::a57)
12:55:27 Teohehim[m] joins (~teocmatri@2001:470:69fc:105::d327)
12:55:27 monadfritz[m] joins (~ahdytmatr@2001:470:69fc:105::e1f1)
12:55:27 yin[m] joins (~zwromatri@2001:470:69fc:105::1d4)
12:55:27 stoicswe[m] joins (~deadlette@2001:470:69fc:105::d277)
12:55:28 Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56)
12:55:28 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
12:56:08 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Changing host)
12:56:08 maerwald[m] joins (~maerwaldm@user/maerwald)
12:56:15 arjun joins (~user@user/arjun)
12:56:17 sus joins (thelounge@user/zeromomentum)
12:56:22 × sus quits (thelounge@user/zeromomentum) (Client Quit)
12:56:49 sus joins (thelounge@user/zeromomentum)
12:57:51 max22- joins (~maxime@2a01cb0883359800da62ac58cdf235c4.ipv6.abo.wanadoo.fr)
12:59:03 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
12:59:30 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
12:59:32 <arjun> hi, i've installed ghc 9.2-rc1 on my aarch64 chromebook, ghc itself works, but i can't seem to build packages with it (it always errors in cabal install step), is this to be expected since it's so new and an rc ?
12:59:54 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
13:00:16 <maerwald> what's the error
13:01:16 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
13:01:23 <merijn> arjun: It could also be packages not supporting 9.2 yet
13:02:02 Vajb joins (~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92)
13:04:06 × max22- quits (~maxime@2a01cb0883359800da62ac58cdf235c4.ipv6.abo.wanadoo.fr) (Ping timeout: 256 seconds)
13:04:10 <arjun> oh, hi maerwald
13:04:13 ubert joins (~Thunderbi@178.165.179.224.wireless.dyn.drei.com)
13:04:15 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2)
13:04:45 <arjun> here's the error: https://pastebin.com/tLQkS5s4
13:05:02 <arjun> merijn: i guess
13:05:32 <maerwald> arjun: https://github.com/lpsmith/blaze-builder/issues/23
13:06:00 <maerwald> there's a patch
13:06:14 <maerwald> but the maintainer isn't responding
13:07:06 <merijn> arjun: Yeah, that's just a package not supporting 9.2
13:07:16 <merijn> maerwald: blaze-builder was handed over yesterday or the day before
13:07:37 pbrisbin joins (~patrick@2601:83:8002:d080:d2c6:37ff:fec8:a415)
13:08:01 <merijn> Or was that a different package...I thought blaze-builder was the bos one
13:08:25 <maerwald> you can try an NMU, but I've had no success with them lately either
13:08:27 × Vajb quits (~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92) (Read error: Connection reset by peer)
13:08:38 <arjun> merijn: maerwald i've tried building 3 different projects, one thing or the other errored in each of them
13:08:39 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
13:08:51 × sus quits (thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
13:09:01 <arjun> should i be documenting these ? or just, wait?
13:09:20 sus joins (thelounge@user/zeromomentum)
13:10:08 <merijn> arjun: 9.2 isn't officially released, afaict, and it's not weird for it to took 1-2 months before the biggest packages support a new version (let alone the long tail)
13:10:19 <merijn> arjun: You can certainly make issues (and patches!)
13:11:25 <maerwald> and then see them bitrot :D
13:11:47 <arjun> merijn: even cabal warns me it thinks the ghc is too new, it only supports < 9.1 or somethin
13:12:39 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 244 seconds)
13:13:26 <arjun> maerwald: i'll start with ghcup 3:D
13:14:00 <maerwald> you can use patches by specifying the PR branch via source-repository-package
13:14:07 <maerwald> in cabal.project
13:14:20 <maerwald> only downside is, you can't upload your package to hackage that way
13:14:33 <maerwald> I feel we need a solution to that
13:14:48 <maerwald> I can't be bothered to fix 5+ upstream packages before I can upload something to hackage
13:16:12 <maerwald> even if it's just some beta-marked version or whatever
13:16:18 <shapr> Is there a process for non-maintainers to jump in and fix things for new GHC releases?
13:16:35 <maerwald> they have a patch branch I think
13:17:13 Vajb joins (~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92)
13:17:15 <maerwald> https://gitlab.haskell.org/ghc/head.hackage
13:17:54 <arjun> i think the maintainers of the big packages (by some criteria) should be intimated before releases
13:18:31 <arjun> "hey, we're releasing a new ghc, your package is used a lot, would you like to update it?"
13:18:52 <merijn> I think maintainers should do whatever the fuck they want
13:19:17 × Guest2769 quits (~chris@81.96.113.213) (Ping timeout: 245 seconds)
13:19:19 <merijn> Open source is free-as-in-puppies
13:20:02 <maerwald> arjun: hackage could be extended to have some form of email-notification or even global bugtracker, but a) not sure that would fix anything and b) you'd have to go through months of bikeshedding
13:22:24 khumba joins (~khumba@user/khumba)
13:23:31 <arjun> merijn: i hear you, but when some packages get too dependent upon, i think there should be some checks somewhere. for eg. imagine if the flask or scikit-learn didn't support new python versions?
13:23:31 × Vajb quits (~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92) (Read error: Connection reset by peer)
13:24:04 <merijn> arjun: I don't have to imagine
13:24:16 <merijn> Took me months to port my scikit-learn code to newer python
13:24:37 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
13:24:56 shriekingnoise joins (~shrieking@186.137.144.80)
13:27:21 <arjun> maerwald: right.
13:28:16 <arjun> merijn: i wonder what they'll break in 4.0
13:28:43 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
13:28:55 <merijn> The world >.>
13:29:42 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
13:30:14 azeem joins (~azeem@62.19.12.145)
13:30:51 <Lycurgus> 9 has some dependent type thing doesn't it? that's the big deal?
13:31:19 chris joins (~chris@81.96.113.213)
13:31:23 chris is now known as Guest6364
13:31:54 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
13:32:20 <yushyin> linear types
13:32:26 <Lycurgus> ah
13:32:46 <arjun> and a native code generator for arm64
13:34:02 <merijn> 8.10.7 also has native code for arm64, no? Or am I misremembering
13:34:25 <maerwald> don't think so
13:35:29 <wz1000> merijn: no, it goes via LLVM
13:36:53 cfricke joins (~cfricke@user/cfricke)
13:37:45 <wz1000> The native code gen is only in 9.2 I think
13:37:47 cryptomonad joins (~cryptomon@194.191.225.149)
13:38:40 × acidjnk_new quits (~acidjnk@p5487d90a.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
13:40:41 <merijn> Ah, could be
13:41:22 <maerwald> is there any editor that allows grab and drag scrolling with mouse?
13:41:48 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
13:43:31 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
13:45:41 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
13:46:07 Vajb joins (~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92)
13:46:52 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
13:46:52 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
13:46:52 wroathe joins (~wroathe@user/wroathe)
13:48:22 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e)
13:49:07 × d0ku quits (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 252 seconds)
13:50:36 elf_fortrez joins (~elf_fortr@adsl-72-50-4-4.prtc.net)
13:52:58 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e) (Ping timeout: 252 seconds)
13:54:57 × sjb0 quits (~stephen@2001:8004:2738:35de:a1a3:a1c1:6e62:ba62) (Quit: Leaving.)
13:56:57 × vektor quits (~vektor@94.46.71.236) (Quit: Client closed)
14:01:13 × dsrt^ quits (~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 252 seconds)
14:01:19 × cryptomonad quits (~cryptomon@194.191.225.149) (Read error: Connection reset by peer)
14:01:28 cryptomonad joins (~cryptomon@194.191.225.149)
14:01:44 × Guest6364 quits (~chris@81.96.113.213) (Ping timeout: 244 seconds)
14:01:52 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
14:02:25 hololeap joins (~hololeap@user/hololeap)
14:03:45 × pgib quits (~textual@173.38.117.82) (Ping timeout: 248 seconds)
14:04:36 × cryptomonad quits (~cryptomon@194.191.225.149) (Client Quit)
14:05:19 <carbolymer> Is there any difference if I replace all forM_ with for_ ?
14:05:36 <merijn> :t forM_
14:05:37 <lambdabot> (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
14:05:38 <merijn> :t for_
14:05:39 <lambdabot> (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
14:05:44 <merijn> No
14:05:55 <carbolymer> that's what I thought
14:05:55 chris joins (~chris@81.96.113.213)
14:05:59 chris is now known as Guest8932
14:06:01 <carbolymer> So why forM_ exists
14:06:24 <merijn> because it's older
14:06:47 <carbolymer> rejectr tradition, embrace modern APIs
14:06:47 <merijn> forM_ dates back to Applicative not being a superclass of Monad, so for_ wouldn't work on all monads
14:07:00 <merijn> Also, originally forM_ was just lists, not Foldable
14:07:58 max22- joins (~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr)
14:09:14 <carbolymer> ok, thanks
14:10:52 burnsidesLlama joins (~burnsides@client-8-75.eduroam.oxuni.org.uk)
14:10:59 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
14:14:25 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
14:14:43 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
14:15:00 napping joins (~brandon@65.128.58.64)
14:15:05 <tomsmeding> same with liftM/liftA/fmap I guess?
14:15:11 <merijn> Yes
14:15:54 <tomsmeding> :t traverse_
14:15:56 <lambdabot> (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
14:16:03 <tomsmeding> which is flip for_ :p
14:16:16 <carbolymer> Actually it's the opposite :p
14:16:40 <tomsmeding> sure
14:18:52 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
14:19:10 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
14:19:39 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
14:20:21 × Guest8932 quits (~chris@81.96.113.213) (Remote host closed the connection)
14:20:33 TranquilEcho joins (~grom@user/tranquilecho)
14:21:53 × azeem quits (~azeem@62.19.12.145) (Ping timeout: 244 seconds)
14:22:36 azeem joins (~azeem@62.19.37.175)
14:23:22 × arjun quits (~user@user/arjun) (Ping timeout: 245 seconds)
14:23:33 zebrag joins (~chris@user/zebrag)
14:27:10 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:28:36 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 244 seconds)
14:30:02 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
14:30:22 × xff0x quits (~xff0x@2001:1a81:52bb:c200:2daa:f38a:b2b7:ac83) (Ping timeout: 252 seconds)
14:31:27 xff0x joins (~xff0x@2001:1a81:52bb:c200:954e:ca7f:9978:3e44)
14:33:14 × kenran quits (~kenran@i577BCDA3.versanet.de) (Quit: WeeChat info:version)
14:33:40 × sus quits (thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
14:34:09 sus joins (thelounge@user/zeromomentum)
14:35:17 × elf_fortrez quits (~elf_fortr@adsl-72-50-4-4.prtc.net) (Ping timeout: 256 seconds)
14:36:17 × Vajb quits (~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92) (Ping timeout: 245 seconds)
14:36:43 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2)
14:37:24 Vajb joins (~Vajb@n8fob2a5r76koflav-2.v6.elisa-mobile.fi)
14:38:47 × mizu_no_oto quits (~textual@cpe-74-67-208-45.twcny.res.rr.com) (Ping timeout: 245 seconds)
14:41:08 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
14:41:15 kenran joins (~kenran@200116b82b761600fc740dd5eb45e575.dip.versatel-1u1.de)
14:43:07 benin0369320 joins (~benin@106.198.89.245)
14:43:53 ralu8 joins (~ralu@static.211.245.203.116.clients.your-server.de)
14:44:27 × fiddlerwoaroof quits (~fiddlerwo@user/fiddlerwoaroof) (Ping timeout: 240 seconds)
14:44:40 × benin036932 quits (~benin@183.82.206.204) (Ping timeout: 252 seconds)
14:44:40 benin0369320 is now known as benin036932
14:45:18 fiddlerwoaroof joins (~fiddlerwo@user/fiddlerwoaroof)
14:45:27 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
14:45:40 × canta quits (~canta@user/canta) (Ping timeout: 240 seconds)
14:45:40 × ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 240 seconds)
14:45:40 ralu8 is now known as ralu
14:47:05 × benin036932 quits (~benin@106.198.89.245) (Read error: Connection reset by peer)
14:47:06 × Vajb quits (~Vajb@n8fob2a5r76koflav-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
14:47:16 canta joins (~canta@user/canta)
14:47:19 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
14:47:53 [_] is now known as [itchyjunk]
14:48:06 eight joins (~eight@user/eight)
14:48:09 × eight quits (~eight@user/eight) (Client Quit)
14:48:28 arjun joins (~user@user/arjun)
14:48:40 benin036932 joins (~benin@183.82.24.161)
14:48:42 × sus quits (thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
14:49:10 sus joins (thelounge@user/zeromomentum)
14:50:37 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
14:50:49 Topsi joins (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de)
14:50:54 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
14:52:33 MQ-17J joins (~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458)
14:52:44 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
14:53:51 hyiltiz joins (~quassel@31.220.5.250)
14:54:35 Pickchea joins (~private@user/pickchea)
14:54:43 × sus quits (thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
14:55:11 sus joins (thelounge@user/zeromomentum)
14:56:18 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving)
14:57:47 × fendor_ quits (~fendor@77.119.206.17.wireless.dyn.drei.com) (Remote host closed the connection)
14:59:31 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 252 seconds)
15:00:13 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
15:04:28 × azeem quits (~azeem@62.19.37.175) (Ping timeout: 252 seconds)
15:05:19 azeem joins (~azeem@62.19.37.175)
15:05:24 kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
15:06:05 × khumba quits (~khumba@user/khumba) ()
15:06:17 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
15:07:34 d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
15:09:58 × Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds)
15:10:11 hyiltiz joins (~quassel@31.220.5.250)
15:12:10 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
15:15:32 khoa joins (~khoa@user/khoa)
15:16:33 elf_fortrez joins (~elf_fortr@adsl-72-50-4-44.prtc.net)
15:18:42 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
15:18:51 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
15:23:40 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Ping timeout: 240 seconds)
15:24:00 × sus quits (thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
15:24:28 sus joins (zero@user/zeromomentum)
15:27:38 slowButPresent joins (~slowButPr@user/slowbutpresent)
15:29:42 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
15:30:21 Vajb joins (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi)
15:31:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
15:37:05 × hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
15:37:17 × lbseale quits (~lbseale@user/ep1ctetus) (Quit: Leaving)
15:38:24 hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
15:39:54 × arjun quits (~user@user/arjun) (Ping timeout: 244 seconds)
15:41:52 × Vajb quits (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
15:41:59 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
15:42:43 × elf_fortrez quits (~elf_fortr@adsl-72-50-4-44.prtc.net) (Ping timeout: 256 seconds)
15:45:35 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
15:45:44 Vajb joins (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi)
15:47:57 × Vajb quits (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
15:48:29 Vajb joins (~Vajb@85-76-12-199-nat.elisa-mobile.fi)
15:50:11 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e)
15:51:14 lavaman joins (~lavaman@98.38.249.169)
15:51:17 × MQ-17J quits (~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458) (Ping timeout: 245 seconds)
15:52:53 × Vajb quits (~Vajb@85-76-12-199-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
15:53:44 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
15:54:31 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e) (Ping timeout: 252 seconds)
15:55:37 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
15:56:04 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:00:10 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
16:00:35 × favonia quits (~favonia@user/favonia) (Remote host closed the connection)
16:00:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:01:54 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
16:02:28 lbseale joins (~lbseale@user/ep1ctetus)
16:02:38 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:02:46 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
16:03:29 elf_fortrez joins (~elf_fortr@adsl-72-50-7-199.prtc.net)
16:04:09 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
16:05:31 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
16:07:10 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 252 seconds)
16:07:37 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
16:08:49 × pbrisbin quits (~patrick@2601:83:8002:d080:d2c6:37ff:fec8:a415) (Ping timeout: 252 seconds)
16:11:52 × burnsidesLlama quits (~burnsides@client-8-75.eduroam.oxuni.org.uk) (Remote host closed the connection)
16:12:24 burnsidesLlama joins (~burnsides@client-8-75.eduroam.oxuni.org.uk)
16:13:50 × laman quits (laman@2600:3c02::f03c:92ff:fe3e:c08d) (Quit: WeeChat 3.0)
16:15:39 <mjrosenb> things that I did not quite expect, partial list
16:15:40 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
16:15:57 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:16:31 × burnsidesLlama quits (~burnsides@client-8-75.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
16:17:10 aman joins (~aman@user/aman)
16:17:12 <mjrosenb> Prelude Control.Lens Data.Array> let x = array (1,3) Empty in bounds x
16:17:14 <mjrosenb> (1,3)
16:17:41 <mjrosenb> I did not expect this to typecheck
16:18:23 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
16:19:24 Vajb joins (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi)
16:19:58 <[exa]> mjrosenb: why not?
16:20:12 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
16:20:31 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:21:38 × aman quits (~aman@user/aman) (Client Quit)
16:24:46 dsrt^ joins (~dsrt@wsip-98-188-244-188.mc.at.cox.net)
16:25:22 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 244 seconds)
16:26:45 Erutuon joins (~Erutuon@user/erutuon)
16:28:59 × dsrt^ quits (~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 244 seconds)
16:29:18 caef^ joins (~caef@wsip-98-188-244-188.mc.at.cox.net)
16:30:13 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
16:30:38 Guest|47 joins (~Guest|47@82-71-34-244.dsl.in-addr.zen.co.uk)
16:30:41 gehmehgeh joins (~user@user/gehmehgeh)
16:32:59 × dajoer quits (~david@user/gvx) (Quit: leaving)
16:33:38 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 244 seconds)
16:34:04 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
16:34:21 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:36:33 × elf_fortrez quits (~elf_fortr@adsl-72-50-7-199.prtc.net) (Ping timeout: 256 seconds)
16:37:59 MoC joins (~moc@user/moc)
16:39:23 funsafe joins (~funsafe@2601:1c1:4200:e53:2875:5507:42e4:4e14)
16:44:01 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e)
16:46:21 pbrisbin joins (~patrick@2601:83:8002:d080:d2c6:37ff:fec8:a415)
16:47:17 × kenran quits (~kenran@200116b82b761600fc740dd5eb45e575.dip.versatel-1u1.de) (Quit: WeeChat info:version)
16:47:46 <mjrosenb> because Empty is a weird value from lens, I would not expect it to be a list
16:47:57 <mjrosenb> which array wants in its second argument
16:49:17 <napping> Is it a weird value that tries to act as an empty version of whatever you are using it as?
16:50:57 <mjrosenb> it is defined as a Pattern
16:51:07 <mjrosenb> I have no clue what it means when you try to use it as a value
16:51:28 <monochrom> And what is the pattern definition?
16:51:37 hyiltiz joins (~quassel@31.220.5.250)
16:51:40 khoa parts (~khoa@user/khoa) ()
16:51:54 <monochrom> If you keep rewriting by definitions you may eventually get [] and understand.
16:52:39 <mjrosenb> pattern Empty <- (has _Empty -> True) where Empty = review _Empty ()
16:52:49 <mjrosenb> so, I guess review means that it returns a list?
16:53:30 <napping> https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens-Empty.html
16:53:42 <napping> just says "pattern Empty :: AsEmpty s => s"
16:57:05 <mjrosenb> napping: did you click on the source link?
16:57:05 × Vajb quits (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
16:57:47 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
16:57:57 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
16:58:06 <napping> I meant you don't really need to look at the source to see that the type as an expression is any s which has (AsEmpty s), and there's an instance of AsEmpty for lists
16:58:24 <napping> on a prism, review :: Prism' a b -> b -> a
16:58:57 <napping> and the method of AsEmpty s is an _Empty :: Prism' s ()
16:59:40 <napping> so review _Empty () is returning whatever s gets mapped onto () by the _Empty in the relevant AsEmpty instance
16:59:55 fendor joins (~fendor@77.119.206.17.wireless.dyn.drei.com)
17:00:19 zaquest joins (~notzaques@5.128.210.178)
17:01:51 <napping> Source for instance AsEmpty [a] is _Empty = nearly [] Prelude.null
17:02:25 mc47 joins (~mc47@xmonad/TheMC47)
17:02:43 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
17:04:15 hyiltiz joins (~quassel@31.220.5.250)
17:04:33 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:08:46 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
17:11:29 hyiltiz joins (~quassel@31.220.5.250)
17:12:54 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 244 seconds)
17:13:52 <mjrosenb> so, I'm getting "(Array.!): undefined array element", and am trying to figure out what on earth is wrong.
17:15:34 <mjrosenb> I just implemented a new Array module, which has all of the same functions as Array, but wraps (!), array, listArray and assocArray, and should evaluate to (error "better message") if they *would* give that.
17:15:52 <mjrosenb> but I'm still getting that unhelpful error :-(
17:16:31 × hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
17:17:03 <monochrom> If you're giving the empty list to array, this is expected.
17:17:41 <monochrom> Either that, or the vanilla index-out-of-bounds error.
17:17:57 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
17:18:06 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
17:18:26 <monochrom> Pro tip: In C, your program continues to run without error messages!
17:19:01 Guest8166 joins (~lordgrenv@141.226.14.23)
17:19:06 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds)
17:21:38 <mjrosenb> yes, I fixed that. but I *believe* I'm not checking every instance where I could create an array with an undefined element
17:21:54 <mjrosenb> s/not/now/
17:22:08 justsomeguy joins (~justsomeg@user/justsomeguy)
17:23:37 × xff0x quits (~xff0x@2001:1a81:52bb:c200:954e:ca7f:9978:3e44) (Ping timeout: 252 seconds)
17:25:14 zyklotomic parts (~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8)
17:25:16 hseg joins (~gesh@IGLD-84-228-238-9.inter.net.il)
17:25:42 × Topsi quits (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de) (Read error: Connection reset by peer)
17:25:53 <tomsmeding> mjrosenb: how long is the code of your Array wrapper which is supposed to prevent that error from occurring? Can you post it?
17:26:16 xff0x joins (~xff0x@2001:1a81:52bb:c200:954e:ca7f:9978:3e44)
17:26:57 <hseg> a little confusion: Given an instance (C a, ...) => D b, why does GHC complain it can't deduce C a from a type signature having D b in the context?
17:28:42 <hseg> eg: why is (compare :: Ord [a] => a -> a -> Ordering) forbidden?
17:28:51 <napping> It can't assume that's the only possible instance of D. If it was on the class declaration itself, like class (C a, ...) => D a, then it would deduce C a from having D in scope
17:30:20 <hseg> even though that's the only possible instance for D to choose here presuming confluence?
17:31:02 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e) (Remote host closed the connection)
17:31:46 <hseg> I mean, in my case I have newtype SortedList a, newtype Part f a ~ f a, both with ord instances, and effectively want to write Ord (SortedList (Part NonEmpty a)) in the context
17:32:03 <hseg> and have the context of the Ord (Part f a) instance be pulled in
17:32:25 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
17:32:58 <hseg> ... so unless there's some interaction from OverlappableInstances, I see no reason why my usecase should be forbidden
17:33:15 jakalx joins (~jakalx@base.jakalx.net)
17:33:17 <mjrosenb> tomsmeding: https://gist.github.com/mjrosenb/3c4e326348ada6232318e5dd4c3e1f5d
17:33:25 <hseg> (want to write the more constrained context for documentation purposes -- it makes it clearer what forces the constraint here)
17:33:57 Topsi joins (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de)
17:34:01 <napping> Hmm, that's more interesting.
17:35:17 <napping> OverlappingInstances does make it unsound in general. If you assume you don't have it it's a valid deduction
17:35:37 <napping> But also it would be hard to implement - the (Ord [a]) constraint just passes a dictionary implementing Ord for [a]
17:35:40 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:35:40 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
17:35:40 wroathe joins (~wroathe@user/wroathe)
17:36:16 × Guest8166 quits (~lordgrenv@141.226.14.23) (Ping timeout: 252 seconds)
17:36:18 <hseg> sure, but the Ord [a] dictionary has access to the Ord a dictionary
17:36:21 <napping> Perhaps if you know the exact layout you could dig through the closure of those methods to find a dictionary
17:36:29 <hseg> so it would be a matter of projecting that out
17:36:30 <mjrosenb> oh...
17:36:34 <mjrosenb> I'm a fool
17:36:40 <hseg> which admittedly might incur a performance penalty
17:36:42 <napping> It was defined using it, but doesn't expose it in any way that's easy to get
17:36:58 <mjrosenb> and I've been using `cabal build`, while I'm testing with the output from `cabal new-build`
17:37:21 <napping> like, define f :: Int -> Int = (+) 1, then having something that you just pass `f` dig out the 1 is tricky
17:37:25 <tomsmeding> mjrosenb: listArray (0, 0) [undefined] ! 0
17:37:33 <hseg> hrm. ah yes, ig the construction of the Ord [a] dictionary will inline stuff from the Ord a dictionary
17:37:44 <tomsmeding> mjrosenb: get a newer cabal such that build and new-build are the same thing :p
17:37:51 <tomsmeding> i.e. cabal version >= 3
17:38:02 <hseg> much more efficient than storing an Ord a dictionary and redirecting
17:38:06 <hseg> dammit
17:38:09 <dminuoso> 19:28:42 hseg | eg: why is (compare :: Ord [a] => a -> a -> Ordering) forbidden?
17:38:15 <mjrosenb> tomsmeding: that is easier said than done.
17:38:37 <dminuoso> hseg: Wouldn't the potential presence of overlapping instances prevent that?
17:38:42 × Guest|47 quits (~Guest|47@82-71-34-244.dsl.in-addr.zen.co.uk) (Quit: Connection closed)
17:38:57 <mjrosenb> tomsmeding: I think that will produce a different error.
17:39:08 <hseg> yes, already addressed - am restricting my ask to non-overlappable instances
17:39:42 <hseg> which considering OverlappingInstances is deprecated in favor of per-instance pragmas, is a more useful ask
17:39:47 <tomsmeding> mjrosenb: hm you're right
17:40:07 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
17:40:58 <dminuoso> Mmm what did I miss. per-instance pragmas?
17:41:03 <mjrosenb> ok, so for using new-build, I'm running into an issue where it can't find my source files. I'm pretty sure this used to work, but I haven't actually touched this project in ~1 year
17:41:24 <mjrosenb> fwiw, it also says it can't find LICENSE, despite that being in the same directory as the cabal file.
17:41:40 <hseg> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/instances.html#overlapping-instances -- note OVERLAPPABLE/OVERLAPPING pragmas are prefered over OI language exts
17:41:42 <dminuoso> hseg: The thing is, putting the constraint on a declaration gives no power of what potential overlapping instance (via per-instance pragma) might have been created in some other module.
17:42:00 <dminuoso> We can't just pretend it doesnt exist
17:42:18 <hseg> hrm, that's also fair
17:42:41 <hseg> you'd need to somehow presume sth about the instance...
17:43:17 <hseg> probably another case of sth I want not reasonably supportable by GHC, but implementable in TH
17:43:17 <dminuoso> I think to make deducing Ord a from Ord [a] valid, you'd have to first completely forbid overlapping instances in the compiler
17:43:52 <tomsmeding> mjrosenb: post .cabal and output of `tree` :p
17:44:04 <mjrosenb> oh, maybe I just needed to run `cabal new-configure`
17:44:05 <dminuoso> And IncoherentInstances too I suppose.
17:44:13 <tomsmeding> or, well, tree -I dist
17:44:21 <hseg> you'd want sth like $([|ty|] `generalizeAssuming` [|ctx => ctx'|])
17:44:47 × bjs quits (sid190364@user/bjs) (Ping timeout: 240 seconds)
17:44:54 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e)
17:45:01 <hseg> dminuoso: yeah -- the only way my ask is reasonable is if you have access to the instance at the declaration site
17:45:07 × meinside_ quits (uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 240 seconds)
17:45:12 <hseg> which you cannot really ensure
17:45:19 <dminuoso> I mean in principle you could
17:45:21 × gaze___ quits (sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 250 seconds)
17:45:21 × NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 250 seconds)
17:45:31 <hseg> a moment, brb
17:45:47 × elvishjerricco quits (sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 250 seconds)
17:46:11 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
17:46:17 bjs joins (sid190364@user/bjs)
17:46:18 meinside_ joins (uid24933@id-24933.helmsley.irccloud.com)
17:46:18 gaze___ joins (sid387101@id-387101.helmsley.irccloud.com)
17:46:21 <dminuoso> But it would make haskell libraries an impossibility.
17:46:44 <dminuoso> GHC would have to compile the entire transitive dependency closure for each compilation in one go
17:46:59 NiKaN joins (sid385034@id-385034.helmsley.irccloud.com)
17:47:52 elvishjerricco joins (sid237756@id-237756.helmsley.irccloud.com)
17:48:22 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
17:48:26 <dminuoso> Bonus points here: if libraries or modules are no longer separately compiled, we could have true circular imports!
17:49:32 <monochrom> https://xkcd.com/303/
17:50:04 tomsmeding pleads to not make compilation of haskell code 3 orders of magnitude slower than it already is
17:50:04 <monochrom> Historical note: Sandboxing almost got there. All the cost and none of the benefits!
17:50:18 <dminuoso> tomsmeding: Im guessing you dont get paid to write Haskell? :-P
17:50:23 <dminuoso> /s
17:50:31 <tomsmeding> I am, actually! Kind of
17:50:42 <dminuoso> Presumably not by the hour, then.
17:50:46 <tomsmeding> if getting paid to do phd research using haskell counts
17:50:48 <dminuoso> Heh
17:51:14 <tomsmeding> but I'd like to actually accomplish something in that time :p
17:51:17 <monochrom> Yeah, that "deadline in 6 years" puts a cap on compile time.
17:51:51 × jespada quits (~jespada@90.254.245.194) (Ping timeout: 250 seconds)
17:52:02 <monochrom> Good thing I chose to do a theoretical PhD though. The only "compile time" I suffered was pdflatex.
17:52:41 jespada joins (~jespada@90.254.245.194)
17:52:52 <monochrom> But I'm always fond of reminding people: Use Hugs to reduce compile time!
17:52:53 × alx741 quits (~alx741@186.178.108.235) (Quit: alx741)
17:52:59 <tomsmeding> I've spent the past couple of days in my editor with just HLS for feedback; I haven't even made a .cabal file yet
17:53:07 <tomsmeding> so not sure how practical this really is at the moment :)
17:53:44 <dminuoso> 6 years?
17:53:56 <dminuoso> That's quite.. long.
17:54:10 × hubvu quits (sid495858@id-495858.tinside.irccloud.com) (Ping timeout: 240 seconds)
17:54:50 <monochrom> Oh you know us PhD procrastinators.
17:55:22 <monochrom> I got close to "tenured grad student".
17:55:23 hubvu joins (sid495858@id-495858.tinside.irccloud.com)
17:56:54 <mjrosenb> tomsmeding: I take that back; I have no clue why cabal new-build doesn't work
17:56:57 <mjrosenb> tomsmeding: https://gist.github.com/mjrosenb/8b55d33a3ac657dbb94733ff0aa72a0e
17:57:47 <tomsmeding> mjrosenb: rm -rf dist-newstyle; cabal new-build
17:57:49 <mjrosenb> tomsmeding: and I just added the output of `cabal new-build`
17:58:00 <tomsmeding> oh nix as well, good luck with that :p
17:58:53 <mjrosenb> https://gist.github.com/mjrosenb/a4f3fae960bcadf38b12b479da6b3fb5 -- new output
17:58:59 elf_fortrez joins (~elf_fortr@adsl-72-50-5-6.prtc.net)
17:59:04 <mjrosenb> tomsmeding: I know of no other way of using miso :-(
18:00:06 <tomsmeding> mjrosenb: I'm 99% sure the problem is that cabal looks in the directory of the .cabal file for the project, while in your case it's one directory up
18:00:19 <tomsmeding> I assume cabal.project.local just contains something like 'packages: hackage' ?
18:00:29 <tomsmeding> OH ignore
18:00:34 <tomsmeding> I missed the match-rex.cabal in /
18:00:44 <tomsmeding> ok what does cabal.project.local contain :p
18:02:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:02:33 <elf_fortrez> and here you go chasing rabbits, when you you are going to fall - Jefferson Airplane
18:03:21 <mjrosenb> [nix-shell:~/projects/match-rex]$ cat cabal.project.local
18:03:22 <mjrosenb> compiler: ghcjs
18:03:29 <tomsmeding> oh
18:03:37 <tomsmeding> ¯\_(ツ)_/¯
18:03:39 <tomsmeding> I blame ghcjs
18:03:58 <hseg> dminuoso: yeah, not worth the tradeoff. will just add a note in the haddock
18:03:59 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 250 seconds)
18:04:24 <mjrosenb> but cabal build works :-(
18:08:37 <tomsmeding> mjrosenb: strace -o log.txt cabal new-build; grep src log.txt
18:10:26 × caef^ quits (~caef@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection)
18:10:55 × oxide quits (~lambda@user/oxide) (Ping timeout: 252 seconds)
18:12:13 <hseg> ok, thanks!
18:12:15 × hseg quits (~gesh@IGLD-84-228-238-9.inter.net.il) (Quit: WeeChat 3.2)
18:16:59 <mjrosenb> tomsmeding: want another monkey wrench? this is MacOS, so no strace (and I have yet to figure out how to use dtrace)
18:17:09 <tomsmeding> lol
18:17:26 <tomsmeding> dtruss is _supposed_ to work but I've only had trouble with it when I was on macos
18:18:42 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
18:19:01 econo joins (uid147250@user/econo)
18:19:11 <tomsmeding> mjrosenb: I guess 'dtruss cabal new-build >log.txt 2>&1'
18:21:15 <mjrosenb> yeah, looks like I need to reboot in order to be able to run dtruss
18:21:24 <mjrosenb> I'll try that later today.
18:21:29 <tomsmeding> ._.
18:23:01 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
18:34:25 vysn joins (~vysn@user/vysn)
18:34:32 × azeem quits (~azeem@62.19.37.175) (Ping timeout: 244 seconds)
18:35:12 azeem joins (~azeem@62.19.37.175)
18:35:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
18:38:10 × glowcoil quits (sid3405@id-3405.tinside.irccloud.com) (Ping timeout: 240 seconds)
18:38:10 × grfn quits (sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 240 seconds)
18:38:20 grfn joins (sid449115@id-449115.helmsley.irccloud.com)
18:38:25 × econo quits (uid147250@user/econo) (Ping timeout: 252 seconds)
18:38:25 × hubvu quits (sid495858@id-495858.tinside.irccloud.com) (Ping timeout: 252 seconds)
18:38:31 glowcoil joins (sid3405@id-3405.tinside.irccloud.com)
18:38:34 econo joins (uid147250@user/econo)
18:38:39 × dpratt_ quits (sid193493@id-193493.helmsley.irccloud.com) (Ping timeout: 250 seconds)
18:38:53 dpratt_ joins (sid193493@id-193493.helmsley.irccloud.com)
18:38:59 hubvu joins (sid495858@id-495858.tinside.irccloud.com)
18:40:47 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
18:48:19 × azeem quits (~azeem@62.19.37.175) (Ping timeout: 252 seconds)
18:48:51 azeem joins (~azeem@62.19.37.175)
18:49:11 nrl^ joins (~nrl@wsip-98-188-244-188.mc.at.cox.net)
18:51:09 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
18:51:40 × nschoe quits (~quassel@2a01:e0a:8e:a190:3b50:adda:f977:f818) (Ping timeout: 240 seconds)
18:52:06 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
18:52:23 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
18:52:32 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:52:32 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
18:52:32 wroathe joins (~wroathe@user/wroathe)
18:54:39 × motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit)
18:55:10 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
18:58:46 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
18:58:47 × elf_fortrez quits (~elf_fortr@adsl-72-50-5-6.prtc.net) (Ping timeout: 256 seconds)
18:59:52 × azeem quits (~azeem@62.19.37.175) (Ping timeout: 252 seconds)
18:59:52 hyiltiz joins (~quassel@31.220.5.250)
19:00:24 azeem joins (~azeem@62.19.37.175)
19:04:41 dan-so joins (~danso@23-233-111-52.cpe.pppoe.ca)
19:04:53 × danso quits (~danso@23-233-111-52.cpe.pppoe.ca) (Read error: Connection reset by peer)
19:05:08 Pickchea joins (~private@user/pickchea)
19:06:25 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
19:07:32 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
19:13:32 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
19:17:48 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
19:18:48 pgib joins (~textual@173.38.117.72)
19:22:16 desantra joins (~skykanin@user/skykanin)
19:23:10 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
19:23:44 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
19:30:44 mmalter joins (~mmalter@88.171.43.194)
19:33:24 × nrl^ quits (~nrl@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection)
19:36:39 hseg joins (~gesh@igld-84-228-238-9.inter.net.il)
19:36:50 jess joins (~jess@libera/staff/jess)
19:36:57 × wroathe quits (~wroathe@user/wroathe) (Quit: Lost terminal)
19:38:04 dsrt^ joins (~dsrt@wsip-98-188-244-188.mc.at.cox.net)
19:38:06 <hseg> just realized I could do the "use the more restricted type for documentation" thing without any TH or GHC hacking, just need a benign UndecideableSuperClasses:
19:39:07 <hseg> just create a constraint synonym (i.e. class c x => h x instance c x => h x) establishing (c => d, c) ~ (c `NeededFor` d)
19:39:35 <hseg> and then you can say foo :: (Ord a `NeededFor` Ord [a]) => ... or whatever
19:39:54 <hseg> so in my case, Monoid a `NeededFor` Ord (Parts a)
19:39:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:39:54 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
19:39:54 wroathe joins (~wroathe@user/wroathe)
19:41:25 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
19:42:23 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
19:42:45 stiell joins (~stiell@gateway/tor-sasl/stiell)
19:48:25 × qbt quits (~edun@user/edun) (Ping timeout: 244 seconds)
19:53:08 lavaman joins (~lavaman@98.38.249.169)
19:53:50 pavonia joins (~user@user/siracusa)
19:55:41 motherfsck joins (~motherfsc@user/motherfsck)
19:57:37 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
19:59:48 chisui joins (~chisui@200116b86871b800557831fcb73c496a.dip.versatel-1u1.de)
20:04:57 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 244 seconds)
20:05:15 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:05:24 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
20:06:49 juhp joins (~juhp@128.106.188.220)
20:07:11 <carbolymer> are out there any shake alternatives?
20:10:15 <maerwald> carbolymer: https://github.com/ollef/rock
20:10:22 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
20:10:53 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
20:12:49 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
20:15:17 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 244 seconds)
20:15:24 <carbolymer> maerwald: looks more low-level, thanks
20:15:41 <maerwald> or that? https://github.com/judah/pier
20:16:13 <maerwald> I like the goal of invoking ghc directly
20:16:40 <carbolymer> maerwald: pier looks more like stack alternative, I'm looking more for general purpose task runner with make features
20:16:54 <maerwald> that's rock
20:18:04 <adamse> carbolymer: what's the use case?
20:20:27 <janus> carbolymer: have you read the 'build systems a la carte' paper?
20:20:55 <carbolymer> adamse: hard to tell... generic task execution basic on environment and command line arguments I guess? I'm just tired of bash and Makefile, where any more complex handling of variables, states, background jobs becomes a PITA
20:21:13 <carbolymer> s/basic/based/
20:21:27 <carbolymer> janus: nope, I assume you recommend that? :)
20:22:04 <janus> carbolymer: well you don't really need to read all of it but it is interesting how it categorizes build systems, i think that is worth checking out
20:22:17 <carbolymer> will do then
20:22:27 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:22:44 <janus> and given that you mentioned shake, the paper motivates shake, i think. so given that you don't think shake is right, maybe the paper will tell you what you want
20:22:49 <adamse> carbolymer: shake's pretty good for that
20:22:49 aegon joins (~mike@174.127.249.180)
20:23:39 <adamse> though i dunno about background jobs etc
20:23:46 <adamse> sounds like a jobscheduler thing
20:26:05 <maerwald> shake is monadic though, so there's no static analysis of rules
20:27:40 tomsmeding thinks that rock example in its readme also looks pretty monadic
20:27:55 <maerwald> I think dune isn't monadic
20:30:53 × hseg quits (~gesh@igld-84-228-238-9.inter.net.il) (Quit: WeeChat 3.2)
20:32:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:33:02 Guest85 joins (~Guest85@31.124.217.143)
20:34:26 × Guest85 quits (~Guest85@31.124.217.143) (Client Quit)
20:35:17 <maerwald> https://neilmitchell.blogspot.com/2019/10/monads-as-graphs.html
20:35:21 <maerwald> ah, Dune is selective
20:35:34 <maerwald> Make is applicative
20:40:41 × haskl quits (~haskl@user/haskl) (Remote host closed the connection)
20:41:10 haskl joins (~haskl@user/haskl)
20:41:27 <carbolymer> adamse: probably, I'm just looking around what else is available
20:41:46 acidjnk_new joins (~acidjnk@p200300d0c7203039d576453b109ce99e.dip0.t-ipconnect.de)
20:42:54 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
20:43:42 × ubert quits (~Thunderbi@178.165.179.224.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
20:44:55 × vysn quits (~vysn@user/vysn) (Remote host closed the connection)
20:45:19 kenran joins (~kenran@200116b82b761600b62aa96f517ae817.dip.versatel-1u1.de)
20:45:40 burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk)
20:50:16 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
20:50:38 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
20:50:56 × burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 244 seconds)
20:51:54 × max22- quits (~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
20:52:19 max22- joins (~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr)
20:53:26 × max22- quits (~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
20:53:48 max22- joins (~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr)
20:55:19 <sm> carbolymer: i'm another using shake for that. it's definitely nice to have all of haskell instead of make and bash.. for certain things. bash still wins for some !
20:56:00 <sm> so in practice I still use all three :/
20:56:55 <carbolymer> sm: well, bash still has its place, it is just not the best tool for writing bigger scripts
20:59:12 × Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 244 seconds)
21:00:31 <sm> lately I wonder when it's right to extract bits of the growing shake file into standalone scripts.
21:01:32 <maerwald> carbolymer: you're right, for bigger scripts I use posix shell
21:03:01 <carbolymer> maerwald: ...but why
21:03:27 <maerwald> it's the perfect language for prototyping
21:03:54 <sm> when artifacts are involved, it's nice to have shake's dependency engine for efficiency. But its state is per directory I think - not easy to use two sepearate shake scripts in the same directory. perhaps there's a trick, but it's not the default
21:03:59 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
21:04:08 × tput quits (~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 250 seconds)
21:04:25 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:04:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
21:04:25 wroathe joins (~wroathe@user/wroathe)
21:06:20 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
21:07:10 × phma quits (~phma@host-67-44-209-72.hnremote.net) (Read error: Connection reset by peer)
21:07:37 tput joins (~tim@S0106a84e3fe54613.ed.shawcable.net)
21:07:59 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 244 seconds)
21:09:01 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
21:11:08 hyiltiz joins (~quassel@31.220.5.250)
21:12:00 sjb0 joins (~stephen@1.145.127.255)
21:13:40 × tput quits (~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 244 seconds)
21:14:23 tput joins (~tim@S0106a84e3fe54613.ed.shawcable.net)
21:15:08 phma joins (phma@2001:0:c38c:c38c:2cd8:e4d3:bcd3:2ffb)
21:17:28 MQ-17J joins (~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458)
21:22:25 × hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Remote host closed the connection)
21:24:31 × sjb0 quits (~stephen@1.145.127.255) (Ping timeout: 244 seconds)
21:26:07 × chisui quits (~chisui@200116b86871b800557831fcb73c496a.dip.versatel-1u1.de) (Ping timeout: 256 seconds)
21:27:01 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:29:43 × desantra quits (~skykanin@user/skykanin) (Quit: WeeChat 3.2)
21:34:21 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:38:01 × tput quits (~tim@S0106a84e3fe54613.ed.shawcable.net) (Remote host closed the connection)
21:38:03 × mcglk quits (~mcglk@131.191.49.120) (Read error: Connection reset by peer)
21:38:06 × mei quits (~mei@user/mei) (Read error: Connection reset by peer)
21:38:20 mcglk_ joins (~mcglk@131.191.49.120)
21:38:42 mei joins (~mei@user/mei)
21:39:57 × dan-so quits (~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.2)
21:40:13 × kenran quits (~kenran@200116b82b761600b62aa96f517ae817.dip.versatel-1u1.de) (Quit: WeeChat info:version)
21:41:15 sjb0 joins (~stephen@2001:8004:5100:2960:eb63:6877:c6aa:5d94)
21:42:02 × pbrisbin quits (~patrick@2601:83:8002:d080:d2c6:37ff:fec8:a415) (Ping timeout: 256 seconds)
21:42:21 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
21:43:00 × MQ-17J quits (~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458) (Read error: Connection reset by peer)
21:45:12 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
21:48:10 × mei quits (~mei@user/mei) (Ping timeout: 252 seconds)
21:49:50 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
21:50:18 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
21:54:42 hexfive joins (~eric@50.35.83.177)
21:58:04 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds)
21:58:41 × hexfive quits (~eric@50.35.83.177) (Client Quit)
21:59:26 × max22- quits (~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr) (Quit: Leaving)
22:09:01 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
22:09:18 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
22:13:20 Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
22:15:54 benin0369323 joins (~benin@183.82.24.161)
22:17:28 × sjb0 quits (~stephen@2001:8004:5100:2960:eb63:6877:c6aa:5d94) (Quit: Leaving.)
22:18:46 × benin036932 quits (~benin@183.82.24.161) (Ping timeout: 244 seconds)
22:18:46 benin0369323 is now known as benin036932
22:22:20 × fendor quits (~fendor@77.119.206.17.wireless.dyn.drei.com) (Read error: Connection reset by peer)
22:22:49 × acidjnk_new quits (~acidjnk@p200300d0c7203039d576453b109ce99e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
22:23:25 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
22:23:42 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
22:27:20 × yaroot quits (~yaroot@6.3.30.125.dy.iij4u.or.jp) (Quit: The Lounge - https://thelounge.chat)
22:28:07 yaroot joins (~yaroot@6.3.30.125.dy.iij4u.or.jp)
22:32:12 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
22:32:29 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
22:33:14 × azeem quits (~azeem@62.19.37.175) (Ping timeout: 244 seconds)
22:34:16 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
22:35:19 × michalz quits (~michalz@185.246.204.40) (Remote host closed the connection)
22:37:14 × infinity0 quits (~infinity0@occupy.ecodis.net) (Remote host closed the connection)
22:37:53 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 244 seconds)
22:39:28 azeem joins (~azeem@62.19.37.175)
22:39:57 hyiltiz joins (~quassel@31.220.5.250)
22:41:27 infinity0 joins (~infinity0@occupy.ecodis.net)
22:43:41 sm2n_ is now known as sm2n
22:48:22 Guest27 joins (~Guest27@188.71.213.184)
22:50:00 × Guest27 quits (~Guest27@188.71.213.184) (Client Quit)
22:50:19 × azeem quits (~azeem@62.19.37.175) (Ping timeout: 252 seconds)
22:54:55 azeem joins (~azeem@62.19.37.175)
22:56:43 × Topsi quits (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de) (Read error: Connection reset by peer)
22:57:30 Topsi joins (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de)
22:58:24 SystemFFan joins (~SystemFFa@188.71.213.184)
22:59:07 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
23:01:39 × Topsi quits (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de) (Ping timeout: 244 seconds)
23:02:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:02:59 × dextaa quits (~DV@user/dextaa) (Ping timeout: 250 seconds)
23:03:24 × amk quits (~amk@109.255.169.126) (Read error: Connection reset by peer)
23:04:18 dextaa joins (~DV@user/dextaa)
23:13:45 sjb0 joins (~stephen@1.145.22.171)
23:16:03 × kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Remote host closed the connection)
23:16:59 Topsi joins (~Tobias@dyndsl-091-249-082-194.ewe-ip-backbone.de)
23:17:25 sjb0 parts (~stephen@1.145.22.171) ()
23:24:33 amk joins (~amk@109.255.169.126)
23:29:47 Guest2602 joins (~user@2601:644:8500:8350::cc04)
23:30:11 <Guest2602> Constraint solving library for a beginner?
23:30:26 <Guest2602> So far, I'm aware of Holmes (backed by propagators)
23:31:50 <Guest2602> Or is it best to implement ad hoc SLD resolution via the List monad and do the rest from scratch as if it were Prolog?
23:37:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
23:38:57 × Gurkenglas quits (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
23:41:46 <arahael> out of curiosity, does ghc have a way to test for physical equality? (for writing optimised code)
23:42:17 <arahael> eg, no need to re-render a data structure if it is the same object as a previous structure.
23:43:44 <davean> arahael: isn't htat safeCoerve?
23:43:57 <davean> *safe coerce
23:46:33 <monochrom> GHC.Prim.reallyUnsafePtrEquality#
23:46:44 × Topsi quits (~Tobias@dyndsl-091-249-082-194.ewe-ip-backbone.de) (Read error: Connection reset by peer)
23:47:18 <monochrom> "Warning: this can fail with an unchecked exception."
23:52:17 dajoer joins (~david@user/gvx)
23:53:01 <arahael> davean: will check that out!
23:53:14 <arahael> monochrom: can that be caught?
23:53:56 Ae joins (~Ae@122-56-197-231.mobile.spark.co.nz)
23:54:08 × Ae quits (~Ae@122-56-197-231.mobile.spark.co.nz) (Remote host closed the connection)
23:54:39 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
23:54:46 lavaman joins (~lavaman@98.38.249.169)
23:56:42 <arahael> davean: how would i use unsafeCoerce in this way?
23:58:22 <davean> I didn't say unsafe, I said safe
23:58:42 <davean> The representation is the same
23:59:04 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)

All times are in UTC on 2021-08-31.