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.