2021/03/01

2021-03-01 00:00:01 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-03-01 00:00:19 +0100 <dolio> And correspondingly, no detail needs to be specified about `e` in the type that is incidentally revealing information about the implementation of `f`.
2021-03-01 00:01:59 +0100 <rednaZ[m]> NieDzejkob: Whatever you use, I recommend the # labels.
2021-03-01 00:02:08 +0100mynickisrandom(uid148779@gateway/web/irccloud.com/x-rsvsinemprsbzqpy) ()
2021-03-01 00:02:24 +0100 <rednaZ[m]> ...overloaded labels.
2021-03-01 00:03:01 +0100 <rednaZ[m]> and NoFieldSelectors
2021-03-01 00:03:37 +0100 <rednaZ[m]> or DuplicateRecordFields until you have access to NoFieldSelectors
2021-03-01 00:04:17 +0100 <BigLama> «
2021-03-01 00:04:23 +0100pavonia(~user@unaffiliated/siracusa)
2021-03-01 00:07:05 +0100 <rednaZ[m]> dolio: I am trying to achieve checked exceptions by something like `(Exn1 `Elem` list) => Either (OpenSum list) a`.
2021-03-01 00:07:33 +0100 <rednaZ[m]> Does you criticism even apply to this?
2021-03-01 00:09:20 +0100 <rednaZ[m]> But even when I think about something like `f : (a -> b throws e) -> b throws e`, your criticism does not seem to apply.
2021-03-01 00:09:34 +0100 <dolio> I'm not sure. It might depend on implementation details.
2021-03-01 00:11:13 +0100 <rednaZ[m]> `f : (a -> b throws e) -> b throws e` is equivalent to `f :: (a -> Either e b) -> Either e c`, is it not?
2021-03-01 00:11:19 +0100 <rednaZ[m]> Just as good.
2021-03-01 00:11:43 +0100 <dolio> It depends why that type is accepted.
2021-03-01 00:11:44 +0100Tario(~Tario@200.119.184.155) (Read error: Connection reset by peer)
2021-03-01 00:12:13 +0100 <rednaZ[m]> The implementation of f cannot catch anything.
2021-03-01 00:12:35 +0100Tario(~Tario@201.192.165.173)
2021-03-01 00:12:38 +0100 <dolio> If it's accepted because `f` handles `Exn1` from g, but `e - Exn1` can automatically be promoted to `e` because it is a subtype, then the type is imprecise.
2021-03-01 00:12:55 +0100tanuki(~quassel@173.168.154.189) (Ping timeout: 240 seconds)
2021-03-01 00:13:39 +0100 <dolio> For the type to be precise, there has to be a mechanism for `Exn1` exceptions from `g` to go past the handler in `f`.
2021-03-01 00:13:44 +0100 <rednaZ[m]> Huh
2021-03-01 00:14:13 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-03-01 00:14:56 +0100 <dolio> And one way for that to work is to be able to add a redundant `Exn1` to the e row, even if it already contains `Exn1`.
2021-03-01 00:15:15 +0100elfets(~elfets@37.201.23.96) (Ping timeout: 240 seconds)
2021-03-01 00:15:32 +0100 <dolio> Then you can promote g to `a -> b throws {Exn1|e}`, and `f` only handles the first Exn1, which g doesn't actually throw.
2021-03-01 00:18:11 +0100BigLama(~alex@static-176-165-167-17.ftth.abo.bbox.fr) (Remote host closed the connection)
2021-03-01 00:18:51 +0100 <dolio> The imprecise type could even make the type system unsound, depending on the exact combination of features.
2021-03-01 00:19:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 00:20:07 +0100Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-03-01 00:20:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 00:24:23 +0100fendor_(~fendor@178.165.129.154.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-03-01 00:24:54 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-01 00:24:54 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-03-01 00:25:47 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-03-01 00:26:16 +0100tanuki(~quassel@173.168.154.189)
2021-03-01 00:26:38 +0100forgottenone(~forgotten@176.42.27.254) (Quit: Konversation terminated!)
2021-03-01 00:26:39 +0100svet(~svet@90.200.185.163)
2021-03-01 00:28:14 +0100 <rednaZ[m]> Is there any problem with saying that `f : (a -> b throws e) -> b throws e` cannot catch anything and `f : (a -> b throws {Exn1 | r}) -> b throws r` necessarily catches any `Exn1`?
2021-03-01 00:28:30 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 00:28:44 +0100 <dolio> What do you mean 'any'?
2021-03-01 00:29:11 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-03-01 00:29:17 +0100 <d34df00d> rednaZ[m]: not directly answering your question, but I think I've seen a post exploring questions similar to yours.
2021-03-01 00:29:19 +0100 <d34df00d> Let me dig that up.
2021-03-01 00:29:21 +0100 <rednaZ[m]> alll
2021-03-01 00:29:28 +0100 <rednaZ[m]> dolio: all
2021-03-01 00:29:35 +0100 <d34df00d> rednaZ[m]: https://www.parsonsmatt.org/2020/10/27/plucking_in_plucking_out.html
2021-03-01 00:29:39 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 00:29:40 +0100 <Axman6> doliall
2021-03-01 00:29:49 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-03-01 00:29:52 +0100 <dolio> That is an accurate type. But `r` could contain `Exn1`, and it is lying about the fact that it might still throw it.
2021-03-01 00:30:08 +0100 <dolio> Or, maybe I should say, it's imprecise, but sound.
2021-03-01 00:30:11 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-01 00:30:22 +0100 <d34df00d> dolio: unless | guarantees disjointness?
2021-03-01 00:30:24 +0100 <dolio> The other one is imprecise and possibly unsound.
2021-03-01 00:30:46 +0100 <d34df00d> I might be out of context though, so pardon that)
2021-03-01 00:30:55 +0100hiroaki_(~hiroaki@2a02:908:4b18:8c40:2d1:b436:dd9b:cc7) (Ping timeout: 272 seconds)
2021-03-01 00:31:34 +0100pera(~pera@unaffiliated/pera) (Quit: leaving)
2021-03-01 00:32:39 +0100 <dolio> It could, but {E|e} cannot be the only source of that constraint, because I think it's possible to get into situations where `E` is only relevant in a local scope, so there needs to be a way of saying that `f : (... throws r) -> ... throws r` may only be instantiated with `r` that lack `Exn1`.
2021-03-01 00:32:42 +0100bob87(62940397@098-148-003-151.res.spectrum.com)
2021-03-01 00:33:10 +0100 <dolio> And then the implementation details are leaking into the type.
2021-03-01 00:33:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 00:34:06 +0100 <rednaZ[m]> "But `r` could contain `Exn1`". I can imagine semantics prohibiting this.
2021-03-01 00:34:14 +0100 <dolio> That is the anti-modular case, where the implementation details of `f` are visible in the type.
2021-03-01 00:34:21 +0100bob87(62940397@098-148-003-151.res.spectrum.com) (Client Quit)
2021-03-01 00:34:29 +0100 <d34df00d> Welcome to the world of dependent types.
2021-03-01 00:34:31 +0100 <nshepperd> disjointedness would require | to introduce some sort of implicit 'does not contain' constraint which must be bubbled up, so that you get a type error if you try invoke it at r ~ {Exn1}
2021-03-01 00:34:49 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
2021-03-01 00:34:51 +0100 <rednaZ[m]> d34df00d: Any types really.
2021-03-01 00:35:20 +0100 <d34df00d> I'd argue the only case where the implementation details (that is, terms) leak into types is when types depend on terms.
2021-03-01 00:35:56 +0100kam1(~kam1@5.125.126.175) (Ping timeout: 240 seconds)
2021-03-01 00:37:01 +0100 <d34df00d> Maybe we should just learn to accept that, dunno.
2021-03-01 00:37:07 +0100 <dolio> It's not a dependent type.
2021-03-01 00:37:14 +0100 <d34df00d> In this case, no, it's not.
2021-03-01 00:37:14 +0100 <nshepperd> it doesn't seem bad for it to be imprecise though
2021-03-01 00:37:16 +0100 <dolio> And it's not a good type.
2021-03-01 00:38:13 +0100 <d34df00d> But I think what we're trying to emulate here is a function that says "I can handle any error of type Exn1 and produce a sum type which does not have any Exn1".
2021-03-01 00:38:28 +0100 <d34df00d> Not sure if that qualifies as a bad kind of leak.
2021-03-01 00:38:50 +0100 <nshepperd> if you invoke such a function at r containing Exn1, that doesn't necessarily mean that you expect it to throw Exn1, it just means you don't care if it does
2021-03-01 00:38:59 +0100 <d34df00d> (I've scrolled above a little and maybe I've missed the original question or important details, but that's my take)
2021-03-01 00:40:32 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Read error: Connection reset by peer)
2021-03-01 00:40:40 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:715d:5350:d8ba:9302)
2021-03-01 00:40:53 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-03-01 00:41:04 +0100 <dolio> If your take is that modularity is unnecessary, it doesn't seem like a very realistic take.
2021-03-01 00:42:10 +0100 <nshepperd> modularity?
2021-03-01 00:42:34 +0100 <dolio> Abstraction such that particular implementation details don't matter.
2021-03-01 00:42:59 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 260 seconds)
2021-03-01 00:43:05 +0100 <d34df00d> I just refactored a piece of code in one module, it typechecks, but a completely different module now fails because constraint solver now sees a more complicated problem that it cannot solve anymore.
2021-03-01 00:43:10 +0100 <d34df00d> Modularity is a myth.
2021-03-01 00:43:16 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Client Quit)
2021-03-01 00:43:27 +0100 <absence> is there a way to treat a vector as its reverse (via a newtype?) that would make e.g. dropWhile start from the end, or should i just do reverse . dropWhile p . reverse?
2021-03-01 00:45:57 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-03-01 00:46:17 +0100 <absence> or maybe with lens?
2021-03-01 00:46:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 00:47:59 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-03-01 00:48:17 +0100 <nshepperd> i don't understand the argument that it's anti modular
2021-03-01 00:48:50 +0100 <Axman6> @hoogle dropWhileEnd
2021-03-01 00:48:50 +0100 <lambdabot> Data.List dropWhileEnd :: (a -> Bool) -> [a] -> [a]
2021-03-01 00:48:50 +0100 <lambdabot> GHC.OldList dropWhileEnd :: (a -> Bool) -> [a] -> [a]
2021-03-01 00:48:50 +0100 <lambdabot> Data.ByteString dropWhileEnd :: (Word8 -> Bool) -> ByteString -> ByteString
2021-03-01 00:48:51 +0100 <nshepperd> but i do think checked exceptions aren't worth the administrative overhead given how little they offer
2021-03-01 00:49:16 +0100 <Axman6> I'm pretty sure Vector has that function, Text and ByteString do IIRC
2021-03-01 00:49:51 +0100 <Axman6> absence: Repa would also allow you to do that
2021-03-01 00:51:55 +0100 <rednaZ[m]> "i don't understand the argument that it's anti modular". I was already wondering if it was just me.
2021-03-01 00:52:22 +0100 <dolio> nshepperd: The fact that `f` uses exceptions in its implementation shouldn't matter as long as it catches those exceptions.
2021-03-01 00:52:31 +0100 <rednaZ[m]> But I do understand "administrative overhead".
2021-03-01 00:53:02 +0100 <c_wraith> absence: if you are using the lensy approach, https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens-Combinators.html#v:reversed
2021-03-01 00:53:23 +0100 <absence> Axman6: vector doesn't have dropWhileEnd it seems
2021-03-01 00:53:29 +0100 <rednaZ[m]> Any type safety brings "administrative overhead". It is subjective, which one you consider worth it.
2021-03-01 00:53:34 +0100 <dolio> However, it is forced to be distinct from an implementation that doesn't use exceptions because there is no way to be properly abstract with respect to exceptions.
2021-03-01 00:53:49 +0100 <nshepperd> i thought the point of f's type is that it catches the exception thrown by g
2021-03-01 00:53:57 +0100 <Axman6> I guess dropWhileEnd doesn't make sense with fusion
2021-03-01 00:55:08 +0100 <absence> Axman6: hm, that's a good point
2021-03-01 00:55:13 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
2021-03-01 00:55:27 +0100 <dolio> nshepperd: It cannot avoid catching an exception from `g` that matches the exception it uses in its internal implementation.
2021-03-01 00:56:24 +0100 <nshepperd> I'm lost
2021-03-01 00:57:12 +0100 <nshepperd> if the exception is meant to be 'internal' why does its type say it catches it from the externally provided function
2021-03-01 00:58:40 +0100Tario(~Tario@201.192.165.173)
2021-03-01 00:59:01 +0100remby(4c437c1b@bras-base-london1483w-grc-21-76-67-124-27.dsl.bell.ca)
2021-03-01 00:59:20 +0100 <dolio> The point is that there's no way to say, "don't handle any exceptions from `g`" in most systems. So if you call `g` inside a local exception handler, that pollutes the type.
2021-03-01 01:00:01 +0100zopsi(~zopsi@irc.dir.ac) (Quit: Oops)
2021-03-01 01:00:09 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
2021-03-01 01:00:13 +0100 <dolio> Because an implementation that locally uses exceptions is different from one that doesn't, necessarily.
2021-03-01 01:00:31 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK)
2021-03-01 01:00:36 +0100zopsi(~zopsi@irc.dir.ac)
2021-03-01 01:00:39 +0100 <absence> c_wraith: it's a more elegant way of expressing it, but i was thinking more along the lines of the vector getting "mapped" to its reverse rather than actually get reversed (although maybe it's a moot point due to fusion). there is some stuff called "backwards", but it seems to be for effects
2021-03-01 01:00:43 +0100 <rednaZ[m]> "Is there any problem with saying that `f : (a -> b throws e) -> b throws e` cannot catch anything and `f : (a -> b throws {Exn1 | r}) -> b throws r necessarily catches any Exn1`?"
2021-03-01 01:01:08 +0100 <nshepperd> oh, I've never heard of checked exceptions being used to assert that something doesn't catch
2021-03-01 01:01:43 +0100nrh^(nrh@ip98-184-89-2.mc.at.cox.net) ()
2021-03-01 01:03:44 +0100 <edwardk> TFW you realize the thing you have been trying to do for 2 days is broken in ghc and its not your fault
2021-03-01 01:04:10 +0100pacak(~pacak@bb116-14-220-91.singnet.com.sg) (Read error: Connection reset by peer)
2021-03-01 01:04:30 +0100pacak(~pacak@bb116-14-220-91.singnet.com.sg)
2021-03-01 01:04:39 +0100 <edwardk> dolio: clearly the solution is some kind of region parameter trick to tag things it wants to produce and catch
2021-03-01 01:05:07 +0100 <dolio> The solution is static scoping.
2021-03-01 01:05:09 +0100 <nshepperd> rednaZ[m]: that seems way too restrictive
2021-03-01 01:05:11 +0100 <edwardk> or that
2021-03-01 01:05:36 +0100 <dolio> This is also a problem with algebraic effects, and people came up with similar solutions.
2021-03-01 01:05:46 +0100 <dolio> But mtl doesn't have this problem, because it's implemented with type classes.
2021-03-01 01:05:51 +0100 <dolio> Which are static.
2021-03-01 01:06:24 +0100Digit(~user@fsf/member/digit)
2021-03-01 01:06:59 +0100 <dolio> Or, I suppose, type classes and monad transformers are lists, not sets.
2021-03-01 01:07:14 +0100 <nshepperd> mtl is a cool system that doesn't afraid of anything
2021-03-01 01:07:31 +0100remby(4c437c1b@bras-base-london1483w-grc-21-76-67-124-27.dsl.bell.ca) ()
2021-03-01 01:07:32 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com)
2021-03-01 01:08:12 +0100 <dolio> I.E. mtl clases + monad transformers are an implementation of Liejen-style scoped labels being desugared to tuples.
2021-03-01 01:08:23 +0100 <Axman6> edwardk: you're like the only person who that happens to, the rest of us just blame GHC and then find out its our fault
2021-03-01 01:10:21 +0100 <edwardk> Axman6: to be fair, i blamed myself for 2 days
2021-03-01 01:10:31 +0100 <Digit> hi haskellers. :) no question really, i just wanted to pass encouraging enthused comment: i know there are more established text editors around, but, mmm, that first line's got to be at least a little enticing: "First, note that Yi has no special purpose configuration language. Yi provides building blocks, that the user can combine to create their own editor. This means that the configuration file is a top-level Haskell script ,
2021-03-01 01:10:31 +0100 <Digit> defining a main function." https://yi-editor.github.io/posts/2014-09-02-configuration/ (as yi documentation and blurbs menion elsewhere... text-editor, extensible/configured in haskell.) :)
2021-03-01 01:10:53 +0100 <shapr> I think someone implemented dropWhileEd and that's the problem
2021-03-01 01:11:30 +0100 <dolio> rednaZ[m]: I'm not sure what about my preceding explanation didn't answer that.
2021-03-01 01:11:33 +0100 <edwardk> shapr: a simple filter checking current username for ekmett like the hedgehog folks put in for hibberd?
2021-03-01 01:11:53 +0100dsrt^(dsrt@ip98-184-89-2.mc.at.cox.net)
2021-03-01 01:11:59 +0100 <shapr> I'd just look for the kmett substring in the login name
2021-03-01 01:12:00 +0100 <rednaZ[m]> dolio: You said that this would lead to the anti-modular case.
2021-03-01 01:12:01 +0100 <shapr> but yeah, that
2021-03-01 01:12:45 +0100 <edwardk> shapr: oh man, cursing my whole family
2021-03-01 01:13:00 +0100 <rednaZ[m]> dolio: And then you seemed to say the anti-modular case can be described as "there's no way to say, "don't handle any exceptions from `g`"".
2021-03-01 01:13:29 +0100 <rednaZ[m]> Do you understand what I mean?
2021-03-01 01:14:15 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-03-01 01:14:20 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:715d:5350:d8ba:9302) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 01:14:21 +0100 <dolio> Well, I don't know what you're asking about. There are various problems with various systems, and there's one way that I think is good, but isn't implemented usually.
2021-03-01 01:14:24 +0100 <edwardk> shapr: found it. https://github.com/hedgehogqa/haskell-hedgehog/blob/06eb4747052a6ef109ab65688fc4d29a39a71c4c/hedge…
2021-03-01 01:15:25 +0100 <dolio> So, like, if saying `{Exn1 | r}` lets you catch Exn1 from `r`, then I don't think that's the good solution.
2021-03-01 01:15:57 +0100 <dolio> If it means that `r` is disjoint from `Exn1`, that means implementation details that shouldn't matter leak.
2021-03-01 01:16:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 01:16:31 +0100 <dolio> Because anything that references `f` has to talk about being disjoint from `Exn1`, even if `f` "owns" Exn1.
2021-03-01 01:18:09 +0100mrioqueiroz(~mrioqueir@186.251.19.98)
2021-03-01 01:19:10 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:151c:7038:ec74:9b6a)
2021-03-01 01:19:38 +0100jemurray(~jemurray@shell.jasonmurray.org) ()
2021-03-01 01:20:21 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
2021-03-01 01:21:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 01:22:18 +0100 <shapr> edwardk: I don't know this story, but I want to
2021-03-01 01:22:40 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 01:23:34 +0100 <sm[m]> symlinkghc - Symbolically link the ghc tools provided by the global stack resolver into PATH
2021-03-01 01:23:34 +0100 <sm[m]> https://gist.github.com/simonmichael/42fa4828490ff71355b8c9029f036e4d
2021-03-01 01:23:42 +0100rajivr(uid269651@gateway/web/irccloud.com/x-cjskmdmxlxsbgxmo)
2021-03-01 01:24:47 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-01 01:27:33 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 245 seconds)
2021-03-01 01:30:05 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 01:30:29 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-03-01 01:30:49 +0100gitgoood(~gitgood@80-44-13-166.dynamic.dsl.as9105.com) (Ping timeout: 260 seconds)
2021-03-01 01:34:10 +0100gitgood(~gitgood@80-44-13-206.dynamic.dsl.as9105.com)
2021-03-01 01:34:45 +0100todda7(~torstein@athedsl-258913.home.otenet.gr)
2021-03-01 01:35:03 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-01 01:35:46 +0100alx741(~alx741@181.196.68.52) (Quit: alx741)
2021-03-01 01:36:04 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 260 seconds)
2021-03-01 01:37:35 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 01:38:09 +0100atmunr(~moemoemoe@190.151.160.175)
2021-03-01 01:39:35 +0100mrioqueiroz(~mrioqueir@186.251.19.98) (Ping timeout: 240 seconds)
2021-03-01 01:39:45 +0100bennofs__(~quassel@dslb-094-222-091-028.094.222.pools.vodafone-ip.de)
2021-03-01 01:40:48 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Quit: Leaving)
2021-03-01 01:41:01 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-01 01:41:13 +0100atmunr(~moemoemoe@190.151.160.175) (Quit: WeeChat 2.9)
2021-03-01 01:41:22 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-03-01 01:43:24 +0100bennofs_(~quassel@dslb-188-106-243-069.188.106.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2021-03-01 01:44:36 +0100o1lo01ol_(~o1lo01ol1@89.214.221.60)
2021-03-01 01:44:36 +0100o1lo01ol1o(~o1lo01ol1@89.214.221.60) (Remote host closed the connection)
2021-03-01 01:47:11 +0100moemoemoe(~moemoemoe@190.151.160.175)
2021-03-01 01:48:37 +0100moemoemoe(~moemoemoe@190.151.160.175) ("WeeChat 2.9")
2021-03-01 01:48:43 +0100soft-warm(44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds)
2021-03-01 01:49:45 +0100o1lo01ol_(~o1lo01ol1@89.214.221.60) (Ping timeout: 264 seconds)
2021-03-01 01:50:36 +0100zq(~zq@xorshift.org) ()
2021-03-01 01:51:04 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:151c:7038:ec74:9b6a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 01:51:46 +0100 <jamestmartin> why is `(->)` syntactically valid but not `(%1->)`?
2021-03-01 01:52:34 +0100 <edwardk> you can use FUN 'One
2021-03-01 01:52:35 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-01 01:52:58 +0100 <edwardk> but in general you can't partially apply (->) at all the kinds it can be used at, so this doesn't surprise me
2021-03-01 01:54:11 +0100 <edwardk> you also generally can't section types. e.g. i'd like to be able to write instance Foo (e ->) rather than instance Foo ((->) e) but i can't do that either
2021-03-01 01:54:44 +0100 <edwardk> and morally what you wrote there jamestmartin looks a lot like a weird ternary section
2021-03-01 01:56:19 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 256 seconds)
2021-03-01 02:00:59 +0100 <jamestmartin> mostly I'm just trying to figure out what the LinearTypes syntax for stuff is. where is it documented that FUN is exported by `Data.Kind`? (and for that matter, what exports 'One)
2021-03-01 02:03:38 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-03-01 02:03:59 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 02:06:06 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-01 02:06:40 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42)
2021-03-01 02:07:09 +0100usr25_tm(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-01 02:08:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2) (Remote host closed the connection)
2021-03-01 02:08:23 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 245 seconds)
2021-03-01 02:08:31 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 276 seconds)
2021-03-01 02:09:49 +0100WarzoneCommand(~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 272 seconds)
2021-03-01 02:10:21 +0100cheater(~user@unaffiliated/cheater)
2021-03-01 02:10:49 +0100 <sm[m]> jeez, scripting with Haskell is still too hard
2021-03-01 02:12:15 +0100 <sm[m]> I wanted a week calendar in a certain format, I thought I'll just do a quick Haskell script. 1.5h of fiddling with setup later..
2021-03-01 02:13:57 +0100 <jamestmartin> according to the GHC user manual, Multiplicity is exported by `GHC.Types`, which is provided by `ghc-prim`, but it's not documented as an export of `ghc-prim` on Hackage, and it seems unlikely that `FUN` would be exported as part of base but not `Multiplicity`. is it exported somewhere else without depending directly on `ghc-prim`? I can't search for it on hackage because hackage doesn't document the core linear types stuff afaict, the GHC user manual
2021-03-01 02:13:57 +0100 <jamestmartin> didn't even mention FUN existed at all, and neither the proposal nor the wiki mention what exports what (again afaict)
2021-03-01 02:16:00 +0100slack1256(~slack1256@45.4.2.52) (Remote host closed the connection)
2021-03-01 02:17:34 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 245 seconds)
2021-03-01 02:20:48 +0100carlomagno(~cararell@148.87.23.10) (Remote host closed the connection)
2021-03-01 02:21:00 +0100WarzoneCommand(~Frank@77-162-168-71.fixed.kpn.net)
2021-03-01 02:22:46 +0100carlomagno(~cararell@148.87.23.10)
2021-03-01 02:26:20 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-03-01 02:30:13 +0100gentauro(~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer)
2021-03-01 02:31:04 +0100gentauro(~gentauro@unaffiliated/gentauro)
2021-03-01 02:34:39 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 245 seconds)
2021-03-01 02:35:04 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Remote host closed the connection)
2021-03-01 02:35:24 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 02:36:15 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds)
2021-03-01 02:39:39 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-03-01 02:40:32 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-01 02:40:54 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-03-01 02:42:05 +0100 <edwardk> jamestmartin: i grab FUN from GHC.Prim everything else from GHC.Types -- didn't even know Data.Kind exported this stuff
2021-03-01 02:47:52 +0100 <jamestmartin> neither did I (and as far as I can tell, it's just FUN?), but thanks for telling me how to do it because I didn't even know FUN was actually implemented (I figured it was another proposed-but-unused syntax)
2021-03-01 02:48:15 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 240 seconds)
2021-03-01 02:50:37 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 02:57:33 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 264 seconds)
2021-03-01 03:00:12 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 03:01:16 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:a857:70bc:9343:9cab)
2021-03-01 03:02:52 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2)
2021-03-01 03:03:15 +0100svet(~svet@90.200.185.163) (Ping timeout: 240 seconds)
2021-03-01 03:05:20 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-01 03:05:56 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Remote host closed the connection)
2021-03-01 03:06:15 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 03:08:31 +0100Vanotek(~Vanotek@90.200.185.163)
2021-03-01 03:09:29 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 265 seconds)
2021-03-01 03:10:51 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Remote host closed the connection)
2021-03-01 03:11:57 +0100darjeeling_(~darjeelin@122.245.218.150) (Ping timeout: 264 seconds)
2021-03-01 03:14:03 +0100darjeeling_(~darjeelin@122.245.218.150)
2021-03-01 03:14:04 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-01 03:14:19 +0100Tario(~Tario@201.192.165.173)
2021-03-01 03:16:02 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 03:16:49 +0100 <edwardk> if you dig around in linear-base you'll find a couple mentions of it
2021-03-01 03:17:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 03:17:38 +0100z0k(~user@115-186-141-91.nayatel.pk)
2021-03-01 03:19:02 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Read error: Connection reset by peer)
2021-03-01 03:19:02 +0100Codaraxis_(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 03:20:03 +0100z0k(~user@115-186-141-91.nayatel.pk) (Client Quit)
2021-03-01 03:22:49 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 260 seconds)
2021-03-01 03:24:43 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-01 03:27:56 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-01 03:30:19 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 03:30:35 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-03-01 03:34:56 +0100Narinas(~Narinas@187.178.93.112)
2021-03-01 03:35:25 +0100puke(~vroom@217.138.252.56) (Quit: puke)
2021-03-01 03:37:59 +0100gitgood(~gitgood@80-44-13-206.dynamic.dsl.as9105.com) (Ping timeout: 245 seconds)
2021-03-01 03:40:19 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds)
2021-03-01 03:40:32 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-01 03:40:54 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-03-01 03:41:56 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-01 03:42:52 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-01 03:44:01 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-01 03:45:35 +0100redmp(~redmp@172.58.38.156) (Ping timeout: 240 seconds)
2021-03-01 03:45:36 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Client Quit)
2021-03-01 03:46:22 +0100conal(~conal@192.145.118.119) (Quit: Computer has gone to sleep.)
2021-03-01 03:47:05 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-01 03:47:26 +0100melkor(~melkor@2a02:2b88:2:1::5b34:1) (Ping timeout: 264 seconds)
2021-03-01 03:47:44 +0100melkor(~melkor@31.31.76.126)
2021-03-01 03:48:23 +0100slack1256(~slack1256@45.4.2.52)
2021-03-01 03:49:17 +0100saitamaplus(uid272474@gateway/web/irccloud.com/x-tqrynpyipoxrnkjn) (Quit: Connection closed for inactivity)
2021-03-01 03:49:39 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 260 seconds)
2021-03-01 03:50:53 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 03:52:05 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 03:52:22 +0100dansho(~dansho@ec2-52-69-229-22.ap-northeast-1.compute.amazonaws.com) (Quit: Leaving)
2021-03-01 03:52:45 +0100conal(~conal@66.115.157.106)
2021-03-01 03:52:46 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-01 03:54:29 +0100viluon(uid453725@gateway/web/irccloud.com/x-nrcpcvymghsotxnv) (Quit: Connection closed for inactivity)
2021-03-01 03:54:29 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-01 03:55:23 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Client Quit)
2021-03-01 03:56:15 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-03-01 03:56:56 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-01 03:59:27 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-01 04:01:49 +0100xff0x(~xff0x@2001:1a81:5349:9200:2806:fad1:e222:a1c8) (Ping timeout: 272 seconds)
2021-03-01 04:02:14 +0100slack1256(~slack1256@45.4.2.52) (Remote host closed the connection)
2021-03-01 04:03:08 +0100xff0x(~xff0x@2001:1a81:5383:2100:7be7:dddc:2608:44b7)
2021-03-01 04:09:35 +0100__minoru__shirae(~shiraeesh@5.101.59.4) (Ping timeout: 240 seconds)
2021-03-01 04:10:08 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io) (Remote host closed the connection)
2021-03-01 04:10:12 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 04:10:37 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-03-01 04:13:10 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io)
2021-03-01 04:14:25 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-03-01 04:16:07 +0100tinhatcat(~tsranso@2600:1700:ae40:21c8:3994:a0e4:34e1:fd53)
2021-03-01 04:16:50 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-03-01 04:17:21 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-01 04:17:21 +0100finn_elijaGuest77061
2021-03-01 04:17:21 +0100FinnElijafinn_elija
2021-03-01 04:17:56 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds)
2021-03-01 04:20:45 +0100Guest77061(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-01 04:21:15 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2021-03-01 04:21:30 +0100tinhatcat(~tsranso@2600:1700:ae40:21c8:3994:a0e4:34e1:fd53) (Quit: Leaving)
2021-03-01 04:21:40 +0100tinhatcat(~tsranso@2600:1700:ae40:21c8:3994:a0e4:34e1:fd53)
2021-03-01 04:22:27 +0100davros1(~davros@host86-183-29-83.range86-183.btcentralplus.com) (Quit: Leaving)
2021-03-01 04:27:02 +0100raym(~ray@45.64.220.3)
2021-03-01 04:27:56 +0100Guest12880(~mrd@45.61.147.211) (Ping timeout: 240 seconds)
2021-03-01 04:29:09 +0100tinhatcat(~tsranso@2600:1700:ae40:21c8:3994:a0e4:34e1:fd53) (Quit: Leaving)
2021-03-01 04:29:38 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 245 seconds)
2021-03-01 04:30:15 +0100tinhatcat(~tsranso@2600:1700:ae40:21c8:3994:a0e4:34e1:fd53)
2021-03-01 04:32:49 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2021-03-01 04:34:15 +0100kupi(uid212005@gateway/web/irccloud.com/x-qxtkrwfdkyjvofwt) (Quit: Connection closed for inactivity)
2021-03-01 04:34:41 +0100tinhatcat(~tsranso@2600:1700:ae40:21c8:3994:a0e4:34e1:fd53) (Client Quit)
2021-03-01 04:40:31 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-01 04:40:55 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-03-01 04:44:57 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2021-03-01 04:45:54 +0100theDon(~td@muedsl-82-207-238-016.citykom.de) (Ping timeout: 245 seconds)
2021-03-01 04:46:00 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 04:47:19 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 04:47:20 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-01 04:47:36 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-ppogqhnucstulgdr) (Quit: Connection closed for inactivity)
2021-03-01 04:48:00 +0100theDon(~td@muedsl-82-207-238-184.citykom.de)
2021-03-01 04:49:57 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-01 04:50:34 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 04:50:40 +0100tinhatcat_(~tsranso@2600:1700:ae40:21c8:3994:a0e4:34e1:fd53)
2021-03-01 04:51:18 +0100tinhatcat_(~tsranso@2600:1700:ae40:21c8:3994:a0e4:34e1:fd53) (Client Quit)
2021-03-01 04:51:27 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-01 04:52:00 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 04:53:26 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 04:53:26 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-01 04:54:18 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-01 04:55:04 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 04:56:54 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-03-01 04:59:14 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 245 seconds)
2021-03-01 05:01:05 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 05:04:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 05:05:57 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-03-01 05:08:06 +0100__minoru__shirae(~shiraeesh@5.101.59.4)
2021-03-01 05:10:18 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2021-03-01 05:10:29 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-03-01 05:10:52 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2021-03-01 05:11:26 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-03-01 05:12:16 +0100darjeeling_(~darjeelin@122.245.218.150) (Ping timeout: 240 seconds)
2021-03-01 05:12:40 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-03-01 05:13:55 +0100plutoniix(~q@184.82.206.28)
2021-03-01 05:14:36 +0100redmp(~redmp@172.58.38.156)
2021-03-01 05:14:44 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-01 05:20:36 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 240 seconds)
2021-03-01 05:21:16 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 240 seconds)
2021-03-01 05:22:05 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-03-01 05:24:33 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Quit: Leaving)
2021-03-01 05:25:27 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:24a3:780d:1b89:fbe4)
2021-03-01 05:33:08 +0100kit(~kit@103.231.91.232)
2021-03-01 05:33:45 +0100kit(~kit@103.231.91.232) (Client Quit)
2021-03-01 05:38:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 05:41:50 +0100poscat(~poscat@114.243.61.85) (Remote host closed the connection)
2021-03-01 05:42:17 +0100poscat(~poscat@114.243.61.85)
2021-03-01 05:42:19 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-03-01 05:53:37 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 05:56:10 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
2021-03-01 05:56:38 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-01 05:59:12 +0100 <redmp> What's the shortest way to do a monadic action for each of the cross of two lists? I came up with `sequence $ liftM2 (\a b -> print (a, b)) "abcde" [1..6]`
2021-03-01 06:00:54 +0100 <glguy> for_ "abcde" \x -> for_ [1..6] \y -> print (x,y)
2021-03-01 06:01:17 +0100 <glguy> I'd probably go with that in some real code with some newlines
2021-03-01 06:01:21 +0100 <redmp> glguy: yeah, that's more what I was going for.. was trying to make it out of mapM_ and kept failing
2021-03-01 06:01:21 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 246 seconds)
2021-03-01 06:02:00 +0100Rudd0(~Rudd0@185.189.115.108) (Remote host closed the connection)
2021-03-01 06:02:29 +0100 <redmp> the one i wrote felt non-obvious .. this is nicer; thanks
2021-03-01 06:06:42 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds)
2021-03-01 06:06:43 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
2021-03-01 06:13:41 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 06:17:28 +0100Guest68145(~SatanX@185.204.1.185) (Remote host closed the connection)
2021-03-01 06:18:38 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-03-01 06:20:47 +0100 <monochrom> @type for_ "abcde" \x -> for_ [1..6] \y -> print (x,y)
2021-03-01 06:20:48 +0100 <lambdabot> error:
2021-03-01 06:20:48 +0100 <lambdabot> Unexpected lambda expression in function application:
2021-03-01 06:20:48 +0100 <lambdabot> \ x -> for_ [1 .. 6] \ y -> print (x, y)
2021-03-01 06:21:05 +0100 <monochrom> @type for_ "abcde" (\x -> for_ [1..6] (\y -> print (x,y)))
2021-03-01 06:21:06 +0100 <lambdabot> IO ()
2021-03-01 06:23:31 +0100jack(9a110de1@154.17.13.225)
2021-03-01 06:23:33 +0100titusjgr(7bc2de80@123-194-222-128.dynamic.kbronet.com.tw)
2021-03-01 06:23:56 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-01 06:24:00 +0100mrioqueiroz(~mrioqueir@177.74.248.219)
2021-03-01 06:25:53 +0100carlomagno(~cararell@148.87.23.10) (Quit: Leaving.)
2021-03-01 06:25:59 +0100titusjgr(7bc2de80@123-194-222-128.dynamic.kbronet.com.tw) (Client Quit)
2021-03-01 06:26:15 +0100__minoru__shirae(~shiraeesh@5.101.59.4) (Ping timeout: 240 seconds)
2021-03-01 06:26:28 +0100jackInsideBreeze
2021-03-01 06:30:57 +0100 <jamestmartin> for a variable `x` of an uninhabited type, `case x of {}` does not consume `x`, but `(\case{}) x` does. is that the intended behavior?
2021-03-01 06:33:04 +0100__minoru__shirae(~shiraeesh@5.101.59.4)
2021-03-01 06:33:08 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 06:35:00 +0100 <pavonia> By consume you mean evaluate?
2021-03-01 06:35:21 +0100Tops21(~Tobias@dyndsl-095-033-017-115.ewe-ip-backbone.de) (Ping timeout: 264 seconds)
2021-03-01 06:35:51 +0100Narinas(~Narinas@187.178.93.112) (Remote host closed the connection)
2021-03-01 06:36:14 +0100 <jamestmartin> I mean consume in the linear sense, as in `consume :: Void %1-> a` `consume x = _` typechecks
2021-03-01 06:37:04 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-03-01 06:37:09 +0100 <pavonia> Hhm, I don't know wht that syntax means
2021-03-01 06:37:58 +0100 <pavonia> But `(...) x` is different in the way it is a function application
2021-03-01 06:41:07 +0100gimps(~gimps@178.239.168.171)
2021-03-01 06:43:16 +0100__minoru__shirae(~shiraeesh@5.101.59.4) (Ping timeout: 240 seconds)
2021-03-01 06:44:09 +0100InsideBreeze(9a110de1@154.17.13.225) (Quit: Connection closed)
2021-03-01 06:44:23 +0100forgottenone(~forgotten@176.42.27.254)
2021-03-01 06:45:15 +0100InsideBreeze(9a110de1@154.17.13.225)
2021-03-01 06:45:30 +0100InsideBreeze(9a110de1@154.17.13.225) (Client Quit)
2021-03-01 06:45:51 +0100deviantfero(~deviantfe@190.150.27.58)
2021-03-01 06:46:23 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Read error: Connection reset by peer)
2021-03-01 06:46:53 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
2021-03-01 06:47:30 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com) (Remote host closed the connection)
2021-03-01 06:47:37 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com)
2021-03-01 06:48:26 +0100Kortantic(4c1b6755@c-76-27-103-85.hsd1.ut.comcast.net)
2021-03-01 06:49:10 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 06:49:45 +0100Kortantic(4c1b6755@c-76-27-103-85.hsd1.ut.comcast.net) (Client Quit)
2021-03-01 06:51:00 +0100aerona(~aerona@2600:6c54:4600:f300:a563:178a:b1b1:10ea)
2021-03-01 06:52:31 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-01 06:53:54 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-03-01 06:53:57 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-03-01 06:54:29 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 06:55:33 +0100conal(~conal@66.115.157.106) (Quit: Computer has gone to sleep.)
2021-03-01 06:55:50 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-01 06:56:23 +0100conal(~conal@66.115.157.106)
2021-03-01 06:57:48 +0100conal(~conal@66.115.157.106) (Client Quit)
2021-03-01 06:58:40 +0100shad0w_(a0ca2456@160.202.36.86)
2021-03-01 06:58:44 +0100conal(~conal@66.115.157.106)
2021-03-01 06:58:48 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 245 seconds)
2021-03-01 06:58:49 +0100conal(~conal@66.115.157.106) (Client Quit)
2021-03-01 06:59:13 +0100 <shad0w_> can i cross compile for arm64/aarch64 from my windows/linux machines ?
2021-03-01 07:00:15 +0100conal(~conal@192.145.118.113)
2021-03-01 07:01:00 +0100shad0w_(a0ca2456@160.202.36.86) (Client Quit)
2021-03-01 07:02:03 +0100shad0w_(a0ca2456@160.202.36.86)
2021-03-01 07:09:53 +0100shad0w_(a0ca2456@160.202.36.86) (Quit: Connection closed)
2021-03-01 07:10:37 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:a857:70bc:9343:9cab) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 07:11:05 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-03-01 07:15:11 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-01 07:18:43 +0100rembo10_(~rembo10@wally.codeshy.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-01 07:19:16 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2021-03-01 07:22:17 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-03-01 07:23:47 +0100rembo10(~rembo10@wally.codeshy.com)
2021-03-01 07:24:12 +0100knupfer(~Thunderbi@200116b824fa7200e4e032dd4c9fa8cc.dip.versatel-1u1.de)
2021-03-01 07:25:15 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 07:25:29 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 245 seconds)
2021-03-01 07:29:00 +0100aggin(~ecm@103.88.87.73)
2021-03-01 07:30:44 +0100toorevitimirp(~tooreviti@117.182.182.60)
2021-03-01 07:32:27 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:24a3:780d:1b89:fbe4) (Quit: Bye)
2021-03-01 07:32:27 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-01 07:33:33 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 264 seconds)
2021-03-01 07:33:46 +0100aggin(~ecm@103.88.87.73) (Client Quit)
2021-03-01 07:34:12 +0100aggin(~ecm@103.88.87.73)
2021-03-01 07:35:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 07:38:47 +0100aggin(~ecm@103.88.87.73) (Client Quit)
2021-03-01 07:39:10 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 07:41:07 +0100aggin(~ecm@103.88.87.73)
2021-03-01 07:42:07 +0100aggin(~ecm@103.88.87.73) (Client Quit)
2021-03-01 07:42:15 +0100mrioqueiroz(~mrioqueir@177.74.248.219) (Ping timeout: 240 seconds)
2021-03-01 07:42:22 +0100aggin(~ecm@103.88.87.73)
2021-03-01 07:43:24 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 245 seconds)
2021-03-01 07:46:47 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-01 07:48:04 +0100vchlup_(~vchlup@nat.brnet.cz)
2021-03-01 07:52:28 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-01 07:53:05 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 07:54:02 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-03-01 07:57:33 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-03-01 08:00:10 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com) (Ping timeout: 276 seconds)
2021-03-01 08:00:54 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Read error: Connection reset by peer)
2021-03-01 08:02:07 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
2021-03-01 08:08:02 +0100thc202(~thc202@unaffiliated/thc202)
2021-03-01 08:10:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-01 08:11:54 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com)
2021-03-01 08:13:55 +0100_ht(~quassel@82.169.194.8)
2021-03-01 08:16:43 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com) (Ping timeout: 245 seconds)
2021-03-01 08:17:15 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-01 08:20:34 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 08:20:35 +0100danza(~francesco@151.53.76.37)
2021-03-01 08:24:36 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-03-01 08:26:11 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 08:29:38 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-03-01 08:29:50 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 08:32:05 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-03-01 08:32:17 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-03-01 08:32:34 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358) (Remote host closed the connection)
2021-03-01 08:32:42 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-03-01 08:32:44 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 08:33:50 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358)
2021-03-01 08:34:19 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
2021-03-01 08:35:18 +0100MKirisame(~MarisaKir@c-98-237-240-11.hsd1.wa.comcast.net) (Remote host closed the connection)
2021-03-01 08:36:04 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2021-03-01 08:37:14 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-03-01 08:39:29 +0100bitmagie(~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de)
2021-03-01 08:42:45 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de)
2021-03-01 08:44:51 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-fhcnshqczetlnffl)
2021-03-01 08:47:49 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2021-03-01 08:48:10 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-03-01 08:48:11 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-03-01 08:48:27 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-03-01 08:51:00 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-01 08:51:28 +0100pjbpjb|mars
2021-03-01 08:56:42 +0100pjb|marspjb
2021-03-01 09:02:00 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 09:04:04 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 260 seconds)
2021-03-01 09:04:15 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-03-01 09:04:54 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 09:07:01 +0100o1lo01ol1o(~o1lo01ol1@31.22.239.189)
2021-03-01 09:07:52 +0100bitmagie(~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de) (Quit: bitmagie)
2021-03-01 09:08:37 +0100errst(~errst@unaffiliated/tirej) (Quit: leaving)
2021-03-01 09:09:37 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 272 seconds)
2021-03-01 09:11:40 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 09:11:57 +0100o1lo01ol1o(~o1lo01ol1@31.22.239.189) (Ping timeout: 264 seconds)
2021-03-01 09:13:24 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-03-01 09:13:58 +0100zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-03-01 09:15:49 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-01 09:16:10 +0100puke(~vroom@217.138.252.56)
2021-03-01 09:16:14 +0100zaquest(~notzaques@5.128.210.178)
2021-03-01 09:19:02 +0100aggin(~ecm@103.88.87.73) (Quit: WeeChat 3.0.1)
2021-03-01 09:19:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 09:19:42 +0100kuribas(~user@ptr-25vy0ia3p0g52y47swx.18120a2.ip6.access.telenet.be)
2021-03-01 09:22:11 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-03-01 09:23:55 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-03-01 09:35:11 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-01 09:35:23 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-03-01 09:35:58 +0100kritzefitz(~kritzefit@fw-front.credativ.com)
2021-03-01 09:36:09 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-01 09:36:52 +0100gimps(~gimps@178.239.168.171) (Remote host closed the connection)
2021-03-01 09:37:12 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 09:37:21 +0100supercoven(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
2021-03-01 09:39:00 +0100michalz(~user@185.246.204.59)
2021-03-01 09:40:50 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:513f:2e4a:e959:c989)
2021-03-01 09:40:51 +0100 <ski> jamestmartin : i'd guess it's not
2021-03-01 09:43:14 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-03-01 09:44:27 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Ping timeout: 272 seconds)
2021-03-01 09:47:48 +0100aarvar(~foewfoiew@2601:602:a080:fa0:d4c5:1ad7:b189:949e) ()
2021-03-01 09:48:43 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-01 09:49:17 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-01 09:58:56 +0100fendor(~fendor@178.165.129.154.wireless.dyn.drei.com)
2021-03-01 10:00:08 +0100shutendoji[m](shutendoji@gateway/shell/matrix.org/x-ugeduntrngcqbunt) (Quit: Idle for 30+ days)
2021-03-01 10:00:09 +0100bram[m]1(bramvdbnet@gateway/shell/matrix.org/x-smrpthqlcycbdvqg) (Quit: Idle for 30+ days)
2021-03-01 10:00:10 +0100CaptainYukinoshi(captain-yu@gateway/shell/matrix.org/x-wsmoytiqpsczqgmt) (Quit: Idle for 30+ days)
2021-03-01 10:00:38 +0100knupfer(~Thunderbi@200116b824fa7200e4e032dd4c9fa8cc.dip.versatel-1u1.de) (Ping timeout: 264 seconds)
2021-03-01 10:02:40 +0100aarvar(~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008)
2021-03-01 10:03:23 +0100ixlun(~user@213.205.241.12) (Remote host closed the connection)
2021-03-01 10:03:30 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2) (Remote host closed the connection)
2021-03-01 10:04:51 +0100Sonderblade(~helloman@94.191.136.111.mobile.tre.se)
2021-03-01 10:04:59 +0100Sonderblade(~helloman@94.191.136.111.mobile.tre.se) (Client Quit)
2021-03-01 10:05:06 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-01 10:06:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 10:06:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 10:07:01 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42)
2021-03-01 10:09:17 +0100hendursa1(~weechat@gateway/tor-sasl/hendursaga)
2021-03-01 10:10:55 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-03-01 10:11:01 +0100hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds)
2021-03-01 10:11:44 +0100michalz(~user@185.246.204.59) (Ping timeout: 260 seconds)
2021-03-01 10:12:44 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com)
2021-03-01 10:12:50 +0100aerona(~aerona@2600:6c54:4600:f300:a563:178a:b1b1:10ea) (Read error: Connection reset by peer)
2021-03-01 10:13:09 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-03-01 10:13:09 +0100nha(~nha@host109-158-11-34.range109-158.btcentralplus.com)
2021-03-01 10:16:25 +0100 <nha> are there any similar alternatives to the reader monad without having to use monads? I have something similar to a catamorphism but the reduction is sensitive to the depth of terms crossed, so it needs an extra parameter describing this depth. Is there such a thing as a context sensitive functor and algebra?
2021-03-01 10:18:09 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com) (Ping timeout: 260 seconds)
2021-03-01 10:20:03 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-01 10:21:03 +0100 <tomsmeding> nha: taking an additional parameter does not work?
2021-03-01 10:21:16 +0100 <tomsmeding> (note that, incidentally, (e ->) is precisely the Reader monad)
2021-03-01 10:21:30 +0100 <merijn> I like how the "small haskell exe" post on reddit goes through excessive efforts that will likely harm performance, but skips --split-sections and stripping >.>
2021-03-01 10:21:43 +0100 <merijn> Also, dynamic linking to pretend that shrinks actual install size >.>
2021-03-01 10:21:47 +0100o1lo01ol1o(~o1lo01ol1@31.22.239.189)
2021-03-01 10:22:56 +0100 <tomsmeding> well it might if you install the same application twice ;)
2021-03-01 10:23:35 +0100aarvar(~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008) (Ping timeout: 240 seconds)
2021-03-01 10:24:19 +0100 <lortabac> nha: there is ImplicitParams
2021-03-01 10:24:49 +0100 <lortabac> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/implicit_parameters.html
2021-03-01 10:27:40 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-01 10:27:43 +0100kderme48(4fa758c1@ppp079167088193.access.hol.gr) (Ping timeout: 240 seconds)
2021-03-01 10:29:40 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 10:29:58 +0100raichoo(~raichoo@213.240.178.58)
2021-03-01 10:30:25 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 10:31:33 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net)
2021-03-01 10:31:51 +0100bitmagie(~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de)
2021-03-01 10:32:03 +0100bitmagie(~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de) (Client Quit)
2021-03-01 10:34:55 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 240 seconds)
2021-03-01 10:35:15 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-01 10:38:16 +0100chisui(577bc9b7@i577BC9B7.versanet.de)
2021-03-01 10:39:54 +0100catt(~r@31.127.31.99)
2021-03-01 10:40:25 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-01 10:42:21 +0100catt(~r@31.127.31.99) (Remote host closed the connection)
2021-03-01 10:47:45 +0100gienah(~mwright@gentoo/developer/gienah)
2021-03-01 10:49:33 +0100 <nha> tomsmeding: the parameter has to be threaded the functor and algebra, which is fine but then the two don't match the type of Functor (F a -> F b) and Algebra (F c -> c) since they would be (z -> F a -> F b) and (z -> F c -> c)
2021-03-01 10:50:58 +0100 <nha> tomsmeding: the reader monad imposes an order on the reduction, which I don't strictly need. The context is sensitive to the term depth not preorder/postorder ranking, so monad is overkill.
2021-03-01 10:52:03 +0100chisui(577bc9b7@i577BC9B7.versanet.de) (Ping timeout: 240 seconds)
2021-03-01 10:52:13 +0100 <nha> lortabac: dynamic binding would be nice but I can't use it since i'm writing in a haskell-like style in a different language which doesn't have dynamic binding.
2021-03-01 10:52:48 +0100 <nha> i'm mostly just curious if there is any variety of functor or algebra similar to what I need
2021-03-01 10:54:15 +0100 <lortabac> nha: Reader is also a functor
2021-03-01 10:54:36 +0100 <lortabac> if monad is overkill you can use its functor/applicative instance
2021-03-01 10:55:20 +0100 <ski> nha : "imposes an order on the reduction" -- in which sense ?
2021-03-01 10:56:32 +0100 <ski> (i guess you want to work in a Kleisli category, or something)
2021-03-01 10:57:55 +0100 <ski> > (do undefined; x <- (2 +); undefined; y <- (3 +); return (x * y)) 1
2021-03-01 10:57:58 +0100 <lambdabot> 12
2021-03-01 10:58:08 +0100 <ski> @undo (do undefined; x <- (2 +); undefined; y <- (3 +); return (x * y)) 1
2021-03-01 10:58:08 +0100 <lambdabot> (undefined >> (2 +) >>= \ x -> undefined >> (3 +) >>= \ y -> return (x * y)) 1
2021-03-01 10:59:36 +0100 <ski> > (\r -> let _ = undefined; x = (2 +) r; _ = undefined; y = (3 +) r in x * y) 1 -- that amounts to this
2021-03-01 10:59:37 +0100mouseghost(~draco@87.206.9.185)
2021-03-01 10:59:37 +0100mouseghost(~draco@87.206.9.185) (Changing host)
2021-03-01 10:59:37 +0100mouseghost(~draco@wikipedia/desperek)
2021-03-01 10:59:37 +0100 <lambdabot> 12
2021-03-01 11:00:34 +0100 <ski> (so, the order is present in the source, but doesn't actually impose data-dependencies)
2021-03-01 11:00:36 +0100Rudd0(~Rudd0@185.189.115.108)
2021-03-01 11:02:10 +0100 <nha> ski: that's only because haskell is lazy though isn't it?
2021-03-01 11:02:57 +0100 <ski> non-strict, but yes
2021-03-01 11:03:10 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net)
2021-03-01 11:03:10 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net) (Changing host)
2021-03-01 11:03:10 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-03-01 11:03:38 +0100 <nha> the language i'm using is strict and i don't want to have to thunk everything
2021-03-01 11:03:50 +0100 <ski> but then using the equivalent to `let' in that language, assuming it's strict, would also have order dependencies in the reduction, no ?
2021-03-01 11:03:53 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2)
2021-03-01 11:04:33 +0100 <nha> i tried going down the applicative route but couldn't figure out how to type it since the terms are wrapped in fixpoint types
2021-03-01 11:04:46 +0100 <nha> ski: yea fair enough
2021-03-01 11:05:14 +0100 <ski> the language has a static type system ?
2021-03-01 11:05:49 +0100 <nha> yeah the type system is turing complete and basically is just prolog
2021-03-01 11:06:33 +0100 <ski> if you had a custom kind of arrow, say `~>' such that `T ~> U' meant `R -> T -> U', then an algebra of type `F c ~> c' in this Kleisli category would correspond to a function of type `R -> F c -> c'
2021-03-01 11:06:43 +0100 <ski> mhm
2021-03-01 11:07:41 +0100 <nha> ski: i'll look into that a bit, thanks
2021-03-01 11:08:15 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2) (Ping timeout: 240 seconds)
2021-03-01 11:08:41 +0100o1lo01ol_(~o1lo01ol1@95.69.78.182)
2021-03-01 11:09:28 +0100mayleesia(4d0d9efc@dynamic-077-013-158-252.77.13.pool.telefonica.de)
2021-03-01 11:09:32 +0100__monty__(~toonn@unaffiliated/toonn)
2021-03-01 11:09:37 +0100 <ski> (btw, "the type of Functor (F a -> F b)" sounds weird)
2021-03-01 11:10:18 +0100 <nha> sorry i left out the (a --> b) part
2021-03-01 11:10:45 +0100tribly(~tribly@unaffiliated/tribly) (Quit: WeeChat 2.9)
2021-03-01 11:11:10 +0100hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:a7e6:fd5e:5dd8:f140)
2021-03-01 11:11:19 +0100o1lo01ol1o(~o1lo01ol1@31.22.239.189) (Ping timeout: 245 seconds)
2021-03-01 11:12:08 +0100ionv(592f6a92@89.47.106.146)
2021-03-01 11:13:01 +0100ionv(592f6a92@89.47.106.146) (Client Quit)
2021-03-01 11:20:31 +0100ashepelev(~ashepelev@37.120.211.188)
2021-03-01 11:26:23 +0100viluon(uid453725@gateway/web/irccloud.com/x-vtsprrmimewrgslj)
2021-03-01 11:27:14 +0100son0p(~son0p@181.58.39.182)
2021-03-01 11:27:30 +0100 <ski> ok
2021-03-01 11:33:46 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-vdnrjtitbesdywow) (Quit: Connection closed for inactivity)
2021-03-01 11:39:51 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (K-Lined)
2021-03-01 11:50:49 +0100michalz(~user@185.246.204.42)
2021-03-01 11:50:59 +0100gues65469(username@gateway/vpn/mullvad/esp32prog/x-46565127)
2021-03-01 11:53:58 +0100 <ij> too bad hip doesn't allow making images from delayed repa vectors, I could then have more declarative index computations
2021-03-01 11:55:28 +0100APic(apic@apic.name) (Ping timeout: 276 seconds)
2021-03-01 11:56:07 +0100gues65469(username@gateway/vpn/mullvad/esp32prog/x-46565127) (Remote host closed the connection)
2021-03-01 11:56:12 +0100 <ij> hip's design is really cool, however
2021-03-01 11:57:20 +0100esp32_prog(username@gateway/vpn/mullvad/esp32prog/x-46565127)
2021-03-01 11:58:11 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-ynybzievihtknuvf)
2021-03-01 11:58:13 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-qtxpmwkzibqndqvb)
2021-03-01 11:58:57 +0100chisui(577bc9b7@i577BC9B7.versanet.de)
2021-03-01 12:01:58 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 276 seconds)
2021-03-01 12:05:13 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2)
2021-03-01 12:07:39 +0100 <CrabMan> Is there a Haskell's alternative to Python's virtualenv?
2021-03-01 12:09:15 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2) (Ping timeout: 240 seconds)
2021-03-01 12:10:16 +0100 <Rembane> CrabMan: cabal or stack should do approximately that
2021-03-01 12:11:13 +0100 <CrabMan> Rembane: My distro provides cabal 2.2.0.0. It looks like version 3 is out. I am afraid that if I install cabal 3 globally, things will break in my distro.
2021-03-01 12:12:13 +0100 <Rembane> CrabMan: I don't think it will, cabal 3 is backwards compatible, this statement will probably jinx it though. :)
2021-03-01 12:12:31 +0100 <Rembane> CrabMan: There's another tool that can help you with this: https://www.haskell.org/ghcup/
2021-03-01 12:13:05 +0100APic(apic@apic.name)
2021-03-01 12:16:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 12:17:03 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 12:20:47 +0100kam1(~kam1@5.125.126.175)
2021-03-01 12:21:18 +0100redmp(~redmp@172.58.38.156) (Ping timeout: 245 seconds)
2021-03-01 12:22:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 12:22:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 12:24:14 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 245 seconds)
2021-03-01 12:24:23 +0100quackrabbit(8102b464@129-2-180-100.wireless.umd.edu)
2021-03-01 12:26:27 +0100 <quackrabbit> I have a brand new installation from ghcup on an intel mac and im trying to figure out how to install packages. When I do a cabal install (ex: cabal install QuickCheck), modules I've written locally no longer compile complaining that the package "mtl" is locked.
2021-03-01 12:26:50 +0100 <quackrabbit> The only way to resolve this that I've found is completely blow away ~/.ghcup ~/.ghc and ~/.cabal and re-install
2021-03-01 12:26:52 +0100forgottenone(~forgotten@176.42.27.254) (Quit: Konversation terminated!)
2021-03-01 12:27:06 +0100nha(~nha@host109-158-11-34.range109-158.btcentralplus.com) (Quit: Leaving)
2021-03-01 12:28:14 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-01 12:28:30 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 12:29:01 +0100davros(~davros@host86-183-29-83.range86-183.btcentralplus.com)
2021-03-01 12:31:21 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 12:31:49 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-01 12:32:19 +0100danza(~francesco@151.53.76.37) (Ping timeout: 260 seconds)
2021-03-01 12:32:20 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 12:33:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 12:34:07 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 12:35:55 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-01 12:36:35 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 240 seconds)
2021-03-01 12:37:12 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
2021-03-01 12:39:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 12:39:28 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 12:41:25 +0100 <fendor> quackrabbit, you should not install libraries with either cabal or stack. You usually open a project where you add the packages you want to the project
2021-03-01 12:41:38 +0100 <quackrabbit> How do I that?
2021-03-01 12:42:10 +0100 <fendor> quackrabbit, one way is to cd into an empty directory and execute `cabal init`
2021-03-01 12:42:10 +0100 <quackrabbit> I have a prject.cabal file
2021-03-01 12:42:30 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-01 12:42:32 +0100 <fendor> then you open that .cabal file and add to the build-depends section the library you want
2021-03-01 12:43:36 +0100 <quackrabbit> Then running `cabal build` fails due to a conflict in the versioning of baes
2021-03-01 12:43:42 +0100 <quackrabbit> *base
2021-03-01 12:43:53 +0100 <fendor> can you show the error?
2021-03-01 12:43:55 +0100 <fendor> @where paste
2021-03-01 12:43:55 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-03-01 12:44:08 +0100 <fendor> and what ghc version do you have installed?
2021-03-01 12:44:19 +0100 <quackrabbit> https://paste.tomsmeding.com/5Jhwihwi
2021-03-01 12:44:33 +0100 <quackrabbit> Version 8.10.4
2021-03-01 12:44:41 +0100 <quackrabbit> I just ran `ghcup` 5 minutes ago
2021-03-01 12:44:52 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-01 12:45:24 +0100danza(~francesco@151.44.192.103)
2021-03-01 12:45:33 +0100 <quackrabbit> Thanks for the help btw
2021-03-01 12:46:49 +0100 <fendor> ok, so, you see, base is coupled with the ghc version. The project you want to build seemingly forces wants ghc 8.8.* version, though, afaict
2021-03-01 12:47:25 +0100 <fendor> *lambda cube seemingly only builds with ghc 8.8.* according to its version constraint on base
2021-03-01 12:48:33 +0100 <quackrabbit> is there a way to change this?
2021-03-01 12:48:43 +0100 <fendor> you would have to update the code in lambda cube
2021-03-01 12:48:53 +0100 <fendor> which can be trivial, but can also be very tedious
2021-03-01 12:48:55 +0100 <quackrabbit> The only edit I made in the cabal file is to add the dependency on QuickCheck
2021-03-01 12:49:05 +0100 <quackrabbit> The code in my project is minimal I just started
2021-03-01 12:49:34 +0100 <fendor> I dont think the dependency on QuickCheck has anything to do with it.
2021-03-01 12:49:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-01 12:49:54 +0100 <quackrabbit> Can I make a change in my cabal file to drop this depenency?
2021-03-01 12:49:57 +0100 <fendor> you are experimenting with lambda cube?
2021-03-01 12:50:06 +0100 <quackrabbit> Lamba cube is my own project I just started
2021-03-01 12:50:10 +0100 <fendor> oh.
2021-03-01 12:50:14 +0100 <fendor> I see, then it is quite trivial
2021-03-01 12:50:22 +0100 <quackrabbit> as in `mkdir lambdacube; cd lambdacube; cabal init`
2021-03-01 12:50:29 +0100APic(apic@apic.name) (Ping timeout: 245 seconds)
2021-03-01 12:50:34 +0100 <fendor> open your .cabal file, and look for `base >= 4.13.0.0 && < 4.14.0.0`
2021-03-01 12:50:35 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 12:50:43 +0100 <quackrabbit> yep
2021-03-01 12:51:01 +0100APic(apic@apic.name)
2021-03-01 12:51:07 +0100 <fendor> either remove the version constraint or relax it to `base >= 4.13.0.0 && < 4.15.0.0`
2021-03-01 12:51:18 +0100 <fendor> then everything should be fine
2021-03-01 12:52:16 +0100 <quackrabbit> ok it's building and passed the dependency check thanks a bunch
2021-03-01 12:52:17 +0100 <quackrabbit> will the haskell language server pick up that Im in a cabal project and use the installed packages?
2021-03-01 12:52:35 +0100 <fendor> yes
2021-03-01 12:52:57 +0100 <quackrabbit> wonderful. thanks
2021-03-01 12:53:08 +0100 <fendor> yes it will, but if you add dependencies, you might have to restart it to properly pick up the changes. (I am not sure, though, maybe it nowadays works without restarting)
2021-03-01 12:53:58 +0100 <quackrabbit> Nope, restarted emacs and no luck. Still not says Module not found
2021-03-01 12:54:06 +0100 <quackrabbit> Requiring the module in `cabal repl` works fine
2021-03-01 12:54:43 +0100 <quackrabbit> Do I have to list all my source files in the cabal file somewhere
2021-03-01 12:54:58 +0100 <fendor> yes, you have to!
2021-03-01 12:55:14 +0100 <fendor> you are using a library or executable?
2021-03-01 12:55:18 +0100 <quackrabbit> Executable
2021-03-01 12:55:29 +0100 <quackrabbit> so I have a main and then a bunch of modules
2021-03-01 12:55:35 +0100 <quackrabbit> (bunch = 2)
2021-03-01 12:55:36 +0100 <fendor> maybe this is helpful: https://cabal.readthedocs.io/en/3.4/developing-packages.html#editing-the-cabal-file
2021-03-01 12:55:53 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 12:55:54 +0100 <fendor> then you have to add your modules to the `other-modules:` section of your executable section
2021-03-01 12:56:20 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 12:57:24 +0100danza(~francesco@151.44.192.103) (Ping timeout: 260 seconds)
2021-03-01 12:57:26 +0100 <quackrabbit> Aha! Adding that bings back the old problem
2021-03-01 12:57:27 +0100 <quackrabbit> Could not load module ‘Control.Monad.Reader’
2021-03-01 12:57:28 +0100 <quackrabbit>     It is a member of the hidden package ‘mtl-2.2.2’.
2021-03-01 12:57:40 +0100Guest_58(b0996fb4@176-153-111-180.abo.bbox.fr)
2021-03-01 12:57:42 +0100 <fendor> did you add mtl to your build-depends section?
2021-03-01 12:57:44 +0100 <quackrabbit> So relaxing the constraint on base didn't fix the issue
2021-03-01 12:58:14 +0100 <quackrabbit> Ah, so mtl is not part of the stdlib?
2021-03-01 12:58:24 +0100 <quackrabbit> Adding mtl fixed it thanks
2021-03-01 12:58:57 +0100 <fendor> indeed, it is not
2021-03-01 12:59:12 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-01 12:59:44 +0100 <fendor> I think it is a boot library, which means it is actually included in your normal ghci invocation, however in a project, you have to be a bit more explicit
2021-03-01 13:00:06 +0100 <quackrabbit> gotcha.
2021-03-01 13:00:27 +0100 <quackrabbit> Thanks you've been a huge help
2021-03-01 13:00:40 +0100 <quackrabbit> lang server is still not seeing the new module? Any ideas?
2021-03-01 13:00:40 +0100sQVe(~sQVe@unaffiliated/sqve)
2021-03-01 13:00:52 +0100 <fendor> error messages pls, or logs
2021-03-01 13:01:10 +0100 <quackrabbit> Could not find module Test.QuickCheck
2021-03-01 13:01:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 13:01:30 +0100 <fendor> QuickCheck in the build-depends?
2021-03-01 13:01:33 +0100 <quackrabbit> yep
2021-03-01 13:01:42 +0100 <quackrabbit> it builds fine in `cabal build`
2021-03-01 13:01:44 +0100 <fendor> error in the main module or one of the other-modules?
2021-03-01 13:01:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 13:01:52 +0100 <quackrabbit> on of the other-modules
2021-03-01 13:02:40 +0100 <quackrabbit> LSP log contains this: Command "hie-wrapper --lsp -d -l /tmp/hie.log" is not present on the path.
2021-03-01 13:02:41 +0100 <fendor> are the other-modules in some sub-directory? E.g. do you have a hs-source-dirs in your executable section?
2021-03-01 13:02:53 +0100 <fendor> hie? 0.o
2021-03-01 13:02:56 +0100 <quackrabbit> no it's all in the top level directory
2021-03-01 13:03:08 +0100 <fendor> is your config maybe old?
2021-03-01 13:03:46 +0100mrioqueiroz(~mrioqueir@177.74.248.219)
2021-03-01 13:04:05 +0100 <quackrabbit> I think doom emacs just checks for both
2021-03-01 13:04:11 +0100 <fendor> ah, interesting.
2021-03-01 13:04:25 +0100 <fendor> how did you install hls?
2021-03-01 13:04:30 +0100 <quackrabbit> ghcup
2021-03-01 13:05:22 +0100henninb(~henninb@63-228-50-251.mpls.qwest.net)
2021-03-01 13:05:45 +0100 <fendor> hmpf... In the terminal, what is the output of `haskell-language-server-wrapper --debug Main.hs` ?
2021-03-01 13:06:03 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2)
2021-03-01 13:06:09 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-01 13:07:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-01 13:07:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 13:07:40 +0100 <quackrabbit> https://paste.tomsmeding.com/RlUWnRd8
2021-03-01 13:08:05 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
2021-03-01 13:08:47 +0100 <fendor> quackrabbit, you have a hie.yaml file?
2021-03-01 13:08:52 +0100 <quackrabbit> nope
2021-03-01 13:09:03 +0100 <fendor> interesting.
2021-03-01 13:09:06 +0100 <quackrabbit> i agree
2021-03-01 13:09:14 +0100 <fendor> Is the file that fails to load Lambda2?
2021-03-01 13:09:53 +0100 <quackrabbit> no, it's SimplyTyped
2021-03-01 13:10:01 +0100 <quackrabbit> Lambda2 isn't even in `other-modules`
2021-03-01 13:10:10 +0100 <quackrabbit> (it is a file on disk though, hadn't added it yet)
2021-03-01 13:10:15 +0100heatsink(~heatsink@2600:1700:bef1:5e10:692f:34e4:c65a:92f2) (Ping timeout: 240 seconds)
2021-03-01 13:10:16 +0100 <quackrabbit> It isn't required by Main either
2021-03-01 13:10:16 +0100darjeeling_(~darjeelin@122.245.218.150)
2021-03-01 13:10:44 +0100 <fendor> ah, that's fine then, hls just tries to compile any hs file it finds
2021-03-01 13:11:26 +0100danza(~francesco@151.53.76.37)
2021-03-01 13:11:42 +0100 <fendor> what is in your cabal file now?
2021-03-01 13:12:21 +0100 <fendor> also, are your sure hls is correctly launched?
2021-03-01 13:12:26 +0100knupfer(~Thunderbi@dynamic-046-114-144-162.46.114.pool.telefonica.de)
2021-03-01 13:12:33 +0100 <fendor> maybe the error is thrown by something like flycheck
2021-03-01 13:12:40 +0100knupfer(~Thunderbi@dynamic-046-114-144-162.46.114.pool.telefonica.de) (Client Quit)
2021-03-01 13:13:01 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 13:13:01 +0100knupfer(~Thunderbi@dynamic-046-114-144-162.46.114.pool.telefonica.de)
2021-03-01 13:15:23 +0100hendursa1(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds)
2021-03-01 13:15:38 +0100 <quackrabbit> Hmm maybe
2021-03-01 13:16:16 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-03-01 13:16:17 +0100 <quackrabbit> just confirmed emacs is using the LSP...
2021-03-01 13:16:39 +0100hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-03-01 13:16:59 +0100 <quackrabbit>  nope that is it. It  was using both
2021-03-01 13:17:00 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2021-03-01 13:17:01 +0100 <quackrabbit> bizarre
2021-03-01 13:17:04 +0100nek0(~nek0@mail.nek0.eu) (Quit: Ping timeout (120 seconds))
2021-03-01 13:17:14 +0100pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-03-01 13:17:15 +0100ambiso99(~ambiso@209.182.239.205)
2021-03-01 13:17:16 +0100nek0(~nek0@mail.nek0.eu)
2021-03-01 13:17:26 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-03-01 13:18:01 +0100omnitrogen(~omnitroge@vps-c9700282.vps.ovh.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-01 13:18:10 +0100ambiso9(~ambiso@209.182.239.205) (Read error: Connection reset by peer)
2021-03-01 13:18:45 +0100omnitrogen(~omnitroge@vps-c9700282.vps.ovh.net)
2021-03-01 13:19:16 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds)
2021-03-01 13:19:58 +0100kam1(~kam1@5.125.126.175) (Ping timeout: 276 seconds)
2021-03-01 13:20:42 +0100 <fendor> yeah, a bit weird, but it is working now?
2021-03-01 13:21:30 +0100 <quackrabbit> eh lsp isn't working but it's clearly an emacs problem not a haskell problem
2021-03-01 13:22:35 +0100Guest_58(b0996fb4@176-153-111-180.abo.bbox.fr) (Quit: Connection closed)
2021-03-01 13:24:48 +0100 <fendor> well, a good start
2021-03-01 13:30:04 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-03-01 13:30:58 +0100__minoru__shirae(~shiraeesh@5.101.59.4)
2021-03-01 13:31:56 +0100epta(~m@nuda.space) (Ping timeout: 240 seconds)
2021-03-01 13:32:21 +0100epta(~m@nuda.space)
2021-03-01 13:35:05 +0100__minoru__shirae(~shiraeesh@5.101.59.4) (Remote host closed the connection)
2021-03-01 13:35:05 +0100knupfer(~Thunderbi@dynamic-046-114-144-162.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2021-03-01 13:36:01 +0100__minoru__shirae(~shiraeesh@5.101.59.4)
2021-03-01 13:37:44 +0100henninb(~henninb@63-228-50-251.mpls.qwest.net) (Quit: leaving)
2021-03-01 13:38:23 +0100quackrabbit(8102b464@129-2-180-100.wireless.umd.edu) (Ping timeout: 240 seconds)
2021-03-01 13:40:03 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-01 13:41:50 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-01 13:42:43 +0100minoru_shiraeesh(~shiraeesh@5.101.59.4)
2021-03-01 13:46:06 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358) (Remote host closed the connection)
2021-03-01 13:46:24 +0100__minoru__shirae(~shiraeesh@5.101.59.4) (Ping timeout: 260 seconds)
2021-03-01 13:47:55 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358)
2021-03-01 13:48:37 +0100lars__(~lars@p4fc9f6dc.dip0.t-ipconnect.de)
2021-03-01 13:48:57 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358) (Remote host closed the connection)
2021-03-01 13:50:06 +0100daffy(01c84bd3@1.200.75.211)
2021-03-01 13:50:25 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-03-01 13:51:11 +0100daffy(01c84bd3@1.200.75.211) (Client Quit)
2021-03-01 13:51:39 +0100aggin(~ecm@103.88.87.73)
2021-03-01 13:54:07 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-03-01 13:54:33 +0100Codaraxis_(Codaraxis@gateway/vpn/mullvad/codaraxis) (Remote host closed the connection)
2021-03-01 13:54:54 +0100Codaraxis_(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 13:55:54 +0100Tario(~Tario@201.192.165.173)
2021-03-01 14:00:14 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-01 14:00:36 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Remote host closed the connection)
2021-03-01 14:01:12 +0100Deide(~Deide@217.155.19.23)
2021-03-01 14:01:48 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-ynybzievihtknuvf) (Quit: Connection closed for inactivity)
2021-03-01 14:02:16 +0100Codaraxis_(Codaraxis@gateway/vpn/mullvad/codaraxis) (Remote host closed the connection)
2021-03-01 14:02:24 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-03-01 14:03:07 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-01 14:03:44 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358)
2021-03-01 14:03:53 +0100plutoniix(~q@184.82.206.28) (Quit: Leaving)
2021-03-01 14:06:28 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 14:06:35 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-01 14:08:55 +0100esp32_prog(username@gateway/vpn/mullvad/esp32prog/x-46565127) (Ping timeout: 240 seconds)
2021-03-01 14:09:02 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds)
2021-03-01 14:09:32 +0100wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se)
2021-03-01 14:09:50 +0100lars__(~lars@p4fc9f6dc.dip0.t-ipconnect.de) (Quit: leaving)
2021-03-01 14:10:35 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Ping timeout: 240 seconds)
2021-03-01 14:11:57 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection)
2021-03-01 14:11:59 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-03-01 14:12:42 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-01 14:13:02 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 14:13:21 +0100augnun(~augnun@2804:14c:658b:41bb:8018:16a5:2f54:43b7)
2021-03-01 14:18:57 +0100raym(~ray@45.64.220.3) (Quit: leaving)
2021-03-01 14:20:45 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-01 14:22:07 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-silmedxoldmqygmd)
2021-03-01 14:22:34 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
2021-03-01 14:23:28 +0100esp32_prog(username@gateway/vpn/mullvad/esp32prog/x-46565127)
2021-03-01 14:25:35 +0100LKoen_(~LKoen@252.248.88.92.rev.sfr.net)
2021-03-01 14:25:52 +0100augnun(~augnun@2804:14c:658b:41bb:8018:16a5:2f54:43b7) (Quit: WeeChat 3.0.1)
2021-03-01 14:26:33 +0100carlomagno(~cararell@148.87.23.6)
2021-03-01 14:27:18 +0100aggin(~ecm@103.88.87.73) (Quit: WeeChat 3.0.1)
2021-03-01 14:27:27 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-01 14:27:36 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net) (Ping timeout: 240 seconds)
2021-03-01 14:30:34 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-01 14:31:34 +0100Tario(~Tario@201.192.165.173)
2021-03-01 14:32:02 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:a857:70bc:9343:9cab)
2021-03-01 14:32:16 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 14:32:47 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 1.9.1)
2021-03-01 14:33:10 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-03-01 14:36:55 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-01 14:38:35 +0100orion(~orion@c-76-19-236-20.hsd1.nh.comcast.net)
2021-03-01 14:38:35 +0100orion(~orion@c-76-19-236-20.hsd1.nh.comcast.net) (Changing host)
2021-03-01 14:38:35 +0100orion(~orion@unaffiliated/orion)
2021-03-01 14:38:43 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Ping timeout: 265 seconds)
2021-03-01 14:39:29 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-03-01 14:40:07 +0100knupfer(~Thunderbi@200116b824fa7200bdacb2af5161f3a9.dip.versatel-1u1.de)
2021-03-01 14:47:04 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:a857:70bc:9343:9cab) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 14:50:43 +0100urodna(~urodna@unaffiliated/urodna)
2021-03-01 14:53:30 +0100son0p(~son0p@181.58.39.182) (Quit: leaving)
2021-03-01 14:55:32 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-03-01 14:56:15 +0100minoru_shiraeesh(~shiraeesh@5.101.59.4) (Ping timeout: 240 seconds)
2021-03-01 14:57:17 +0100minoru_shiraeesh(~shiraeesh@5.101.59.4)
2021-03-01 15:01:39 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 260 seconds)
2021-03-01 15:04:46 +0100raichoo(~raichoo@213.240.178.58) (Quit: Lost terminal)
2021-03-01 15:04:53 +0100alx741(~alx741@181.196.68.52)
2021-03-01 15:08:20 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-03-01 15:10:09 +0100Axman6(~Axman6@pdpc/supporter/student/Axman6) (Ping timeout: 256 seconds)
2021-03-01 15:10:20 +0100LittleFox94LittleFox
2021-03-01 15:12:34 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 268 seconds)
2021-03-01 15:12:35 +0100minoru_shiraeesh(~shiraeesh@5.101.59.4) (Ping timeout: 240 seconds)
2021-03-01 15:13:29 +0100LKoen_(~LKoen@252.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-01 15:15:09 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-01 15:15:49 +0100 <kuribas> LSP works well on vscode
2021-03-01 15:16:07 +0100 <kuribas> flycheck-haskell works well with ghc though
2021-03-01 15:18:50 +0100deviantfero(~deviantfe@190.150.27.58)
2021-03-01 15:20:25 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
2021-03-01 15:21:08 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-01 15:22:33 +0100ddellacosta(~ddellacos@86.106.143.201) (Remote host closed the connection)
2021-03-01 15:22:51 +0100yahb(xsbot@haskell/bot/yahb) (Ping timeout: 260 seconds)
2021-03-01 15:23:28 +0100forgottenone(~forgotten@176.42.24.53)
2021-03-01 15:27:27 +0100mrioqueiroz(~mrioqueir@177.74.248.219) (Quit: leaving)
2021-03-01 15:27:57 +0100minoru_shiraeesh(~shiraeesh@5.101.59.4)
2021-03-01 15:30:17 +0100mniip(~mniip@freenode/staff/mniip) (Ping timeout: 633 seconds)
2021-03-01 15:30:28 +0100comerijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 15:30:42 +0100Wuzzy(~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de)
2021-03-01 15:31:54 +0100mayleesia(4d0d9efc@dynamic-077-013-158-252.77.13.pool.telefonica.de) (Quit: Ping timeout (120 seconds))
2021-03-01 15:32:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 15:34:14 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-03-01 15:35:15 +0100xff0x(~xff0x@2001:1a81:5383:2100:7be7:dddc:2608:44b7) (Ping timeout: 240 seconds)
2021-03-01 15:35:40 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2021-03-01 15:36:10 +0100nf(~n@monade.li)
2021-03-01 15:36:26 +0100xff0x(~xff0x@2001:1a81:5383:2100:fd3a:fd43:5d55:8345)
2021-03-01 15:38:17 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-03-01 15:40:28 +0100howdoi(uid224@gateway/web/irccloud.com/x-ooezfjzkvhydiyus)
2021-03-01 15:43:00 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 15:44:39 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 245 seconds)
2021-03-01 15:44:52 +0100mniip(~mniip@freenode/staff/mniip)
2021-03-01 15:44:53 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-01 15:44:54 +0100yahb(xsbot@178.219.36.155)
2021-03-01 15:44:54 +0100yahb(xsbot@178.219.36.155) (Changing host)
2021-03-01 15:44:54 +0100yahb(xsbot@haskell/bot/yahb)
2021-03-01 15:45:09 +0100tuoyuz(~user@121.34.151.31)
2021-03-01 15:45:30 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2021-03-01 15:47:15 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-01 15:47:20 +0100tuoyuz(~user@121.34.151.31) ("ERC (IRC client for Emacs 27.1)")
2021-03-01 15:47:29 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-01 15:48:01 +0100vicfred(~vicfred@unaffiliated/vicfred)
2021-03-01 15:48:46 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-01 15:51:41 +0100davros_(~davros@host86-183-29-83.range86-183.btcentralplus.com)
2021-03-01 15:51:54 +0100davros_(~davros@host86-183-29-83.range86-183.btcentralplus.com) (Remote host closed the connection)
2021-03-01 15:53:09 +0100berberman(~berberman@unaffiliated/berberman)
2021-03-01 15:54:05 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds)
2021-03-01 15:54:55 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 240 seconds)
2021-03-01 15:57:14 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-03-01 16:01:31 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-01 16:02:49 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 265 seconds)
2021-03-01 16:03:59 +0100 <bitmapper> i'm excited to try and implement linear arrays
2021-03-01 16:04:01 +0100 <bitmapper> or vectors
2021-03-01 16:04:05 +0100comerijnmerijn
2021-03-01 16:04:51 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2021-03-01 16:05:18 +0100nf(~n@monade.li)
2021-03-01 16:05:36 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-01 16:07:13 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-01 16:07:18 +0100 <ggVGc> I feel dumb, but I've been reading the stack docs and can't figure this out.. How do I (with stack) build a local library, and make another application depend on it, without depending on the source folder (so it does not need to be checked if it needs to be rebuilt every time I build the application)?
2021-03-01 16:07:57 +0100 <ggVGc> both using the same resolver obviously
2021-03-01 16:07:59 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 16:08:17 +0100 <ggVGc> do I just copy the static library and explicitly depend on it
2021-03-01 16:09:19 +0100joe[m]3(joemonoida@gateway/shell/matrix.org/x-zrgraxvdmbpvqofd)
2021-03-01 16:10:11 +0100dyeplexer(~lol@unaffiliated/terpin)
2021-03-01 16:10:48 +0100 <merijn> I don't think stack really supports that? You could try depending on a git repo of your source instead?
2021-03-01 16:12:20 +0100 <ggVGc> that would be the same thing as just having the library directory in extra-deps though, right?
2021-03-01 16:12:35 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Ping timeout: 240 seconds)
2021-03-01 16:12:41 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:a857:70bc:9343:9cab)
2021-03-01 16:12:41 +0100 <ggVGc> I'm just trying to get rid of the step of checking if my dependency needs to be built, every time I build my application
2021-03-01 16:12:43 +0100 <merijn> Yes, no, maybe? I don't use stack :p
2021-03-01 16:12:47 +0100 <ggVGc> since it's taking some significant time
2021-03-01 16:13:13 +0100 <ggVGc> maybe I'll move away from stack then. How would I do it with cabal?
2021-03-01 16:14:21 +0100 <merijn> ggVGc: hvr spent quite some time optimising "noop builds" to be sub 100ms for this reason. But in case it's still too slow, if you depend on a git repo with a specific commit it wouldn't trigger a rebuild unless you change the config to depend on a different repo/commit
2021-03-01 16:17:57 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:a857:70bc:9343:9cab) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 16:19:09 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 264 seconds)
2021-03-01 16:19:15 +0100fendor(~fendor@178.165.129.154.wireless.dyn.drei.com) (Remote host closed the connection)
2021-03-01 16:20:30 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 16:22:13 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-03-01 16:22:18 +0100 <sm[m]> re on yesterday's complaint about scripting setup: https://github.com/simonmichael/sm-haskell-tools has some scripting notes I haven't seen elsewhere
2021-03-01 16:22:33 +0100crobbins(~crobbins@2601:2c1:200:ec50:2c10:d848:8f1f:38a4)
2021-03-01 16:23:19 +0100 <sm[m]> ggVGc: you can mark it as an extra-dep, then it won't be checked every time - see the user guide
2021-03-01 16:23:20 +0100o1lo01ol_(~o1lo01ol1@95.69.78.182) (Remote host closed the connection)
2021-03-01 16:23:30 +0100average(uid473595@gateway/web/irccloud.com/x-ooapnrdetvogzxir)
2021-03-01 16:23:48 +0100 <shapr> sm[m]: there's also https://github.com/BrianHicks/nix-script
2021-03-01 16:23:57 +0100fendor(~fendor@178.165.129.154.wireless.dyn.drei.com)
2021-03-01 16:25:14 +0100 <sm[m]> thanks shapr
2021-03-01 16:25:29 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-01 16:26:03 +0100MethMom(~root@097-103-176-123.res.spectrum.com)
2021-03-01 16:31:25 +0100mmfood(~mmfood@45.135.187.76)
2021-03-01 16:33:26 +0100egp__(~egp_@2.95.74.168) (Quit: EXIT)
2021-03-01 16:33:31 +0100egp_(~egp_@2.95.74.168) (Quit: EXIT)
2021-03-01 16:35:00 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-03-01 16:35:00 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 16:35:40 +0100crobbins(~crobbins@2601:2c1:200:ec50:2c10:d848:8f1f:38a4) (Remote host closed the connection)
2021-03-01 16:36:09 +0100 <shapr> sm[m]: this is cool, I wonder how much of this works with cabal also?
2021-03-01 16:36:18 +0100crobbins(~crobbins@2601:2c1:200:ec50:dd18:3c82:fb8b:a1e5)
2021-03-01 16:36:43 +0100 <merijn> shapr: cabal has shebang based script support
2021-03-01 16:36:45 +0100 <merijn> has for a while
2021-03-01 16:37:04 +0100mmfood(~mmfood@45.135.187.76) (Remote host closed the connection)
2021-03-01 16:37:08 +0100o1lo01ol1o(~o1lo01ol1@95.69.78.182)
2021-03-01 16:37:13 +0100 <shapr> ah ok, thanks
2021-03-01 16:37:27 +0100mmfood(~mmfood@45.135.187.76)
2021-03-01 16:37:28 +0100 <merijn> lemme see if I can find the docs
2021-03-01 16:37:38 +0100mmfood_1(~mmfood@45.135.187.76)
2021-03-01 16:38:29 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-03-01 16:38:50 +0100mmfood(~mmfood@45.135.187.76) (Client Quit)
2021-03-01 16:38:59 +0100mmfood_1(~mmfood@45.135.187.76) (Client Quit)
2021-03-01 16:39:04 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-01 16:39:17 +0100mmfood(~mmfood@45.135.187.76)
2021-03-01 16:40:29 +0100mmfood(~mmfood@45.135.187.76) (Remote host closed the connection)
2021-03-01 16:40:41 +0100 <merijn> bleh, looks like no one wrote docs for this yet
2021-03-01 16:40:52 +0100mmfood(~mmfood@45.135.187.76)
2021-03-01 16:41:22 +0100 <merijn> shapr: https://github.com/haskell/cabal/issues/3843
2021-03-01 16:43:10 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-03-01 16:43:29 +0100 <sm[m]> shapr, oh yes, let me add that
2021-03-01 16:45:29 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 260 seconds)
2021-03-01 16:47:19 +0100melkorGuest41046
2021-03-01 16:48:14 +0100mayleesia(4d0d9efc@dynamic-077-013-158-252.77.13.pool.telefonica.de)
2021-03-01 16:49:17 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-01 16:49:51 +0100 <sm[m]> https://cabal.readthedocs.io/en/3.4/cabal-commands.html#cabal-v2-run is the doc
2021-03-01 16:56:06 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:a857:70bc:9343:9cab)
2021-03-01 16:56:10 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 16:56:35 +0100deviantfero(~deviantfe@190.150.27.58)
2021-03-01 16:58:05 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:a857:70bc:9343:9cab) (Client Quit)
2021-03-01 16:58:17 +0100Benzi-Junior(~BenziJuni@88-149-67-143.du.xdsl.is) (Ping timeout: 272 seconds)
2021-03-01 17:00:30 +0100poscat1(~poscat@123.116.89.28)
2021-03-01 17:01:37 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 276 seconds)
2021-03-01 17:02:24 +0100poscat(~poscat@114.243.61.85) (Ping timeout: 260 seconds)
2021-03-01 17:05:24 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-hyoxjevdyshrykda)
2021-03-01 17:08:17 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
2021-03-01 17:08:42 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-03-01 17:08:51 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428)
2021-03-01 17:09:29 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 17:10:45 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-03-01 17:12:11 +0100Rudd0(~Rudd0@185.189.115.108)
2021-03-01 17:13:34 +0100toorevitimirp(~tooreviti@117.182.182.60) (Remote host closed the connection)
2021-03-01 17:13:35 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Ping timeout: 240 seconds)
2021-03-01 17:14:45 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 17:15:46 +0100o1lo01ol1o(~o1lo01ol1@95.69.78.182) (Remote host closed the connection)
2021-03-01 17:16:19 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-03-01 17:18:55 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 240 seconds)
2021-03-01 17:21:16 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com)
2021-03-01 17:21:32 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik)
2021-03-01 17:21:47 +0100sQVe(~sQVe@unaffiliated/sqve) (Quit: Bye!)
2021-03-01 17:24:20 +0100 <rednaZ[m]> I need to understand why GHC allows coercion arguments to prevent memoization although they do not exist at run time. Does anybody know that of have any pointers?
2021-03-01 17:24:53 +0100 <merijn> rednaZ[m]: #ghc ;)
2021-03-01 17:25:30 +0100 <sm[m]> shapr, added: https://github.com/simonmichael/sm-haskell-tools/blob/master/script-cabal-run
2021-03-01 17:25:51 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 17:25:56 +0100 <shapr> thanks!
2021-03-01 17:26:58 +0100 <sm[m]> I wonder what you'd need to patch to get #/usr/bin/env stack|cabal recognised as haskell files by everything
2021-03-01 17:27:16 +0100 <shapr> I think it's amusing that you've confused github as to whether those files are shell scripts or Haskell source
2021-03-01 17:27:29 +0100 <merijn> sm[m]: What do you mean?
2021-03-01 17:28:07 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 17:28:10 +0100 <sm[m]> merijn: when you open such haskell scripts in editors or view them on github eg, they are not highlighted as haskell
2021-03-01 17:28:25 +0100 <sm[m]> #!/usr/bin/env ghc|runghc are
2021-03-01 17:28:28 +0100 <merijn> sm[m]: Sadly, I suspect the answer is "tons of things"
2021-03-01 17:28:39 +0100 <merijn> sm[m]: libmagic is probably a good starting point?
2021-03-01 17:28:50 +0100 <sm[m]> that sounds good
2021-03-01 17:29:05 +0100 <ggVGc> merijn: I just wish I could have this behaviour without needing a separate git repo for each project
2021-03-01 17:29:19 +0100hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:a7e6:fd5e:5dd8:f140) (Ping timeout: 272 seconds)
2021-03-01 17:29:35 +0100 <merijn> ggVGc: cabal-install is pretty good about being fast even using local directories
2021-03-01 17:29:46 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2021-03-01 17:29:48 +0100 <ggVGc> also, my noop build definitely isn't sub 100ms :(
2021-03-01 17:30:02 +0100 <sm[m]> correction: Emacs recognises #!/usr/bin/env runghc|runhaskell (not #!/usr/bin/env ghc)
2021-03-01 17:30:04 +0100 <ggVGc> for the lib I depend on that is
2021-03-01 17:30:18 +0100 <merijn> ggVGc: I just meant that a git repo *guarantees* no-ops with cabal-install
2021-03-01 17:30:22 +0100 <merijn> ggVGc: With cabal?
2021-03-01 17:30:56 +0100 <ggVGc> no, sorry, with stack. That's why I said I could be ready to move away from stack. But I haven't used cabal in years, since last time I was using cabal it was... problematic
2021-03-01 17:31:00 +0100 <merijn> ggVGc: The sub 100ms remark was specifically to efforts hvr put into cabal-install, not stack
2021-03-01 17:31:01 +0100 <ggVGc> but I hear a lot has changed
2021-03-01 17:31:08 +0100 <ggVGc> yeah, I understand now
2021-03-01 17:31:12 +0100 <ggVGc> I misread
2021-03-01 17:31:35 +0100 <merijn> ggVGc: Depends what part you considered problematic
2021-03-01 17:32:55 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-01 17:32:55 +0100esp32_prog(username@gateway/vpn/mullvad/esp32prog/x-46565127) (Ping timeout: 240 seconds)
2021-03-01 17:33:25 +0100 <sm[m]> is -j not the default for cabal build ?
2021-03-01 17:33:38 +0100 <merijn> ggVGc: I mean, a lot of the "cabal" issues I've seen here are "using super ancient packages and getting stuck with conflicting bounds", that part hasn't changed.
2021-03-01 17:34:04 +0100 <merijn> ggVGc: On the other hand, the "I need to manually sandbox stuff because 3 projects have conflicting dependencies" hassle is entirely gone
2021-03-01 17:34:10 +0100 <merijn> sm[m]: No
2021-03-01 17:34:21 +0100 <merijn> sm[m]: Because -j is rather heavy
2021-03-01 17:34:34 +0100 <merijn> So it can easily OOM tiny machines
2021-03-01 17:34:52 +0100 <sm[m]> noted
2021-03-01 17:35:29 +0100 <merijn> sm[m]: Basically, cabal only supports per package parallelism atm, so -j will spin up multiple package builds in parallel
2021-03-01 17:35:49 +0100 <sm[m]> I confirm a no-op cabal build is indeed rather fast, ~.1s here. With stack it's ~.5s
2021-03-01 17:36:10 +0100 <merijn> sm[m]: You can set a default setting for -j in ~/.cabal/config, though
2021-03-01 17:36:17 +0100 <sm[m]> yes, stack build is parallel by default (so low memory folks would have to add -j1)
2021-03-01 17:36:19 +0100 <dcoutts> (technically it's per-component rather than per-package)
2021-03-01 17:36:44 +0100 <merijn> sm[m]: The goal was that you can (unconditionally) call "cabal build" in scripts/build systems without incurring significant overhead
2021-03-01 17:38:09 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Quit: Leaving)
2021-03-01 17:38:52 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-03-01 17:39:18 +0100mananamenos(~jtomas@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-01 17:39:23 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-03-01 17:40:17 +0100mananamenos(~jtomas@193.red-88-11-66.dynamicip.rima-tde.net) ()
2021-03-01 17:40:51 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-01 17:41:23 +0100hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:745a:4c62:d02:a3cc)
2021-03-01 17:42:20 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-03-01 17:44:11 +0100kam1(~kam1@5.126.106.241)
2021-03-01 17:50:22 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com) (Ping timeout: 276 seconds)
2021-03-01 17:51:15 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 17:53:12 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-01 17:53:59 +0100 <monochrom> ~/.cabal/config has auto-generated "jobs: $ncups" so you have implicit -j so you are still toasted.
2021-03-01 17:56:10 +0100 <merijn> hmm, did that change at some point? Because that wasn't the case in the past
2021-03-01 17:56:11 +0100banyanRob(268ce492@38.140.228.146)
2021-03-01 17:56:46 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com)
2021-03-01 17:57:53 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-01 17:57:56 +0100 <monochrom> I happen to have saved default ~/.cabal/config's from 0.14 to 3.4, so I grepped "jobs" and...
2021-03-01 17:58:06 +0100kuribas(~user@ptr-25vy0ia3p0g52y47swx.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-03-01 17:58:27 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-01 17:58:32 +0100 <monochrom> "jobs" first appeared in 1.16, commented out (off by default)
2021-03-01 17:58:50 +0100 <monochrom> but 1.18 and onwards it's "jobs: $ncpus" all the way down.
2021-03-01 17:58:54 +0100 <merijn> hah
2021-03-01 17:59:15 +0100 <merijn> That sounds about right, I think 1.16 was around the time I started, so maybe I just never updated the defaults >.>
2021-03-01 17:59:55 +0100 <merijn> monochrom: But I recall adding an explicit -j on the cluster making my job substantially faster and that one always had a default config, so something's still weird
2021-03-01 18:00:13 +0100 <merijn> I blame my environment >.>
2021-03-01 18:00:55 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com) (Ping timeout: 240 seconds)
2021-03-01 18:01:54 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 260 seconds)
2021-03-01 18:05:48 +0100chisui(577bc9b7@i577BC9B7.versanet.de) (Quit: Connection closed)
2021-03-01 18:07:45 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-01 18:08:01 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-01 18:08:33 +0100conal(~conal@192.145.118.113) (Quit: Computer has gone to sleep.)
2021-03-01 18:10:02 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com)
2021-03-01 18:12:10 +0100conal(~conal@192.145.118.123)
2021-03-01 18:12:41 +0100Dysfunctional(959c7c03@nat.ds3.agh.edu.pl)
2021-03-01 18:14:49 +0100 <hc> Hi all, the last three versions of the zip package don't have auto-generated documentation available
2021-03-01 18:14:58 +0100kderme(4fa758c1@ppp079167088193.access.hol.gr)
2021-03-01 18:15:52 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2021-03-01 18:16:06 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-01 18:16:20 +0100nf(~n@monade.li)
2021-03-01 18:16:34 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-01 18:16:54 +0100 <Dysfunctional> Hi, has anyone used bricks here? Did anyone try to do some custom rednering, like... https://paste.tomsmeding.com/kA5KemWL - vertical and horizontal joints might not be enough, and some widgets might need to be cut
2021-03-01 18:17:07 +0100 <Dysfunctional> rendering*
2021-03-01 18:17:26 +0100 <Dysfunctional> and joins*
2021-03-01 18:17:55 +0100 <koz_> hc: File an issue here: https://github.com/mrkkrp/zip/issues
2021-03-01 18:19:40 +0100aarvar(~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008)
2021-03-01 18:21:45 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net)
2021-03-01 18:22:52 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2021-03-01 18:23:15 +0100redmp(~redmp@172.58.38.226)
2021-03-01 18:23:18 +0100nf(~n@monade.li)
2021-03-01 18:25:22 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428)
2021-03-01 18:26:32 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 18:26:59 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 260 seconds)
2021-03-01 18:27:33 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-01 18:27:50 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-03-01 18:29:52 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2021-03-01 18:30:05 +0100chisui(577bc9b7@i577BC9B7.versanet.de)
2021-03-01 18:30:21 +0100nf(~n@monade.li)
2021-03-01 18:30:31 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-01 18:31:25 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-01 18:31:30 +0100michalz(~user@185.246.204.42) (Remote host closed the connection)
2021-03-01 18:31:52 +0100 <Dysfunctional> Like it seems vty has a Image data type which is a tree along horizontal and vertical joins, and... I don't know, while it guarantees there won't be any overlaps there's that previous problem. Just wondering if a map or some other fancier tree couldn't be used to sovle that previous problem (for new ppl: https://paste.tomsmeding.com/kA5KemWL )
2021-03-01 18:32:31 +0100nf(~n@monade.li) (Client Quit)
2021-03-01 18:32:58 +0100Tops21(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 18:33:20 +0100augnun(~augnun@2804:14c:658b:41bb:7154:d13c:3dbd:8655)
2021-03-01 18:33:28 +0100Tops22(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 18:34:45 +0100boxscape(86ab2c71@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.44.113)
2021-03-01 18:36:19 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2021-03-01 18:36:30 +0100 <boxscape> Not that I actually need this, but to be honest, I kind of expected this to work https://paste.tomsmeding.com/yLYymOaf
2021-03-01 18:37:29 +0100Tops21(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2021-03-01 18:37:43 +0100nf(~n@monade.li)
2021-03-01 18:37:46 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-03-01 18:38:15 +0100mayleesia(4d0d9efc@dynamic-077-013-158-252.77.13.pool.telefonica.de) (Quit: Connection closed)
2021-03-01 18:38:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 18:39:39 +0100 <boxscape> I suppose the problem is that neither instance is more general than the other
2021-03-01 18:39:48 +0100knupfer(~Thunderbi@200116b824fa7200bdacb2af5161f3a9.dip.versatel-1u1.de) (Quit: knupfer)
2021-03-01 18:40:03 +0100 <geekosaur> I think so, yes
2021-03-01 18:40:03 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 18:40:14 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 18:40:30 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-01 18:40:48 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-03-01 18:40:57 +0100 <dolio> Yeah, that's incoherent.
2021-03-01 18:41:00 +0100 <Dysfunctional> yeah, but one is overlappable and other is overlapping, guess they're not interpreted in the same family where the precedence can be calculated
2021-03-01 18:41:14 +0100Tops21(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 18:41:36 +0100conal_(~conal@64.71.133.70)
2021-03-01 18:42:33 +0100conal(~conal@192.145.118.123) (Ping timeout: 264 seconds)
2021-03-01 18:42:44 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:9922:cfc5:8f27:49f4) (Ping timeout: 240 seconds)
2021-03-01 18:43:35 +0100xff0x(~xff0x@2001:1a81:5383:2100:fd3a:fd43:5d55:8345) (Ping timeout: 240 seconds)
2021-03-01 18:43:54 +0100Tops22(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2021-03-01 18:44:15 +0100 <boxscape> dolio ah, true, changing one of the pragmas to INCOHERENT makes it compile
2021-03-01 18:44:36 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-03-01 18:44:39 +0100xff0x(~xff0x@2001:1a81:5383:2100:48ad:dc4f:6fad:3ff7)
2021-03-01 18:44:47 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-03-01 18:44:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 18:45:01 +0100 <dolio> Oh good. I was just about to say maybe it wasn't incoherent. :)
2021-03-01 18:45:13 +0100 <dolio> Like, technically.
2021-03-01 18:45:30 +0100 <boxscape> hm
2021-03-01 18:45:38 +0100 <boxscape> I don't actually know the technical definition
2021-03-01 18:46:03 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-01 18:46:11 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 18:47:44 +0100 <dolio> Anyhow, the 'overlapping' one isn't a special case of the 'overlappable' one.
2021-03-01 18:48:43 +0100 <dolio> So I guess what marking something 'incoherent' would do is, "just pick this one anyway."
2021-03-01 18:49:01 +0100 <dolio> Although I'm not 100% certain on the meaning of all the annotations.
2021-03-01 18:49:33 +0100 <boxscape> it actually picks the one *not* marked with incoherent, though if I'm understanding the user guide correctly, it's "arbitrary"
2021-03-01 18:49:41 +0100 <dolio> Hahaha. Okay.
2021-03-01 18:50:01 +0100nhs_(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-01 18:50:31 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:154f:4e40:6da2:bc2f)
2021-03-01 18:50:31 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-03-01 18:50:57 +0100emmanuel_erc(~user@rrcs-23-246-116-5.nys.biz.rr.com) (Ping timeout: 264 seconds)
2021-03-01 18:50:58 +0100 <boxscape> oh no wait, it's arbitrary if *all* candidates are incoherent, otherwise it picks the non-incoherent one
2021-03-01 18:51:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 18:51:19 +0100 <dolio> Oh, I guess that makes sense.
2021-03-01 18:51:31 +0100 <dolio> If all but one are incoherent, you pick the 'coherent' one.
2021-03-01 18:51:36 +0100 <boxscape> right
2021-03-01 18:51:36 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 240 seconds)
2021-03-01 18:51:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 18:53:17 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-01 18:54:08 +0100 <Dysfunctional> I don't understand Haskell's type system when it comes to type classes. I just imagine there's some kind of compiler machinery that choses an instance and then... what does it mean if a type class is incoherent?
2021-03-01 18:56:11 +0100 <sclv> incoherent is virtually never what you want
2021-03-01 18:56:20 +0100 <Dysfunctional> I mean, overlapping is like: Make a choice, where the priority is: overlappable < overlaps < overlapping (has the highest priority). Incoherent? "Use me as a last resort?"
2021-03-01 18:56:22 +0100 <sclv> it means what the discussion above said -- just give up
2021-03-01 18:56:34 +0100 <sclv> i've never found a case where i wanted it
2021-03-01 18:56:35 +0100 <dolio> Incoherent means that arbitrary decisions are made, rather than there being a canonical choice.
2021-03-01 18:56:50 +0100 <Dysfunctional> sounds fun
2021-03-01 18:56:51 +0100 <sclv> i guess it _only_ makes sense if the different instances all "mean" the same thing
2021-03-01 18:57:04 +0100 <dolio> In this example, neither `Maybe a` nor `f Bool` are more specific than one another, so it just picks one.
2021-03-01 18:57:07 +0100 <sclv> i.e. no matter which instance you pick, the code is equivalent
2021-03-01 18:57:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-01 18:57:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 18:57:59 +0100 <sclv> the better way to try to disambiguate something like the above is fundeps
2021-03-01 18:58:04 +0100 <sclv> or closed type families
2021-03-01 18:58:11 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-01 18:58:19 +0100 <Dysfunctional> ok, thanks, tbh never undestood fundeps too
2021-03-01 18:58:27 +0100 <dolio> Also the explanation of overlapping above is missing things.
2021-03-01 18:59:06 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-01 18:59:12 +0100 <dolio> An 'overlapping' instance isn't deemed preferable to an 'overlappable' instance just because they can unify.
2021-03-01 18:59:38 +0100bitmagie(~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de)
2021-03-01 19:00:29 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 19:00:35 +0100 <dolio> Overlappable means that more specific instances don't need to specificaly say 'overlapping'. And 'overlapping' means that it can override a less specific instance that is not declared 'overlappable'. Or something like that.
2021-03-01 19:00:49 +0100vchlup_(~vchlup@nat.brnet.cz) (Ping timeout: 260 seconds)
2021-03-01 19:00:49 +0100 <dolio> The specificity of the instance heads still matter.
2021-03-01 19:02:22 +0100kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2021-03-01 19:02:35 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 19:02:50 +0100 <Dysfunctional> Ok, thanks. 'Overlaps' is overlap without considertion for the instance head?
2021-03-01 19:03:10 +0100juri_(~juri@178.63.35.222) (Ping timeout: 276 seconds)
2021-03-01 19:03:33 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 19:03:34 +0100 <dolio> I don't remember the difference between 'overlaps' and 'overlapping', because I barely ever use this stuff.
2021-03-01 19:03:54 +0100juri_(~juri@79.140.120.239)
2021-03-01 19:03:54 +0100juri_(~juri@79.140.120.239) (Read error: Connection reset by peer)
2021-03-01 19:04:04 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Remote host closed the connection)
2021-03-01 19:04:09 +0100vchlup_(~vchlup@nat.brnet.cz)
2021-03-01 19:04:21 +0100 <dolio> The only thing that's going to ignore the actual specialization order of the instance is 'incoherent' I think.
2021-03-01 19:04:46 +0100 <aarvar> I think overlaps = overlappable + overlapping, or something like that
2021-03-01 19:05:15 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 240 seconds)
2021-03-01 19:06:35 +0100xff0x(~xff0x@2001:1a81:5383:2100:48ad:dc4f:6fad:3ff7) (Ping timeout: 240 seconds)
2021-03-01 19:07:05 +0100 <Dysfunctional> so for example for a datatype with kind two and a type class that specializes one of the type arguments
2021-03-01 19:07:47 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-01 19:07:53 +0100xff0x(~xff0x@2001:1a81:5383:2100:76a2:26e:424a:1092)
2021-03-01 19:08:37 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 19:08:47 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-01 19:08:55 +0100juri_(~juri@178.63.35.222)
2021-03-01 19:08:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-01 19:09:03 +0100chisui(577bc9b7@i577BC9B7.versanet.de) (Quit: Connection closed)
2021-03-01 19:09:05 +0100banyanRob(268ce492@38.140.228.146) (Quit: Connection closed)
2021-03-01 19:09:07 +0100vk3wtf_(~doc@115-64-102-158.tpgi.com.au)
2021-03-01 19:09:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 19:09:56 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428)
2021-03-01 19:11:56 +0100vk3wtf(~doc@203.221.224.44) (Ping timeout: 240 seconds)
2021-03-01 19:12:53 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-01 19:13:09 +0100bitmagie(~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de) (Quit: bitmagie)
2021-03-01 19:13:27 +0100bitmagie(~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de)
2021-03-01 19:13:51 +0100 <perrier-jouet> hi all
2021-03-01 19:14:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 19:14:29 +0100 <perrier-jouet> my /root/.stack folder is it save to delete it ? I am using archlinux
2021-03-01 19:14:46 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-01 19:14:53 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 19:15:02 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-01 19:15:05 +0100 <geekosaur> why have you been running stack as root
2021-03-01 19:15:58 +0100bitmagie(~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de) (Client Quit)
2021-03-01 19:16:13 +0100 <monochrom> If you vow to never run stack as root again, you can delete it.
2021-03-01 19:16:21 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-03-01 19:17:07 +0100 <monochrom> stack is fundamentally a per-user program, "sudo stack" does not mean /usr/local. Whoever runs stack, it always means $HOME.
2021-03-01 19:17:07 +0100 <perrier-jouet> geekosaur: monochrom sometime installing packages it says you don't have permission so when I do su I guess that's when it created the /root/.stack
2021-03-01 19:18:10 +0100 <geekosaur> my guess is ypou ran stack as root once and now there are root-owned files in your own .stack and/or .stack-work
2021-03-01 19:19:13 +0100 <geekosaur> so you'll also need to fix that with sudo chown -R $USER ~/.stack ~/.stack-work
2021-03-01 19:19:14 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2021-03-01 19:19:24 +0100 <geekosaur> and then don't run stack as root any more
2021-03-01 19:19:32 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-03-01 19:19:46 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 19:20:04 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-03-01 19:20:35 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-01 19:20:47 +0100 <geekosaur> just pulling out sudo any time you have a permission problem is a lovely way to destroy your OS install
2021-03-01 19:21:42 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 19:21:45 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-01 19:22:20 +0100son0p(~son0p@181.136.122.143)
2021-03-01 19:25:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-01 19:25:55 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-03-01 19:26:02 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 19:26:21 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 19:28:31 +0100 <Dysfunctional> what's your opinion on nix?
2021-03-01 19:28:49 +0100 <boxscape> Dysfunctional dolio OVERLAPS marks an instance as both overlappable and overlapping
2021-03-01 19:29:18 +0100tweek(~tweek@2603-6010-b207-6d3b-058f-45fa-65e0-88fa.res6.spectrum.com)
2021-03-01 19:29:29 +0100 <boxscape> oh aarvar said as much
2021-03-01 19:29:33 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 19:29:58 +0100NieDzejkob(~quassel@195.149.98.3) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-03-01 19:30:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit)
2021-03-01 19:30:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 19:30:38 +0100 <tweek> i cant get imgui working for the life of me
2021-03-01 19:30:41 +0100 <tweek> kill me
2021-03-01 19:31:07 +0100kderme(4fa758c1@ppp079167088193.access.hol.gr) (Quit: Connection closed)
2021-03-01 19:31:08 +0100Tops22(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 19:31:39 +0100chisui(577bc9b7@i577BC9B7.versanet.de)
2021-03-01 19:32:36 +0100Tops21(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-03-01 19:32:40 +0100 <boxscape> Dysfunctional nix can be quite nice when you figure out what you have to do, but it can be pretty difficult to figure that out because of the state of the documentation
2021-03-01 19:33:03 +0100 <boxscape> or possibly it's just an inherent property of nix that couldn't be fixed with better documentation, I'm not sure
2021-03-01 19:33:06 +0100 <maerwald> nix as an idea: nice. Nix as an ecosystem: horrible
2021-03-01 19:33:40 +0100 <maerwald> increases bus factor, becomes a risk in your company
2021-03-01 19:34:07 +0100 <monochrom> What is bus factor?
2021-03-01 19:34:13 +0100 <maerwald> while not solving any real problem you couldn't have solved otherwise (modulo some edge cases)
2021-03-01 19:34:22 +0100 <maerwald> monochrom: huh?
2021-03-01 19:34:25 +0100 <Dysfunctional> and what about custom executables, installation files, etc? Do you have to write your own .nix files for them?
2021-03-01 19:34:35 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-03-01 19:34:41 +0100 <maerwald> monochrom: https://en.wikipedia.org/wiki/Bus_factor
2021-03-01 19:35:09 +0100 <boxscape> Dysfunctional yes
2021-03-01 19:36:56 +0100tweek(~tweek@2603-6010-b207-6d3b-058f-45fa-65e0-88fa.res6.spectrum.com) (Quit: WeeChat 3.0.1)
2021-03-01 19:37:11 +0100 <monochrom> Thanks. But then isn't increasing bus factor the desirable direction, and you meant decreasing bus factor?
2021-03-01 19:37:21 +0100tweek(~tweek@2603-6010-b207-6d3b-058f-45fa-65e0-88fa.res6.spectrum.com)
2021-03-01 19:37:21 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:6d57:8fff:2704:b133)
2021-03-01 19:37:24 +0100 <Dysfunctional> and is it hard? checking for all the dependencies, what not... is there a tutorial on how to do that?
2021-03-01 19:37:57 +0100 <Dysfunctional> decreasing bus factor is better XD with covid we've got an increase
2021-03-01 19:38:07 +0100 <geekosaur> higher bus factor = more people who are single points of failure
2021-03-01 19:38:23 +0100tweek(~tweek@2603-6010-b207-6d3b-058f-45fa-65e0-88fa.res6.spectrum.com) (Client Quit)
2021-03-01 19:38:35 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
2021-03-01 19:38:45 +0100 <geekosaur> potentially
2021-03-01 19:39:39 +0100 <boxscape> Dysfunctional the best tutorial I'm aware of are the "nix pills" but I didn't find it to be a very good tutorial
2021-03-01 19:40:10 +0100 <aarvar> geekosaur: according to wikipedia that's a "rare alternative definition"
2021-03-01 19:41:16 +0100 <boxscape> Dysfunctional the #nixos IRC channel is indispensible
2021-03-01 19:41:46 +0100 <Dysfunctional> ok, might bother them in the future, thanks
2021-03-01 19:41:57 +0100darjeeling_(~darjeelin@122.245.218.150) (Ping timeout: 264 seconds)
2021-03-01 19:43:15 +0100tweek(~tweek@2603-6010-b207-6d3b-058f-45fa-65e0-88fa.res6.spectrum.com)
2021-03-01 19:44:01 +0100 <Dysfunctional> just wondering whether haskell isn't in the same situation somewhat... a nice idea but a risk for a company
2021-03-01 19:44:11 +0100 <boxscape> Dysfunctional also something that took me forever to figure out is that this page exists, linked from the nixpkgs github, which documents how to use nix with various languages https://nixos.org/manual/nixpkgs/stable/#chap-language-support
2021-03-01 19:45:12 +0100python476(~user@mfl93-13-83-155-250-136.fbx.proxad.net)
2021-03-01 19:45:14 +0100 <python476> hello there
2021-03-01 19:45:37 +0100 <boxscape> hi
2021-03-01 19:45:48 +0100 <python476> do you think it's possible to define a GUI monad ?
2021-03-01 19:46:04 +0100 <python476> like a parser but upon stream of user input events ?
2021-03-01 19:46:19 +0100tanuki(~quassel@173.168.154.189) (Ping timeout: 260 seconds)
2021-03-01 19:46:38 +0100olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it)
2021-03-01 19:46:38 +0100olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it) (Excess Flood)
2021-03-01 19:46:45 +0100 <Dysfunctional> boxscope ok, thanks, will be helpful!
2021-03-01 19:47:56 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 240 seconds)
2021-03-01 19:47:59 +0100 <geekosaur> there are free monad-based user interfaces, e.g. Prompt, for one interpretation of "GUI monad"; and there is monadic FRP for a different interpretation of "GUI monad"
2021-03-01 19:48:04 +0100Tario(~Tario@201.192.165.173)
2021-03-01 19:50:18 +0100mmfood_1(~mmfood@45.135.187.76)
2021-03-01 19:50:55 +0100mmfood(~mmfood@45.135.187.76) (Ping timeout: 240 seconds)
2021-03-01 19:50:55 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-01 19:51:55 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 19:52:31 +0100NieDzejkob(~quassel@195.149.98.3)
2021-03-01 19:52:51 +0100 <python476> geekosaur: fair point
2021-03-01 19:54:14 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
2021-03-01 19:54:58 +0100darjeeling_(~darjeelin@122.245.208.86)
2021-03-01 19:55:23 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 19:55:43 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-01 19:56:16 +0100banyanRob(268ce492@38.140.228.146)
2021-03-01 19:58:35 +0100minoru_shiraeesh(~shiraeesh@5.101.59.4) (Ping timeout: 240 seconds)
2021-03-01 19:58:51 +0100minoru_shiraeesh(~shiraeesh@5.101.59.171)
2021-03-01 20:00:20 +0100rajivr(uid269651@gateway/web/irccloud.com/x-cjskmdmxlxsbgxmo) (Quit: Connection closed for inactivity)
2021-03-01 20:01:40 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:6d57:8fff:2704:b133) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 20:03:31 +0100berberman_(~berberman@unaffiliated/berberman)
2021-03-01 20:04:28 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 20:04:50 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
2021-03-01 20:08:11 +0100ashepelev(~ashepelev@37.120.211.188) (Remote host closed the connection)
2021-03-01 20:08:35 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Ping timeout: 240 seconds)
2021-03-01 20:11:26 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c491:50f:2150:49a6)
2021-03-01 20:12:23 +0100ddellacosta(~ddellacos@86.106.143.58)
2021-03-01 20:12:46 +0100tanuki(~quassel@173.168.154.189)
2021-03-01 20:13:24 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-01 20:13:30 +0100asthasr(~asthasr@162.210.29.120)
2021-03-01 20:15:42 +0100CareBearemcho(~CareBeare@185.204.1.185)
2021-03-01 20:16:29 +0100asthasr(~asthasr@162.210.29.120) (Client Quit)
2021-03-01 20:18:34 +0100chisui(577bc9b7@i577BC9B7.versanet.de) (Quit: Connection closed)
2021-03-01 20:19:09 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 264 seconds)
2021-03-01 20:19:09 +0100nineonin_(~nineonine@50.216.62.2)
2021-03-01 20:20:32 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 20:21:31 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 20:22:14 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-03-01 20:23:40 +0100tanuki(~quassel@173.168.154.189) (Quit: No Ping reply in 180 seconds.)
2021-03-01 20:23:55 +0100Tops22(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-03-01 20:23:56 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 20:24:26 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-01 20:24:34 +0100chisui(577bc9b7@i577BC9B7.versanet.de)
2021-03-01 20:25:04 +0100tanuki(~quassel@173.168.154.189)
2021-03-01 20:26:01 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 20:26:40 +0100ystael(~ystael@209.6.50.55) (Ping timeout: 260 seconds)
2021-03-01 20:29:27 +0100mmfood_1(~mmfood@45.135.187.76) (Quit: Leaving)
2021-03-01 20:29:40 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik) (Remote host closed the connection)
2021-03-01 20:30:18 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik)
2021-03-01 20:31:11 +0100Tops21(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 20:32:48 +0100Tops22(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 20:34:39 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 245 seconds)
2021-03-01 20:34:43 +0100 <sclv> ?hoogle interact
2021-03-01 20:34:43 +0100 <lambdabot> Prelude interact :: (String -> String) -> IO ()
2021-03-01 20:34:43 +0100 <lambdabot> System.IO interact :: (String -> String) -> IO ()
2021-03-01 20:34:43 +0100 <lambdabot> Data.ByteString interact :: (ByteString -> ByteString) -> IO ()
2021-03-01 20:35:07 +0100 <sclv> the "original" responsive interpretation of user events
2021-03-01 20:35:55 +0100Tops21(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-03-01 20:38:56 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2021-03-01 20:39:04 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-03-01 20:39:44 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c491:50f:2150:49a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 20:41:25 +0100Tops2(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)
2021-03-01 20:41:27 +0100ddellacosta(~ddellacos@86.106.143.58) (Remote host closed the connection)
2021-03-01 20:41:59 +0100ddellacosta(~ddellacos@86.106.143.58)
2021-03-01 20:43:00 +0100tanuki(~quassel@173.168.154.189) (Quit: No Ping reply in 180 seconds.)
2021-03-01 20:44:16 +0100tanuki(~quassel@173.168.154.189)
2021-03-01 20:44:55 +0100Tops22(~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-03-01 20:47:09 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 245 seconds)
2021-03-01 20:47:15 +0100ddellacosta(~ddellacos@86.106.143.58) (Ping timeout: 240 seconds)
2021-03-01 20:54:30 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Remote host closed the connection)
2021-03-01 20:54:39 +0100son0p(~son0p@181.136.122.143) (Ping timeout: 245 seconds)
2021-03-01 20:55:01 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-01 20:57:43 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-01 20:58:01 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-03-01 20:58:01 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-03-01 20:58:01 +0100mouseghost(~draco@wikipedia/desperek)
2021-03-01 21:00:37 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 21:01:21 +0100drakonis(~drakonis@unaffiliated/drakonis) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-01 21:03:31 +0100ixlun(~user@213.205.241.12)
2021-03-01 21:04:38 +0100drakonis(drakonis@unaffiliated/drakonis)
2021-03-01 21:05:39 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 260 seconds)
2021-03-01 21:05:47 +0100 <ixlun> Hi all, Is there a way to have a 'reference' to an object that's part of the state monad, so changes to it can be observed through the references?
2021-03-01 21:06:32 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-03-01 21:06:36 +0100superguest(~klf@67.216.62.0)
2021-03-01 21:06:43 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-03-01 21:07:10 +0100petersen(~petersen@redhat/juhp)
2021-03-01 21:07:45 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 21:07:48 +0100 <merijn> ixlun: By using a mutable reference?
2021-03-01 21:07:55 +0100nhs_(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 240 seconds)
2021-03-01 21:08:52 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 21:09:40 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-03-01 21:09:46 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c491:50f:2150:49a6)
2021-03-01 21:10:45 +0100 <ixlun> merijn: Yes, that's what I'm after
2021-03-01 21:10:53 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-01 21:10:56 +0100 <merijn> ixlun: No, that was the answer
2021-03-01 21:10:59 +0100 <merijn> Like IORef
2021-03-01 21:11:07 +0100 <merijn> or MVar/TVar
2021-03-01 21:11:34 +0100 <superguest> In general (i.e., functional programming), can we curry in the following fashion: f has signature f(p1, p2, ..., pN); and we do f "second_arg" 2
2021-03-01 21:11:35 +0100 <superguest> ?
2021-03-01 21:11:40 +0100knupfer(~Thunderbi@i59F7FF45.versanet.de)
2021-03-01 21:11:58 +0100 <ixlun> Cool, thanks for that, I'll look at the docs :-)
2021-03-01 21:12:28 +0100 <superguest> similar, f "i-th_arg" i
2021-03-01 21:12:39 +0100 <geekosaur> in general when using such references, you use Reader instead of State since you'd be mutating the contents of the reference, not the reference itself
2021-03-01 21:13:54 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-01 21:14:00 +0100 <geekosaur> superguest, that's more an attribute of a language/syntax, scheme and the lisps support it but most other languages don't
2021-03-01 21:14:08 +0100 <geekosaur> if I understand what you're asking correctly
2021-03-01 21:14:10 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2021-03-01 21:14:31 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-01 21:14:37 +0100 <ixlun> geekosaur: Indeed, the reference itself is immutable for my use-case
2021-03-01 21:15:39 +0100 <superguest> perhaps I've forgot to illustrate what f "second_arg" 2 would return; it would return a function f1 that has signature f1(f1, f3, ... fN)
2021-03-01 21:16:05 +0100 <geekosaur> same answer
2021-03-01 21:16:47 +0100 <geekosaur> you can't really do that in Haskell or the MLs, you can do it in Scheme, it's less about functional programming than the language syntax and what that allows you to do
2021-03-01 21:18:18 +0100 <superguest> geekosaur, okay, is what I just illustrated still considered currying?
2021-03-01 21:18:53 +0100 <geekosaur> currying could be a part of it
2021-03-01 21:20:06 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2021-03-01 21:20:44 +0100 <geekosaur> in haskell currying is between the standard form of function application and the tupled form; you can't really address tuples in the way you showed, though, so you can't really do this. (a form which used lists instead of tuples would be more amenable to it)
2021-03-01 21:21:45 +0100 <geekosaur> or if haskell had defined tuples differently than it does
2021-03-01 21:22:05 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-03-01 21:22:20 +0100 <minoru_shiraeesh> ixlun: if the architecture makes you want to introduce mutables references, maybe you can choose another architecture?
2021-03-01 21:24:07 +0100 <geekosaur> superguest, in any case what you're really doing is partial application, not currying as such. (many people seem to confuse these)
2021-03-01 21:25:27 +0100 <geekosaur> currying is a means to achieve partial application in parameter order in haskell. modified forms of currying might allow partial application in other orders, but I doubt it'd be worth it in general
2021-03-01 21:25:59 +0100banyanRob(268ce492@38.140.228.146) (Quit: Connection closed)
2021-03-01 21:27:34 +0100 <superguest> that last remark clarifies it for me.
2021-03-01 21:28:36 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 240 seconds)
2021-03-01 21:31:04 +0100 <minoru_shiraeesh> there should be other options that you can consider before introducing mutable references. You create pure subsystems in an impure framework which you also create.
2021-03-01 21:31:36 +0100 <minoru_shiraeesh> There are various ways of designing that framework and those subsystems.
2021-03-01 21:32:34 +0100 <minoru_shiraeesh> I don't know much about them, I'm in the process of investigating this subject.
2021-03-01 21:33:33 +0100 <minoru_shiraeesh> But one variation I can imagine is based on queues.
2021-03-01 21:33:34 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-01 21:33:40 +0100 <geekosaur> minoru_shiraeesh, sometimes one mutable reference is the price you pay for a program which is more comprehensible. or sometimes it's necessary (as when, for example, synchronizing data between multiple threads)
2021-03-01 21:33:40 +0100o1lo01ol1o(~o1lo01ol1@bl7-89-228.dsl.telepac.pt)
2021-03-01 21:33:56 +0100 <geekosaur> it depends on the circumstances
2021-03-01 21:36:08 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 21:37:49 +0100cgadski_(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-03-01 21:37:50 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Read error: Connection reset by peer)
2021-03-01 21:37:58 +0100o1lo01ol1o(~o1lo01ol1@bl7-89-228.dsl.telepac.pt) (Ping timeout: 245 seconds)
2021-03-01 21:38:27 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 21:39:23 +0100 <minoru_shiraeesh> geekosaur: you're implying that the programmer is experienced and considered other options, but what if it's a newbie that doesn't know other options?
2021-03-01 21:40:39 +0100superguest(~klf@67.216.62.0) (Quit: This computer has gone to sleep)
2021-03-01 21:41:30 +0100klf(~klf@67.216.62.0)
2021-03-01 21:41:38 +0100 <geekosaur> they're already trying to use State, which argues that they do
2021-03-01 21:42:20 +0100 <minoru_shiraeesh> so I think maybe the first thing to consider should be queues instead of mutable references.
2021-03-01 21:44:59 +0100 <minoru_shiraeesh> you have an application's state as data record (data MyState = ...), various commands (data Command = GoLeft, GoRight, etc), a queue of commands and a handler of type MyState Command -> MyState
2021-03-01 21:47:15 +0100ddellacosta(~ddellacos@86.106.143.123)
2021-03-01 21:48:02 +0100 <minoru_shiraeesh> I mean MyState -> Command -> MyState
2021-03-01 21:51:13 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-03-01 21:51:46 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Remote host closed the connection)
2021-03-01 21:53:48 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
2021-03-01 21:54:16 +0100entel(uid256215@botters/entel) (Quit: Connection closed for inactivity)
2021-03-01 21:54:35 +0100 <minoru_shiraeesh> in OOP the Observable/Observer pattern handles that case
2021-03-01 21:55:03 +0100 <minoru_shiraeesh> the question is how do you translate the Observable/Observer pattern to fp
2021-03-01 21:55:19 +0100 <klf> thanks!
2021-03-01 21:56:26 +0100jess(jess@freenode/staff/jess) (Quit: K-Lined)
2021-03-01 21:57:20 +0100Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-03-01 21:57:33 +0100jess(jess@freenode/staff/jess)
2021-03-01 21:59:49 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 22:00:04 +0100_ht(~quassel@82.169.194.8) (Remote host closed the connection)
2021-03-01 22:00:58 +0100 <monochrom> "tangible values" was a response to observable.
2021-03-01 22:01:49 +0100 <monochrom> I think that later FRP emerged and superseded it
2021-03-01 22:02:09 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 245 seconds)
2021-03-01 22:03:41 +0100 <conal_> Tangible values came well after FRP and was about direct manipulation of functionality-plus-GUI with a categorical flavored underpinning.
2021-03-01 22:03:52 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds)
2021-03-01 22:04:30 +0100srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds)
2021-03-01 22:04:56 +0100Dysfunctional(959c7c03@nat.ds3.agh.edu.pl) (Quit: Connection closed)
2021-03-01 22:04:59 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2021-03-01 22:05:03 +0100srk(~sorki@gateway/tor-sasl/sorki)
2021-03-01 22:06:21 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 22:07:17 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-01 22:07:36 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-01 22:07:55 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:513f:2e4a:e959:c989) (Ping timeout: 240 seconds)
2021-03-01 22:07:59 +0100ixlun(~user@213.205.241.12) (Ping timeout: 245 seconds)
2021-03-01 22:09:56 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 22:09:56 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-03-01 22:10:11 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-01 22:10:42 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:1c25:64cf:74a5:840b)
2021-03-01 22:10:57 +0100 <python476> conal_: are you still into FRP ?
2021-03-01 22:11:25 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Remote host closed the connection)
2021-03-01 22:11:45 +0100 <conal_> python476: only in the background. still noodling some aspects.
2021-03-01 22:12:09 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 245 seconds)
2021-03-01 22:12:17 +0100 <conal_> hm. i wonder why my handle is "_"-suffixed.
2021-03-01 22:13:07 +0100usr25(~usr25@unaffiliated/usr25)
2021-03-01 22:14:33 +0100 <geekosaur> freenode burped a couple days ago?
2021-03-01 22:15:17 +0100 <int-e> geekosaur: not sure what you mean, but there was a spam wave
2021-03-01 22:15:38 +0100xff0x(~xff0x@2001:1a81:5383:2100:76a2:26e:424a:1092) (Ping timeout: 260 seconds)
2021-03-01 22:15:53 +0100 <conal_> A problem with all of those state-update interfaces is that they wire in discreteness and thus discretization error, breaking simple, precise semantics, useful algebraic properties, and lots of optimization opportunities. Eliminating those properties by using continuous time was the original motivation for FRP.
2021-03-01 22:15:57 +0100fendor_(~fendor@91.141.3.125.wireless.dyn.drei.com)
2021-03-01 22:15:58 +0100 <geekosaur> lots of joins/parts, and it wasn't just matrix
2021-03-01 22:16:05 +0100xff0x(~xff0x@2001:1a81:5383:2100:4da:5f51:727e:1977)
2021-03-01 22:16:27 +0100 <conal_> While imperative programming is deeply entwined with temporal discreteness, functional programming is not.
2021-03-01 22:17:02 +0100amartya(~amartya@84.65.86.130)
2021-03-01 22:17:15 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c491:50f:2150:49a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 22:18:11 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2021-03-01 22:18:55 +0100fendor(~fendor@178.165.129.154.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2021-03-01 22:19:32 +0100 <minoru_shiraeesh> conal_: by descreteness you mean organizing the program as a big loop?
2021-03-01 22:21:54 +0100 <conal_> minoru_shiraeesh: Loops are one sign of discreteness, since they repeat only finitely often. Another is mutation. Another is lists. Another is anything like `MyState -> Command -> MyState`.
2021-03-01 22:23:01 +0100Wuzzy(~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-03-01 22:23:49 +0100 <minoru_shiraeesh> are conduits relevant here? can you have a design in which you have a core running on conduits and pure modules?
2021-03-01 22:24:05 +0100conal_(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-01 22:25:20 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-03-01 22:25:37 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 22:27:17 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-03-01 22:30:39 +0100st8less(~st8less@2603:a060:11fd:0:f217:d85a:8fff:99be)
2021-03-01 22:30:43 +0100kayvan(~user@52-119-115-185.PUBLIC.monkeybrains.net)
2021-03-01 22:33:23 +0100knupfer(~Thunderbi@i59F7FF45.versanet.de) (Ping timeout: 245 seconds)
2021-03-01 22:35:11 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-fhcnshqczetlnffl) (Quit: Connection closed for inactivity)
2021-03-01 22:35:57 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 22:36:05 +0100forgottenone(~forgotten@176.42.24.53) (Remote host closed the connection)
2021-03-01 22:37:43 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-qtxpmwkzibqndqvb) (Quit: Connection closed for inactivity)
2021-03-01 22:38:02 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-03-01 22:39:16 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 240 seconds)
2021-03-01 22:39:30 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 22:39:53 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-01 22:41:16 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c491:50f:2150:49a6)
2021-03-01 22:42:36 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-01 22:43:50 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-01 22:44:56 +0100klf(~klf@67.216.62.0) (Quit: This computer has gone to sleep)
2021-03-01 22:49:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Remote host closed the connection)
2021-03-01 22:51:05 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c491:50f:2150:49a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 22:53:52 +0100conal(~conal@64.71.133.70)
2021-03-01 22:55:30 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-03-01 22:55:52 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 22:55:56 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-01 22:57:55 +0100tweek(~tweek@2603-6010-b207-6d3b-058f-45fa-65e0-88fa.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-03-01 22:58:09 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-03-01 22:58:16 +0100 <conal> minoru_shiraeesh: I just looked at the haskell conduits library. It seems to be stream-oriented and thus intrinsically discrete as well.
2021-03-01 22:58:56 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2021-03-01 22:59:00 +0100 <minoru_shiraeesh> conal: I was about to post "maybe there is an article that demonstrates how to translate the Observer pattern to fp using conduits"
2021-03-01 22:59:29 +0100augnun(~augnun@2804:14c:658b:41bb:7154:d13c:3dbd:8655) (Quit: WeeChat 3.0.1)
2021-03-01 22:59:36 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
2021-03-01 23:00:02 +0100st8less(~st8less@2603:a060:11fd:0:f217:d85a:8fff:99be) (Ping timeout: 264 seconds)
2021-03-01 23:00:25 +0100 <minoru_shiraeesh> conal: so if I take a knife and slice a rope to pieces, then those pieces are descrete, right?
2021-03-01 23:00:51 +0100 <minoru_shiraeesh> but if I take a lot of ropes and make a net, then that net is not descrete
2021-03-01 23:01:15 +0100 <python476> conal: how does continuity works in FRP since machines (most of them) are discrete in the end
2021-03-01 23:01:17 +0100st8less(~st8less@2603:a060:11fd:0:f217:d85a:8fff:99be)
2021-03-01 23:01:25 +0100 <conal> minoru_shiraeesh: beware that the term "fp" has become very loose. see http://conal.net/blog/posts/is-haskell-a-purely-functional-language#comment-626 .
2021-03-01 23:01:34 +0100 <minoru_shiraeesh> is this image helpful in understanding descreteness you are talking about?
2021-03-01 23:01:52 +0100 <Cale> python476: The key is that you may only need to observe a continuous function at finitely many points in the end
2021-03-01 23:02:18 +0100 <python476> so sampling
2021-03-01 23:02:33 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-03-01 23:02:36 +0100 <Cale> Yeah
2021-03-01 23:02:39 +0100 <conal> python476: machines aren't discrete, since they're made of matter. discreteness is an abstraction. besides, programming is not about modeling the limitations of technology. just as you can write about things other than pencils.
2021-03-01 23:03:07 +0100 <conal> yes, what Cale said. exactly as with lazy infinite structures.
2021-03-01 23:03:24 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 23:03:38 +0100 <conal> infiniteness and continuity enable modularity in ways that finiteness and discreteness prevent.
2021-03-01 23:03:55 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:1c25:64cf:74a5:840b) (Ping timeout: 240 seconds)
2021-03-01 23:03:56 +0100 <python476> yes but so far your processor is your paradigm bottleneck, I don't have access to electrons from my compiler
2021-03-01 23:03:58 +0100 <conal> See the classic paper "Why functional programming matters".
2021-03-01 23:04:26 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Remote host closed the connection)
2021-03-01 23:04:32 +0100 <python476> I skimmed through it but .. I don't remember this side, so I guess i'll have to re-read it
2021-03-01 23:04:45 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-01 23:05:22 +0100 <minoru_shiraeesh> conal: doesn't that mean that IO is by definition descrete?
2021-03-01 23:05:32 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 23:05:41 +0100 <Cale> Reflex doesn't have a great story at present for defining Behaviors (functions of time) that don't change at discrete moments in time, but it also doesn't let you observe the fact that a Behavior changes discretely, and even if your Behavior is only changing discretely, this distinction that it it's impossible to tell whether it's changing continuously is an important thing for the design of systems.
2021-03-01 23:06:19 +0100 <minoru_shiraeesh> so your program become descrete too, or it should have a non-discrete to descrete translation layer if it wants to interact with the world
2021-03-01 23:06:36 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:1c25:64cf:74a5:840b)
2021-03-01 23:08:44 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-01 23:09:19 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
2021-03-01 23:09:23 +0100augnun(~augnun@2804:14c:658b:41bb:6357:d1d8:c301:8b07)
2021-03-01 23:09:37 +0100 <monochrom> I was not convinced of non-discreteness either. But I am OK with "the API looks continuous and doesn't let you prove it's discrete", it may make things simpler.
2021-03-01 23:09:39 +0100 <Cale> If you're particularly operationally minded, you can think of FRP Events as representing permission to do computation at the moments at which they occur, while Behaviors don't give you that permission, but can be observed at any moment in time.
2021-03-01 23:09:54 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-01 23:10:27 +0100 <conal> python476: whenever you think programming notions have to reflect technology limitations, think of infinite data structures and continuous (resolution-independent) graphics. Also that we've been using finite alphabets and discrete inference rules to talk about continuous phenomena in math for hundreds of years.
2021-03-01 23:10:29 +0100 <Cale> Observing the value of a Behavior might in principle poll an external sensor
2021-03-01 23:11:27 +0100 <Cale> (though there must be some caching present, since if you use that value a second time in the same moment, it should have a single definite value at any moment in time)
2021-03-01 23:11:49 +0100 <monochrom> Hey the insistence of finite-proof-length actually is a contributing factor to all level of undecidability weirdness. I'm not sure it is a plus. :)
2021-03-01 23:13:13 +0100 <python476> conal: I get that we can think and model notion that lies outside the machines but in their realization i fail to understand how it would work
2021-03-01 23:13:55 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
2021-03-01 23:14:11 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 23:15:33 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-01 23:16:27 +0100 <monochrom> But I can understand the carrying over of the reasoning from the benefits of infinite lists to the benefits of continuous-time functions.
2021-03-01 23:16:53 +0100 <monochrom> Let me start with the infinite list story, which is the "why FP matters" paper story.
2021-03-01 23:17:40 +0100 <monochrom> I am a list producer. But no one tells me when to stop, for decoupling sake. So I write code that pretends to keep producing to no end.
2021-03-01 23:17:55 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Remote host closed the connection)
2021-03-01 23:18:06 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 23:18:55 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-03-01 23:18:59 +0100 <monochrom> We all "know" that the consumer is going to consume a just finite prefix. But for decoupling stake my code is not told that. And we have an overarching mechanism that pipes my code to consumer code and ensures I don't work much harder than what the consumer ends up needing.
2021-03-01 23:19:32 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-01 23:20:10 +0100 <monochrom> So the way you carry over this style to FRP is this. I am coding up some time-varying thing. I am not told what times a consumer wants to poll me, so I write code that pretends it's continuous time.
2021-03-01 23:20:22 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-03-01 23:20:38 +0100st8less(~st8less@2603:a060:11fd:0:f217:d85a:8fff:99be) (Quit: WeeChat 2.9)
2021-03-01 23:20:48 +0100st8less(~st8less@2603:a060:11fd:0:f217:d85a:8fff:99be)
2021-03-01 23:21:06 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:1c25:64cf:74a5:840b) (Max SendQ exceeded)
2021-03-01 23:21:26 +0100 <monochrom> At a meta-level we "know" that the consumer is going to poll at only finitely many points of time, even non-Zeno discrete ones. But for decoupling sake I am not told that. It sounds like it enables interesting decouplings.
2021-03-01 23:21:43 +0100Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Remote host closed the connection)
2021-03-01 23:23:53 +0100ddellacosta(~ddellacos@86.106.143.123) (Remote host closed the connection)
2021-03-01 23:24:19 +0100klf(~klf@67.216.62.0)
2021-03-01 23:24:26 +0100ddellacosta(~ddellacos@86.106.143.123)
2021-03-01 23:24:39 +0100 <monochrom> And yeah the vector graphics argument too. If you work with continuous space and delay pixelation maximally, you can do very interesting compositional things.
2021-03-01 23:25:15 +0100cgadski_(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-03-01 23:26:01 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-03-01 23:26:04 +0100 <monochrom> Hell in fact you work like s/delay pixelation maximally/let someone else worry about pixelation/
2021-03-01 23:26:42 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-03-01 23:27:36 +0100klf(~klf@67.216.62.0) (Client Quit)
2021-03-01 23:29:03 +0100klf(~klf@67.216.62.0)
2021-03-01 23:29:36 +0100ddellacosta(~ddellacos@86.106.143.123) (Ping timeout: 240 seconds)
2021-03-01 23:29:40 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-01 23:30:32 +0100 <monochrom> What I have a little bit of reservation (but only a little) is that if you go with the space ℝ->Thing, you have a lot of uncomputable functions there. That space is full of junk.
2021-03-01 23:30:56 +0100darjeeling_(~darjeelin@122.245.208.86) (Ping timeout: 240 seconds)
2021-03-01 23:31:22 +0100 <conal> True for infinite sequences as well.
2021-03-01 23:31:23 +0100 <monochrom> Fortunately, normally I'm happy to have junk in my space when it makes other things I care simpler.
2021-03-01 23:32:01 +0100 <minoru_shiraeesh> this discussion feels like "things went from 0 to 100 real fast" meme
2021-03-01 23:32:47 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-01 23:32:50 +0100 <monochrom> Sure. Why not.
2021-03-01 23:32:55 +0100 <minoru_shiraeesh> like a descrete jump from down-to-earth stuff to the heights of abstraction
2021-03-01 23:33:01 +0100 <conal> Or, isomorphically, Nat -> Bool.
2021-03-01 23:33:23 +0100araujo(~textual@45.56.153.95)
2021-03-01 23:33:47 +0100araujoGuest75841
2021-03-01 23:33:50 +0100 <minoru_shiraeesh> how do I apply this non-descreteness in practice when coding?
2021-03-01 23:34:00 +0100 <minoru_shiraeesh> and designing architectures
2021-03-01 23:34:07 +0100 <monochrom> Start with SVG, like I siad? >:)
2021-03-01 23:34:39 +0100 <minoru_shiraeesh> I mean, let's say we want to write a simple click counter
2021-03-01 23:34:42 +0100 <monochrom> Your 4K display is pixalated but when you write an SVG file you just don't care.
2021-03-01 23:35:00 +0100 <koz_> monochrom: A fun of junk in the trunk^Wspace.
2021-03-01 23:35:02 +0100 <minoru_shiraeesh> or a calculator with gui
2021-03-01 23:35:10 +0100Guest75841(~textual@45.56.153.95) (Client Quit)
2021-03-01 23:35:21 +0100 <python476> for some reason I fail how to use the svg metaphor for time
2021-03-01 23:35:29 +0100 <minoru_shiraeesh> so, where is the non-descrete stuff in click counter or in gui calculator?
2021-03-01 23:36:00 +0100 <python476> and in the case of vector graphics, the idea is that discretization is a form of information loss
2021-03-01 23:36:12 +0100 <python476> so keeping the vector/svg abstraction as long as possible is best
2021-03-01 23:36:30 +0100 <python476> only at the latest time your produce 'degraded results' so to minimize loss
2021-03-01 23:36:32 +0100 <python476> am i off ?
2021-03-01 23:36:49 +0100 <monochrom> I think for a click counter you say you're given, by the system, a function ℝ->Bool that says "\t -> is there a mouse down at time t?".
2021-03-01 23:37:11 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-01 23:37:20 +0100 <monochrom> If you integrate that function, you get "\t -> how many clicks have there been up to time t?"
2021-03-01 23:37:38 +0100 <python476> t being some representation of reals
2021-03-01 23:37:53 +0100araujo(~textual@unaffiliated/araujo)
2021-03-01 23:38:00 +0100 <monochrom> Then you let a system-provided render to display "the current # of clicks".
2021-03-01 23:38:07 +0100araujogreets around :)
2021-03-01 23:38:08 +0100 <python476> are we going back to analog computers ? (I often joke we are recreating live continuous analog computers)
2021-03-01 23:38:19 +0100python476co-greets araujo
2021-03-01 23:38:20 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-01 23:38:29 +0100 <araujo> python476 :D
2021-03-01 23:38:48 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-01 23:38:51 +0100 <monochrom> This is just cause for joining me in learning measure theory. >:)
2021-03-01 23:39:09 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-01 23:39:33 +0100 <monochrom> "It's integration all the way down. Oh and Radon-Nikodym derivatives."
2021-03-01 23:39:39 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-01 23:40:46 +0100 <monochrom> I don't like the name Radon-Nikodym. It only reminds me of radioactive gas and the drivers in earphones. >:)
2021-03-01 23:41:21 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds)
2021-03-01 23:43:42 +0100 <minoru_shiraeesh> but you don't typically write functions that take time instant as a parameter, not for click counter at least.
2021-03-01 23:43:56 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-03-01 23:44:10 +0100 <monochrom> I don't typically write GUIs at all.
2021-03-01 23:44:37 +0100supastupid(~dexter@c-73-249-54-43.hsd1.nh.comcast.net)
2021-03-01 23:44:49 +0100 <supastupid> can i ask about XMonad here?
2021-03-01 23:45:02 +0100 <monochrom> A lot of programmers out there don't typically write or call curried functions.
2021-03-01 23:45:27 +0100 <monochrom> "you don't typically do" is a weak argument.
2021-03-01 23:45:54 +0100 <python476> monochrom: btw buy GUI i mean any user interface, it includes TUI in a way
2021-03-01 23:46:09 +0100 <minoru_shiraeesh> I mean, a function from a time instant to a number of clicks - that is still too abstract notion
2021-03-01 23:46:33 +0100 <monochrom> I don't typically write TUI either. Apart from getArgs and a couple of getLine's.
2021-03-01 23:47:02 +0100 <minoru_shiraeesh> in practice you would have an object in OOP, or a function from state to state in fp or something like that.
2021-03-01 23:47:30 +0100 <monochrom> In practice I avoid OOP.
2021-03-01 23:47:35 +0100danvet_(~danvet@212-51-149-181.fiber7.init7.net)
2021-03-01 23:47:37 +0100 <koz_> In practice OOP is meaningless.
2021-03-01 23:47:44 +0100 <koz_> It's just handwaving and appeals to intuition.
2021-03-01 23:48:34 +0100 <monochrom> If you ask me what I would do if I have a GUI to hand in right now right here, I would go with whatever model gtk+ uses, sure.
2021-03-01 23:48:44 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-01 23:48:53 +0100 <monochrom> Doesn't mean I want this model forever.
2021-03-01 23:48:56 +0100 <minoru_shiraeesh> so, how do you apply non-descrete stuff when designing an architecture of, say, a click counter or a gui calculator, or any non-trivial program
2021-03-01 23:49:22 +0100 <minoru_shiraeesh> I imagine an answer like "there are streams"
2021-03-01 23:49:28 +0100 <python476> koz_: I (very .. very very) often fantasize suing the IT field for making me learn java/oo
2021-03-01 23:49:29 +0100 <minoru_shiraeesh> or something like that
2021-03-01 23:49:31 +0100 <monochrom> I already described my solution to click counter.
2021-03-01 23:49:48 +0100 <monochrom> For larger examples I would start charging consultation fees.
2021-03-01 23:50:07 +0100 <python476> so much bikeshedding discussions about where to place whatever bad side effect disguised as programming expert talk
2021-03-01 23:50:11 +0100 <minoru_shiraeesh> how do I translate a notion of a function from time instant to number of click to an actual code?
2021-03-01 23:50:39 +0100 <minoru_shiraeesh> like "use this library"
2021-03-01 23:50:49 +0100 <minoru_shiraeesh> or "use this monad"
2021-03-01 23:51:18 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
2021-03-01 23:51:39 +0100 <monochrom> In fact I think the ℝ->Thing model fits DirectX game engines more than ever. Right? Those game engines are frameworks that say "I tell you the time now is 3 o'clock, you tell me what to draw now"
2021-03-01 23:51:39 +0100 <python476> talking about streams, I just finished 'the reasoned schemer' and it's mostly streams of unified substitution.. any of you know haskell articles about relational interpreters ?
2021-03-01 23:52:04 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-01 23:52:18 +0100Axman6(~Axman6@pdpc/supporter/student/Axman6)
2021-03-01 23:52:36 +0100darjeeling_(~darjeelin@122.245.208.86)
2021-03-01 23:52:41 +0100 <monochrom> You are not even supposed to code up a lazy stream when you use a game engine.
2021-03-01 23:53:53 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-03-01 23:54:42 +0100ystael(~ystael@209.6.50.55)
2021-03-01 23:54:49 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 260 seconds)
2021-03-01 23:55:16 +0100 <minoru_shiraeesh> ok, I'm trying to understand how to apply it in practice. we don't need the "time instant" parameter, so we have a function something like currentNumberOfClicks :: Int, right?
2021-03-01 23:55:39 +0100 <minoru_shiraeesh> so, that function represents some non-discrete thing
2021-03-01 23:56:04 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-01 23:56:30 +0100 <minoru_shiraeesh> in haskell it would have a type IO Int
2021-03-01 23:56:38 +0100kupi(uid212005@gateway/web/irccloud.com/x-vhrafoxqkobeyjua)
2021-03-01 23:57:16 +0100egp_(~egp_@2.95.74.168)
2021-03-01 23:57:40 +0100 <minoru_shiraeesh> so, if I think in terms of functions like (currentNumberOfClicks :: IO Int) - that means I'm thinking in terms of some non-descrete things, right?
2021-03-01 23:57:59 +0100Tario(~Tario@200.119.185.141)
2021-03-01 23:58:40 +0100conal(~conal@152.89.204.163)