Home liberachat/#haskell: Logs Calendar

Logs on 2023-07-11 (liberachat/#haskell)

00:00:01 <ski> bratwurst : makes sense, still ?
00:01:56 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:01:56 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:01:56 wroathe joins (~wroathe@user/wroathe)
00:05:42 <mauke> # let rec x = { head = 0; tail = x };;
00:05:42 <mauke> val x : int stream = {head = 0; tail = <cycle>}
00:06:26 <bratwurst> ok 'nu s. a * s' means we're looking for the gfp of the equation 's = a * s'. 'head' would return the 'a', while 'tail' would return the 's'?
00:06:51 <ski> hah, nice. *nod*, i was forgetting recursion through constructors, in OCaml
00:06:55 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
00:07:00 <ski> yes, bratwurst
00:07:24 <mauke> const struct stream x = { .head = 0, .tail = &x };
00:08:03 <ski> that's a nice one
00:08:56 × johnw quits (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
00:09:29 × slack1256 quits (~slack1256@186.11.22.119) (Ping timeout: 246 seconds)
00:11:34 <ski> bratwurst : anyway, consider `data Widget b = forall c. MkWidget {box :: Box,thing :: c,render :: Sz -> c -> Picture,handleKey :: Key -> c -> (b,c),handleMouse :: Mouse -> c -> (b,c)}', and you have some value `myWidget = MkWidget {box = myBox,thing = myThing,render = thingRender,handleKey = myHandleKey,handleMouse = myHandleMous}
00:12:30 <mauke> myHandleMous, in the tradition of creat()
00:14:15 <ski> `myThing' in `myWidget' has type `c', which is hidden/forgotten/abstract/opaque/skolem, the only thing you can do with it is pass it to `thingRender',`myHandleKey',`myHandleMous'
00:14:19 <EvanR> ski, is there a fixed point between Nat (least) and Nat + infinitenumber (greatest)
00:14:20 mauke considers
00:17:12 <mauke> the c is never consumed fully. the only thing you're getting out of it is basically an infinite stream of b's
00:17:16 <ski> that is, we could instead define `data Widget b = MkWidget {box :: Box,render :: Sz -> Picture,handleKey :: Key -> (b,c),handleMouse :: Mouse -> (b,c)}', and the version of the value where the methods have been pre-applied to `myThing' is now `myWidget = MkWidget {box = myBox,render = \sz -> thingRender sz myThing,handleKey = \k -> myHandleKey k myThing,handleMouse = \m -> myHandleMous m myThing}'
00:18:30 <mauke> that looks wrong
00:18:54 <mauke> where is c bound?
00:19:09 <ski> yea, should be `Widget b' instead of `c', in type signatures of `handleKey' and `handleMouse'
00:23:40 <ski> EvanR : you probably can't constructively point at any
00:29:21 <EvanR> assuming someone gives you a "missing link" datatype, what kind of shenanigans would result xD
00:29:28 <EvanR> if construct Void you win
00:32:59 <ski> "missing link" ?
00:39:11 × oo_miguel quits (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 245 seconds)
00:41:21 thegeekinside joins (~thegeekin@189.217.90.138)
00:50:29 <EvanR> an inbetweener
00:50:36 × phma quits (phma@2001:5b0:211f:7128:686c:a14f:dc50:817d) (Read error: Connection reset by peer)
00:50:51 <ski> oh, an included middle
00:51:03 <EvanR> basically what would even mean to have such a type
00:51:04 phma joins (~phma@host-67-44-208-125.hnremote.net)
00:52:48 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
00:55:18 notzmv joins (~zmv@user/notzmv)
01:03:02 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
01:04:56 aforemny joins (~aforemny@2001:9e8:6cd3:c300:5cdf:9fe7:4b13:9351)
01:05:16 × aforemny_ quits (~aforemny@i59F516C7.versanet.de) (Ping timeout: 252 seconds)
01:06:19 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
01:06:48 falafel joins (~falafel@2603-7000-a700-8710-f5d5-ad04-474a-6450.res6.spectrum.com)
01:08:04 johnw joins (~johnw@69.62.242.138)
01:10:21 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
01:10:42 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:12:20 azimut joins (~azimut@gateway/tor-sasl/azimut)
01:15:01 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds)
01:15:02 hugo joins (znc@verdigris.lysator.liu.se)
01:16:49 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:38 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
01:19:21 × lainon quits (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd) (Quit: My Mac has gone to sleep. ZZZzzz…)
01:23:36 <probie> perhaps a silly question, but does anyone have any practical uses of `Yoneda`? It just seems less useful than `Coyoneda`. In a world without typeclasses, I could see myself wanting it, but in Haskell it just doesn't seem useful to me
01:26:49 × tabemann quits (~tabemann@2600:1700:7990:24e0:8a68:ec61:bce2:eeda) (Read error: Connection reset by peer)
01:27:06 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
01:33:59 tabemann joins (~tabemann@2600:1700:7990:24e0:fde3:7ca7:a0b6:2269)
01:36:25 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
01:40:35 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:40:50 <c_wraith> well, Coyoneda is a lot more obvious. Its Functor instance does a very obviously useful thing.
01:43:11 <Clinton[m]> Is there a version of MonadReader that doesn't have the functional dependency? (i.e. so I can have two readers in the same monad stack)
01:43:27 <Clinton[m]> I know this would mean being more explicit about the type of ask but I'm okay with that.
01:44:08 <probie> (unhelpful advice) Move to your favourite effect system?
01:44:54 <Clinton[m]> probie: haha yeah I probably should... not something I'm going to get done this afternoon unfortunately
01:45:10 <c_wraith> Clinton[m]: you can import ReaderT from transformers instead of mtl. Then there's no MonadReader class at all
01:45:28 <Clinton[m]> probie: really starting to see some issues with MTL
01:45:42 × ystael quits (~ystael@user/ystael) (Ping timeout: 260 seconds)
01:46:29 <Clinton[m]> c_wraith: does that mean I'm going to have to hard code the particular monad my functions operator on and manually poke down the monad stack with lift?
01:47:48 <c_wraith> It means you need to know what layer each effect is on, and use the correct number of lifts. amusingly you don't care what's on the levels you don't interact with.
01:48:37 <probie> I think the normal thing to do in mtl if you want `ReaderT Foo (ReaderT Bar m) a` is to give up and write `ReaderT (Foo, Bar) m a` (probably with an actual datatype instead of a tuple)
01:48:46 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds)
01:48:48 Nosrep joins (~Nosrep@user/nosrep)
01:50:04 <jackdk> and then use your choice of classy lenses or generic-lens or whatever to pull out the specific bits you care about in each context. See also the gwils talk "Next Level MTL" https://www.youtube.com/watch?v=GZPup5Iuaqw
01:51:55 <c_wraith> Ultimately I don't think ad-hoc composition of layers is very useful. I see value in being able to decorate a value in extra effects locally, but I don't see much value in aggregating effect requirements to satisfy at a global entry point.
01:56:47 <probie> Am I going crazy, or instead of requiring `pure :: a -> f a` could we have chosen `unit :: f ()`?
01:58:05 <c_wraith> you could, but It just means you're going to rewrite pure pretty quickly to use it instead of fmap (const x) unit
01:58:28 <boxscape> probie search for "Monoidal": https://wiki.haskell.org/Typeclassopedia
01:58:46 <c_wraith> Well. Or x <$ unit, but no one knows those operators. :P
02:00:54 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
02:01:58 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
02:02:37 <SrPx> https://github.com/VictorTaelin/Interaction-Type-Theory
02:06:25 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
02:12:01 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
02:12:56 × td_ quits (~td@i53870925.versanet.de) (Ping timeout: 245 seconds)
02:14:52 td_ joins (~td@i5387091E.versanet.de)
02:15:26 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
02:18:03 <EvanR> probie, unit :: Applicative f => f (), pair :: Applicative f => f a -> f b -> f (a,b)
02:20:23 × bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 246 seconds)
02:27:06 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:27:06 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:27:07 finn_elija is now known as FinnElija
02:27:27 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
02:29:11 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
02:33:08 dcoutts joins (~duncan@79.137.104.194)
02:36:09 Inst joins (~Inst@2601:6c4:4081:2fc0:ba:e9a2:9797:91e4)
02:37:20 × elred quits (~root@45.84.139.171) (Quit: leaving)
02:38:21 bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03)
02:39:22 <bratwurst> ok i put my code up to https://github.com/AirMover/doodle-gui
02:39:59 <bratwurst> it types except for the draw function, which im reworking, and the runDoodle, which has been put on hold
02:40:18 <bratwurst> anyways i put it up cause i want help with tomorrows question
02:40:20 × Inst quits (~Inst@2601:6c4:4081:2fc0:ba:e9a2:9797:91e4) (Remote host closed the connection)
02:40:31 <bratwurst> how much are people here familiar with diagrams?
02:40:40 Inst joins (~Inst@2601:6c4:4081:2fc0:ba:e9a2:9797:91e4)
02:40:44 <bratwurst> i want to use diagrams to make guis
02:41:38 × m21it quits (~m21it@2800:ac:4021:c91e:57d4:3c1b:25c6:c66b) (Ping timeout: 246 seconds)
02:43:01 <bratwurst> so basically my question is how i can reuse diagrams's layout combinators as gui combinators? know what i mean?
02:43:46 <bratwurst> i'm trying to think of a way to "mark" diagrams as reactive ones
02:44:00 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
02:45:18 <bratwurst> absent advice i will do the simple approach. i will just make a copy of its layout api
02:48:21 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1)
02:48:40 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
02:48:50 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
02:51:56 Claro joins (~claro@user/Claro)
02:52:14 <bratwurst> or maybe i will just separate the relevant part of diagrams into it's own package
02:52:33 <bratwurst> i like that idea
02:53:17 <EvanR> diagrams forms a language whose built-in interpretation is ... graphical diagrams
02:53:25 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
02:53:48 <EvanR> presumably you could hack it one way or another for a different interptation, but dunno if it can be much of a GUI
02:53:49 <bratwurst> yes but i want those graphics to respond to events
02:55:16 <bratwurst> currently i have 'data Layout = Layout [(Box, Nick)]'
02:55:45 <bratwurst> i have redone 'Widget' as 'data Widget = forall a. Render a => Widget a'
02:56:03 <bratwurst> so a nick is used to retrieve the widget from the map
02:56:18 <EvanR> one avenue is to define what a GUI is in a limited sense, and try to make a language for that
02:56:33 <bratwurst> each widget has an internal state "the drawing". currently i am using diagrams for the drawing
02:56:46 <EvanR> because the default GUI "does anything you can dream of" and that's the realm of IO
02:57:26 <bratwurst> is my conversation bothering you? i'm really enjoying trying to squish everything down to a few words
02:58:19 <bratwurst> lets do a basic example. a diagram showing some shapes spread around and as you move the mouse around the shapes change color
02:58:45 <bratwurst> so not a do-everything lib
02:58:59 <EvanR> that sounds a bit too limit but ok
02:59:03 <EvanR> limited
03:00:44 <bratwurst> so we can use diagrams to do the drawing obvs. and instead of doing gui stuff it just provides an operation that takes something that handles keys or mouse events
03:01:58 <bratwurst> so we could provide a function that takes a mouse position and the shape positions and says what event is raised when there is a hit
03:02:24 <bratwurst> so the gui is basically a transformer of gui events to app events
03:02:34 <bratwurst> and it just so happens to display things along the way
03:02:49 <EvanR> diagrams has a thing which lets you query a diagram at a point to get a value
03:02:56 <EvanR> should be useful
03:03:33 <bratwurst> you're right. that would be hit detection. so instead of bounding boxes i could use the shape itself
03:04:49 <bratwurst> so the idea right now is too see how overloaded diagrams operations are
03:05:25 <jackdk> probie: follow this logic further and you get: http://jackkelly.name/blog/archives/2020/08/19/abstracting_over_applicative_alternative_divisible_and_decidable/ (though the meat is really in the ed talk it references)
03:07:12 <probie> EvanR: the problem with `pair` is it doesn't feel very monoidal due to how tuples work in Haskell
03:07:26 <bratwurst> i don't know how to express it. i want to make things that are just like diagrams but which also understand responding to key and mouse events
03:07:45 <EvanR> well, unit and pair allow you to implement the normal Applicative API
03:07:59 <EvanR> and vice versa, it's an equivalent formulation
03:08:23 <EvanR> Monads may not seem very monoidal either but they are in some generalized sense
03:11:46 greentail joins (~greentail@2804:214:8110:b833:f96b:ef29:522c:c720)
03:16:03 <bratwurst> diagrams is already broken up. i can just use diagrams-core to start with
03:19:02 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
03:19:25 × JimL_ quits (~quassel@89.162.16.26) (Ping timeout: 240 seconds)
03:20:51 × boxscape quits (~boxscape_@user/boxscape) (Ping timeout: 245 seconds)
03:26:45 × bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 246 seconds)
03:27:06 × thegeekinside quits (~thegeekin@189.217.90.138) (Ping timeout: 245 seconds)
03:27:45 bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03)
03:29:40 falafel_ joins (~falafel@2603-7000-a700-8710-f5d5-ad04-474a-6450.res6.spectrum.com)
03:30:43 thegeekinside joins (~thegeekin@189.217.90.138)
03:31:26 × falafel quits (~falafel@2603-7000-a700-8710-f5d5-ad04-474a-6450.res6.spectrum.com) (Ping timeout: 246 seconds)
03:32:51 JimL joins (~quassel@89.162.16.26)
03:37:45 × hgolden quits (~hgolden@2603-8000-9d00-3ed1-7b72-5998-97ad-985d.res6.spectrum.com) (Remote host closed the connection)
03:39:21 × bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 246 seconds)
03:39:25 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
03:41:17 aforemny_ joins (~aforemny@i59F516CB.versanet.de)
03:42:25 × aforemny quits (~aforemny@2001:9e8:6cd3:c300:5cdf:9fe7:4b13:9351) (Ping timeout: 240 seconds)
03:47:08 × dextaa quits (~DV@user/dextaa) (Quit: Ping timeout (120 seconds))
03:48:30 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
03:48:34 dextaa joins (~DV@user/dextaa)
03:48:55 hgolden joins (~hgolden@2603-8000-9d00-3ed1-7b72-5998-97ad-985d.res6.spectrum.com)
03:51:02 × JimL quits (~quassel@89.162.16.26) (Ping timeout: 246 seconds)
03:51:42 JimL joins (~quassel@89.162.16.26)
03:52:21 trev joins (~trev@user/trev)
03:57:27 <Axman6> I have a problem that I feel could be solved with GADTs, but I'm not quite sure how to make it work. I'd like to be able to represent, in a type which models CPU instructions, the restrictions on what sorts of operands they can have: registers, 12 bit immediates, 12 bit shifted immediates, 16 bit immediates, shifted registers etc. I can't figure out what something like ADD Operand Operand Operand ( a = b + c, where c may be imm12, imm12 << n, register) The di
03:57:27 <Axman6> fficulty comes from the operands needing to be able to unify with each other
03:57:55 × ryantrinkle quits (~ryantrink@204.2.90.61) (Ping timeout: 240 seconds)
04:09:52 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:10:25 × dcoutts quits (~duncan@79.137.104.194) (Ping timeout: 240 seconds)
04:17:30 × son0p quits (~ff@181.136.122.143) (Ping timeout: 246 seconds)
04:18:34 son0p joins (~ff@181.136.122.143)
04:20:45 ryantrinkle joins (~ryantrink@204.2.90.61)
04:22:56 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
04:23:49 × greentail quits (~greentail@2804:214:8110:b833:f96b:ef29:522c:c720) (Changing host)
04:23:49 greentail joins (~greentail@user/clcuc)
04:32:58 <jackdk> Axman6: have you seen https://hackage.haskell.org/package/x86-64bit-0.4.6.3/docs/CodeGen-X86.html ?
04:33:41 bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03)
04:47:03 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
04:48:25 × bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 240 seconds)
04:50:07 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:52:17 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds)
04:52:33 <Axman6> that does look helpful, thanks jackdk, as always
04:52:45 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
04:54:11 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds)
04:54:24 <Axman6> x86 is all loosey goosey with sizes, damn these CISC shenannigans
04:56:03 rainbyte joins (~rainbyte@181.31.239.226)
04:57:12 ripspin joins (~chatzilla@1.145.170.49)
04:57:22 <probie> I like how instruction length varies based on which registers are used
04:57:42 <jackdk> Axman6: http://wall.org/~lewis/2013/10/15/asm-monad.html use of monadfix to do jump labels. Possibly handy
04:58:48 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
05:01:35 <Axman6> I'm just looking for a little more type safety, I think the cnostruction of lables ets is fairly well taken care of (though not something i've looked at too closely)
05:02:15 <greentail> jackdk, what's wall dot org?
05:02:47 <jackdk> greentail: no idea. Found the link to a blog post off an ocharles "24 days of GHC extensions" blog on monadfix
05:03:20 <jackdk> greentail: wall.org/~larry makes me think it's the Perl guy and his family
05:07:43 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
05:09:08 dibblego joins (~dibblego@116.255.1.157)
05:09:08 × dibblego quits (~dibblego@116.255.1.157) (Changing host)
05:09:08 dibblego joins (~dibblego@haskell/developer/dibblego)
05:09:11 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
05:11:38 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
05:12:25 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
05:12:40 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
05:13:24 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
05:15:55 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 240 seconds)
05:17:55 × greentail quits (~greentail@user/clcuc) (Ping timeout: 240 seconds)
05:18:50 <dsal> so much amazonka scrolling by
05:22:33 <jackdk> hm?
05:23:00 × hgolden quits (~hgolden@2603-8000-9d00-3ed1-7b72-5998-97ad-985d.res6.spectrum.com) (Remote host closed the connection)
05:24:04 <jackdk> Where are you seeing this dsal?
05:24:10 <dsal> Oh, in my project where I'm updating it.
05:24:22 <dsal> Though something changed I don't quite understand yet.
05:25:01 <jackdk> Is this 1.6.1 -> 2.0 rc or were you already following git?
05:25:58 <dsal> It's an earlier 2.0
05:26:21 <dsal> Trying to figure out what this should look like: `inAWS a = (newEnv Discover <&> set #_envRegion Oregon) >>= runResourceT . a`
05:27:09 <dsal> Wasn't there a haddock site up somewhere?
05:27:37 <jackdk> that's (partially) the auth refactor: https://github.com/brendanhay/amazonka/blob/ac8b11e6069ab2c1db6c5f1f5f25ad3c0f787c46/lib/amazonka/CHANGELOG.md#major-changes-1
05:27:59 <jackdk> haddock site https://amazonka.brendanhay.nz/ stopped updating when bazel went away
05:28:33 oo_miguel joins (~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
05:28:43 <dsal> Lame. :( Yeah, I did find the thing about `discover` – but I'm not sure where `envRegion` went. That's mentioned there.
05:31:11 <jackdk> you want `newEnv discover` (lowercase `d`, because credential chains are now values), and `#region` (if you like generic lens) or `env_region` (if you don't) - record field prefixes went away and all lenses are prefixed for consistency with service bindings
05:31:20 <jackdk> Oh, you figured the first half out
05:33:25 <dsal> I found examples. :)
05:34:43 <dsal> My code compiles.
05:34:45 dsal ships it
05:35:01 dcoutts joins (~duncan@79.137.104.194)
05:36:45 <jackdk> \o/
05:37:35 claro__ joins (~claro@102.215.57.111)
05:37:39 × claro__ quits (~claro@102.215.57.111) (Client Quit)
05:38:13 <dsal> Thanks for getting this out. I'm pretty excited about it. 2.0's a good deal better.
05:39:36 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
05:39:42 <jackdk> You're welcome. I'm pretty excited about getting it over the line too - it closes off a big project and will be good for a lot of people to have it on Hackage proper.
05:41:40 _claro joins (~claro@2c0f:2a80:df:6110:1484:b330:aad8:54f7)
05:41:56 × _claro quits (~claro@2c0f:2a80:df:6110:1484:b330:aad8:54f7) (Changing host)
05:41:56 _claro joins (~claro@user/Claro)
05:41:57 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
05:42:19 × _claro quits (~claro@user/Claro) (Client Quit)
05:44:07 caryhartline joins (~caryhartl@168.182.58.169)
05:44:38 <Axman6> jackdk: I do wish you'd use the same name on irc and girhub, then people would know you're the one to blame^w thank for all this amazonka work
05:44:45 <Axman6> github*
05:46:55 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
05:48:55 × dcoutts quits (~duncan@79.137.104.194) (Ping timeout: 240 seconds)
05:50:06 × ell quits (~ellie@user/ellie) (Quit: Leaving)
05:50:46 × iteratee quits (~kyle@162.218.222.207) (Read error: Connection reset by peer)
05:51:01 iteratee joins (~kyle@162.218.222.207)
05:51:55 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
05:52:25 ell joins (~ellie@user/ellie)
05:53:34 notzmv joins (~zmv@user/notzmv)
05:57:06 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
06:01:30 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Quit: Leaving)
06:04:55 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
06:04:55 × mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds)
06:05:47 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 246 seconds)
06:07:38 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
06:09:20 azimut joins (~azimut@gateway/tor-sasl/azimut)
06:13:55 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
06:15:45 hugo joins (znc@verdigris.lysator.liu.se)
06:20:22 × ripspin quits (~chatzilla@1.145.170.49) (Read error: Connection reset by peer)
06:21:09 jonathan joins (~jonathan@c83-252-3-92.bredband.tele2.se)
06:28:08 × ell quits (~ellie@user/ellie) (Quit: Leaving)
06:28:55 ell joins (~ellie@user/ellie)
06:29:01 neuroevolutus joins (~neuroevol@2001:ac8:9a:76::1e)
06:29:23 shriekingnoise joins (~shrieking@186.137.175.87)
06:30:48 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
06:31:30 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 250 seconds)
06:33:25 × falafel_ quits (~falafel@2603-7000-a700-8710-f5d5-ad04-474a-6450.res6.spectrum.com) (Ping timeout: 240 seconds)
06:36:30 × theodorc quits (theodorc@cassarossa.samfundet.no) (Quit: WeeChat 3.0)
06:36:41 teddyc joins (theodorc@cassarossa.samfundet.no)
06:38:59 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
06:42:17 <Axman6> wtf, why are variables defined in python for loops in scope outside the loop! wtf is this madness!
06:43:02 × qqq quits (~qqq@92.43.167.61) (Remote host closed the connection)
06:43:14 dcoutts joins (~duncan@195.80.64.243)
06:43:29 <Axman6> also, why on earth can't you specify the types of the results when a method returns a tuple, this is insanity
06:44:20 <Axman6> x: int = f(7) -- totally fine, x; int, y: int = f(7) -- excuse me wtf do you think you're doing???
06:44:44 × caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline)
06:46:53 michalz joins (~michalz@185.246.207.221)
06:47:47 × neuroevolutus quits (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed)
06:50:53 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
06:51:55 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
06:53:10 × Vajb quits (~Vajb@85-76-167-107-nat.elisa-mobile.fi) (Ping timeout: 250 seconds)
06:53:41 zeenk joins (~zeenk@2a02:2f04:a00b:1800::7fe)
06:55:58 Vajb joins (~Vajb@2001:999:480:2329:e191:822:3665:ff4f)
06:56:24 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
06:56:26 dobblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
06:56:26 × dobblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
06:56:26 dobblego joins (~dibblego@haskell/developer/dibblego)
06:56:59 dobblego is now known as dibblego
06:57:31 <monochrom> Python is a scripting language. Definition: A scripting language leaks inner variables into outer scopes. Examples: shell, python.
06:57:55 <monochrom> basic. :)
07:01:46 fendor joins (~fendor@2a02:8388:1640:be00:821b:25b5:c8f3:73a0)
07:04:24 <tomsmeding> monochrom: also JS
07:04:44 <tomsmeding> with the classic 'var' notation in any case; modern (ES6) let/const are more well-behaved
07:05:12 <tomsmeding> furthermore, in JS if you declare a variable with 'var' anywhere in the function, it will be in scope in the _entire_ function, with value 'undefined' before its first assignment
07:05:35 <tomsmeding> Axman6: types are not checked in python, they are documentation only
07:05:50 <tomsmeding> if you want them checked, you need to use an external type checker like mypy (there are more, I just forget their names)
07:06:11 <tomsmeding> oh you're talking about syntax
07:06:14 <tomsmeding> ¯\_(ツ)_/¯
07:07:47 <tomsmeding> corollary of the JS behaviour is that in JS, 'i = 10; (function() { i = 20; })(); console.log(i)' will print 20, whereas 'i = 10; (function() { i = 20; var i; })(); console.log(i)' will print 10
07:08:21 <dminuoso> tomsmeding: It's really lovely to see static types being added after the fact, but without any type checker.
07:08:35 <tomsmeding> yes
07:08:36 <dminuoso> Its smells of one huge compromise.
07:08:44 <tomsmeding> kinda like rain
07:08:52 <tomsmeding> it's fun and games as long as I don't have to be in it
07:09:30 <dminuoso> Rain at least has generally good impact on everyone, even if individually people may dislike it.
07:09:41 <dminuoso> But I suppose the same can be said about static type checking.
07:09:48 <tomsmeding> true :P I don't dislike rain, I just dislike getting drenched often
07:10:00 <tomsmeding> :)
07:11:38 <dminuoso> It's strangely absurd, because it imposes extra syntax but without any benefit. And without an actual type checker, there isn't even semantics to any of it.
07:12:05 <dminuoso> I wouldn't be surprised if there's gross misuses of it, where people embed just data for metaprogramming into type hints.
07:12:17 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
07:12:34 <tomsmeding> dminuoso: the "without any benefit" is not really true, because people _do_ use external type checkers
07:12:49 <dminuoso> But I suppose its near impossible to add a type system after the fact, especially if there have been decades of dynamic/metaprogramming features.
07:13:01 <tomsmeding> at the very least people using python IDEs (yes, those are a thing) benefit from type annotations in the standard library
07:13:24 <dminuoso> tomsmeding: And what if two type checkers disagree on whether a given code type checks?
07:13:27 <dminuoso> Which one is right?
07:13:30 <tomsmeding> see also typescript and Flow and their distinct type systems
07:13:45 <dminuoso> In case of flow, its all embeddable as comments at least.
07:13:50 <dminuoso> Which is very non-intrusive
07:14:00 <tomsmeding> dminuoso: IIRC the spec for the python type annotations define a semantics for them
07:14:06 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1)
07:14:06 dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net)
07:14:07 <tomsmeding> which is undecidable or so
07:14:23 <dminuoso> What exactly is undecidable?
07:14:34 <tomsmeding> union types and madness
07:14:44 <dminuoso> Ah well, I guess my mood has nothing to with type systems. I just dont want to fight freeradius today.
07:15:09 <tomsmeding> hence if two type checkers terminate on a particular python program, they will reach the same conclusion -- or so I remember, I may be wrong
07:15:30 <tomsmeding> different type checkers _do_ use different algorithms and hence can typecheck different programs though, iirc
07:15:41 <tomsmeding> dminuoso: but it's free?
07:15:53 <dminuoso> It's free of many things, yes.
07:15:56 <tomsmeding> :)
07:17:55 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
07:19:08 acidjnk joins (~acidjnk@p200300d6e7072f974de2c6538d982a41.dip0.t-ipconnect.de)
07:24:06 qqq joins (~qqq@92.43.167.61)
07:29:42 aforemny_ is now known as aforemny
07:29:57 ripspin joins (~chatzilla@1.145.164.87)
07:31:17 neuroevolutus joins (~neuroevol@2001:ac8:9a:76::1e)
07:33:04 × neuroevolutus quits (~neuroevol@2001:ac8:9a:76::1e) (Client Quit)
07:39:12 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
07:41:20 christiansen joins (~christian@188-177-16-45-dynamic.dk.customer.tdc.net)
07:42:02 × christiansen quits (~christian@188-177-16-45-dynamic.dk.customer.tdc.net) (Client Quit)
07:42:16 christiansen joins (~christian@188-177-16-45-dynamic.dk.customer.tdc.net)
07:42:22 gurkenglas joins (~gurkengla@dynamic-002-247-243-191.2.247.pool.telefonica.de)
07:42:30 hisa38773 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
07:43:55 × hisa3877 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 240 seconds)
07:43:55 hisa38773 is now known as hisa3877
07:46:04 gmg joins (~user@user/gehmehgeh)
07:48:58 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
07:49:29 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:50:39 × dcoutts quits (~duncan@195.80.64.243) (Ping timeout: 246 seconds)
07:53:48 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
07:54:47 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
08:00:20 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
08:03:03 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
08:04:55 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
08:07:40 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:08:07 dobblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
08:08:07 × dobblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
08:08:07 dobblego joins (~dibblego@haskell/developer/dibblego)
08:08:46 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
08:12:28 × dobblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds)
08:15:44 CiaoSen joins (~Jura@2a05:5800:29a:f00:664b:f0ff:fe37:9ef)
08:16:38 dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
08:16:38 × dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
08:16:38 dibblego joins (~dibblego@haskell/developer/dibblego)
08:19:02 × christiansen quits (~christian@188-177-16-45-dynamic.dk.customer.tdc.net) ()
08:19:02 × rainbyte quits (~rainbyte@181.31.239.226) (Ping timeout: 252 seconds)
08:19:54 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Write error: Connection reset by peer)
08:21:09 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:21:26 titibandit joins (~titibandi@user/titibandit)
08:21:26 danse-nr3 joins (~francesco@151.37.235.112)
08:23:33 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
08:28:11 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
08:29:11 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
08:29:47 × YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:c0d1:a78f:f0d6:915b) (Ping timeout: 246 seconds)
08:38:47 tv1 joins (~tv@user/tv)
08:38:50 × tv1 quits (~tv@user/tv) (Client Quit)
08:38:58 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:39:06 tv1 joins (~tv@user/tv)
08:39:38 × tv quits (~tv@user/tv) (Ping timeout: 260 seconds)
08:41:55 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
08:42:36 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:46:10 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds)
08:46:16 × JimL quits (~quassel@89.162.16.26) (Ping timeout: 245 seconds)
08:47:22 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Quit: Leaving)
08:47:52 misterfish joins (~misterfis@87.215.131.102)
08:49:23 JimL joins (~quassel@89.162.16.26)
08:50:37 × gurkenglas quits (~gurkengla@dynamic-002-247-243-191.2.247.pool.telefonica.de) (Read error: Connection reset by peer)
08:51:59 × ft quits (~ft@p508db151.dip0.t-ipconnect.de) (Quit: leaving)
08:53:16 × tv1 quits (~tv@user/tv) (Quit: derp)
08:53:30 tv joins (~tv@user/tv)
08:55:48 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
09:00:45 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Quit: WeeChat 4.0.1)
09:00:47 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
09:01:11 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
09:05:02 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
09:05:19 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
09:05:47 Batzy joins (~quassel@user/batzy)
09:14:32 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
09:15:24 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
09:15:47 Batzy joins (~quassel@user/batzy)
09:16:11 Sciencentistguy4 joins (~sciencent@hacksoc/ordinary-member)
09:17:48 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 246 seconds)
09:17:48 Sciencentistguy4 is now known as Sciencentistguy
09:21:55 × CiaoSen quits (~Jura@2a05:5800:29a:f00:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds)
09:29:47 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
09:30:45 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
09:31:08 Lord_of_Life_ is now known as Lord_of_Life
09:32:27 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Read error: Connection reset by peer)
09:33:04 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
09:33:58 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
09:34:35 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
09:35:53 gurkenglas joins (~gurkengla@dynamic-002-247-243-191.2.247.pool.telefonica.de)
09:36:00 × auri quits (~auri@fsf/member/auri) (Remote host closed the connection)
09:38:20 auri joins (~auri@fsf/member/auri)
09:47:14 mmhat joins (~mmh@p200300f1c74f8624ee086bfffe095315.dip0.t-ipconnect.de)
09:47:55 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
09:51:21 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:53:56 × mmhat quits (~mmh@p200300f1c74f8624ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.1)
09:55:34 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) (Remote host closed the connection)
09:55:47 × raym quits (~ray@user/raym) (Ping timeout: 264 seconds)
10:00:56 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
10:02:10 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
10:05:55 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
10:07:06 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
10:10:08 jsomedon joins (uid606872@id-606872.hampstead.irccloud.com)
10:11:43 jsomedon parts (uid606872@id-606872.hampstead.irccloud.com) ()
10:11:55 jsomedon joins (uid606872@id-606872.hampstead.irccloud.com)
10:12:06 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds)
10:16:56 <jackdk> Axman6: "why are variables defined in python for loops in scope outside the loop!?" <- to understand the behaviour of a Python program, you must understand the mindset of a busy C programmer writing a language runtime. And getting lexical scope and closures right is haaard, man. (the lua paper has a cool technique for this)
10:25:25 danse-nr3 thinks that apparently that mindset proved out to be quite successful
10:26:31 <jackdk> Hard to argue with its reach, that's for certain, and it explains much (particularly 2.x era warts): leaky variable scopes, old-style classes, `print` statements, etc.
10:29:25 <danse-nr3> old-style classes would be those adopted by typescript recently, right? Just object-oriented classes
10:36:40 <jackdk> Not sure about TS but in older versions of python any object instance `x`, regardless of class, would return `type(x) = <type 'instance'>`: https://stackoverflow.com/questions/54867/what-is-the-difference-between-old-style-and-new-style-classes-in-python
10:37:33 <danse-nr3> oh, i see what you mean. But then they found a way to step out of it
10:39:18 × smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
10:39:21 <danse-nr3> although all those class models all look old-style to me =D
10:45:05 __monty__ joins (~toonn@user/toonn)
10:48:13 × danse-nr3 quits (~francesco@151.37.235.112) (Remote host closed the connection)
10:48:37 danse-nr3 joins (~francesco@151.37.235.112)
10:56:03 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1)
10:59:48 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
11:00:04 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
11:00:25 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) (Ping timeout: 240 seconds)
11:04:10 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:e50d:8961:b963:9f54)
11:05:55 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
11:08:25 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e50d:8961:b963:9f54) (Ping timeout: 240 seconds)
11:08:55 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds)
11:11:40 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Quit: WeeChat 4.0.1)
11:14:38 × qqq quits (~qqq@92.43.167.61) (Remote host closed the connection)
11:16:07 dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
11:16:07 Guest17 joins (~Guest17@p200300ef9728cc4f4f46d74fc2265874.dip0.t-ipconnect.de)
11:16:07 × dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
11:16:07 dibblego joins (~dibblego@haskell/developer/dibblego)
11:20:59 × danse-nr3 quits (~francesco@151.37.235.112) (Ping timeout: 264 seconds)
11:21:18 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
11:22:02 × fendor quits (~fendor@2a02:8388:1640:be00:821b:25b5:c8f3:73a0) (Ping timeout: 260 seconds)
11:22:26 × Guest17 quits (~Guest17@p200300ef9728cc4f4f46d74fc2265874.dip0.t-ipconnect.de) (Quit: Client closed)
11:22:47 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
11:22:55 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds)
11:24:19 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
11:25:05 CiaoSen joins (~Jura@2a05:5800:29a:f00:664b:f0ff:fe37:9ef)
11:27:05 m21it joins (~m21it@2800:ac:4051:7621:fd87:d5eb:4b00:5f0b)
11:27:26 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds)
11:27:42 dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
11:27:42 × dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
11:27:42 dibblego joins (~dibblego@haskell/developer/dibblego)
11:29:55 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
11:32:25 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds)
11:33:36 fendor joins (~fendor@2a02:8388:1640:be00:821b:25b5:c8f3:73a0)
11:36:55 dibblego joins (~dibblego@116.255.1.157)
11:36:56 × dibblego quits (~dibblego@116.255.1.157) (Changing host)
11:36:56 dibblego joins (~dibblego@haskell/developer/dibblego)
11:37:46 danse-nr3 joins (~francesco@151.37.235.112)
11:38:49 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:40:55 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds)
11:42:13 <dminuoso> jackdk: In some way, it is simpler to tie lexical scope to the implementation. So any resulting implementation artifacts, like setting up variables at the beginning of a stack frame (potentially hoisting variable definitions to the beginning of a function) and keeping them alive forever, is just relatively simple.
11:43:34 × m21it quits (~m21it@2800:ac:4051:7621:fd87:d5eb:4b00:5f0b) (Remote host closed the connection)
11:43:52 m21it joins (~m21it@2800:ac:4051:7621:fd87:d5eb:4b00:5f0b)
11:45:27 × m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 245 seconds)
11:46:28 <dminuoso> But I guess thats just a more detailed account of the "mindset of a busy C programmer writing a language runtime"
11:47:08 m5zs7k joins (aquares@web10.mydevil.net)
11:53:32 × glguy quits (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 252 seconds)
11:54:33 glguy joins (~glguy@libera/staff-emeritus/glguy)
11:56:29 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 246 seconds)
11:57:27 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
12:01:51 × danse-nr3 quits (~francesco@151.37.235.112) (Read error: Connection reset by peer)
12:02:08 danse-nr3 joins (~francesco@151.47.247.209)
12:08:06 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:10:41 dsrt^ joins (~cd@24.125.210.85)
12:11:34 × mei quits (~mei@user/mei) (Remote host closed the connection)
12:13:58 mei joins (~mei@user/mei)
12:14:39 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
12:18:55 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
12:19:11 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
12:19:54 × jsomedon quits (uid606872@id-606872.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
12:30:56 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
12:37:22 Midjak joins (~Midjak@82.66.147.146)
12:37:45 igghibu joins (~igghibu@178.249.211.83)
12:49:09 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
12:49:09 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
12:49:09 × califax quits (~califax@user/califx) (Remote host closed the connection)
12:49:09 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
12:49:09 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
12:49:35 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
12:49:38 jpds joins (~jpds@gateway/tor-sasl/jpds)
12:49:38 califax joins (~califax@user/califx)
12:49:48 ec joins (~ec@gateway/tor-sasl/ec)
12:49:51 chiselfuse joins (~chiselfus@user/chiselfuse)
12:50:54 × m21it quits (~m21it@2800:ac:4051:7621:fd87:d5eb:4b00:5f0b) (Remote host closed the connection)
12:51:06 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
12:52:03 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
12:56:46 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 260 seconds)
12:57:11 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:57:45 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
12:59:58 × califax quits (~califax@user/califx) (Ping timeout: 240 seconds)
13:00:52 × user___ quits (~user@162.255.84.96) (Ping timeout: 240 seconds)
13:01:16 user___ joins (~user@162.255.84.96)
13:02:22 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds)
13:03:29 califax joins (~califax@user/califx)
13:06:24 dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
13:06:25 × dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
13:06:25 dibblego joins (~dibblego@haskell/developer/dibblego)
13:07:35 qqq joins (~qqq@92.43.167.61)
13:09:47 nick3 joins (~nick@2600:8807:9084:7800:81a9:9ad8:11b2:d730)
13:10:50 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
13:15:01 bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03)
13:15:47 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
13:17:11 × igghibu quits (~igghibu@178.249.211.83) (Quit: igghibu)
13:17:32 igghibu joins (~igghibu@178.249.211.83)
13:18:31 bliminse joins (~bliminse@user/bliminse)
13:18:41 × igghibu quits (~igghibu@178.249.211.83) (Client Quit)
13:19:05 × bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 246 seconds)
13:20:26 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
13:26:39 Guest6127 joins (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr)
13:29:10 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
13:30:33 × JimL quits (~quassel@89.162.16.26) (Read error: Connection reset by peer)
13:30:51 ystael joins (~ystael@user/ystael)
13:31:06 JimL joins (~quassel@89.162.16.26)
13:31:21 slack1256 joins (~slack1256@186.11.16.55)
13:31:55 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
13:31:55 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
13:31:55 wroathe joins (~wroathe@user/wroathe)
13:36:49 dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
13:36:50 × dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
13:36:50 dibblego joins (~dibblego@haskell/developer/dibblego)
13:37:25 × acidjnk quits (~acidjnk@p200300d6e7072f974de2c6538d982a41.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:38:46 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
13:47:29 noscript joins (~james@user/earldouglas)
13:48:02 mankyKitty joins (uid31287@id-31287.helmsley.irccloud.com)
13:48:05 blueranger19811 joins (~Adium@bzq-84-110-149-34.static-ip.bezeqint.net)
13:53:42 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
13:55:11 zmt00 joins (~zmt00@user/zmt00)
13:58:17 <Inst> wait, in Haskell, do we generally have a turing tax for monadic code?
13:58:21 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds)
13:58:35 <Inst> i.e, one way to describe Haskell and FP is that in most languages, you pay a lambda tax because the compiler won't optimize your FP idioms for you
13:58:52 <Inst> in Haskell, you pay a turing tax because the compiler isn't that highly tuned toward optimizing your imperative idioms for you
13:59:07 × Benzi-Junior quits (~BenziJuni@dsl-149-64-112.hive.is) (Quit: ZNC 1.8.2 - https://znc.in)
14:00:53 × nick3 quits (~nick@2600:8807:9084:7800:81a9:9ad8:11b2:d730) (Ping timeout: 246 seconds)
14:01:26 blueranger1981 joins (~user@bzq-84-110-149-34.static-ip.bezeqint.net)
14:02:20 blueranger19811 parts (~Adium@bzq-84-110-149-34.static-ip.bezeqint.net) ()
14:03:34 __monty_1 joins (~toonn@user/toonn)
14:03:35 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 264 seconds)
14:04:21 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal)
14:04:27 <c_wraith> the main overhead comes from (>>=) being hard to inline properly. There's nothing special about (>>=) per se, but it's often used in polymorphic contexts where the actual type isn't known, so it can't be inlined.
14:04:35 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
14:04:57 jpds joins (~jpds@gateway/tor-sasl/jpds)
14:05:57 <c_wraith> an indirect function call being made between every pair of statements is a lot of overhead.
14:06:18 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:e50d:8961:b963:9f54)
14:07:14 greentail joins (~greentail@2804:214:8134:90eb:2d73:371:b52a:fc2f)
14:10:32 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e50d:8961:b963:9f54) (Ping timeout: 246 seconds)
14:11:41 shriekingnoise joins (~shrieking@186.137.175.87)
14:12:48 Benzi-Junior joins (~BenziJuni@dsl-149-64-112.hive.is)
14:13:27 <Axman6> I would take the overhead of Either any day over the noise of things like Go's error handling. "it's not overhead if you wrote it yourself"
14:13:52 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 4.0.1)
14:13:58 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
14:14:46 × greentail quits (~greentail@2804:214:8134:90eb:2d73:371:b52a:fc2f) (Changing host)
14:14:46 greentail joins (~greentail@user/clcuc)
14:14:56 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
14:18:06 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
14:20:25 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
14:25:25 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
14:26:05 nick3 joins (~nick@2600:100d:b11d:748c:b1a8:2825:98de:468)
14:27:46 × vgtw quits (~vgtw@user/vgtw) (Ping timeout: 260 seconds)
14:27:47 vgtw_ joins (~vgtw@user/vgtw)
14:28:45 acidjnk joins (~acidjnk@p200300d6e7072f97d49128753c394ff8.dip0.t-ipconnect.de)
14:29:55 titibandit joins (~titibandi@user/titibandit)
14:31:30 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
14:32:39 igghibu joins (~igghibu@178.249.211.83)
14:36:10 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 260 seconds)
14:36:27 <danse-nr3> c_wraith, is that the same overhead for all typeclass code? Due to dictionary lookup, i think
14:37:57 <c_wraith> danse-nr3: sometimes. Monadic code is more likely to contain indefinite loops in polymorphic contexts than most typeclass-based code.
14:38:05 × igghibu quits (~igghibu@178.249.211.83) (Quit: igghibu)
14:38:26 igghibu joins (~igghibu@178.249.211.83)
14:39:21 <c_wraith> The underlying problem is a potential issue anywhere, but due to usage patterns it tends to show up more often with >>=
14:39:36 <danse-nr3> i see, thanks
14:40:33 × Angelz quits (Angelz@2605:6400:30:fc15:9bd1:2217:41cd:bb15) (Remote host closed the connection)
14:41:02 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
14:41:19 × igghibu quits (~igghibu@178.249.211.83) (Client Quit)
14:42:22 × danso quits (~danso@user/danso) (Quit: quittin time)
14:42:40 hisa38773 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
14:44:13 danso joins (~danso@user/danso)
14:44:46 × hisa3877 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 252 seconds)
14:44:47 hisa38773 is now known as hisa3877
14:45:19 Angelz joins (Angelz@2605:6400:30:fc15:9bd1:2217:41cd:bb15)
14:49:23 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
14:52:47 t1noname joins (~mark@89.209.156.65)
14:55:10 × t1noname quits (~mark@89.209.156.65) (Client Quit)
14:58:30 × misterfish quits (~misterfis@87.215.131.102) (Ping timeout: 250 seconds)
15:01:41 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
15:06:16 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds)
15:20:27 gaff joins (~gaff@49.207.196.249)
15:20:34 × gaff quits (~gaff@49.207.196.249) (Client Quit)
15:23:19 __monty_1 is now known as __monty__
15:27:10 × nyc quits (~nyc@user/nyc) (Read error: Connection reset by peer)
15:27:40 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
15:30:43 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
15:32:56 × ddellacosta quits (~ddellacos@143.244.47.100) (Ping timeout: 245 seconds)
15:33:25 × CiaoSen quits (~Jura@2a05:5800:29a:f00:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds)
15:34:51 ddellacosta joins (~ddellacos@146.70.165.216)
15:34:53 × greentail quits (~greentail@user/clcuc) (Ping timeout: 246 seconds)
15:35:26 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds)
15:36:15 lottaquestions joins (~nick@2607:fa49:503d:b200:5acb:c775:e1cd:3a88)
15:36:21 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:38:13 × Inst quits (~Inst@2601:6c4:4081:2fc0:ba:e9a2:9797:91e4) (Remote host closed the connection)
15:38:17 dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
15:38:18 × dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
15:38:18 dibblego joins (~dibblego@haskell/developer/dibblego)
15:38:35 Inst joins (~Inst@2601:6c4:4081:2fc0:ba:e9a2:9797:91e4)
15:39:49 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
15:40:11 × dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 264 seconds)
15:40:37 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
15:41:11 × blueranger1981 quits (~user@bzq-84-110-149-34.static-ip.bezeqint.net) (Ping timeout: 246 seconds)
15:41:41 greentail joins (~greentail@2804:214:8110:b833:f96b:ef29:522c:c720)
15:41:46 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
15:44:12 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds)
15:44:19 × cheater quits (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com))
15:44:54 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
15:45:12 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
15:45:51 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:b51c:90a2:c6ee:ffbb)
15:46:39 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
15:47:08 Sgeo joins (~Sgeo@user/sgeo)
15:48:55 × danse-nr3 quits (~francesco@151.47.247.209) (Ping timeout: 240 seconds)
15:50:32 × nick3 quits (~nick@2600:100d:b11d:748c:b1a8:2825:98de:468) (Ping timeout: 240 seconds)
15:50:45 × Everything quits (~Everythin@static.208.206.21.65.clients.your-server.de) (Ping timeout: 258 seconds)
15:51:11 nick3 joins (~nick@2600:100d:b112:5e5:202b:3d45:9260:a8d0)
15:52:56 × Angelz quits (Angelz@2605:6400:30:fc15:9bd1:2217:41cd:bb15) (Remote host closed the connection)
15:55:22 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
15:56:04 turlando joins (~turlando@user/turlando)
15:56:04 slac87842 joins (~slack1256@191.125.44.98)
15:57:07 Angelz joins (Angelz@angelz.oddprotocol.org)
15:57:44 × mankyKitty quits (uid31287@id-31287.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
15:58:18 × slack1256 quits (~slack1256@186.11.16.55) (Ping timeout: 250 seconds)
15:58:47 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
15:59:34 mauke joins (~mauke@user/mauke)
16:01:18 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
16:01:36 × Angelz quits (Angelz@angelz.oddprotocol.org) (Client Quit)
16:02:03 × ddellacosta quits (~ddellacos@146.70.165.216) (Ping timeout: 246 seconds)
16:03:06 ddellacosta joins (~ddellacos@146.70.165.216)
16:04:45 <nick3> I'm using blaze-html to mark up some html, and I want to iterate through a list of options to generate option elements for a select element. However, I can't figure out why it keeps saying the type is Markup () instead of Html (which looks to be the same thing in the source of blaze to me ...). The error I keep getting is Couldn't match type: blaze-markup-0.8.2.8:Text.Blaze.Internal.MarkupM and my
16:04:47 <nick3> code is here: https://paste.tomsmeding.com/S3yVShLi
16:10:17 bilegeek joins (~bilegeek@2600:1008:b03e:10a5:9b85:f00c:17bb:a9c)
16:10:40 Angelz joins (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973)
16:10:58 thegeekinside joins (~thegeekin@189.217.90.138)
16:11:14 Everything joins (~Everythin@static.208.206.21.65.clients.your-server.de)
16:11:52 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds)
16:11:58 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
16:12:04 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:12:06 dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au)
16:12:06 × dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host)
16:12:06 dibblego joins (~dibblego@haskell/developer/dibblego)
16:13:51 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:13:52 × Angelz quits (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) (Client Quit)
16:16:16 Angelz joins (Angelz@angelz.oddprotocol.org)
16:16:41 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
16:20:48 <c_wraith> nick3: when it's including package versions in type errors, that means you have two different versions of the same package involved
16:22:21 <mauke> nick3: what's the error message?
16:22:34 × ddellacosta quits (~ddellacos@146.70.165.216) (Ping timeout: 250 seconds)
16:22:41 <c_wraith> nick3: I strongly recommend using modern library management instead of `cabal install --lib' stuff
16:24:25 ddellacosta joins (~ddellacos@146.70.165.100)
16:25:50 × nick3 quits (~nick@2600:100d:b112:5e5:202b:3d45:9260:a8d0) (Ping timeout: 260 seconds)
16:26:58 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:30:01 × Guest6127 quits (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 245 seconds)
16:38:11 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
16:38:43 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
16:42:45 Ligtht-1 joins (~Ligtht@94.25.171.223)
16:44:06 briandaed joins (~briandaed@185.234.210.211)
16:44:11 smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com)
16:44:47 × JimL quits (~quassel@89.162.16.26) (Ping timeout: 245 seconds)
16:47:19 × Ligtht-1 quits (~Ligtht@94.25.171.223) (Quit: Leaving)
16:48:12 raym joins (~ray@user/raym)
16:49:21 JimL joins (~quassel@89.162.16.26)
16:50:26 dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net)
16:56:14 dcoutts joins (~duncan@195.80.64.243)
16:56:24 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:57:52 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
16:58:07 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
17:00:17 lainon joins (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd)
17:02:25 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
17:02:36 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
17:02:54 × greentail quits (~greentail@2804:214:8110:b833:f96b:ef29:522c:c720) (Changing host)
17:02:54 greentail joins (~greentail@user/clcuc)
17:11:25 × Vajb quits (~Vajb@2001:999:480:2329:e191:822:3665:ff4f) (Ping timeout: 240 seconds)
17:11:51 Vajb joins (~Vajb@2001:999:480:2329:e191:822:3665:ff4f)
17:11:58 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:14:38 × briandaed quits (~briandaed@185.234.210.211) (Remote host closed the connection)
17:19:41 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
17:20:52 × greentail quits (~greentail@user/clcuc) (Read error: Connection reset by peer)
17:21:46 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:22:42 greentail joins (~greentail@2804:214:8134:90eb:2d73:371:b52a:fc2f)
17:22:45 × greentail quits (~greentail@2804:214:8134:90eb:2d73:371:b52a:fc2f) (Changing host)
17:22:45 greentail joins (~greentail@user/clcuc)
17:23:27 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
17:24:41 Guest7669 joins (~finn@176-151-21-224.abo.bbox.fr)
17:25:22 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:33:58 × fendor quits (~fendor@2a02:8388:1640:be00:821b:25b5:c8f3:73a0) (Remote host closed the connection)
17:36:20 rainbyte joins (~rainbyte@181.31.239.226)
17:40:06 mixfix41 joins (~sdeny9ee@user/mixfix41)
17:40:13 × elkcl quits (~elkcl@broadband-95-84-180-37.ip.moscow.rt.ru) (Remote host closed the connection)
17:40:51 elkcl joins (~elkcl@broadband-95-84-180-37.ip.moscow.rt.ru)
17:43:53 jmdaemon joins (~jmdaemon@user/jmdaemon)
17:47:27 falafel_ joins (~falafel@2603-7000-a700-8710-5f49-cb4b-40df-fc3d.res6.spectrum.com)
17:53:06 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds)
18:00:26 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds)
18:00:29 × lainon quits (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd) (Quit: My Mac has gone to sleep. ZZZzzz…)
18:11:47 gmg joins (~user@user/gehmehgeh)
18:13:57 × ripspin quits (~chatzilla@1.145.164.87) (Remote host closed the connection)
18:14:34 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
18:15:19 slac87842 is now known as slack1256
18:17:35 img joins (~img@user/img)
18:21:45 cheater joins (~Username@user/cheater)
18:21:45 × slack1256 quits (~slack1256@191.125.44.98) (Read error: Connection reset by peer)
18:22:48 hgolden joins (~hgolden@2603-8000-9d00-3ed1-7b72-5998-97ad-985d.res6.spectrum.com)
18:23:50 slack1256 joins (~slack1256@186.11.22.183)
18:37:06 × qqq quits (~qqq@92.43.167.61) (Remote host closed the connection)
18:42:59 __monty__ joins (~toonn@user/toonn)
18:50:48 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
18:54:14 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
18:55:27 × fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
18:56:43 × cheater quits (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com))
18:58:10 × greentail quits (~greentail@user/clcuc) (Quit: Leaving)
19:00:55 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
19:02:43 ijqq_ joins (uid603979@id-603979.helmsley.irccloud.com)
19:13:12 motherfsck joins (~motherfsc@user/motherfsck)
19:14:36 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
19:19:22 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds)
19:23:45 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
19:28:25 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
19:31:08 Deide_ joins (~Deide@217.155.19.23)
19:34:28 × rburkholder quits (~blurb@96.45.2.121) (Remote host closed the connection)
19:37:43 danse-nr3 joins (~francesco@151.57.226.137)
19:39:51 nick3 joins (~nick@2600:100d:b10c:c9f7:54d7:973d:6405:1a8)
19:40:02 × Deide_ quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
19:40:07 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
19:49:33 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
19:50:12 lainon joins (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd)
19:51:08 × NinjaTrappeur quits (~ninja@user/ninjatrappeur) (Quit: WeeChat 4.0.1)
19:53:04 NinjaTrappeur joins (~ninja@user/ninjatrappeur)
19:55:36 boxscape_ joins (~boxscape_@81.191.27.107)
20:03:14 × danse-nr3 quits (~francesco@151.57.226.137) (Read error: Connection reset by peer)
20:03:40 danse-nr3 joins (~francesco@151.43.248.110)
20:03:43 <Guest7669> when building ghc, i got: Error, file does not exist and no rule available:
20:03:45 <Guest7669> hadrian/cfg/system.config
20:03:50 <Guest7669> what's wrong here
20:04:47 × phma quits (~phma@host-67-44-208-125.hnremote.net) (Read error: Connection reset by peer)
20:05:10 phma joins (phma@2001:5b0:211f:7128:2fba:fcc2:b8b6:7566)
20:05:25 <geekosaur> did you run boot and configure?
20:05:30 <geekosaur> successfully?
20:12:08 × trev quits (~trev@user/trev) (Quit: trev)
20:12:26 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
20:15:20 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:15:36 <Guest7669> sorry, forgot it
20:18:01 × johnw quits (~johnw@69.62.242.138) (Read error: Connection reset by peer)
20:18:28 euandreh joins (~Thunderbi@189.6.18.7)
20:22:05 johnw joins (~johnw@69.62.242.138)
20:29:45 pavonia joins (~user@user/siracusa)
20:30:32 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
20:34:59 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds)
20:37:01 johnw_ joins (~johnw@69.62.242.138)
20:37:25 × johnw quits (~johnw@69.62.242.138) (Ping timeout: 240 seconds)
20:38:00 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
20:38:37 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
20:45:20 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
20:50:16 <nick3> I've got to be crazy here, I don't understand this compile error: #0 8.773 • Couldn't match type: blaze-markup-0.8.2.8:Text.Blaze.Internal.MarkupM
20:50:16 <nick3> #0 8.773 ()
20:50:16 <nick3> #0 8.773 with: () -> blaze-markup-0.8.2.8:Text.Blaze.Internal.MarkupM ()y
20:50:16 <nick3> that makes no sense, couldn't match a type with exactly the same type?
20:50:57 <davean> So the formating there is bad, but to parse it appart those don't look at all like the same typ3e
20:51:15 <[exa]> nick3: it's like `xxx ()` vs `() -> xxx ()`
20:51:17 <davean> "MarkupM ()" vs. "() -> MarkupM ()"
20:51:26 <davean> Those are DEEPLY different
20:52:13 <[exa]> looks like off-by-one-argument error
20:53:56 <nick3> ah ok
20:54:14 <jade[m]> this looks like an `a >>= b` vs `a >> b` thing (?)
20:54:15 <nick3> I do see
20:54:15 <nick3> thanks for that
20:54:34 <nick3> yes thats exactly what it was >.>
20:54:34 <monochrom> Unpopular opinion: Users of impure functional languages have off-by-one-argument errors. :)
20:54:59 <jade[m]> nick3: yeah the library kind of abuses monads in that sense
20:55:20 <jade[m]> where they never want you to use anything but m () just ao you can have do notation
20:55:26 <jade[m]> I don't really like that
20:55:30 bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03)
20:55:39 <jean-paul[m]> now I wonder what the arity of the arguments to `>.>` is.
20:55:56 actioninja63 joins (~actioninj@user/actioninja)
20:56:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:56:09 <nick3> what do you mean never want you to use anything but m ()?
20:57:27 × actioninja6 quits (~actioninj@user/actioninja) (Ping timeout: 246 seconds)
20:57:27 actioninja63 is now known as actioninja6
20:57:42 <jade[m]> MarkupM a usually doesn't carry any actual data with the a
20:57:52 <danse-nr3> %:t (>.>)
20:58:04 <jade[m]> type Html = MarkupM () and then everything is using that alias
20:58:28 <davean> jade[m]: you can do the data though.
20:58:32 <davean> jade[m]: it doesn't sure, but you can
20:58:34 <jade[m]> and the only purpose is to be able to write do div $ do ...
20:59:24 × Guest7669 quits (~finn@176-151-21-224.abo.bbox.fr) (Quit: WeeChat 3.5)
20:59:25 × bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 240 seconds)
21:00:05 <jade[m]> I think the library also has type Markup = MarkupM () and uses that for all functions
21:00:17 <jade[m]> so it never really intended the use of the type
21:00:33 <probie> Is that just to abuse do notation without needing rebindable syntax?
21:00:39 <davean> That doesn't interfear with using the monad parts?
21:00:51 <davean> You still get more power for it being this form
21:01:00 <jade[m]> probie: yes exactly
21:01:31 neuroevolutus joins (~neuroevol@2001:ac8:9a:76::1e)
21:01:43 × euandreh quits (~Thunderbi@189.6.18.7) (Quit: euandreh)
21:02:08 <jade[m]> scanreading through it I don't think the functor instance is even lawful
21:02:31 <boxscape_> These days I think QualifiedDo would probably work nicely for that
21:02:33 <jade[m]> no idea about applicative and monad, but i suspect they might not be
21:05:17 <davean> Its not given most equality. They don't have an eq instance ... thats interesting
21:05:49 bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03)
21:09:29 × JimL quits (~quassel@89.162.16.26) (Read error: Connection reset by peer)
21:09:58 × aku quits (~aku@65.108.245.241) (Remote host closed the connection)
21:10:42 JimL joins (~quassel@89.162.16.26)
21:12:29 johnw_ is now known as johnw
21:15:55 × nick3 quits (~nick@2600:100d:b10c:c9f7:54d7:973d:6405:1a8) (Ping timeout: 240 seconds)
21:19:36 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
21:22:25 × Vajb quits (~Vajb@2001:999:480:2329:e191:822:3665:ff4f) (Ping timeout: 240 seconds)
21:28:55 × acidjnk quits (~acidjnk@p200300d6e7072f97d49128753c394ff8.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
21:29:25 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
21:33:55 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
21:36:25 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds)
21:41:15 nick3 joins (~nick@2600:8807:9084:7800:8939:f628:ed3d:955)
21:43:52 azimut joins (~azimut@gateway/tor-sasl/azimut)
21:44:35 ft joins (~ft@p508db151.dip0.t-ipconnect.de)
21:44:58 × JimL quits (~quassel@89.162.16.26) (Ping timeout: 250 seconds)
21:45:07 <danse-nr3> the topic here could read "the best channel to read while compiling" =D
21:47:22 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
21:49:26 JimL joins (~quassel@89.162.16.26)
21:49:36 × dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 246 seconds)
21:49:48 × danse-nr3 quits (~francesco@151.43.248.110) (Remote host closed the connection)
21:50:11 danse-nr3 joins (~francesco@151.43.248.110)
21:52:01 aku joins (~aku@65.108.245.241)
21:58:36 ph88 joins (~ph88@ltea-178-013-121-150.pools.arcor-ip.net)
21:58:55 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds)
22:00:01 <Hecate> du hast verdammt recht
22:00:37 × mei quits (~mei@user/mei) (Remote host closed the connection)
22:01:40 <ph88> i have a functor and i want to check in a monad if i can convert it's elements. Either i would like to have the errors of elements that could not be converted, or i want all the converted elements back. Something like (a -> m (Either Text b)) -> f a -> m (Either [Text] (f b)) how can i make this function ?
22:01:51 × bilegeek quits (~bilegeek@2600:1008:b03e:10a5:9b85:f00c:17bb:a9c) (Quit: Leaving)
22:03:02 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 246 seconds)
22:05:25 × jonathan quits (~jonathan@c83-252-3-92.bredband.tele2.se) (Ping timeout: 240 seconds)
22:05:41 <ph88> it's not possible right ? do i need to implement another typeclass on this type ?
22:06:03 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
22:06:47 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
22:08:12 mei joins (~mei@user/mei)
22:08:22 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:09:33 <danse-nr3> ph88, yeah i think it should be easy. A fmap to act in the monad and another to act on the Either's Right ... although i do not know how to use the prompt here to run examples and show the types
22:09:40 × slack1256 quits (~slack1256@186.11.22.183) (Ping timeout: 250 seconds)
22:10:28 <danse-nr3> also i am not sure about the a -> at the beginning of your type and ... maybe an (a -> f a) would be needed?
22:11:58 <danse-nr3> % ()
22:11:58 <yahb2> ()
22:12:33 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
22:12:44 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
22:12:46 <ph88> danse-nr3, (a -> f a) is `pure` or `return` right ? so i would have to implement the Applicative typeclass for that
22:12:47 <danse-nr3> % fmap (fmap (+1)) [Either 1 2]
22:12:47 <yahb2> <interactive>:213:19: error: ; • Illegal term-level use of the type constructor ‘Either’ ; imported from ‘Prelude’ (and originally defined in ‘Data.Either’) ; • In the expression: E...
22:12:54 <mauke> f = IO, m = Identity: (a -> Either Text b) -> IO a -> Either [Text] (IO b)
22:12:56 <danse-nr3> % fmap (fmap (+1)) [Right 2]
22:12:56 <yahb2> [Right 3]
22:13:27 <geekosaur> this smells like eithyer These or Chronicle
22:16:29 × zeenk quits (~zeenk@2a02:2f04:a00b:1800::7fe) (Quit: Konversation terminated!)
22:18:37 <tomsmeding> % :t \f l -> (\r -> case sequence r of Right res -> Right res ; _ -> Left (lefts (toList r))) <$> traverse f l -- ph88
22:18:37 <yahb2> <interactive>:1:71: error: Variable not in scope: lefts :: t0 -> a3 ; ; <interactive>:1:78: error: ; Variable not in scope: toList :: t (Either a1 a2) -> t0
22:18:48 <tomsmeding> % :m +Data.Either Data.Foldable
22:18:48 <yahb2> <no output>
22:18:49 <tomsmeding> % :t \f l -> (\r -> case sequence r of Right res -> Right res ; _ -> Left (lefts (toList r))) <$> traverse f l -- ph88
22:18:50 <yahb2> \f l -> (\r -> case sequence r of Right res -> Right res ; _ -> Left (lefts (toList r))) <$> traverse f l -- ph88 ; :: (Traversable t, Applicative f) => ; (a1 -> f (Either a2 b)) -> t a1 ->...
22:19:01 <tomsmeding> :t \f l -> (\r -> case sequence r of Right res -> Right res ; _ -> Left (lefts (toList r))) <$> traverse f l
22:19:02 <lambdabot> (Traversable t, Applicative f) => (a1 -> f (Either a2 b)) -> t a1 -> f (Either [a2] (t b))
22:19:04 <tomsmeding> better
22:19:29 <tomsmeding> using Data.Either.lefts
22:20:59 <tomsmeding> no need for Monad :)
22:21:47 <ph88> thanks tomsmeding i'll have a look :)
22:22:09 <ph88> by the way i need monad because of the check i need to do
22:22:22 × gurkenglas quits (~gurkengla@dynamic-002-247-243-191.2.247.pool.telefonica.de) (Read error: Connection reset by peer)
22:22:35 <ph88> hmm actually i don't .. the check is also pure code ^^
22:25:30 wroathe joins (~wroathe@user/wroathe)
22:26:06 <danse-nr3> oh i missed the parens at the beginning of your type, apologies
22:32:37 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
22:32:55 <ph88> np <3
22:34:25 × dsrt^ quits (~cd@24.125.210.85) (Ping timeout: 240 seconds)
22:36:31 merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl)
22:37:41 notzmv joins (~zmv@user/notzmv)
22:37:55 × ph88 quits (~ph88@ltea-178-013-121-150.pools.arcor-ip.net) (Ping timeout: 240 seconds)
22:38:35 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
22:40:21 × nick3 quits (~nick@2600:8807:9084:7800:8939:f628:ed3d:955) (Ping timeout: 246 seconds)
22:41:50 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
22:42:17 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds)
22:43:02 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds)
22:44:46 × neuroevolutus quits (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed)
22:45:51 × michalz quits (~michalz@185.246.207.221) (Ping timeout: 245 seconds)
22:49:47 × ystael quits (~ystael@user/ystael) (Quit: Lost terminal)
22:52:46 dsrt^ joins (~cd@24.125.210.85)
22:56:09 ph88 joins (~ph88@ltea-178-013-121-150.pools.arcor-ip.net)
22:59:25 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
23:01:17 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
23:02:26 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
23:02:31 jmd_ joins (~jmdaemon@user/jmdaemon)
23:03:04 × danse-nr3 quits (~francesco@151.43.248.110) (Ping timeout: 252 seconds)
23:05:41 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds)
23:06:43 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
23:07:47 × falafel_ quits (~falafel@2603-7000-a700-8710-5f49-cb4b-40df-fc3d.res6.spectrum.com) (Ping timeout: 246 seconds)
23:08:24 jpds joins (~jpds@gateway/tor-sasl/jpds)
23:08:29 × ijqq_ quits (uid603979@id-603979.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
23:10:01 × merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
23:13:18 × ph88 quits (~ph88@ltea-178-013-121-150.pools.arcor-ip.net) (Quit: Leaving)
23:13:38 buckwheatsuperpo joins (~buckwheat@209.122.211.192)
23:16:11 liminal joins (~goirc@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e)
23:18:08 × buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds)
23:30:00 × lainon quits (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd) (Quit: Textual IRC Client: www.textualapp.com)
23:34:03 Guest|11 joins (~Guest|11@51-171-234-195-dynamic.agg2.kle.prp-wtd.eircom.net)
23:34:13 × Guest|11 quits (~Guest|11@51-171-234-195-dynamic.agg2.kle.prp-wtd.eircom.net) (Client Quit)
23:38:58 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1)
23:46:17 × oo_miguel quits (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 246 seconds)
23:46:32 mauke_ joins (~mauke@user/mauke)
23:48:02 × mauke quits (~mauke@user/mauke) (Ping timeout: 250 seconds)
23:48:02 mauke_ is now known as mauke
23:48:15 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
23:49:52 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
23:51:10 nick3 joins (~nick@2600:8807:9084:7800:8939:f628:ed3d:955)
23:54:23 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
23:55:42 × nick3 quits (~nick@2600:8807:9084:7800:8939:f628:ed3d:955) (Ping timeout: 260 seconds)
23:58:57 _xor joins (~xor@ip-50-5-233-250.dynamic.fuse.net)

All times are in UTC on 2023-07-11.