2022/07/08

2022-07-08 00:01:14 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 00:03:20 +0200michalz(~michalz@185.246.204.89) (Remote host closed the connection)
2022-07-08 00:06:33 +0200 <slack1256> geekosaur: If I emit info to the eventlog, can I recover a statistics like the `-p`?
2022-07-08 00:11:29 +0200 <geekosaur> I think you only get raw profiling information and would have to process it yourself
2022-07-08 00:12:52 +0200 <slack1256> Gotcha ;_;
2022-07-08 00:13:30 +0200pleo(~pleo@user/pleo) (Ping timeout: 276 seconds)
2022-07-08 00:16:51 +0200pleo(~pleo@user/pleo)
2022-07-08 00:19:38 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:ceae:439a:35c2:d6cc) (Ping timeout: 240 seconds)
2022-07-08 00:20:01 +0200 <fockerize> anyone familiar with string-qq? it simply uses (\a -> [|fromString a|]) for quoteExp, to turn a String into Q Exp. How does it work?
2022-07-08 00:20:53 +0200 <fockerize> i did a: runQ $ [|fromString a|]
2022-07-08 00:21:12 +0200 <fockerize> and get : AppE (VarE Data.String.fromString) (UnboundVarE a)
2022-07-08 00:24:02 +0200 <geekosaur> that's basically all it's doing, except that because a is in scope due to the lambda, it uses that instead of UnboundVarE
2022-07-08 00:24:50 +0200 <fockerize> How does this turn a multiline string inside [s| |] into a string? it seems to me that it didn't do anything
2022-07-08 00:25:04 +0200 <geekosaur> [| exp |] just gives you the AST representing the specified Haskell expression, except that it has access to bound variables and you can use splices
2022-07-08 00:25:27 +0200 <geekosaur> most of what's done with that part is done by collecting the stuff inside the [| |]
2022-07-08 00:25:33 +0200 <fockerize> does it use GHC for parsing what's inside [s| |] and turn it into AST?
2022-07-08 00:25:36 +0200 <geekosaur> which becomes a String
2022-07-08 00:25:52 +0200 <geekosaur> which is passed to the lambda as a
2022-07-08 00:25:54 +0200 <fockerize> it didn't do any parsing, the library itself
2022-07-08 00:26:13 +0200 <geekosaur> right, all the parsing is done by the quasiquoter itself
2022-07-08 00:27:05 +0200 <geekosaur> and since that just feeds the function identified by "s" the contents of the quasiquoter as a String, there's nothing to do (except it wraps it in a fromString so it can be used with e.g. a Text)
2022-07-08 00:27:10 +0200 <fockerize> if i want to design a quoter for some new DSL, such as awk, i need to do some parsing. But string-qq didn't do any parsing.
2022-07-08 00:27:41 +0200 <geekosaur> right, your function would need to do parsing in that case. you might want to look at inline-c or some other quasiquoter that actually needs to do work
2022-07-08 00:27:42 +0200 <fockerize> geekosaur: ok...
2022-07-08 00:28:47 +0200 <geekosaur> the only time multiline string quasiquoters need to do anything interesting is if they support some form of templating
2022-07-08 00:29:32 +0200 <fockerize> string-qq doesn't support this
2022-07-08 00:29:39 +0200 <fockerize> no interpolation
2022-07-08 00:30:02 +0200 <geekosaur> there's a few that will do Haskell expressions in braces, like Python f-strings
2022-07-08 00:30:15 +0200 <geekosaur> so try looking for that maybe
2022-07-08 00:30:57 +0200 <fockerize> i actually am trying to learn to use quasiquoter to embed DSL
2022-07-08 00:31:12 +0200 <fockerize> it's super interesting and useful
2022-07-08 00:31:22 +0200 <fockerize> like inline-c
2022-07-08 00:33:41 +0200 <dmj`> fockerize: this is a good blog post on that https://well-typed.com/blog/2014/10/quasi-quoting-dsls/
2022-07-08 00:34:04 +0200 <fockerize> thx!
2022-07-08 00:34:24 +0200 <dmj`> fockerize: I used that to implement interpolation of variables into graphql queries here https://github.com/dmjio/graphql-meta/blob/master/src/GraphQL/QQ.hs
2022-07-08 00:34:36 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 244 seconds)
2022-07-08 00:36:15 +0200dcoutts(~duncan@host-92-23-41-52.as13285.net) (Ping timeout: 276 seconds)
2022-07-08 00:43:51 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860)
2022-07-08 00:44:21 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-07-08 00:47:10 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860) ()
2022-07-08 00:47:32 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860)
2022-07-08 00:52:20 +0200hueso(~root@user/hueso) (Quit: hueso)
2022-07-08 00:52:30 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2022-07-08 00:55:41 +0200hueso(~root@user/hueso)
2022-07-08 00:56:19 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-07-08 00:57:34 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860) (Remote host closed the connection)
2022-07-08 01:04:56 +0200Haskelytic(~Haskelyti@118.179.211.17)
2022-07-08 01:08:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7d79:d1a4:aca1:4fde) (Remote host closed the connection)
2022-07-08 01:13:59 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-07-08 01:14:24 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-07-08 01:19:02 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Ping timeout: 244 seconds)
2022-07-08 01:21:05 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-07-08 01:31:50 +0200pgas(~pg@190.247.245.154) (Ping timeout: 240 seconds)
2022-07-08 01:32:28 +0200Colere(~colere@about/linux/staff/sauvin)
2022-07-08 01:32:48 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
2022-07-08 01:34:05 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-07-08 01:34:54 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7d79:d1a4:aca1:4fde)
2022-07-08 01:35:08 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860)
2022-07-08 01:36:21 +0200quarkyalice_(~quarkyali@user/quarkyalice/x-8092822)
2022-07-08 01:36:34 +0200quarkyalice_(~quarkyali@user/quarkyalice/x-8092822) (Client Quit)
2022-07-08 01:37:26 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-07-08 01:38:57 +0200zaquest(~notzaques@5.130.79.72)
2022-07-08 01:42:45 +0200spacenautx(~spacenaut@user/spacenautx) (Quit: WeeChat 3.0)
2022-07-08 01:44:11 +0200jjhoo(jahakala@user/jjhoo) (Remote host closed the connection)
2022-07-08 01:47:49 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-07-08 01:48:30 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds)
2022-07-08 01:49:33 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-08 01:50:33 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860) (Ping timeout: 244 seconds)
2022-07-08 01:55:34 +0200Tuplanolla(~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) (Quit: Leaving.)
2022-07-08 02:01:36 +0200nuc13u5(~nuc13u5@73.48.251.119)
2022-07-08 02:02:18 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-07-08 02:04:18 +0200mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 240 seconds)
2022-07-08 02:04:47 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-07-08 02:06:28 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 02:06:33 +0200mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2022-07-08 02:09:02 +0200jjhoo(~jahakala@user/jjhoo)
2022-07-08 02:09:39 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-07-08 02:11:06 +0200jakalx(~jakalx@base.jakalx.net)
2022-07-08 02:17:36 +0200ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.5)
2022-07-08 02:17:51 +0200ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2022-07-08 02:21:19 +0200jjhoo(~jahakala@user/jjhoo) (Remote host closed the connection)
2022-07-08 02:21:46 +0200pleo(~pleo@user/pleo) (Quit: quit)
2022-07-08 02:23:30 +0200alp(~alp@user/alp) (Ping timeout: 276 seconds)
2022-07-08 02:29:51 +0200nate4(~nate@98.45.169.16)
2022-07-08 02:31:39 +0200slack7373(~slack1256@186.11.61.110)
2022-07-08 02:31:39 +0200slack1256(~slack1256@191.126.99.200) (Read error: Connection reset by peer)
2022-07-08 02:34:01 +0200Kaladin(~Kaladin@157-131-200-16.fiber.dynamic.sonic.net)
2022-07-08 02:34:59 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
2022-07-08 02:36:32 +0200sonny(~sonny@142.126.78.125)
2022-07-08 02:37:07 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-07-08 02:40:50 +0200nate4(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-07-08 02:42:13 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 256 seconds)
2022-07-08 02:42:23 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7d79:d1a4:aca1:4fde) (Remote host closed the connection)
2022-07-08 02:44:49 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-07-08 02:54:04 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 02:54:25 +0200sonny(~sonny@142.126.78.125)
2022-07-08 02:55:03 +0200nuc13u5(~nuc13u5@73.48.251.119) (Remote host closed the connection)
2022-07-08 02:57:21 +0200frost(~frost@user/frost)
2022-07-08 02:58:44 +0200ulvarrefr(~user@188.124.56.153) (Ping timeout: 255 seconds)
2022-07-08 03:00:19 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-07-08 03:07:23 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7d79:d1a4:aca1:4fde)
2022-07-08 03:08:06 +0200nate4(~nate@98.45.169.16)
2022-07-08 03:10:21 +0200vglfr(~vglfr@88.155.112.245)
2022-07-08 03:10:28 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-07-08 03:16:35 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-07-08 03:17:32 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860)
2022-07-08 03:19:37 +0200nate4(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-07-08 03:19:51 +0200Kaladin(~Kaladin@157-131-200-16.fiber.dynamic.sonic.net) (Quit: Leaving)
2022-07-08 03:23:33 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860) (Ping timeout: 244 seconds)
2022-07-08 03:29:26 +0200Kaladin(~Kaladin@157-131-200-16.fiber.dynamic.sonic.net)
2022-07-08 03:31:09 +0200eggplant_(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 03:33:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7d79:d1a4:aca1:4fde) (Ping timeout: 244 seconds)
2022-07-08 03:35:38 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 03:35:58 +0200sonny(~sonny@142.126.78.125)
2022-07-08 03:50:59 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-07-08 03:52:16 +0200nate4(~nate@98.45.169.16)
2022-07-08 03:57:35 +0200nate4(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-07-08 04:03:32 +0200jargon(~jargon@184.101.208.36)
2022-07-08 04:04:28 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860)
2022-07-08 04:05:46 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 04:08:09 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 276 seconds)
2022-07-08 04:13:30 +0200Kaladin(~Kaladin@157-131-200-16.fiber.dynamic.sonic.net) (Quit: Leaving)
2022-07-08 04:18:19 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 244 seconds)
2022-07-08 04:18:58 +0200 <hololeap> has anyone put any thought into how to use composed Alternatives?
2022-07-08 04:19:56 +0200quarkyalice(~alice@user/quarkyalice) (Read error: Connection reset by peer)
2022-07-08 04:20:14 +0200quarkyalice(~alice@user/quarkyalice)
2022-07-08 04:20:49 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 256 seconds)
2022-07-08 04:21:57 +0200 <hololeap> I was trying to think of a way to "abort" something like this so that it would skip g and h: (\f g h -> f <|> g <|> h) :: Alternative f => f a -> f a -> f a -> f a
2022-07-08 04:22:57 +0200 <hololeap> turns out it is pretty simple if you change it to: f (Maybe a) -> f (Maybe a) -> f (Maybe a) -> f (Maybe a)
2022-07-08 04:23:30 +0200 <hololeap> if you want to abort, you just have the Alternative succeed with the value Nothing
2022-07-08 04:23:30 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-07-08 04:24:19 +0200 <hololeap> this ends up looking a lot loke: MaybeT f a
2022-07-08 04:25:25 +0200 <hololeap> so I'm wondering if there is a way to express this problem more generally using composed Applicatives, even if there isn't a nice interface for it
2022-07-08 04:26:19 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2022-07-08 04:29:10 +0200vglfr(~vglfr@88.155.112.245) (Ping timeout: 244 seconds)
2022-07-08 04:32:22 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 04:32:22 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
2022-07-08 04:32:43 +0200sonny(~sonny@142.126.78.125)
2022-07-08 04:33:10 +0200td_(~td@muedsl-82-207-238-170.citykom.de) (Ping timeout: 240 seconds)
2022-07-08 04:33:17 +0200vglfr(~vglfr@88.155.112.245)
2022-07-08 04:33:22 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 04:33:27 +0200winny(~weechat@user/winny) (Remote host closed the connection)
2022-07-08 04:35:21 +0200td_(~td@94.134.91.254)
2022-07-08 04:36:01 +0200winny(~weechat@user/winny)
2022-07-08 04:36:50 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-07-08 04:38:36 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 04:38:56 +0200sonny(~sonny@142.126.78.125)
2022-07-08 04:39:21 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 276 seconds)
2022-07-08 04:45:14 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 04:45:33 +0200slack7373(~slack1256@186.11.61.110) (Remote host closed the connection)
2022-07-08 04:45:35 +0200sonny(~sonny@142.126.78.125)
2022-07-08 04:49:14 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 04:49:34 +0200sonny(~sonny@142.126.78.125)
2022-07-08 04:51:12 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-07-08 04:51:43 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-07-08 04:53:27 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
2022-07-08 04:54:51 +0200Haskelytic(~Haskelyti@118.179.211.17) (Quit: Client closed)
2022-07-08 04:55:36 +0200vglfr(~vglfr@88.155.112.245) (Ping timeout: 276 seconds)
2022-07-08 05:05:00 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-07-08 05:05:12 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-07-08 05:07:13 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 05:07:14 +0200Haskelytic(~Haskelyti@118.179.211.17)
2022-07-08 05:07:24 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 244 seconds)
2022-07-08 05:09:33 +0200 <Haskelytic> "Alternatively, and more usefully, ((->) e) can be thought of as a context in which a value of type e is available to be consulted in a read-only fashion." from the typeclassopedia doesn't make sense to me. How can a value of type `e` be "available to be consulted" when `e -> a` consumes a provided `e` to produce an `a` ?
2022-07-08 05:11:14 +0200 <Haskelytic> Oh wait, it makes sense if I consider that statement from the perspective of the mapping and not someone applying it
2022-07-08 05:12:44 +0200 <monochrom> Yes, programming is a dialectic class struggle. :)
2022-07-08 05:17:14 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860) (Remote host closed the connection)
2022-07-08 05:19:53 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860)
2022-07-08 05:24:04 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 05:24:25 +0200sonny(~sonny@142.126.78.125)
2022-07-08 05:24:27 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860) (Ping timeout: 244 seconds)
2022-07-08 05:26:07 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 05:26:27 +0200sonny(~sonny@142.126.78.125)
2022-07-08 05:27:41 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 256 seconds)
2022-07-08 05:30:15 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-07-08 05:31:22 +0200Vajb(~Vajb@85-76-102-9-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2022-07-08 05:32:11 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-07-08 05:33:18 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 276 seconds)
2022-07-08 05:34:58 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 05:35:19 +0200sonny(~sonny@142.126.78.125)
2022-07-08 05:36:10 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Ping timeout: 240 seconds)
2022-07-08 05:36:57 +0200sonny(~sonny@142.126.78.125) (Remote host closed the connection)
2022-07-08 05:42:01 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds)
2022-07-08 05:43:17 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 05:46:09 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 05:47:42 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 244 seconds)
2022-07-08 05:47:43 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-07-08 05:48:05 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-07-08 05:48:48 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2022-07-08 05:49:10 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-07-08 05:49:46 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-08 05:59:14 +0200mrmr(~mrmr@user/mrmr)
2022-07-08 05:59:32 +0200 <yin> :)
2022-07-08 05:59:32 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
2022-07-08 06:01:09 +0200 <Axman6> Haskelytic: because that e can be passed to many other functions which also consume that e - thig of e = Config
2022-07-08 06:01:13 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 06:01:29 +0200kenran(~kenran@200116b82b11f800d1a334670b804eed.dip.versatel-1u1.de)
2022-07-08 06:01:54 +0200 <Axman6> which is exactly what Reader does (which is just a wrapper around e -> a)
2022-07-08 06:05:50 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-07-08 06:08:16 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-08 06:09:42 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 276 seconds)
2022-07-08 06:10:03 +0200nate4(~nate@98.45.169.16)
2022-07-08 06:11:28 +0200alp(~alp@user/alp)
2022-07-08 06:11:34 +0200Vajb(~Vajb@85-76-102-9-nat.elisa-mobile.fi)
2022-07-08 06:12:30 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-07-08 06:12:30 +0200Vajb(~Vajb@85-76-102-9-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2022-07-08 06:12:49 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 06:13:20 +0200Vajb(~Vajb@2001:999:58c:b683:1e3e:e86f:8cdc:e10)
2022-07-08 06:14:48 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-07-08 06:15:08 +0200 <jackdk> It is a simple idea expressed in such a baroque way - I remember being so confused by transformer documentation when I was first starting out.
2022-07-08 06:15:12 +0200nate4(~nate@98.45.169.16) (Ping timeout: 276 seconds)
2022-07-08 06:16:13 +0200notzmv(~zmv@user/notzmv)
2022-07-08 06:22:58 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-07-08 06:23:50 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-07-08 06:25:10 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 06:25:45 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-07-08 06:29:13 +0200kenran(~kenran@200116b82b11f800d1a334670b804eed.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-07-08 06:29:37 +0200toluene(~toluene@user/toulene) (Read error: Connection reset by peer)
2022-07-08 06:30:10 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-07-08 06:30:10 +0200winny(~weechat@user/winny) (Write error: Connection reset by peer)
2022-07-08 06:30:10 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Read error: Connection reset by peer)
2022-07-08 06:30:41 +0200winny(~weechat@user/winny)
2022-07-08 06:30:47 +0200toluene(~toluene@user/toulene)
2022-07-08 06:31:09 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-07-08 06:31:20 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-07-08 06:42:51 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
2022-07-08 06:44:50 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2022-07-08 06:45:15 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 06:59:34 +0200mbuf(~Shakthi@122.164.9.153)
2022-07-08 07:04:24 +0200wenjie(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-08 07:20:09 +0200coot(~coot@213.134.190.95)
2022-07-08 07:22:30 +0200quarkyalice(~alice@user/quarkyalice) (Ping timeout: 240 seconds)
2022-07-08 07:23:47 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-07-08 07:23:57 +0200quarkyalice(~alice@172.77.26.62)
2022-07-08 07:23:57 +0200quarkyalice(~alice@172.77.26.62) (Changing host)
2022-07-08 07:23:57 +0200quarkyalice(~alice@user/quarkyalice)
2022-07-08 07:25:06 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
2022-07-08 07:25:30 +0200cyanide3dinner(~cyanide4d@110.227.171.252)
2022-07-08 07:25:33 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 256 seconds)
2022-07-08 07:28:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 07:30:00 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-08 07:30:39 +0200mbuf(~Shakthi@122.164.9.153) (Ping timeout: 256 seconds)
2022-07-08 07:40:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 07:45:51 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-07-08 07:57:14 +0200liz(~liz@86.159.158.175) (Quit: Lost terminal)
2022-07-08 07:59:22 +0200mbuf(~Shakthi@122.164.13.128)
2022-07-08 08:07:05 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 08:12:50 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
2022-07-08 08:16:31 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-07-08 08:16:59 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 08:20:11 +0200dcoutts(~duncan@host-92-23-41-52.as13285.net)
2022-07-08 08:20:24 +0200shriekingnoise(~shrieking@201.212.175.181) (Quit: Quit)
2022-07-08 08:25:46 +0200MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net)
2022-07-08 08:27:42 +0200 <kronicmage> anyone know how to make a conduit terminate?
2022-07-08 08:27:50 +0200zxx7529(~Thunderbi@user/zxx7529) (Ping timeout: 240 seconds)
2022-07-08 08:28:08 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-07-08 08:28:15 +0200 <kronicmage> in particular I have a `sourceFile filePath` that I want to have Nothing to await on when the file has all been consumed
2022-07-08 08:28:24 +0200 <kronicmage> right now my `await` just hangs forever
2022-07-08 08:33:59 +0200 <jackdk> looking at the source code of various sinks (like `sinkHandle`) in `conduit` itself, it seems like does in fact await forever, so the source is probably expected to stop `yield`ing when it has no more to produce
2022-07-08 08:34:49 +0200 <jackdk> https://hackage.haskell.org/package/conduit-1.3.4.2/docs/src/Data.Conduit.Combinators.html#sourceF… `sourceFile` will return `()` once it has no more to produce
2022-07-08 08:34:50 +0200 <kronicmage> is there a version of `sourceFile` that does stop yielding then?
2022-07-08 08:35:05 +0200 <kronicmage> hmm i'll take a look
2022-07-08 08:35:38 +0200 <jackdk> the one in conduit seems to do that?
2022-07-08 08:36:07 +0200briandaed(~briandaed@109.95.143.14.r.toneticgroup.pl)
2022-07-08 08:36:11 +0200 <kronicmage> I see, my problem is elsewhere
2022-07-08 08:36:16 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-08 08:36:19 +0200 <kronicmage> thank you
2022-07-08 08:37:14 +0200gmg(~user@user/gehmehgeh)
2022-07-08 08:37:42 +0200 <kronicmage> okay it seems ZipSource does not behave like ZipList as the docs would have me believe
2022-07-08 08:39:17 +0200 <kronicmage> I have `(,) <$> ZipSource finiteStream <*> ZipSource (yieldMany [0..])` to tag the things from `finiteStream` with a counter, but ZipSource awaits indefinitely when one of the conduits is exhausted
2022-07-08 08:39:21 +0200 <kronicmage> is there anyway I can get around this?
2022-07-08 08:39:39 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 08:40:21 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-07-08 08:41:34 +0200redmp(~redmp@mobile-166-171-250-168.mycingular.net)
2022-07-08 08:42:00 +0200redmp(~redmp@mobile-166-171-250-168.mycingular.net) (Client Quit)
2022-07-08 08:45:42 +0200alp(~alp@user/alp) (Ping timeout: 276 seconds)
2022-07-08 08:46:50 +0200 <jackdk> I'd try to define a `ConduitT i (i, Int) m r` that does the tagging, instead of doing a zip? I don't normally write streaming stuff
2022-07-08 08:47:13 +0200 <jackdk> Or maybe use https://hackage.haskell.org/package/conduit-1.3.4.2/docs/Data-Conduit-Internal.html#v:zipSources
2022-07-08 08:47:58 +0200 <jackdk> although... the docs for ZipSource say "A combined source will take input yielded from each of its Sources until any of them stop producing output." so I think there's something else going on
2022-07-08 08:48:38 +0200qrpnxz(~qrpnxz@fsf/member/qrpnxz)
2022-07-08 08:48:44 +0200`2jt(~jtomas@141.red-88-17-65.dynamicip.rima-tde.net)
2022-07-08 08:52:12 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-07-08 08:52:51 +0200cyanide3dinner(~cyanide4d@110.227.171.252) (Remote host closed the connection)
2022-07-08 08:59:25 +0200tcard(~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2022-07-08 09:01:26 +0200quarkyalice(~alice@user/quarkyalice) (Remote host closed the connection)
2022-07-08 09:01:50 +0200quarkyalice(~alice@172.77.26.62)
2022-07-08 09:01:50 +0200quarkyalice(~alice@172.77.26.62) (Changing host)
2022-07-08 09:01:50 +0200quarkyalice(~alice@user/quarkyalice)
2022-07-08 09:02:02 +0200michalz(~michalz@185.246.204.72)
2022-07-08 09:02:47 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-07-08 09:03:45 +0200res0nat0r0844(~Fletch@dia.whatbox.ca)
2022-07-08 09:04:29 +0200tcard(~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp)
2022-07-08 09:12:50 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-07-08 09:13:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 09:16:04 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 09:16:27 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-07-08 09:17:05 +0200Midjak(~Midjak@82.66.147.146) (Read error: Connection reset by peer)
2022-07-08 09:24:00 +0200causal(~user@50.35.83.177) (Quit: WeeChat 3.5)
2022-07-08 09:24:47 +0200sander(~sander@user/sander) (Quit: So long! :))
2022-07-08 09:25:07 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:90cd:9d46:c4ce:7598)
2022-07-08 09:25:36 +0200sander(~sander@user/sander)
2022-07-08 09:30:50 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 09:32:58 +0200quarkyalice(~alice@user/quarkyalice) (Ping timeout: 244 seconds)
2022-07-08 09:36:03 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:e563:a1c3:b513:f7a5)
2022-07-08 09:37:22 +0200hexeme(~hexeme@user/hexeme) (Quit: co'o ro do)
2022-07-08 09:40:54 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 264 seconds)
2022-07-08 09:41:15 +0200hexeme(~hexeme@user/hexeme)
2022-07-08 09:44:12 +0200Pickchea(~private@user/pickchea)
2022-07-08 09:45:53 +0200cfricke(~cfricke@user/cfricke)
2022-07-08 09:45:59 +0200Tuplanolla(~Tuplanoll@91-159-69-97.elisa-laajakaista.fi)
2022-07-08 09:53:34 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-07-08 09:53:48 +0200coot(~coot@213.134.190.95)
2022-07-08 09:56:15 +0200tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-07-08 09:57:13 +0200lemonsni-(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-07-08 09:58:00 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:e563:a1c3:b513:f7a5) (Ping timeout: 276 seconds)
2022-07-08 09:58:00 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-08 09:58:00 +0200hexeme(~hexeme@user/hexeme) (Quit: co'o ro do)
2022-07-08 09:58:00 +0200hueso(~root@user/hueso) (Quit: No Ping reply in 180 seconds.)
2022-07-08 09:58:17 +0200coot(~coot@213.134.190.95) (Ping timeout: 244 seconds)
2022-07-08 09:58:51 +0200hueso(~root@user/hueso)
2022-07-08 09:58:59 +0200ShalokShalom(~quassel@2a02:8109:b40:42f4:4f45:338b:3ba8:8f20)
2022-07-08 10:00:00 +0200hexeme(~hexeme@user/hexeme)
2022-07-08 10:00:27 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Ping timeout: 276 seconds)
2022-07-08 10:07:20 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2022-07-08 10:08:11 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-07-08 10:10:30 +0200coot(~coot@213.134.190.95)
2022-07-08 10:11:09 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-08 10:11:50 +0200nate4(~nate@98.45.169.16)
2022-07-08 10:12:22 +0200CiaoSen(~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-07-08 10:13:12 +0200eggplant_(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Remote host closed the connection)
2022-07-08 10:15:21 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
2022-07-08 10:16:22 +0200nate4(~nate@98.45.169.16) (Ping timeout: 244 seconds)
2022-07-08 10:16:22 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-07-08 10:17:21 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 10:17:50 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 10:17:58 +0200tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-07-08 10:18:51 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 10:19:14 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 10:19:14 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 10:19:14 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 10:20:21 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 10:20:50 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 10:20:50 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 10:20:50 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 10:28:16 +0200alp(~alp@user/alp)
2022-07-08 10:28:25 +0200osukup[m](~osukupmat@2001:470:69fc:105::2:418d)
2022-07-08 10:31:27 +0200Surobaki(~surobaki@79.77.128.17)
2022-07-08 10:31:39 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-08 10:34:15 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it) (Ping timeout: 276 seconds)
2022-07-08 10:38:45 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
2022-07-08 10:39:19 +0200wolfshappen_(~waff@irc.furworks.de)
2022-07-08 10:39:37 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
2022-07-08 10:41:10 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
2022-07-08 10:41:36 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-07-08 10:41:55 +0200wolfshappen(~waff@irc.furworks.de) (Ping timeout: 260 seconds)
2022-07-08 10:44:44 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com)
2022-07-08 10:47:15 +0200Surobaki(~surobaki@79.77.128.17) (Ping timeout: 276 seconds)
2022-07-08 10:47:58 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-07-08 10:49:49 +0200sus(zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2022-07-08 10:50:21 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 246 seconds)
2022-07-08 10:51:48 +0200sus(zero@user/zeromomentum)
2022-07-08 10:54:13 +0200kuribas(~user@ptr-17d51emh493yj3hltjo.18120a2.ip6.access.telenet.be)
2022-07-08 10:54:58 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-08 10:55:21 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 10:55:45 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 10:55:45 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 10:55:45 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 10:56:51 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 10:57:14 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 10:57:14 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 10:57:14 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 10:58:16 +0200coot(~coot@213.134.190.95)
2022-07-08 10:58:21 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 10:58:45 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 10:58:45 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 10:58:45 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 10:59:51 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 11:00:13 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 11:00:13 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 11:00:13 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 11:02:47 +0200cosimone(~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81)
2022-07-08 11:07:18 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-07-08 11:09:26 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 11:09:45 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 11:09:45 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 11:09:45 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 11:10:51 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 11:11:14 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 11:11:14 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 11:11:14 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 11:13:35 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 11:13:52 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-07-08 11:17:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 240 seconds)
2022-07-08 11:19:10 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2022-07-08 11:19:35 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 11:25:10 +0200jargon(~jargon@184.101.208.36) (Ping timeout: 240 seconds)
2022-07-08 11:25:36 +0200jargon(~jargon@184.101.188.251)
2022-07-08 11:26:28 +0200bilegeek(~bilegeek@101.sub-174-209-38.myvzw.com)
2022-07-08 11:27:40 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
2022-07-08 11:29:39 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-08 11:31:04 +0200alexhandy(~trace@user/trace) (Read error: Connection reset by peer)
2022-07-08 11:31:10 +0200alexhandy2(~trace@user/trace)
2022-07-08 11:34:18 +0200raym(~raym@user/raym) (Ping timeout: 264 seconds)
2022-07-08 11:37:36 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 276 seconds)
2022-07-08 11:38:26 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 11:40:51 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 11:41:15 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 11:41:15 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 11:41:15 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 11:43:19 +0200 <kuribas> is it just me, or is Generics way, way harder then it should be?
2022-07-08 11:45:12 +0200bilegeek(~bilegeek@101.sub-174-209-38.myvzw.com) (Quit: Leaving)
2022-07-08 11:48:22 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 11:49:49 +0200qhong(~qhong@rescomp-21-400677.stanford.edu) (Remote host closed the connection)
2022-07-08 11:59:00 +0200 <dknite> kuribas: Probably just you, but you'll get over it, don't worry
2022-07-08 11:59:14 +0200 <kuribas> I doubt it
2022-07-08 11:59:32 +0200 <kuribas> like, why is there this extra type variable which complicates everything.
2022-07-08 11:59:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 12:01:46 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 244 seconds)
2022-07-08 12:02:32 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-07-08 12:02:46 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-07-08 12:02:48 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-07-08 12:05:23 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 12:06:25 +0200 <kuribas> And balancing the :*: also complicates things.
2022-07-08 12:08:10 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 12:09:27 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2022-07-08 12:09:30 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 244 seconds)
2022-07-08 12:09:33 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.5)
2022-07-08 12:12:08 +0200Surobaki(~surobaki@137.44.222.80)
2022-07-08 12:12:17 +0200frost(~frost@user/frost)
2022-07-08 12:13:39 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net)
2022-07-08 12:13:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds)
2022-07-08 12:13:55 +0200Surobaki(~surobaki@137.44.222.80) (Changing host)
2022-07-08 12:13:55 +0200Surobaki(~surobaki@user/surobaki)
2022-07-08 12:13:59 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-07-08 12:15:06 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-08 12:15:37 +0200Haskelytic(~Haskelyti@118.179.211.17) (Quit: Client closed)
2022-07-08 12:17:27 +0200 <kuribas> How do I make an existential function again?
2022-07-08 12:17:51 +0200 <kuribas> for example: (forall a. Show a => a) takes any `a` which has a Show instance.
2022-07-08 12:18:06 +0200 <kuribas> However I want (exists a. Show a => a)
2022-07-08 12:18:10 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2022-07-08 12:18:23 +0200 <kuribas> a function that has some type which has a show instance.
2022-07-08 12:19:59 +0200 <kuribas> oh never mind, I can just remove the forall.
2022-07-08 12:23:18 +0200 <jackdk> kuribas: generics took me a while. this talk helped me a lot: https://www.youtube.com/watch?v=yiT3fAA-BDo
2022-07-08 12:23:45 +0200 <kuribas> If I write (forall a. y), it means y is independent of a, right?
2022-07-08 12:23:49 +0200 <kuribas> Or can y contain a?
2022-07-08 12:24:59 +0200 <kuribas> jackdk: I *do* understand generics. I just find it hard to use.
2022-07-08 12:25:08 +0200__monty__(~toonn@user/toonn)
2022-07-08 12:26:03 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-07-08 12:26:31 +0200osukup[m]mimi1vx[m]
2022-07-08 12:26:38 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-07-08 12:26:56 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net)
2022-07-08 12:28:05 +0200 <kuribas> I want to write a polymorphic function parameterised over `a`, like `(Foo a, Bar a) -> Baz a`
2022-07-08 12:28:33 +0200 <kuribas> or `(Foo a, Bar a, Fuga a) -> Baz a`
2022-07-08 12:29:10 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
2022-07-08 12:29:14 +0200 <kuribas> However ghc's type system seems not good enough to express that the tuple is a function of `a`.
2022-07-08 12:29:39 +0200 <kuribas> this function should be universally quantified.
2022-07-08 12:29:44 +0200 <kuribas> (forall a. ...)
2022-07-08 12:30:01 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2022-07-08 12:30:06 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at)
2022-07-08 12:30:43 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at) (Client Quit)
2022-07-08 12:31:03 +0200alexhandy2(~trace@user/trace) (Read error: Connection reset by peer)
2022-07-08 12:31:10 +0200alexhandy(~trace@user/trace)
2022-07-08 12:32:33 +0200alp(~alp@user/alp) (Ping timeout: 276 seconds)
2022-07-08 12:33:47 +0200 <Lears> Honestly I'm not sure exactly what you're trying to do. But maybe you want functor product?
2022-07-08 12:34:31 +0200 <kuribas> I could use a HList, or just (:*:), but tuples seem more ergonomic.
2022-07-08 12:35:10 +0200 <__monty__> kuribas: Isn't an explicit forall enough?
2022-07-08 12:35:46 +0200 <kuribas> if I write (forall a. f a -> i a), ghc cannot infer the f.
2022-07-08 12:36:05 +0200dcoutts(~duncan@host-92-23-41-52.as13285.net) (Ping timeout: 256 seconds)
2022-07-08 12:36:25 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-08 12:36:38 +0200frost(~frost@user/frost)
2022-07-08 12:37:03 +0200 <__monty__> Can't you use it multiple times? `forall f i. (forall a. f a -> i a)`
2022-07-08 12:38:37 +0200 <kuribas> the problem is inferring the `f`.
2022-07-08 12:38:54 +0200 <kuribas> WHat is `f` for (forall a. (Foo a, Bar a)) ?
2022-07-08 12:39:42 +0200Surobaki(~surobaki@user/surobaki) (Quit: Leaving)
2022-07-08 12:40:32 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 12:41:05 +0200raym(~raym@user/raym)
2022-07-08 12:41:26 +0200 <kuribas> Seems my API is simply not possible, and I'd need a hetergenous list.
2022-07-08 12:41:52 +0200jjhoo(~jahakala@user/jjhoo)
2022-07-08 12:42:18 +0200CiaoSen(~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-07-08 12:44:28 +0200califax_(~califax@user/califx)
2022-07-08 12:45:12 +0200califax(~califax@user/califx) (Ping timeout: 268 seconds)
2022-07-08 12:45:43 +0200califax_califax
2022-07-08 12:51:03 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:bd6:dafd:ce58:5eb6)
2022-07-08 12:52:01 +0200 <tomsmeding> kuribas: \a -> (Foo a, Bar a) is unfortunately not expressible in a type in GHC
2022-07-08 12:52:28 +0200 <tomsmeding> A type-level lambda needs a guarding type constructor, i.e. a newtype
2022-07-08 12:52:34 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 12:52:43 +0200ccapndave(~ccapndave@xcpe-194-230-18-110.cgn.res.adslplus.ch)
2022-07-08 12:53:01 +0200 <tomsmeding> So yeah, in today's haskell, you either need :*: / HList (mostly the same solution in this respect) or a newtypr
2022-07-08 12:53:35 +0200 <tomsmeding> I point out the existence of Data.Functor.Product as a slightly more canonical, albeit more verbose, version of :*:
2022-07-08 12:55:10 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 12:55:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 12:57:16 +0200 <jackdk> I do wish those two were unified
2022-07-08 12:57:30 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 272 seconds)
2022-07-08 12:58:00 +0200 <ccapndave> Hi everyone - I wrote a little Haskell program to parse bank account statements a while ago. Since then I have got an M1 Mac and I'm trying to run it today and I get an error saying: No setup information found for ghc-8.8.4 on your platform. This probably means a GHC bindist has not yet been added for OS key 'macosx-aarch64'. Supported versions: ghc-8.10.5, ghc-8.10.6, ghc-8.10.7, ghc-9.0.2, ghc-9.2.1, ghc-9.2.2,
2022-07-08 12:58:01 +0200 <kuribas> hmm, maybe I found a way...
2022-07-08 12:58:01 +0200 <ccapndave> ghc-9.2.3
2022-07-08 12:58:12 +0200 <ccapndave> I installed using `ghcup`. Any idea what I should do to fix this?
2022-07-08 12:59:52 +0200 <raehik> ccapndave: I think native M1 support is only available in the newer GHC versions
2022-07-08 12:59:54 +0200 <ccapndave> Ah, I just did `stack config set resolver ghc-8.10.7` and that looked like it helps
2022-07-08 13:00:09 +0200 <raehik> ah, so you had the new one installed but stack was asking for an older one
2022-07-08 13:00:13 +0200 <ccapndave> I guess so
2022-07-08 13:00:33 +0200 <ccapndave> I haven't touched anything Haskell-y (sadly) for about 9 months so I forgot how it works
2022-07-08 13:01:01 +0200coot(~coot@213.134.190.95)
2022-07-08 13:01:09 +0200 <ccapndave> The day I find someone willing to pay me to work with Haskell will be the day I chuck out every other language
2022-07-08 13:01:16 +0200 <raehik> If you have bugs or performance issues, consider using 9.0 or 9.2. But they might need a bit more fiddling with Stack due to how they package things
2022-07-08 13:01:31 +0200 <ccapndave> Its a very simple program so hopefully it won't require any tweaking
2022-07-08 13:01:59 +0200 <ccapndave> https://github.com/ccapndave/postfinance-freeagent
2022-07-08 13:02:26 +0200nate4(~nate@98.45.169.16)
2022-07-08 13:03:27 +0200 <kuribas> Why is this language so amazing and frustrating at the same time?
2022-07-08 13:04:17 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 244 seconds)
2022-07-08 13:07:15 +0200 <kuribas> When it comes to parsing, manipulation complex data, I haven't found anything nearly as nice.
2022-07-08 13:07:20 +0200sayola(~vekto@dslb-088-078-152-210.088.078.pools.vodafone-ip.de)
2022-07-08 13:07:39 +0200nate4(~nate@98.45.169.16) (Ping timeout: 276 seconds)
2022-07-08 13:07:52 +0200 <kuribas> Also creating nice DSLs. Lisps take pride in that, but lisp DSLs can be hard to understand.
2022-07-08 13:08:48 +0200 <sm> ccapndave: I recommend 9.2, it supports the M1 and builds 3x quicker
2022-07-08 13:09:10 +0200 <ccapndave> Alright
2022-07-08 13:09:21 +0200 <ccapndave> `stack` is throwing all kinds of dependency errors anyway
2022-07-08 13:09:36 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 276 seconds)
2022-07-08 13:09:41 +0200 <ccapndave> ha - Stack has not been tested with GHC versions above 9.0, and using 9.2, this may fail
2022-07-08 13:09:46 +0200 <ccapndave> This is the first message I got
2022-07-08 13:09:59 +0200 <sm> that's a standard stack message, ignore it
2022-07-08 13:10:04 +0200 <ccapndave> Ok
2022-07-08 13:10:38 +0200 <ccapndave> I can see that an afternoon that was supposed to be spent doing taxes is going to turn into an afternoon playing with Haskell
2022-07-08 13:10:47 +0200 <sm> lots of errors are caused by mixed intel and arm binaries installed by different tools, the safest way is to expunge all of them now then install all tools with an up to date ghcup
2022-07-08 13:10:52 +0200 <jackdk> Death, taxes, and type errors.
2022-07-08 13:11:02 +0200 <sm> and then tell stack to use ghcup's ghcs
2022-07-08 13:11:22 +0200 <ccapndave> Ah - I just did `stack config set resolver ghc-9.2` and then `stack install`
2022-07-08 13:11:28 +0200 <jackdk> I personally would not use stack, because it seems to bring lots of pain and another layer to think about, but you can probably make it work
2022-07-08 13:11:32 +0200 <ccapndave> I should install it from `ghc` first eh
2022-07-08 13:11:59 +0200 <sm> you can see which kind of binaries you have in Activity Monitor
2022-07-08 13:12:26 +0200 <ccapndave> Activity Monitor like the Mac `top` thing?
2022-07-08 13:12:51 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-07-08 13:12:55 +0200 <sm> yes
2022-07-08 13:13:40 +0200 <sm> https://haskell-links.org/?q=stack-system-ghc is how to make stack use ghcup
2022-07-08 13:14:03 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-07-08 13:14:37 +0200 <kuribas> tomsmeding: I think I found a way... It does require wrapping the tuple in an existential.
2022-07-08 13:15:28 +0200 <ccapndave> sm: Thanks very much. Now I shall fight with versions until it installs
2022-07-08 13:16:36 +0200 <tomsmeding> kuribas: how does that look?
2022-07-08 13:17:00 +0200 <kuribas> tomsmeding: data PartialTuple x a = forall t f y . ( GFTranspose x t f, Coercible (Rep y ()) (Tupled f a)) => PT y
2022-07-08 13:17:07 +0200 <ccapndave> I had to copy-paste a lot of nonsense into `stack.yaml`'s `extra-deps` but it seems to be compiling :+1:
2022-07-08 13:17:42 +0200 <tomsmeding> kuribas: ._.
2022-07-08 13:17:50 +0200 <sm> that's usually a sign of using the wrong resolver
2022-07-08 13:19:20 +0200 <kuribas> tomsmeding: or I could require the user to use a function, instead of wrapping an existential.
2022-07-08 13:20:11 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 13:20:13 +0200 <ccapndave> sm: Feel free to take a peek - https://github.com/ccapndave/postfinance-freeagent
2022-07-08 13:20:28 +0200 <ccapndave> It does compile like this however, which is a step in the right direction
2022-07-08 13:20:59 +0200 <sm> nifty! I'm interested in finance tools too. Tried FreeAgent a while back
2022-07-08 13:21:23 +0200 <kuribas> tomsmeding: like: fzipTupleWith (partially $ \(Identity x, Const y) -> ...) (fields, names)
2022-07-08 13:21:30 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 13:21:41 +0200 <ccapndave> sm: Its great, I've been using it almost since the beginning
2022-07-08 13:21:47 +0200 <sm> 9.2.3 is in stackage now, so you could just use https://www.stackage.org/nightly-2022-07-07
2022-07-08 13:21:48 +0200 <kuribas> tomsmeding: vs fzipTupleWith (\(PT (Identity x, Const y)) -> ...) (fields, names)
2022-07-08 13:22:04 +0200 <tomsmeding> kuribas: that's cool
2022-07-08 13:22:21 +0200 <tomsmeding> Is that Rep from Representable?
2022-07-08 13:22:27 +0200 <kuribas> tomsmeding: for generics
2022-07-08 13:22:32 +0200 <tomsmeding> Ooh
2022-07-08 13:22:32 +0200 <ccapndave> sm: Assume I know little about package management in Haskell :) What does "use" mean in this context?
2022-07-08 13:24:35 +0200 <kuribas> tomsmeding: not typechecked yet :)
2022-07-08 13:24:44 +0200 <tomsmeding> Heh
2022-07-08 13:24:45 +0200 <sm> ccapndave: well, usually in stack.yaml we'd see `resolver: nightly-2022-07-07` or so, causing all the packages in https://www.stackage.org/nightly-2022-07-07 to be available. Your resolver setting is unfamiliar to me, it seems to specify just the compiler version and no snapshot ? As a result you have to list all the deps manually
2022-07-08 13:25:51 +0200 <ccapndave> yay
2022-07-08 13:26:02 +0200 <ccapndave> That did the trick
2022-07-08 13:26:04 +0200 <ccapndave> Thanks
2022-07-08 13:26:16 +0200 <sm> np
2022-07-08 13:27:30 +0200alp(~alp@user/alp)
2022-07-08 13:30:38 +0200zxx7529(~Thunderbi@user/zxx7529) (Ping timeout: 244 seconds)
2022-07-08 13:31:03 +0200alexhandy(~trace@user/trace) (Read error: Connection reset by peer)
2022-07-08 13:31:09 +0200alexhandy2(~trace@user/trace)
2022-07-08 13:32:41 +0200sayola(~vekto@dslb-088-078-152-210.088.078.pools.vodafone-ip.de) (Quit: Leaving.)
2022-07-08 13:38:59 +0200pleo(~pleo@user/pleo)
2022-07-08 13:39:21 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 13:39:45 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 13:39:50 +0200califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-08 13:39:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 13:39:57 +0200califax_(~califax@user/califx)
2022-07-08 13:40:50 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 13:41:07 +0200califax_califax
2022-07-08 13:43:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 240 seconds)
2022-07-08 13:51:51 +0200Pickchea(~private@user/pickchea) (Ping timeout: 276 seconds)
2022-07-08 13:53:56 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 255 seconds)
2022-07-08 13:56:34 +0200Guest30(~Guest30@80.92.68.22)
2022-07-08 13:57:11 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:90cd:9d46:c4ce:7598) (Remote host closed the connection)
2022-07-08 13:59:45 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:8f94:7da8:255b:75f5)
2022-07-08 14:00:09 +0200Guest30(~Guest30@80.92.68.22) (Client Quit)
2022-07-08 14:01:36 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 276 seconds)
2022-07-08 14:07:29 +0200sayola(~sayola@dslb-088-078-152-210.088.078.pools.vodafone-ip.de)
2022-07-08 14:08:04 +0200ShalokShalom(~quassel@2a02:8109:b40:42f4:4f45:338b:3ba8:8f20) (Remote host closed the connection)
2022-07-08 14:08:49 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-07-08 14:09:20 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 14:10:46 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-07-08 14:10:56 +0200cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2022-07-08 14:12:28 +0200ShalokShalom(~quassel@2a02:8109:b40:42f4:4f45:338b:3ba8:8f20)
2022-07-08 14:12:28 +0200ShalokShalom(~quassel@2a02:8109:b40:42f4:4f45:338b:3ba8:8f20) (Client Quit)
2022-07-08 14:14:23 +0200cheater(~Username@user/cheater)
2022-07-08 14:19:08 +0200fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-07-08 14:19:26 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 14:19:43 +0200quarkyalice_(~alice@172.79.210.234)
2022-07-08 14:19:43 +0200quarkyalice_(~alice@172.79.210.234) (Changing host)
2022-07-08 14:19:43 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822)
2022-07-08 14:20:53 +0200adrazalan(~adrazalan@42.191.189.65)
2022-07-08 14:22:04 +0200yaroot_(~yaroot@166.104.13.160.dy.iij4u.or.jp)
2022-07-08 14:22:48 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 14:23:38 +0200yaroot(~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (Ping timeout: 240 seconds)
2022-07-08 14:23:38 +0200yaroot_yaroot
2022-07-08 14:25:27 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 14:25:39 +0200pleo(~pleo@user/pleo) (Ping timeout: 276 seconds)
2022-07-08 14:25:58 +0200Pickchea(~private@user/pickchea)
2022-07-08 14:26:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 14:27:15 +0200pleo(~pleo@user/pleo)
2022-07-08 14:27:47 +0200pleo(~pleo@user/pleo) (Client Quit)
2022-07-08 14:28:06 +0200pleo(~pleo@user/pleo)
2022-07-08 14:31:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 244 seconds)
2022-07-08 14:32:57 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-08 14:33:36 +0200john(~john@115.98.233.159)
2022-07-08 14:33:49 +0200 <john> Hi
2022-07-08 14:34:01 +0200 <john> I am solving haskell from first principles
2022-07-08 14:34:35 +0200 <john> task write a function which takes a string "curry is awesome" and returns "awesome is curry"
2022-07-08 14:35:15 +0200 <kuribas> :t words
2022-07-08 14:35:17 +0200 <lambdabot> String -> [String]
2022-07-08 14:35:22 +0200 <kuribas> :t unwords
2022-07-08 14:35:24 +0200 <lambdabot> [String] -> String
2022-07-08 14:35:37 +0200 <john> my answer is myReverse x = drop 9 x ++ " " ++ take 4 (drop 5 x) ++ " " ++ take 5 x
2022-07-08 14:36:02 +0200 <john> can my answer be re written using $ sign ?
2022-07-08 14:36:09 +0200Clintsquints.
2022-07-08 14:36:30 +0200 <kuribas> john: did you just hardcode the word lengths? :-O
2022-07-08 14:36:43 +0200 <john> @kuribas
2022-07-08 14:36:43 +0200 <lambdabot> Unknown command, try @list
2022-07-08 14:37:05 +0200 <john> The question asks to make a function only for that string "curry is awesome"
2022-07-08 14:37:15 +0200 <john> its very early in the book
2022-07-08 14:37:19 +0200 <john> chap 3
2022-07-08 14:37:55 +0200 <kuribas> :t \s -> case s of "curry is awesome" -> "awesome is curry"; _ -> ""
2022-07-08 14:37:56 +0200 <lambdabot> [Char] -> [Char]
2022-07-08 14:38:14 +0200 <dknite> john: That doesn't mean you shouldn't think generally
2022-07-08 14:38:39 +0200 <dknite> Think about the steps: break the string into words
2022-07-08 14:38:40 +0200 <kuribas> dknite: maybe it does? The text should clarify what needs to be done.
2022-07-08 14:39:01 +0200 <dknite> Then reverse the words
2022-07-08 14:39:08 +0200 <john> while my answer works, if i use $ sign like this myReverse x = drop 9 x ++ " " take 4 $ drop 5 x ++" "++ take 5 x
2022-07-08 14:39:16 +0200 <dknite> Finally join them again
2022-07-08 14:39:19 +0200 <john> it gives an error.. why
2022-07-08 14:39:27 +0200 <john> I dont want to use brackets
2022-07-08 14:39:45 +0200 <dknite> john: that's not always feasible
2022-07-08 14:40:47 +0200 <john> @dknite.. the book says $ can be used instead of brackets ??
2022-07-08 14:40:47 +0200 <lambdabot> Unknown command, try @list
2022-07-08 14:41:08 +0200 <john> the error i get is here. https://pastebin.com/SPxFu64Z
2022-07-08 14:41:56 +0200 <dknite> kuribas: It is not a textbook or homework, so exercises don't have to razor-accurately specified
2022-07-08 14:42:03 +0200 <Clint> your first problem is that you got rid of a ++
2022-07-08 14:42:10 +0200Pickchea(~private@user/pickchea) (Ping timeout: 240 seconds)
2022-07-08 14:42:33 +0200 <int-e> you're missing a ++, and ++ binds stronger than $ does
2022-07-08 14:43:02 +0200ccapndave(~ccapndave@xcpe-194-230-18-110.cgn.res.adslplus.ch) (Read error: Connection reset by peer)
2022-07-08 14:43:24 +0200 <int-e> > take 4 $ "ghi" ++ " " ++ "abcdef"
2022-07-08 14:43:26 +0200 <lambdabot> "ghi "
2022-07-08 14:45:25 +0200 <john> @intt-e.. can you elaborate on stronger ? ..
2022-07-08 14:45:25 +0200 <lambdabot> Unknown command, try @list
2022-07-08 14:45:56 +0200qrpnxz(~qrpnxz@fsf/member/qrpnxz) (Quit: WeeChat 3.4)
2022-07-08 14:46:35 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 244 seconds)
2022-07-08 14:46:35 +0200 <john> are there some rules as to when the $ can be used ??
2022-07-08 14:47:50 +0200cosimone(~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Ping timeout: 240 seconds)
2022-07-08 14:48:07 +0200 <TMA> john: $ is a way to avoid parentheses
2022-07-08 14:48:07 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 256 seconds)
2022-07-08 14:48:25 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net)
2022-07-08 14:48:50 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-08 14:51:20 +0200 <TMA> john: a b c is a shorthand for (((a) b) c) ; a $ b c is a shorthand for ((a) ((b) c)) or a (b c)
2022-07-08 14:51:43 +0200 <kuribas> dknite: it should at least say something like "reverse the words". Otherwise his solution is as good as any.
2022-07-08 14:52:04 +0200pavonia(~user@user/siracusa) (Quit: k-lined (proving Goldbach's conjecture is off-topic on this network))
2022-07-08 14:52:28 +0200 <dknite> kuribas: Oh it's a correct solution alright
2022-07-08 14:52:45 +0200Haskelytic(~Haskelyti@118.179.211.17)
2022-07-08 14:52:50 +0200 <kuribas> dknite: though it would get minus points for complexity :)
2022-07-08 14:53:16 +0200 <john> is there an order in which $ sign is evaluated? why am i getting the error ?
2022-07-08 14:53:49 +0200 <int-e> you have a (" " take 4) subexpression that will never be correctly typed, as it says on line 19.
2022-07-08 14:55:23 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-08 14:55:25 +0200 <int-e> once you fix that you'll run into the fact that ++ binds more strongly than $
2022-07-08 14:56:14 +0200 <john> int-e : ya i fixed that
2022-07-08 14:56:15 +0200 <[itchyjunk]> $++$
2022-07-08 14:56:18 +0200 <john> still got this https://pastebin.com/WPh8sA2C
2022-07-08 14:56:29 +0200 <[itchyjunk]> oops wrong channel
2022-07-08 14:57:00 +0200 <john> int-e are you saying that in this particular case i will not be able to use $ ??
2022-07-08 14:57:06 +0200 <int-e> john: well, as I said, ++ binds more strongly than $, so `take 4` becomes an argument of ++ as it says on line 20
2022-07-08 14:57:25 +0200 <int-e> john: not to save parentheses, nope
2022-07-08 14:57:53 +0200 <john> int e : thanks.. I guess i need to understand rules of using $ a bit more..
2022-07-08 14:57:55 +0200 <john> thanks a lot
2022-07-08 14:58:12 +0200 <int-e> Which is fine, parentheses are good. Personally I mostly use $ in places where it's never wrong... like println $ ...whatever... or pure $ ...whatever...
2022-07-08 14:58:39 +0200 <john> int-e : ok
2022-07-08 14:58:44 +0200 <int-e> so mostly a select few functions that take a single argument
2022-07-08 14:59:00 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-07-08 14:59:08 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-08 14:59:36 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it)
2022-07-08 14:59:37 +0200coot(~coot@213.134.190.95)
2022-07-08 15:00:03 +0200 <int-e> btw, I also think it's worth your time to actually read error messages... they often provide good hints as to what it's wrong, but you'll need practice to decipher them
2022-07-08 15:00:12 +0200 <int-e> it's->is
2022-07-08 15:00:19 +0200Techcable(~Techcable@user/Techcable) (Remote host closed the connection)
2022-07-08 15:00:29 +0200 <john> int-e: i was actually going over the same coupled with your interpretation..
2022-07-08 15:00:35 +0200 <john> :D
2022-07-08 15:02:27 +0200Techcable(~Techcable@user/Techcable)
2022-07-08 15:02:41 +0200 <john> int-e : The book asks readers to focus on the first few lines of the error.. which in my case talks about type mismatch.. https://pastebin.com/WPh8sA2C any reason you focussed on the second part ?
2022-07-08 15:04:18 +0200 <int-e> Well, the second part breaks down the error location in terms of subexpressions. In this case, that's more useful than the first part because one of the subexpressions doesn't make sense even if you don't think in terms of types
2022-07-08 15:04:46 +0200 <int-e> basically, if you're confused about precedences, the second part will help you more than the first
2022-07-08 15:05:09 +0200 <int-e> oh... also... those are two errors
2022-07-08 15:05:10 +0200 <int-e> hmm
2022-07-08 15:05:22 +0200 <int-e> but the second one is easier to understand?
2022-07-08 15:05:32 +0200 <john> int-e: understood.. but how did you know where to focus? or is it that out of practice ??
2022-07-08 15:05:56 +0200 <int-e> It's kind of cheating... I knew what was wrong before I saw the error.
2022-07-08 15:06:30 +0200 <john> oh.. ok.. so its just practice.. ..having a tough time with haskell in general..:D
2022-07-08 15:06:33 +0200 <john> thanks
2022-07-08 15:07:00 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
2022-07-08 15:11:12 +0200mncheckm(~mncheck@193.224.205.254) (Quit: Leaving)
2022-07-08 15:12:12 +0200cosimone(~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81)
2022-07-08 15:13:43 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 15:17:07 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-07-08 15:17:50 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 240 seconds)
2022-07-08 15:18:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 255 seconds)
2022-07-08 15:18:32 +0200amonowy(~amonowy@83.6.20.198.ipv4.supernova.orange.pl)
2022-07-08 15:19:50 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-07-08 15:20:41 +0200alp(~alp@user/alp) (Ping timeout: 244 seconds)
2022-07-08 15:21:55 +0200 <amonowy> Hi! I just finished my first Haskell project and I'm looking for someone to review it (for money). Its terminal app with Brick that is simple interface to Trello (some todo app). It is 1700 lines of code.
2022-07-08 15:22:30 +0200 <fockerize> how to pass args to cabal run ?
2022-07-08 15:22:50 +0200 <fockerize> cabal run -- arg1 doesn't seem to work
2022-07-08 15:23:13 +0200 <maerwald[m]> fockerize: cabal run <target> -- [arg for target..]
2022-07-08 15:23:31 +0200 <maerwald[m]> Ok, my client swallowed it
2022-07-08 15:23:45 +0200 <maerwald[m]> cabal run target -- args for target
2022-07-08 15:24:05 +0200 <fockerize> got it
2022-07-08 15:27:16 +0200Pickchea(~private@user/pickchea)
2022-07-08 15:28:26 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 244 seconds)
2022-07-08 15:30:53 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 15:31:05 +0200alexhandy2(~trace@user/trace) (Read error: Connection reset by peer)
2022-07-08 15:31:16 +0200alexhandy(~trace@user/trace)
2022-07-08 15:31:58 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-07-08 15:32:43 +0200quarkyalice_(~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
2022-07-08 15:33:49 +0200alp(~alp@user/alp)
2022-07-08 15:33:49 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-07-08 15:35:56 +0200phma(~phma@2001:5b0:2172:b528:f34b:433f:7c06:fc5b) (Read error: Connection reset by peer)
2022-07-08 15:36:48 +0200phma(phma@2001:5b0:215a:f018:4fce:809b:f264:f166)
2022-07-08 15:37:13 +0200john(~john@115.98.233.159) (Quit: Leaving)
2022-07-08 15:38:19 +0200quarkyalice(~alice@172.79.210.234)
2022-07-08 15:38:19 +0200quarkyalice(~alice@172.79.210.234) (Changing host)
2022-07-08 15:38:19 +0200quarkyalice(~alice@user/quarkyalice)
2022-07-08 15:39:53 +0200gentauro(~gentauro@user/gentauro)
2022-07-08 15:41:01 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 15:41:10 +0200pleo(~pleo@user/pleo) (Ping timeout: 240 seconds)
2022-07-08 15:43:26 +0200quarkyalice(~alice@user/quarkyalice) (Remote host closed the connection)
2022-07-08 15:44:50 +0200quarkyalice(~alice@user/quarkyalice)
2022-07-08 15:45:38 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 15:46:00 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 244 seconds)
2022-07-08 15:49:14 +0200sayola(~sayola@dslb-088-078-152-210.088.078.pools.vodafone-ip.de) (Quit: Leaving.)
2022-07-08 15:49:38 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 240 seconds)
2022-07-08 15:49:52 +0200sayola(~sayola@dslb-088-078-152-210.088.078.pools.vodafone-ip.de)
2022-07-08 15:54:25 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-07-08 15:55:48 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-07-08 15:56:06 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-07-08 16:02:48 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com)
2022-07-08 16:03:23 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-07-08 16:05:48 +0200pleo(~pleo@user/pleo)
2022-07-08 16:05:50 +0200FragByte(~christian@user/fragbyte) (Quit: Quit)
2022-07-08 16:06:06 +0200duckie(~duckie@user/duckie)
2022-07-08 16:07:48 +0200FragByte(~christian@user/fragbyte)
2022-07-08 16:09:22 +0200 <kuribas> tomsmeding: I replaced the generics with a custom hlist, and everything suddenly became much simpler :)
2022-07-08 16:09:38 +0200 <kuribas> tomsmeding: and type inference improved as well! (due to the custom hlist).
2022-07-08 16:11:42 +0200 <kuribas> tomsmeding: it's a shame I cannot overload list syntax like in idris.
2022-07-08 16:12:24 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 16:12:33 +0200 <kuribas> eh, I think I found a weird bug.
2022-07-08 16:12:50 +0200 <kuribas> this fails: zipShow x = fzipManyWith (\(Identity y :> Const t :> _ :> End) -> Const $ t <> Text.pack (show y)) (x :~> flabels :~> fdicts @Show :~> End)
2022-07-08 16:13:04 +0200 <kuribas> But this works: zipShow x = fzipManyWith (\(Identity y :> Const t :> Dict :> End) -> Const $ t <> Text.pack (show y)) (x :~> flabels :~> fdicts @Show :~> End)
2022-07-08 16:13:25 +0200 <kuribas> The only difference is that I put an explicit `Dict`, even though it isn't used.
2022-07-08 16:13:42 +0200 <kuribas> However, without it, ghc doesn't seem to be able to find the Show dictionary from the context.
2022-07-08 16:14:12 +0200 <PiDelport> kuribas: Regarding overloading list syntax, there's the OverloadedLists extension?
2022-07-08 16:14:21 +0200 <geekosaur> it's got limitations
2022-07-08 16:14:28 +0200 <dmj`> amonowy: I'll check it out :P
2022-07-08 16:15:13 +0200 <geekosaur> heterogeneous lists still aren't possible with OverloadedLists. I think they're not even possible with RebindableSyntax
2022-07-08 16:15:16 +0200 <kuribas> PiDelport: that still goes via a monomorphic list.
2022-07-08 16:15:30 +0200 <kuribas> where in idris it is purely syntactic.
2022-07-08 16:15:53 +0200 <kuribas> [a, b, c] gets desugared to a :: b :: c :: []
2022-07-08 16:16:00 +0200 <Lears> kuribas: If you need the constraint in scope, you need to match to expose it.
2022-07-08 16:16:02 +0200 <kuribas> and (::) and [] can be overloaded.
2022-07-08 16:16:08 +0200 <kuribas> Lears: right.
2022-07-08 16:16:51 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-08 16:19:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 16:22:20 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:8f94:7da8:255b:75f5) (Remote host closed the connection)
2022-07-08 16:28:27 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-07-08 16:30:30 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds)
2022-07-08 16:32:29 +0200 <tomsmeding> kuribas: the Dict pattern match doesn't seem to bind any fields, but it does bind one: the Show dictionary
2022-07-08 16:32:45 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 16:33:01 +0200 <tomsmeding> Without the explicit match, haskell semantics forces the argument to be lazy, which prevents ghc from projecting out the dictionary
2022-07-08 16:33:18 +0200 <kuribas> tomsmeding: right. That makes sense.
2022-07-08 16:33:23 +0200 <tomsmeding> This is, I believe, why evidence-producing matches like these need to be strict
2022-07-08 16:33:45 +0200 <tomsmeding> Just inference (heh) from a user though
2022-07-08 16:33:50 +0200heartburn(~gass@2a00:d880:3:1::b1e4:b241)
2022-07-08 16:34:03 +0200nate4(~nate@98.45.169.16)
2022-07-08 16:34:36 +0200califax(~califax@user/califx) (Ping timeout: 268 seconds)
2022-07-08 16:35:59 +0200califax(~califax@user/califx)
2022-07-08 16:36:26 +0200 <kuribas> now the hard part: a record of lenses ...
2022-07-08 16:36:50 +0200 <geekosaur> isn't that what ALens is for?
2022-07-08 16:37:05 +0200shriekingnoise(~shrieking@201.212.175.181)
2022-07-08 16:37:09 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 244 seconds)
2022-07-08 16:38:03 +0200 <kuribas> no, a record of lenses in that record :)
2022-07-08 16:39:06 +0200nate4(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2022-07-08 16:40:20 +0200finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2022-07-08 16:41:19 +0200finsternis(~X@23.226.237.192)
2022-07-08 16:45:37 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
2022-07-08 16:46:08 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-07-08 16:48:06 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-07-08 16:50:31 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-07-08 17:01:30 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at)
2022-07-08 17:03:28 +0200Haskelytic(~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds)
2022-07-08 17:03:55 +0200amonowy(~amonowy@83.6.20.198.ipv4.supernova.orange.pl) (Quit: Client closed)
2022-07-08 17:04:39 +0200pgas(~pg@190.247.245.154)
2022-07-08 17:08:01 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-07-08 17:08:01 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-07-08 17:08:20 +0200califax(~califax@user/califx)
2022-07-08 17:08:45 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2022-07-08 17:11:06 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-07-08 17:11:24 +0200califax(~califax@user/califx)
2022-07-08 17:12:01 +0200kenran(~kenran@200116b82b11f800f722575e74152ce8.dip.versatel-1u1.de)
2022-07-08 17:16:06 +0200MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net) (Quit: WeeChat 3.5)
2022-07-08 17:17:23 +0200Katarushisu(~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
2022-07-08 17:19:52 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 17:20:46 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-07-08 17:24:25 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Ping timeout: 260 seconds)
2022-07-08 17:25:00 +0200Sgeo(~Sgeo@user/sgeo)
2022-07-08 17:27:07 +0200alp(~alp@user/alp) (Ping timeout: 260 seconds)
2022-07-08 17:30:25 +0200 <Pickchea> Hello, I have a relatively simple problem to which I can't seem to find a solution. I'm writing a function using two definitions for pattern matching. I would like to append a where clause to define a variable for an expression that occurs in both function definitions. However, the where clause only defines variables for the immediately preceding function definition. Is there a way to provide a variable for both function definitions?
2022-07-08 17:31:05 +0200 <maerwald> move the pattern matching into the function body
2022-07-08 17:31:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 17:32:43 +0200 <Pickchea> maerwald, using case?
2022-07-08 17:33:51 +0200smitop2(uid328768@id-328768.tinside.irccloud.com)
2022-07-08 17:33:54 +0200 <kuribas> Pickchea: use a case statement?
2022-07-08 17:33:58 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2022-07-08 17:34:05 +0200 <Pickchea> OK thanks!
2022-07-08 17:34:22 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 17:34:43 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 256 seconds)
2022-07-08 17:34:47 +0200mrmr(~mrmr@user/mrmr) (Quit: The Lounge - https://thelounge.chat)
2022-07-08 17:35:52 +0200 <maerwald> Pickchea: multiway if, lambda case, etc.
2022-07-08 17:35:57 +0200Haskelytic(~Haskelyti@118.179.211.17)
2022-07-08 17:36:07 +0200Guest34(~Guest34@2605:a601:a615:f600:c043:338:8fca:5b7c)
2022-07-08 17:36:25 +0200sander(~sander@user/sander) (Quit: So long! :))
2022-07-08 17:36:45 +0200 <Guest34> Is there any way to wrap a constraint in a newtype to prevents its evaluation?
2022-07-08 17:37:37 +0200 <Guest34> I've got a recursive constraint that will overflow the stack, and I need a way to break the loop.
2022-07-08 17:37:56 +0200ubert1(~Thunderbi@p200300ecdf0da547da8c9bf37b686f51.dip0.t-ipconnect.de)
2022-07-08 17:44:30 +0200 <yin> Guest34: what do you mean by constraint?
2022-07-08 17:46:32 +0200 <yin> if you paste some code maybe we could understand better
2022-07-08 17:50:35 +0200 <Guest34> Thanks, never mind; I'm going to try using closed type families a bit more.
2022-07-08 17:53:47 +0200 <kuribas> Guest34: recursive constraint sounds dodgy...
2022-07-08 17:55:43 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
2022-07-08 17:56:39 +0200Everything(~Everythin@37.115.210.35)
2022-07-08 17:56:48 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5)
2022-07-08 17:57:18 +0200 <Everything> Hi all. What Haskell projects would you recommend for learning for a noob? Good code examples?
2022-07-08 17:59:44 +0200 <[exa]> Everything: what level of newbieness? (new to programming or just new to haskell?)
2022-07-08 18:00:07 +0200 <[exa]> Everything: anyway making a tiny game in Gloss is usually a nice way to start up
2022-07-08 18:00:44 +0200 <Everything> [exa]: new to Haskell and ML dialects. Have some understanding of pure C, Python, Scheme
2022-07-08 18:01:49 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-08 18:02:11 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-08 18:02:31 +0200 <[exa]> ah nice, then you can literally start with this https://github.com/benl23x5/gloss#example :]
2022-07-08 18:02:43 +0200 <Everything> [exa]: thanks for the hint
2022-07-08 18:03:35 +0200 <[exa]> there may be other good starting examples but I generally find that getting some graphics up and running quickly really helps to get a grasp of how the thing works
2022-07-08 18:04:48 +0200sander(~sander@user/sander)
2022-07-08 18:04:50 +0200 <[exa]> btw new people usually have trouble with getting a development environment up and running. Using ghcup to install stuff is AFAIK the recommended way now. Feel free to ask if anything package-y doesn't work.
2022-07-08 18:05:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Remote host closed the connection)
2022-07-08 18:06:34 +0200ubert1(~Thunderbi@p200300ecdf0da547da8c9bf37b686f51.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-07-08 18:11:20 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at)
2022-07-08 18:12:30 +0200adrazalan(~adrazalan@42.191.189.65) (Ping timeout: 240 seconds)
2022-07-08 18:13:30 +0200Haskelytic(~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds)
2022-07-08 18:13:46 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 244 seconds)
2022-07-08 18:14:48 +0200hexemeldlework
2022-07-08 18:15:50 +0200pleo(~pleo@user/pleo) (Ping timeout: 240 seconds)
2022-07-08 18:18:15 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 18:19:45 +0200quarkyalice(~alice@user/quarkyalice) (Read error: Connection reset by peer)
2022-07-08 18:21:27 +0200quarkyalice(~alice@172.79.210.234)
2022-07-08 18:21:27 +0200quarkyalice(~alice@172.79.210.234) (Changing host)
2022-07-08 18:21:27 +0200quarkyalice(~alice@user/quarkyalice)
2022-07-08 18:22:19 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-07-08 18:23:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 18:23:46 +0200telser(~quassel@user/telser) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-07-08 18:28:50 +0200mcglk(~mcglk@160-2-67-53.cpe.sparklight.net)
2022-07-08 18:29:08 +0200kenran(~kenran@200116b82b11f800f722575e74152ce8.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-07-08 18:30:06 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-08 18:31:03 +0200cosimone`(~user@93-44-186-171.ip98.fastwebnet.it)
2022-07-08 18:32:39 +0200cosimone(~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Ping timeout: 276 seconds)
2022-07-08 18:38:21 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-07-08 18:40:59 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-07-08 18:42:26 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 18:43:34 +0200harry(~harry@c-73-93-249-239.hsd1.ca.comcast.net)
2022-07-08 18:43:55 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-07-08 18:44:50 +0200econo(uid147250@user/econo)
2022-07-08 18:46:05 +0200kuribas(~user@ptr-17d51emh493yj3hltjo.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2022-07-08 18:46:49 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5)
2022-07-08 18:49:25 +0200briandaed(~briandaed@109.95.143.14.r.toneticgroup.pl) (Ping timeout: 244 seconds)
2022-07-08 18:51:53 +0200unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2022-07-08 18:54:33 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 18:56:30 +0200jargon(~jargon@184.101.188.251) (Remote host closed the connection)
2022-07-08 18:59:02 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 18:59:52 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-07-08 19:09:33 +0200Haskelytic(~Haskelyti@118.179.211.17)
2022-07-08 19:11:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Remote host closed the connection)
2022-07-08 19:15:26 +0200Goodbye_Vincent(~Goodbye_V@freakshells.net) (Quit: Ping timeout (120 seconds))
2022-07-08 19:15:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1)
2022-07-08 19:19:09 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-07-08 19:20:54 +0200mbuf(~Shakthi@122.164.13.128) (Quit: Leaving)
2022-07-08 19:20:57 +0200amonowy(uid560952@id-560952.uxbridge.irccloud.com)
2022-07-08 19:21:10 +0200unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 240 seconds)
2022-07-08 19:22:49 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net)
2022-07-08 19:22:59 +0200Goodbye_Vincent(cyvahl@freakshells.net)
2022-07-08 19:24:47 +0200alp(~alp@user/alp)
2022-07-08 19:26:28 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 19:29:09 +0200Haskelytic(~Haskelyti@118.179.211.17) (Quit: Ping timeout (120 seconds))
2022-07-08 19:31:24 +0200mcglk(~mcglk@160-2-67-53.cpe.sparklight.net) (Quit: (zzz))
2022-07-08 19:36:34 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-07-08 19:40:22 +0200mcglk(~mcglk@160-2-67-53.cpe.sparklight.net)
2022-07-08 19:44:51 +0200mcglk_(~mcglk@160-2-67-53.cpe.sparklight.net)
2022-07-08 19:46:30 +0200 <yin> using *only* ghcup is recommended by me
2022-07-08 19:46:46 +0200 <yin> as in if you use ghcup, dont use anything else
2022-07-08 19:47:17 +0200mcglk(~mcglk@160-2-67-53.cpe.sparklight.net) (Ping timeout: 244 seconds)
2022-07-08 19:47:31 +0200jakalx(~jakalx@base.jakalx.net)
2022-07-08 19:52:31 +0200 <maerwald> excellent choice
2022-07-08 19:55:11 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-07-08 19:55:13 +0200 <monochrom> Why do I feel that it's the equivalent of when I go to a restaurant and order from the menu, the server always says "excellent choice" too? :)
2022-07-08 19:55:30 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-08 19:56:32 +0200Guest34(~Guest34@2605:a601:a615:f600:c043:338:8fca:5b7c) (Quit: Client closed)
2022-07-08 19:58:35 +0200 <darkling> It's to make you feel better about it even if you don't like it so much? :)
2022-07-08 19:59:30 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-07-08 20:00:03 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 276 seconds)
2022-07-08 20:01:04 +0200 <monochrom> Or tautologically as long as you buy from me, of course I think you've made an excellent choice :)
2022-07-08 20:01:46 +0200 <maerwald> monochrom: those are excellent points
2022-07-08 20:04:51 +0200malte(~malte@mal.tc) (Ping timeout: 244 seconds)
2022-07-08 20:06:53 +0200jumper149(~jumper149@base.felixspringer.xyz)
2022-07-08 20:08:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 20:08:01 +0200 <jumper149> Hi, is it possible to check a closed type family with the exhaustiveness checker in GHC?
2022-07-08 20:10:48 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 276 seconds)
2022-07-08 20:15:21 +0200ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 276 seconds)
2022-07-08 20:19:46 +0200Haskelytic(~Haskelyti@118.179.211.17)
2022-07-08 20:20:30 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 240 seconds)
2022-07-08 20:21:02 +0200 <Haskelytic> https://paste.tomsmeding.com/rGxMYmzi
2022-07-08 20:21:09 +0200 <Haskelytic> :t (sequence .) . fmap
2022-07-08 20:21:11 +0200 <lambdabot> (Traversable t, Monad m) => (a1 -> m a2) -> t a1 -> m (t a2)
2022-07-08 20:21:39 +0200 <Haskelytic> fellas, does that inference look on track? did i accidentally land on the right answer?
2022-07-08 20:22:50 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 240 seconds)
2022-07-08 20:22:56 +0200smitop2(uid328768@id-328768.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2022-07-08 20:31:37 +0200 <Haskelytic> Hmm... the type is correct but I'm having troubling mentally parsing the double-dot duo
2022-07-08 20:32:38 +0200 <monochrom> Yeah, so I would turn it into "comp1 (comp2 sequence) fmap" before working.
2022-07-08 20:32:51 +0200 <Haskelytic> so `(sequence .) . fmap` is a composite that: 1) lifts a function f; 2) composes that lifted f with sequence
2022-07-08 20:33:19 +0200 <c_wraith> Any time you see that, point-free has gone too far.
2022-07-08 20:33:24 +0200 <Haskelytic> XD
2022-07-08 20:33:32 +0200 <Haskelytic> haha sorry it was from the haskell book
2022-07-08 20:34:01 +0200 <Haskelytic> borked my brain so I started thinking maybe I need to understand the types better
2022-07-08 20:34:30 +0200 <Haskelytic> monochrom: ah, yes that would be a lot more readable
2022-07-08 20:35:33 +0200 <c_wraith> Usually when you see something like that, it's way more readable if you add one of the points back.
2022-07-08 20:35:33 +0200nate4(~nate@98.45.169.16)
2022-07-08 20:36:02 +0200 <Haskelytic> the original was `\f xs -> sequence (fmap f xs)`
2022-07-08 20:36:10 +0200 <c_wraith> :t \f -> sequence . fmap f
2022-07-08 20:36:12 +0200 <lambdabot> (Traversable t, Monad m) => (a1 -> m a2) -> t a1 -> m (t a2)
2022-07-08 20:36:20 +0200 <Haskelytic> c_wraith: I'll keep that in mind. thanks!
2022-07-08 20:36:34 +0200 <Haskelytic> oooh cool!
2022-07-08 20:37:33 +0200 <c_wraith> though, you know.. in this specific case...
2022-07-08 20:37:40 +0200 <c_wraith> :t mapM
2022-07-08 20:37:42 +0200 <lambdabot> (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
2022-07-08 20:38:01 +0200 <c_wraith> or if you don't need the Monad constraint
2022-07-08 20:38:04 +0200 <c_wraith> :t traverse
2022-07-08 20:38:05 +0200 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2022-07-08 20:38:50 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-07-08 20:39:14 +0200 <Haskelytic> yeah i was in the part of the book talking about traverse and how it's implemented using `sequenceA` and `fmap`
2022-07-08 20:39:41 +0200 <Haskelytic> I guess I'll just get used to BSODing when I see a double-dot again haha
2022-07-08 20:39:52 +0200 <Haskelytic> my brain just can't seem to parse it
2022-07-08 20:40:30 +0200nate4(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-07-08 20:40:45 +0200 <geekosaur[m]> most people seem to have that problem. I see it abbreviated as (.:) a lot
2022-07-08 20:41:17 +0200 <geekosaur[m]> it's a way to apply two parameters instead of one when using `(.)`
2022-07-08 20:42:35 +0200xlei(~akans@138.199.15.149)
2022-07-08 20:42:46 +0200xlei(~akans@138.199.15.149) (Client Quit)
2022-07-08 20:44:08 +0200 <Haskelytic> is it common in real-world code?
2022-07-08 20:44:26 +0200 <Lears> I prefer `(<$$>) = fmap . fmap`. It's more useful and imo easier to parse.
2022-07-08 20:44:28 +0200 <Haskelytic> I feel like the more Haskell I see the more crazy it gets :)
2022-07-08 20:44:45 +0200 <Haskelytic> It feels like doing gymnastics with funky operators
2022-07-08 20:44:48 +0200cyphasecyphase__
2022-07-08 20:44:58 +0200notzmv(~zmv@user/notzmv)
2022-07-08 20:45:03 +0200cyphase__cyphase
2022-07-08 20:45:26 +0200 <Haskelytic> Lears: that's a double lift?
2022-07-08 20:45:33 +0200cyphasecyphase_eviltwin
2022-07-08 20:45:33 +0200cyphase_eviltwin030AAGH44
2022-07-08 20:46:32 +0200 <Haskelytic> :t fmap . fmap
2022-07-08 20:46:33 +0200 <lambdabot> (Functor f1, Functor f2) => (a -> b) -> f1 (f2 a) -> f1 (f2 b)
2022-07-08 20:46:51 +0200 <geekosaur[m]> fmap is (.) in the function Functor
2022-07-08 20:46:56 +0200 <geekosaur[m]> but it's more readable
2022-07-08 20:47:33 +0200 <geekosaur[m]> (in general the function (Functor, Applicative, Monad) is hard both to read and to think about; people's brains don't seem to work that way)
2022-07-08 20:48:10 +0200 <Haskelytic> geekosaur[m]: you can say that again! i was blown away when I learned you could see functions as Functors
2022-07-08 20:48:19 +0200 <Haskelytic> I got too used to the container analogy
2022-07-08 20:48:37 +0200unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2022-07-08 20:48:47 +0200 <Haskelytic> but then I realized a function could be framed as a container indexed by input
2022-07-08 20:48:54 +0200 <Haskelytic> still blows my mind :)
2022-07-08 20:49:20 +0200 <Lears> The function Monad can be pointlessly confusing. The Applicative is sometimes nice, used sparingly. Imo there's no problem with the Functor at all, you just need to get used to it.
2022-07-08 20:49:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 20:50:01 +0200 <monochrom> Wow so much opinion.
2022-07-08 20:50:17 +0200 <Lears> And strangely, all the confusion around these instances seems to disappear as soon as you put it in Reader.
2022-07-08 20:50:39 +0200 <Haskelytic> Haskell made me realize that the human brain needs an upgrade :)
2022-07-08 20:50:44 +0200 <Haskelytic> Too many metaphors to keep track of honestly
2022-07-08 20:50:56 +0200 <Haskelytic> context, structure, box, container, etc.
2022-07-08 20:50:59 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-07-08 20:51:14 +0200 <monochrom> This is why I don't teach metaphors, I teach the actual rules.
2022-07-08 20:51:34 +0200 <Haskelytic> monochrom: I wish someone told me that when I started :/
2022-07-08 20:51:59 +0200 <Haskelytic> Lears: the power of names :)
2022-07-08 20:52:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 20:52:17 +0200 <monochrom> I learned that myself when I was in a course that taught alpha-beta pruning and minimax etc.
2022-07-08 20:53:12 +0200 <monochrom> The lectures and the textbook (and everyone who teaches it) provide both an "intuitive" "human-friendly" explanation and an actual mathematical proof. (It's about "admissability etc.)
2022-07-08 20:53:35 +0200 <monochrom> I understood the proof. I didn't understand the "human-friendly" explanation, it looked like circular logic.
2022-07-08 20:53:46 +0200 <monochrom> Since then I knew.
2022-07-08 20:54:01 +0200 <Haskelytic> XD  I've had that experience before
2022-07-08 20:54:10 +0200 <darkling> Heh. I once spent an entire 2 hours in a physics class at school arguing with the teacher about the behaviour of op-amps.
2022-07-08 20:54:33 +0200 <darkling> Eventually, he conceded that the approach he was teaching wasn't the whole story, and that he needed a couple of pages of calculus.
2022-07-08 20:54:37 +0200 <Haskelytic> I think I tend to get too hung up on authors' metaphors and analogies and get confused when I understand the proof but their picturesque descriptions just fly over my head
2022-07-08 20:54:38 +0200 <darkling> "Fine, I'll take that." :)
2022-07-08 20:55:00 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds)
2022-07-08 20:55:43 +0200 <Haskelytic> darkling: haha
2022-07-08 20:56:27 +0200 <darkling> To his credit, the next lesson, he did deliver several pages of calculus which made sense. He just didn't give them to the whole class.
2022-07-08 20:56:57 +0200 <Haskelytic> way to rob your fellow classmates of a learning experience :P
2022-07-08 20:58:10 +0200 <darkling> There were only two of us who actually cared that much about the formal mathematics.
2022-07-08 21:01:41 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2022-07-08 21:01:56 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-08 21:05:40 +0200pavonia(~user@user/siracusa)
2022-07-08 21:06:13 +0200Topsi(~Topsi@host-88-217-154-179.customer.m-online.net)
2022-07-08 21:06:58 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 21:12:28 +0200 <monochrom> Oooohhhh, is that about virtual ground and virtual open and the paradox that both are true at the same time :)
2022-07-08 21:14:02 +0200mcglk_(~mcglk@160-2-67-53.cpe.sparklight.net) (Ping timeout: 255 seconds)
2022-07-08 21:14:16 +0200Haskelytic(~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds)
2022-07-08 21:15:43 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 21:16:10 +0200 <darkling> No, it was about the thing where you feed back the output to one of the inputs and the gain magically becomes controllable.
2022-07-08 21:16:26 +0200mcglk(~mcglk@160-2-67-53.cpe.sparklight.net)
2022-07-08 21:17:55 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860)
2022-07-08 21:18:11 +0200 <Noinia> question for the people knowledgable about lenses: how do I build/adapt an 'IndexedTraversal' ? Concretely, what I'm trying to do is: given an 'myInTraversal :: IndexedTraversal Int s t a b' I want to construct an 'myOutTraversal' of the same type in which all the indices have been increased by one; i.e. something like itoListOf myInTraversal [10,20,30] normally proudces something like
2022-07-08 21:18:17 +0200 <Noinia> [(0,10),(1,20),(2,30)], I now want itoListOf myOutputTraversal [10,20,30] produce [(1,10),(2,20),(3,30)]
2022-07-08 21:20:05 +0200 <Noinia> from looking at the source of some of the things of type 'IndexedTraversal' it seems I should be able to somehow manually expand the arguments (using that type IndexedTraversal i s t a b) is really just some two parameter function, but somehow that seems more low level than I need
2022-07-08 21:21:41 +0200Topsi(~Topsi@host-88-217-154-179.customer.m-online.net) (Read error: Connection reset by peer)
2022-07-08 21:22:21 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860) (Ping timeout: 244 seconds)
2022-07-08 21:23:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 21:24:29 +0200pleo(~pleo@user/pleo)
2022-07-08 21:32:31 +0200 <Noinia> hmm I somehow figured out a way to make what I worked by explicitly using the 'conjoined' function reconstructing an inexedTraversal, but somehow that seems more clunky than necessary.
2022-07-08 21:37:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 21:39:07 +0200 <Noinia> ah, apparently there is the 'reindexed' function that one can use :)
2022-07-08 21:39:57 +0200 <Noinia> i.e. myOutputTraversal = reindexed (+1) myInputTraversal
2022-07-08 21:40:50 +0200mcglk(~mcglk@160-2-67-53.cpe.sparklight.net) (Ping timeout: 240 seconds)
2022-07-08 21:42:35 +0200mcglk(~mcglk@160-2-67-53.cpe.sparklight.net)
2022-07-08 21:44:28 +0200Topsi(~Topsi@host-88-217-154-179.customer.m-online.net)
2022-07-08 21:46:16 +0200ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2022-07-08 21:46:30 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2022-07-08 21:46:50 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-08 21:49:50 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-07-08 21:51:24 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
2022-07-08 21:52:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 21:52:50 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-08 21:53:58 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-07-08 21:55:25 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 244 seconds)
2022-07-08 21:55:26 +0200pragma-(~chaos@user/pragmatic-chaos)
2022-07-08 21:57:14 +0200dudek(~dudek@185.150.236.103)
2022-07-08 22:00:05 +0200coot_(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-07-08 22:00:10 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 240 seconds)
2022-07-08 22:00:45 +0200tessier_(~treed@98.171.210.130) (Quit: leaving)
2022-07-08 22:01:36 +0200dsrt^(~dsrt@128-092-191-146.biz.spectrum.com) (Ping timeout: 276 seconds)
2022-07-08 22:04:57 +0200Katarushisu(~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
2022-07-08 22:07:30 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-08 22:09:23 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 22:09:27 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
2022-07-08 22:09:33 +0200Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-07-08 22:12:05 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-07-08 22:15:49 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860)
2022-07-08 22:20:11 +0200nuc13u5(~nuc13u5@2601:203:400:af50:89cc:9642:c954:860) (Ping timeout: 255 seconds)
2022-07-08 22:21:46 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds)
2022-07-08 22:23:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 22:30:33 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-07-08 22:32:34 +0200030AAGH44(~cyphase@user/cyphase) (Ping timeout: 272 seconds)
2022-07-08 22:34:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:e83b:f237:c3ef:87c1) (Remote host closed the connection)
2022-07-08 22:37:12 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 22:37:23 +0200cyphase(~cyphase@user/cyphase)
2022-07-08 22:38:15 +0200dcoutts(~duncan@host-92-23-41-52.as13285.net)
2022-07-08 22:40:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 22:45:27 +0200nate4(~nate@98.45.169.16)
2022-07-08 22:51:47 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-07-08 22:52:11 +0200cosimone`(~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
2022-07-08 22:52:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-07-08 22:53:14 +0200cosimone(~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81)
2022-07-08 23:05:43 +0200unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Read error: Connection reset by peer)
2022-07-08 23:07:39 +0200coot_(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot_)
2022-07-08 23:08:15 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:bd6:dafd:ce58:5eb6) (Ping timeout: 276 seconds)
2022-07-08 23:08:26 +0200yax__(~yax__@user/yax/x-9576643)
2022-07-08 23:10:28 +0200slack1256(~slack1256@186.11.63.174)
2022-07-08 23:14:11 +0200 <slack1256> Yesterday I was asking about how to obtain the `program.prof` files that the RTS generates with the `-P` option. That is not generated when you kill a program with SIGTERM, much else when the program is inside of a docker container. I solved it by mounting a bind mount on the docker container and making it write inside the folder with the `-po` option. Then I had to terminate the program gracefully, which was done using the `async` library and the race
2022-07-08 23:14:11 +0200 <slack1256> combinator with a timeout of 15 min. I had to reproduce the hot loop in that time frame so the profiling would report what was failing. It ended up being a STM transaction where I miswrote `readTMVar` instead of `takeTMVar`, the last one being blocking. I post this just to conclude yesterday saga and thank #haskell for their wisdom diagnosting this production bug :-) .
2022-07-08 23:14:28 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 244 seconds)
2022-07-08 23:14:36 +0200jumper149(~jumper149@base.felixspringer.xyz) (Quit: WeeChat 3.5)
2022-07-08 23:15:05 +0200 <Rembane> slack1256: That's a beautiful bug! Thank you for reporting. :)
2022-07-08 23:15:51 +0200pgas(~pg@190.247.245.154) (Remote host closed the connection)
2022-07-08 23:16:03 +0200pleo(~pleo@user/pleo) (Ping timeout: 276 seconds)
2022-07-08 23:17:06 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-08 23:17:29 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-08 23:24:04 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-07-08 23:26:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-08 23:29:13 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-07-08 23:32:31 +0200pleo(~pleo@user/pleo)
2022-07-08 23:32:37 +0200jakalx(~jakalx@base.jakalx.net)
2022-07-08 23:35:10 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-07-08 23:35:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-08 23:37:31 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-08 23:41:38 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-07-08 23:44:24 +0200mima(~mmh@aftr-62-216-210-245.dynamic.mnet-online.de)
2022-07-08 23:45:10 +0200slac11860(~slack1256@191.126.227.78)
2022-07-08 23:47:10 +0200slack1256(~slack1256@186.11.63.174) (Ping timeout: 240 seconds)
2022-07-08 23:47:40 +0200califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-08 23:48:08 +0200califax(~califax@user/califx)
2022-07-08 23:48:50 +0200nate4(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-07-08 23:51:30 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-07-08 23:56:21 +0200beka(~beka@104.193.170.240) (Ping timeout: 276 seconds)
2022-07-08 23:56:34 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)