2021/09/04

2021-09-04 00:00:31 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1)
2021-09-04 00:01:59 +0200kuribas(~user@ptr-25vy0i9db35irr18tb3.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-09-04 00:03:07 +0200mestre(~mestre@191.177.175.57)
2021-09-04 00:13:49 +0200 <slack1256> Hahah I don't think so. But that would be convenient.
2021-09-04 00:14:10 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
2021-09-04 00:15:11 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
2021-09-04 00:15:11 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host)
2021-09-04 00:15:11 +0200wroathe(~wroathe@user/wroathe)
2021-09-04 00:15:18 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-09-04 00:16:26 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-09-04 00:17:11 +0200tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-09-04 00:18:28 +0200tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Remote host closed the connection)
2021-09-04 00:18:46 +0200tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-09-04 00:20:16 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 256 seconds)
2021-09-04 00:20:41 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 244 seconds)
2021-09-04 00:21:12 +0200max22-(~maxime@2a01cb08833598002548cafda19f7929.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2021-09-04 00:21:18 +0200 <bontaq> hmm I'm running into an error trying to setup side-by-side hspec tests, has anyone seen
2021-09-04 00:21:34 +0200 <bontaq> /src/Spec.hs:2:8: error:
2021-09-04 00:21:34 +0200 <bontaq> File name does not match module name:
2021-09-04 00:21:34 +0200 <bontaq> Saw: ‘Main’
2021-09-04 00:21:34 +0200 <bontaq> Expected: ‘Spec’
2021-09-04 00:21:37 +0200 <bontaq> before?
2021-09-04 00:21:48 +0200aplainze1akindaplainzetakind
2021-09-04 00:21:58 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds)
2021-09-04 00:22:47 +0200 <maerwald[m]> Yeah
2021-09-04 00:23:37 +0200 <bontaq> ez fix?
2021-09-04 00:24:18 +0200tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 244 seconds)
2021-09-04 00:32:47 +0200nfd(~nfd@user/nfd) (Remote host closed the connection)
2021-09-04 00:33:43 +0200nfd(~nfd@user/nfd)
2021-09-04 00:36:43 +0200Skyfire(~pyon@user/pyon) (Quit: WeeChat 3.2)
2021-09-04 00:37:25 +0200lavaman(~lavaman@98.38.249.169)
2021-09-04 00:38:26 +0200 <dsal> bontaq: Try not having a `module Main where` in the Spec.hs file.
2021-09-04 00:38:42 +0200michalz(~michalz@185.246.204.125) (Remote host closed the connection)
2021-09-04 00:39:04 +0200 <geekosaur> they may not have one, absence of a modue declaration implies "module Main where"
2021-09-04 00:39:24 +0200 <c_wraith> I was going to warn about that.
2021-09-04 00:39:43 +0200 <dsal> Hmm... I often have Spec.hs with no module definitions.
2021-09-04 00:40:17 +0200 <dsal> The error says line 2, which suggests it may be explicit.
2021-09-04 00:40:21 +0200 <c_wraith> you'll only get that error if something is trying to import Spec and ghc finds Spec.hs and assume it's going to have the right module
2021-09-04 00:40:43 +0200 <dsal> I see. So, more info needed.
2021-09-04 00:41:40 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-09-04 00:43:53 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-09-04 00:46:47 +0200turlando(~turlando@user/turlando) (Remote host closed the connection)
2021-09-04 00:49:14 +0200benin0369323(~benin@183.82.179.90)
2021-09-04 00:51:08 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-09-04 00:51:08 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2021-09-04 00:51:08 +0200turlando(~turlando@user/turlando)
2021-09-04 00:53:34 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-09-04 00:57:04 +0200turlando(~turlando@user/turlando) (Remote host closed the connection)
2021-09-04 00:58:16 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2021-09-04 00:58:55 +0200nfd(~nfd@user/nfd) (Remote host closed the connection)
2021-09-04 01:01:18 +0200 <monochrom> More actual code and actual files are always needed.
2021-09-04 01:01:44 +0200 <monochrom> verbatim unabridged complete
2021-09-04 01:02:46 +0200 <hpc> https://img.libquotes.com/pic-quotes/v2/arthur-conan-doyle-quote-lbp9a7g.jpg
2021-09-04 01:03:15 +0200 <phaazon> sometimes I feel like I would love to have PureScript’s section / lambda shortcut notation in Haskell :)
2021-09-04 01:04:00 +0200 <monochrom> What does it look like?
2021-09-04 01:04:04 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-09-04 01:08:11 +0200 <bontaq> lol dsal
2021-09-04 01:09:06 +0200nfd(~nfd@user/nfd)
2021-09-04 01:09:11 +0200 <bontaq> I think it's my unfamilitary with hpack messing stuff up tbh, I never ran into this before
2021-09-04 01:09:31 +0200nfd_(~nfd@user/nfd)
2021-09-04 01:09:42 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection)
2021-09-04 01:12:58 +0200 <phaazon> monochrom: I have an example, wait
2021-09-04 01:13:08 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1)
2021-09-04 01:13:22 +0200 <phaazon> monochrom: https://twitter.com/phaazon_/status/1431605994463842304
2021-09-04 01:13:30 +0200 <phaazon> so basicalyl, they use _ as a placeholder for \a
2021-09-04 01:13:42 +0200 <phaazon> but if you use more _ in an expression, it increments the arity of the function
2021-09-04 01:13:49 +0200 <phaazon> so _ + _ is basically \a b -> a + b
2021-09-04 01:14:05 +0200 <phaazon> it unlocks so cool things, like the applicative expression in my tweet
2021-09-04 01:14:14 +0200 <phaazon> or case _ of, removing the need of Lambdacase
2021-09-04 01:14:18 +0200 <phaazon> LambdaCase*
2021-09-04 01:14:33 +0200Gurkenglas(~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Read error: Connection reset by peer)
2021-09-04 01:15:12 +0200 <phaazon> so here basically { location: _, history: _, emptyForeign: _ } is the same as \l h e -> location: l, history: h, emptyForeign: e
2021-09-04 01:15:37 +0200 <phaazon> it’s pretty fun to map over functors of records, too
2021-09-04 01:15:40 +0200 <phaazon> map _.theFild
2021-09-04 01:15:42 +0200 <phaazon> <3
2021-09-04 01:20:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 01:22:10 +0200jespada(~jespada@90.254.245.194) (Ping timeout: 244 seconds)
2021-09-04 01:23:39 +0200turlando(~turlando@user/turlando)
2021-09-04 01:24:10 +0200 <hpc> in agda you define operators that way, or even combinations of operators
2021-09-04 01:24:40 +0200acidjnk_new3(~acidjnk@p200300d0c7203066b4100de8298a9571.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-09-04 01:25:17 +0200 <hpc> Σ[_:_]_ for instance
2021-09-04 01:25:41 +0200 <hpc> and to use it, Σ[ l : Nat ] Vec l Boolean
2021-09-04 01:25:43 +0200jespada(~jespada@90.254.245.194)
2021-09-04 01:25:58 +0200 <hpc> (plus or minus the actual names for things)
2021-09-04 01:26:48 +0200pragma-(~chaos@user/pragmatic-chaos) (Quit: Bye!)
2021-09-04 01:26:49 +0200turlando(~turlando@user/turlando) (Remote host closed the connection)
2021-09-04 01:33:36 +0200pragma-(~chaos@user/pragmatic-chaos)
2021-09-04 01:36:37 +0200nfd(~nfd@user/nfd) (Killed (NickServ (GHOST command used by nfd_)))
2021-09-04 01:37:00 +0200nfd_nfd
2021-09-04 01:39:17 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection)
2021-09-04 01:41:58 +0200kawpuh(~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net)
2021-09-04 01:46:27 +0200iqubic(~user@2601:602:9502:c70:af68:e4d7:d422:2ae6)
2021-09-04 01:47:29 +0200alx741(~alx741@186.178.108.137)
2021-09-04 01:48:00 +0200 <iqubic> Is there some clever reason that Data.Tree from containers doesn't have a function "foldTreeM :: Monad m => (a -> [b] -> m b) -> b -> m b"?
2021-09-04 01:49:11 +0200turlando(~turlando@user/turlando)
2021-09-04 01:49:16 +0200 <iqubic> It doesn't seem all that hard to write.
2021-09-04 01:51:34 +0200 <nfd> iqubic: i was expecting to see a "Tree" somewhere in that signature
2021-09-04 01:51:43 +0200 <iqubic> Yeah. My bad.
2021-09-04 01:52:00 +0200 <hololeap_> is there anything for embedding haskell into a text file? I want to have a text template with various placeholders that will be replaced by Text or String values
2021-09-04 01:52:11 +0200hololeap_hololeap
2021-09-04 01:52:29 +0200 <iqubic> "foldTreeM :: Monad m => (a -> [b] -> m b) -> Tree a -> m b" is what I'd like to have.
2021-09-04 01:52:36 +0200turlando(~turlando@user/turlando) (Remote host closed the connection)
2021-09-04 01:53:08 +0200 <iqubic> Why is that not present in the module?
2021-09-04 01:54:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-09-04 01:55:24 +0200 <hololeap> iqubic: are you sure that's the type signature you want?
2021-09-04 01:55:30 +0200 <iqubic> I am sure.
2021-09-04 01:55:38 +0200 <iqubic> Why do you think I don't actually want that?
2021-09-04 01:56:03 +0200 <kaol> I'm thinking of that "result of applying f to each subForest" part. If your proposed function's return type is m b then how can you get a list of [b] by applying f to subForests?
2021-09-04 01:56:37 +0200 <iqubic> kaol: use traverse.
2021-09-04 01:58:02 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-09-04 01:58:29 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-09-04 01:58:49 +0200chisui(~chisui@200116b8681f2700339b8e78de8fcf37.dip.versatel-1u1.de) (Ping timeout: 256 seconds)
2021-09-04 02:00:03 +0200pragma-(~chaos@user/pragmatic-chaos) (*.net *.split)
2021-09-04 02:00:03 +0200nfd(~nfd@user/nfd) (*.net *.split)
2021-09-04 02:00:03 +0200justsomeguy(~justsomeg@user/justsomeguy) (*.net *.split)
2021-09-04 02:00:03 +0200benin0369323(~benin@183.82.179.90) (*.net *.split)
2021-09-04 02:00:03 +0200ArctVaulMarsHMPJ(~pjetcetal@128-71-152-79.broadband.corbina.ru) (*.net *.split)
2021-09-04 02:00:03 +0200slack1256(~slack1256@ip-64-134-164-2.public.wayport.net) (*.net *.split)
2021-09-04 02:00:03 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (*.net *.split)
2021-09-04 02:00:03 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split)
2021-09-04 02:00:03 +0200nurupo(~nurupo.ga@user/nurupo) (*.net *.split)
2021-09-04 02:00:03 +0200favonia(~favonia@user/favonia) (*.net *.split)
2021-09-04 02:00:03 +0200aegon(~mike@174.127.249.180) (*.net *.split)
2021-09-04 02:00:03 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (*.net *.split)
2021-09-04 02:00:03 +0200slowButPresent(~slowButPr@user/slowbutpresent) (*.net *.split)
2021-09-04 02:00:03 +0200ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com) (*.net *.split)
2021-09-04 02:00:03 +0200otto_s(~user@p5de2f91c.dip0.t-ipconnect.de) (*.net *.split)
2021-09-04 02:00:03 +0200td_(~td@muedsl-82-207-238-018.citykom.de) (*.net *.split)
2021-09-04 02:00:03 +0200maerwald(~maerwald@user/maerwald) (*.net *.split)
2021-09-04 02:00:03 +0200obfusk(~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split)
2021-09-04 02:00:03 +0200sim590(~simon@modemcable090.207-203-24.mc.videotron.ca) (*.net *.split)
2021-09-04 02:00:03 +0200stampirl(~stampirl@195-154-112-77.rev.poneytelecom.eu) (*.net *.split)
2021-09-04 02:00:03 +0200micro(~micro@user/micro) (*.net *.split)
2021-09-04 02:00:03 +0200gentauro(~gentauro@user/gentauro) (*.net *.split)
2021-09-04 02:00:03 +0200AlexZenon(~alzenon@178.34.151.114) (*.net *.split)
2021-09-04 02:00:03 +0200ishutin_(~ishutin@92-249-150-146.static.digikabel.hu) (*.net *.split)
2021-09-04 02:00:03 +0200edwtjo(~edwtjo@user/edwtjo) (*.net *.split)
2021-09-04 02:00:03 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (*.net *.split)
2021-09-04 02:00:03 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (*.net *.split)
2021-09-04 02:00:03 +0200son0p(~ff@181.136.122.143) (*.net *.split)
2021-09-04 02:00:03 +0200sus(zero@user/zeromomentum) (*.net *.split)
2021-09-04 02:00:03 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be) (*.net *.split)
2021-09-04 02:00:03 +0200fjmorazan(~quassel@user/fjmorazan) (*.net *.split)
2021-09-04 02:00:03 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (*.net *.split)
2021-09-04 02:00:03 +0200rembo10(~rembo10@wally.codeshy.com) (*.net *.split)
2021-09-04 02:00:03 +0200tdammers(~tdammers@77.109.72.213.res.static.edpnet.net) (*.net *.split)
2021-09-04 02:00:10 +0200micro(~micro@user/micro)
2021-09-04 02:00:10 +0200ishutin(~ishutin@92-249-150-146.static.digikabel.hu)
2021-09-04 02:00:10 +0200otto_s(~user@p5de2f91c.dip0.t-ipconnect.de)
2021-09-04 02:00:11 +0200aegon(~mike@174.127.249.180)
2021-09-04 02:00:16 +0200fjmorazan(~quassel@user/fjmorazan)
2021-09-04 02:00:17 +0200gentauro(~gentauro@185.107.12.141)
2021-09-04 02:00:18 +0200gentauro(~gentauro@185.107.12.141) (Changing host)
2021-09-04 02:00:18 +0200gentauro(~gentauro@user/gentauro)
2021-09-04 02:00:19 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-09-04 02:00:20 +0200rembo10(~rembo10@wally.codeshy.com)
2021-09-04 02:00:20 +0200obfusk(~quassel@a82-161-150-56.adsl.xs4all.nl)
2021-09-04 02:00:20 +0200tdammers(~tdammers@77.109.72.213.res.static.edpnet.net)
2021-09-04 02:00:22 +0200sus(zero@user/zeromomentum)
2021-09-04 02:00:25 +0200sim590(~simon@modemcable090.207-203-24.mc.videotron.ca)
2021-09-04 02:00:25 +0200AlexZenon(~alzenon@178.34.151.114)
2021-09-04 02:00:26 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2021-09-04 02:00:26 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-09-04 02:00:36 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de)
2021-09-04 02:00:36 +0200ArctVaulMarsHMPJ(~pjetcetal@128-71-152-79.broadband.corbina.ru)
2021-09-04 02:00:40 +0200justsomeguy(~justsomeg@24.96.241.90)
2021-09-04 02:00:40 +0200edwtjo(~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se)
2021-09-04 02:00:40 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-09-04 02:00:40 +0200nfd(~nfd@user/nfd)
2021-09-04 02:00:43 +0200ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com)
2021-09-04 02:00:45 +0200stampirl(~stampirl@195-154-112-77.rev.poneytelecom.eu)
2021-09-04 02:01:02 +0200maerwald(~maerwald@mail.hasufell.de)
2021-09-04 02:01:14 +0200edwtjo(~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host)
2021-09-04 02:01:14 +0200edwtjo(~edwtjo@user/edwtjo)
2021-09-04 02:01:26 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be)
2021-09-04 02:01:51 +0200favonia(~favonia@user/favonia)
2021-09-04 02:02:08 +0200pragma-(~chaos@user/pragmatic-chaos)
2021-09-04 02:02:12 +0200nurupo(~nurupo.ga@user/nurupo)
2021-09-04 02:02:30 +0200 <hololeap> iqubic: I suppose I didn't understand at first, but it makes sense
2021-09-04 02:02:53 +0200 <iqubic> It's a way to do folds but also have monadic effect.
2021-09-04 02:03:02 +0200 <nfd> :t flip $ traverse liftM foldTree
2021-09-04 02:03:03 +0200 <lambdabot> (Traversable ((->) (a -> [r] -> r)), Monad m) => (a -> [r] -> r) -> m (Tree a) -> m r
2021-09-04 02:03:09 +0200 <nfd> pretty close
2021-09-04 02:03:10 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-09-04 02:04:02 +0200 <iqubic> Like, if I want to thread some state through the fold, or if I want to use a writer to log intermediate results or do IO or what have you.
2021-09-04 02:05:15 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-09-04 02:05:16 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2021-09-04 02:05:16 +0200td_(~td@muedsl-82-207-238-018.citykom.de)
2021-09-04 02:07:26 +0200 <iqubic> nfd: I'm not sure what that's doing, but I'm not sure it's doing what I want.
2021-09-04 02:09:04 +0200 <nfd> probably would make more sense to start with the definition of foldTree
2021-09-04 02:09:47 +0200 <iqubic> I'm planning on doing that.
2021-09-04 02:10:12 +0200 <iqubic> Just as soon as I finish compiling the latest version of the Haskell Language Server.
2021-09-04 02:10:17 +0200TranquilEcho(~grom@user/tranquilecho) (Quit: WeeChat 2.8)
2021-09-04 02:10:43 +0200 <aegon> maaaaan, haskell just blows my mind, its so good compared to all the oop junk i've been fed. it's probably the only language where the more i learn the more i'm into it. (exceptions and monad transformer costs seem rough though)
2021-09-04 02:11:03 +0200 <aegon> i really hope linear types help stabilize performance analysis concerns
2021-09-04 02:11:34 +0200 <aegon> but it seems linear types have a history of being in the spotlight then falling from grace, anyone here up to offer some perspective on that?
2021-09-04 02:11:45 +0200 <iqubic> aegon: exceptions and monad transformers are fine, really, once you learn them.
2021-09-04 02:12:16 +0200 <aegon> iqubic: i'm starting to grokk them, but theres a big cost to them (going up and down the stack) from what i can tell
2021-09-04 02:12:30 +0200 <aegon> iqubic: the compiler is not too great at composing transformer stacks
2021-09-04 02:12:57 +0200 <iqubic> I think that the way the mtl library deals with it is really good.
2021-09-04 02:12:59 +0200 <aegon> also its unfortunate that the monad is so powerful but also forces sequential evaluation
2021-09-04 02:13:18 +0200 <aegon> afik
2021-09-04 02:13:24 +0200 <hololeap> aegon: depending on what you mean, there isn't a general way to compose monad transformers
2021-09-04 02:13:37 +0200 <nfd> that's why you should use weaker structures than monads whenever it's reasonable to do so
2021-09-04 02:13:47 +0200 <nfd> sometimes you just need Functor or Applicative powers
2021-09-04 02:13:56 +0200 <hololeap> Applicatives are always composable
2021-09-04 02:14:23 +0200 <nfd> (re: monads forcing sequential eval)
2021-09-04 02:15:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-09-04 02:15:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-09-04 02:15:14 +0200wroathe(~wroathe@user/wroathe)
2021-09-04 02:15:15 +0200 <nfd> there's the cheat where because Monads Describe DSLs you could have a monad that internally causes effects in another order
2021-09-04 02:15:40 +0200 <hololeap> commutative monads don't force sequential evaluation
2021-09-04 02:16:12 +0200 <aegon> I've moved more toward applicative syntax. I really want some assurances on elision of interrum representations when possible though. Fwiw i think arrow syntax is about this capability in a monadic land, but linear types seem to be the best way to reasona about what intermediary state will be elided from the compiler from a programmers perspective
2021-09-04 02:16:52 +0200 <aegon> hololeap: nfd: so is there a way to form a parallelizable monad? wouldn't that be a differen class altogether or at least uncaptured at the type level
2021-09-04 02:17:10 +0200 <nfd> yeah, the argument seemed more like "monads introduce additional data dependencies versus other structures so you have to do more work to know you're working nonsequentially"
2021-09-04 02:17:33 +0200 <hololeap> aegon: this is really trivial, but Identity is a monad
2021-09-04 02:18:29 +0200machinedgod(~machinedg@24.105.81.50)
2021-09-04 02:18:51 +0200 <hololeap> so you can't broadly claim that a monad gives you any sort of restrictions
2021-09-04 02:19:24 +0200 <nfd> you can universally claim that not all monads are strong, at least
2021-09-04 02:19:25 +0200 <aegon> ok, in reality though it oft forses sequenced evaluation
2021-09-04 02:19:58 +0200 <nfd> and that it probably takes effort to make some types of computation into strong monads, including possibly through Cheating
2021-09-04 02:20:31 +0200 <aegon> and even in nice cases where we'd want short circuiting when things go south (either, maybe) it does not no-op those without contT which is a non-trivial trade-off
2021-09-04 02:21:12 +0200 <aegon> is there a class that represents state that can be composed in paralell in haskell today?
2021-09-04 02:22:25 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2021-09-04 02:23:03 +0200 <kaol> :t foldTree (\a -> sequence >=> f a)
2021-09-04 02:23:04 +0200 <lambdabot> (Monad m, Show t, Show a, FromExpr (m a)) => Tree t -> m a
2021-09-04 02:23:35 +0200 <kaol> :t \f -> foldTree (\a -> sequence >=> f a)
2021-09-04 02:23:36 +0200 <lambdabot> Monad m => (t -> [a] -> m a) -> Tree t -> m a
2021-09-04 02:24:09 +0200 <iqubic> kaol: How the heck did you come up with that?
2021-09-04 02:24:24 +0200 <geekosaur> aegon, not specifically, but Applicative and Arrow (without ArrowApply iirc)
2021-09-04 02:25:40 +0200kawpuh(~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Quit: Client closed)
2021-09-04 02:28:22 +0200 <kaol> foldTree with m b was already close, (a -> [m b] -> m b) -> Tree a -> m b. What I did was to use sequence to turn [m b] to m [b] and bind to strip that m to get plain [b] so that I could use the supplied f of type (a -> [b] -> m b). And I turned the bind to a kleisli since the xs I had floating around was only passed to the next thing.
2021-09-04 02:31:28 +0200 <iqubic> Ah. That makes a lot of sense.
2021-09-04 02:42:13 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-09-04 02:50:16 +0200 <aegon> geekosaur: its unfortunate, I have a math I'd like to express in haskell that actually has no ordering but also has state
2021-09-04 02:50:35 +0200 <aegon> its frustrating that there is no real syntatic dialogue i can evoke to represent it
2021-09-04 02:51:01 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds)
2021-09-04 02:51:25 +0200kawpuh(~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net)
2021-09-04 02:52:56 +0200 <hololeap> @hoogle Par
2021-09-04 02:52:56 +0200 <lambdabot> module Control.Monad.Par
2021-09-04 02:52:56 +0200 <lambdabot> Control.Monad.Par data Par a
2021-09-04 02:52:56 +0200 <lambdabot> Control.Monad.Par.Scheds.Direct data Par a
2021-09-04 02:53:11 +0200 <hololeap> aegon: can it be expressed using that?
2021-09-04 02:53:26 +0200 <hololeap> https://hackage.haskell.org/package/monad-par-0.3.5/docs/Control-Monad-Par.html
2021-09-04 02:54:06 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-09-04 02:56:47 +0200alx741(~alx741@186.178.108.137) (Ping timeout: 245 seconds)
2021-09-04 03:08:00 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-09-04 03:08:52 +0200aliosablack(~chomwitt@ppp-94-69-12-184.home.otenet.gr) (Ping timeout: 245 seconds)
2021-09-04 03:09:49 +0200alx741(~alx741@181.196.69.46)
2021-09-04 03:12:43 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-09-04 03:13:50 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-09-04 03:14:20 +0200Everything(~Everythin@37.115.210.35)
2021-09-04 03:14:58 +0200neurocyte3(~neurocyte@212.232.84.61)
2021-09-04 03:14:58 +0200neurocyte3(~neurocyte@212.232.84.61) (Changing host)
2021-09-04 03:14:58 +0200neurocyte3(~neurocyte@user/neurocyte)
2021-09-04 03:17:25 +0200neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
2021-09-04 03:17:25 +0200neurocyte3neurocyte
2021-09-04 03:19:28 +0200xsperry(~as@user/xsperry) (Remote host closed the connection)
2021-09-04 03:23:21 +0200sagax(~sagax_nb@user/sagax)
2021-09-04 03:26:51 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-09-04 03:31:10 +0200xff0x(~xff0x@2001:1a81:5362:1000:c47d:ed82:441b:712b) (Ping timeout: 252 seconds)
2021-09-04 03:32:53 +0200xff0x(~xff0x@2001:1a81:5399:4e00:f397:598c:9bde:b2ba)
2021-09-04 03:38:48 +0200 <cdsmith> Is there an easy way to see the optimized core when building with cabal rather than GHC directly?
2021-09-04 03:38:57 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-09-04 03:39:37 +0200amk(~amk@109.255.169.126) (Ping timeout: 245 seconds)
2021-09-04 03:39:47 +0200Xnuk(~xnuk@vultr.xnu.kr) (Ping timeout: 240 seconds)
2021-09-04 03:40:05 +0200Xnuk(~xnuk@45.76.202.58)
2021-09-04 03:41:56 +0200 <cdsmith> (Basically, I want to tell cabal to pass -ddump-simpl and -dsuppres-all to GHC, then give me a log of the results)
2021-09-04 03:41:57 +0200amk(~amk@109.255.169.126)
2021-09-04 03:42:40 +0200justsomeguy(~justsomeg@24.96.241.90) (Quit: WeeChat 3.2)
2021-09-04 03:44:12 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-09-04 03:47:11 +0200 <geekosaur> ghc-options: to pass the parameters. cabal already passes -ddump-to-file so then you have to find the .dump-simpl file
2021-09-04 03:48:48 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
2021-09-04 03:49:04 +0200Everything(~Everythin@37.115.210.35) ()
2021-09-04 03:49:24 +0200zmt01(~zmt00@user/zmt00)
2021-09-04 03:49:48 +0200 <hololeap> is there anything for embedding haskell into a text file? I want to have a text template with various placeholders that will be replaced by Text or String values
2021-09-04 03:50:42 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-09-04 03:51:27 +0200 <geekosaur> (somewhere under dist-newstyle iirc)
2021-09-04 03:51:28 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-09-04 03:51:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 03:53:11 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 250 seconds)
2021-09-04 03:54:09 +0200xsperry(~as@cpe-188-129-103-235.dynamic.amis.hr)
2021-09-04 03:54:09 +0200xsperry(~as@cpe-188-129-103-235.dynamic.amis.hr) (Changing host)
2021-09-04 03:54:09 +0200xsperry(~as@user/xsperry)
2021-09-04 03:56:45 +0200favonia(~favonia@user/favonia)
2021-09-04 04:01:47 +0200carter(sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-09-04 04:02:07 +0200jackdk(sid373013@cssa/jackdk) (Ping timeout: 240 seconds)
2021-09-04 04:02:17 +0200jackdk(sid373013@cssa/jackdk)
2021-09-04 04:02:24 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 256 seconds)
2021-09-04 04:02:27 +0200truckasaurus(sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-09-04 04:02:27 +0200conjunctive(sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-09-04 04:02:27 +0200tnks(sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-09-04 04:02:27 +0200parisienne(sid383587@id-383587.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-09-04 04:02:27 +0200parseval(sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-09-04 04:02:58 +0200tnks(sid412124@id-412124.helmsley.irccloud.com)
2021-09-04 04:03:07 +0200sa(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 240 seconds)
2021-09-04 04:03:07 +0200lightandlight(sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-09-04 04:03:10 +0200parseval(sid239098@helmsley.irccloud.com)
2021-09-04 04:04:41 +0200parisienne(sid383587@id-383587.helmsley.irccloud.com)
2021-09-04 04:04:45 +0200carter(sid14827@id-14827.helmsley.irccloud.com)
2021-09-04 04:04:46 +0200conjunctive(sid433686@id-433686.helmsley.irccloud.com)
2021-09-04 04:04:51 +0200truckasaurus(sid457088@id-457088.helmsley.irccloud.com)
2021-09-04 04:05:06 +0200lightandlight(sid135476@id-135476.helmsley.irccloud.com)
2021-09-04 04:05:55 +0200sa(sid1055@id-1055.tinside.irccloud.com)
2021-09-04 04:09:21 +0200alx741(~alx741@181.196.69.46) (Quit: alx741)
2021-09-04 04:11:05 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection)
2021-09-04 04:11:18 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 04:11:19 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds)
2021-09-04 04:12:06 +0200justsomeguy(~justsomeg@user/justsomeguy) (WeeChat 3.2)
2021-09-04 04:12:36 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection)
2021-09-04 04:12:59 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-09-04 04:18:38 +0200hexfive(~eric@50.35.83.177)
2021-09-04 04:20:32 +0200td_(~td@muedsl-82-207-238-018.citykom.de) (Ping timeout: 245 seconds)
2021-09-04 04:22:38 +0200td_(~td@94.134.91.73)
2021-09-04 04:23:04 +0200hexfive(~eric@50.35.83.177) (Client Quit)
2021-09-04 04:25:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-09-04 04:33:00 +0200cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2021-09-04 04:34:57 +0200perro(~user@072-191-245-069.res.spectrum.com)
2021-09-04 04:36:33 +0200 <perro> https://hackage.haskell.org/package/lens-tutorial-1.0.4/docs/Control-Lens-Tutorial.html
2021-09-04 04:37:33 +0200 <perro> I'm following this tutorial and when I try to do the equivalent of (point . x) and it tells me that point is not a variable in scope
2021-09-04 04:38:12 +0200 <perro> I started with microlens, looked at a variety of tutorials, some import the TH module, some don't some use $() and some don't for makeLenses
2021-09-04 04:38:49 +0200lavaman(~lavaman@98.38.249.169)
2021-09-04 04:38:58 +0200 <perro> at a loss as to what the problem is (sorry if this isn't enough info) but it's exasperating for a new user (I realize that lenses are higher level)
2021-09-04 04:41:10 +0200 <perro> I guess I don't need to generate them
2021-09-04 04:42:11 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-09-04 04:42:45 +0200 <c_wraith> perro: $(...) is a template haskell splice. They're optional for top-level declarations, which lenses are
2021-09-04 04:43:01 +0200 <c_wraith> ... I really wish they weren't optional. It doesn't improve anything to leave them out.
2021-09-04 04:43:17 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-09-04 04:43:23 +0200 <perro> ok, good to know
2021-09-04 04:44:06 +0200 <c_wraith> But I don't like to use template haskell to generate lenses anyway. It feels like putting a ball and chain on the compiler.
2021-09-04 04:45:22 +0200 <perro> also, good to know, I was leaning towards that. thanks
2021-09-04 04:48:22 +0200cheater(~Username@user/cheater)
2021-09-04 04:49:53 +0200thyriaen(~thyriaen@dynamic-077-011-107-153.77.11.pool.telefonica.de)
2021-09-04 04:51:46 +0200vs^(~vs@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection)
2021-09-04 04:54:13 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-09-04 04:54:46 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-09-04 04:55:08 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-09-04 04:56:39 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-09-04 04:58:35 +0200 <cdsmith> geekosaur: Thanks, that did it, although I got the output on stderr rather than in a log. But it solved my problem.
2021-09-04 04:59:17 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2021-09-04 04:59:41 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net)
2021-09-04 05:05:20 +0200otto_s_(~user@p4ff2722c.dip0.t-ipconnect.de)
2021-09-04 05:07:10 +0200 <perro> (I was not using the lenses properly)
2021-09-04 05:08:40 +0200otto_s(~user@p5de2f91c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-09-04 05:10:48 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-09-04 05:11:17 +0200sedeki(~textual@user/sedeki)
2021-09-04 05:19:54 +0200zaquest(~notzaques@5.128.210.178) (Read error: Connection reset by peer)
2021-09-04 05:19:56 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-09-04 05:20:41 +0200jakalx(~jakalx@base.jakalx.net)
2021-09-04 05:22:45 +0200zaquest(~notzaques@5.128.210.178)
2021-09-04 05:27:56 +0200sedeki(~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
2021-09-04 05:28:34 +0200Guest|17(~Guest|17@188.243.182.248)
2021-09-04 05:31:00 +0200Guest|17(~Guest|17@188.243.182.248) (Client Quit)
2021-09-04 05:31:13 +0200kimjetwav(~user@2607:fea8:235f:9730:eb91:4ced:41eb:8545) (Remote host closed the connection)
2021-09-04 05:37:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-09-04 05:38:59 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-09-04 05:40:15 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-09-04 05:47:40 +0200goepsilongo(~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-09-04 05:47:40 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-09-04 05:51:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-09-04 05:53:19 +0200notzmv(~zmv@user/notzmv)
2021-09-04 06:04:37 +0200Nahra(~user@static.161.95.99.88.clients.your-server.de) (Ping timeout: 252 seconds)
2021-09-04 06:09:32 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-09-04 06:11:59 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-09-04 06:21:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 06:30:57 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-09-04 06:31:05 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-09-04 06:31:23 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 06:37:03 +0200aarvar(~aaron@2601:602:a080:fa0:c4c5:6191:b71c:585d)
2021-09-04 06:42:36 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-09-04 06:47:39 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-09-04 06:54:12 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-09-04 06:55:21 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 06:55:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-09-04 06:55:56 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-09-04 07:00:43 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2021-09-04 07:06:13 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-09-04 07:06:30 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 07:07:21 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-09-04 07:08:31 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-09-04 07:19:09 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-09-04 07:25:47 +0200aman(~aman@user/aman)
2021-09-04 07:30:13 +0200mei(~mei@user/mei)
2021-09-04 07:32:18 +0200lavaman(~lavaman@98.38.249.169)
2021-09-04 07:36:36 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-09-04 07:41:06 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-09-04 07:43:54 +0200hendursaga(~weechat@user/hendursaga)
2021-09-04 07:51:40 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-09-04 08:02:19 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2021-09-04 08:07:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-09-04 08:08:20 +0200Gurkenglas(~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de)
2021-09-04 08:08:50 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-09-04 08:08:50 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-09-04 08:08:50 +0200wroathe(~wroathe@user/wroathe)
2021-09-04 08:09:18 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt)
2021-09-04 08:10:16 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-09-04 08:13:19 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-09-04 08:13:52 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 252 seconds)
2021-09-04 08:31:41 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-09-04 08:43:48 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-09-04 08:47:40 +0200zaquest(~notzaques@5.128.210.178)
2021-09-04 08:49:20 +0200leplep-
2021-09-04 08:52:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 09:01:43 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-09-04 09:03:19 +0200wonko(~wjc@62.115.229.50)
2021-09-04 09:10:57 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-09-04 09:11:40 +0200hyiltiz(~quassel@31.220.5.250)
2021-09-04 09:11:53 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-09-04 09:17:29 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-09-04 09:20:18 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds)
2021-09-04 09:20:35 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 09:26:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-09-04 09:28:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-09-04 09:30:21 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-09-04 09:30:33 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-09-04 09:32:25 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 09:40:34 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-09-04 09:54:28 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection)
2021-09-04 10:00:21 +0200max22-(~maxime@2a01cb08833598008853a45d5c3fcd90.ipv6.abo.wanadoo.fr)
2021-09-04 10:00:33 +0200gehmehgeh(~user@user/gehmehgeh)
2021-09-04 10:01:45 +0200Pickchea(~private@user/pickchea)
2021-09-04 10:03:52 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2021-09-04 10:06:48 +0200hendursa1(~weechat@user/hendursaga)
2021-09-04 10:10:36 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-09-04 10:10:38 +0200 <Gurkenglas> I *want* to say "all the equations you can build from fmap, pure, composition and join are true so long as the types match", but it doesn't *quite* work: fmap pure isn't pure. Does it work if I say that the types have to match *precisely*?
2021-09-04 10:17:44 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-09-04 10:17:44 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-09-04 10:17:47 +0200allbery_bgeekosaur
2021-09-04 10:24:13 +0200acidjnk_new3(~acidjnk@p200300d0c7203066b4100de8298a9571.dip0.t-ipconnect.de)
2021-09-04 10:25:23 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-09-04 10:27:17 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-09-04 10:29:25 +0200MQ-17J(~MQ-17J@8.21.10.6)
2021-09-04 10:29:57 +0200AndrewAhkilKumar
2021-09-04 10:30:26 +0200AhkilKumarAndrew
2021-09-04 10:32:11 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 10:38:17 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-09-04 10:43:54 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-09-04 10:50:24 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2021-09-04 10:55:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5)
2021-09-04 10:57:22 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-09-04 10:58:34 +0200rembo10(~rembo10@wally.codeshy.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-09-04 10:59:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 240 seconds)
2021-09-04 10:59:50 +0200rembo10(~rembo10@wally.codeshy.com)
2021-09-04 11:00:47 +0200wei2912(~wei2912@112.199.250.21)
2021-09-04 11:09:27 +0200Teacup(~teacup@user/teacup) (Ping timeout: 240 seconds)
2021-09-04 11:11:36 +0200Nahra(~user@static.161.95.99.88.clients.your-server.de)
2021-09-04 11:13:55 +0200Teacup(~teacup@user/teacup)
2021-09-04 11:16:07 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2021-09-04 11:19:22 +0200 <int-e> :t join . pure . fmap (join . pure) . fmap (fmap (join . pure))
2021-09-04 11:19:23 +0200 <lambdabot> (Monad m1, Monad m2, Monad m3) => m1 (m2 (m3 a)) -> m1 (m2 (m3 a))
2021-09-04 11:20:08 +0200 <int-e> Gurkenglas: you can compose with a stupid identity like that one to narrow down the type.
2021-09-04 11:21:47 +0200 <int-e> I mean, with `cast = <the above>`, `cast . pure` and `cast . fmap pure` have the same principal type.
2021-09-04 11:22:37 +0200 <Gurkenglas> Dangit! "all equations are true" is too beautiful to be wrong, what's the error?
2021-09-04 11:22:51 +0200kuribas(~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be)
2021-09-04 11:23:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 11:23:22 +0200 <kuribas> Is Data.Data used by anyone?
2021-09-04 11:23:28 +0200 <kuribas> The ability to fold generically looks useful, but the types look a bit clumsy...
2021-09-04 11:25:04 +0200 <int-e> kuribas: it's just barebones; it's the basis for `syb` which adds more useful combinators
2021-09-04 11:26:15 +0200 <kuribas> it just looks like it supports only monomorphic operations...
2021-09-04 11:31:13 +0200 <Gurkenglas> Might it be precisely: All equations you can build from fmap, pure composition and join where the type of both sides has form "forall a. _ -> m a" are true?
2021-09-04 11:32:38 +0200 <kuribas> https://hackage.haskell.org/package/syb-0.7.2.1/docs/Data-Generics-Aliases.html
2021-09-04 11:32:46 +0200 <kuribas> Does this mean I can compose operations over fields?
2021-09-04 11:33:06 +0200 <kuribas> That looks pretty powerful :)
2021-09-04 11:33:35 +0200 <Gurkenglas> :t castgurk . pure -- int-e, they don't have the same type! :P
2021-09-04 11:33:37 +0200 <lambdabot> (Monad m1, Monad m2, Monad m3) => m2 (m3 a) -> m1 (m2 (m3 a))
2021-09-04 11:33:39 +0200 <Gurkenglas> :t castgurk . fmap pure
2021-09-04 11:33:41 +0200 <lambdabot> (Monad m1, Monad m2, Monad m3) => m1 (m3 a) -> m1 (m2 (m3 a))
2021-09-04 11:33:59 +0200lavaman(~lavaman@98.38.249.169)
2021-09-04 11:34:06 +0200striven(~striven@user/striven)
2021-09-04 11:35:46 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-09-04 11:36:39 +0200 <kuribas> Doesn't syb has a fatal flaw, it cannot fail at compile time?
2021-09-04 11:36:52 +0200 <kuribas> Like, I want to define operations which only work over a subset of types.
2021-09-04 11:37:03 +0200 <kuribas> using a type class constraint for example.
2021-09-04 11:37:55 +0200chomwitt(~chomwitt@ppp-94-69-12-184.home.otenet.gr)
2021-09-04 11:38:27 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-09-04 11:40:53 +0200 <Gurkenglas> although it would seem that join . pure == id is also ruled out by my rule...
2021-09-04 11:41:44 +0200 <maralorn> I have an issue with shake `cmd "foo"`. I run "foo" with it. I see it’s output. It prompts me for input. So I change the command to `cmd InheritStdin "foo"`. I still see foo in the process list, but I don‘t get any output anymore.
2021-09-04 11:42:04 +0200 <Gurkenglas> yeah, it's more probably "all ways of arriving at exactly one layer of m are the same" :/.
2021-09-04 11:42:37 +0200striven(~striven@user/striven) (Ping timeout: 245 seconds)
2021-09-04 11:43:04 +0200 <int-e> kuribas: Hmm, you mean I can write code that traverses a structure looking for something that we statically know cannot be there? I guess that's a flaw... not sure how fatal it really is.
2021-09-04 11:43:05 +0200 <Gurkenglas> *maybe* i can get to monad without listing laws by saying "a monad is an X that's also a Y" where X and/or Y say "all equations hold"...
2021-09-04 11:43:55 +0200 <kuribas> int-e: I am more interested in traversing the structure where I know every value is an instance of some typeclass.
2021-09-04 11:44:29 +0200 <int-e> kuribas: In any case I understand that it's was an early entry into generic programming. I just haven't kept up so I don't know what imrpovements have been made.
2021-09-04 11:45:18 +0200 <kuribas> int-e: for me the easiest way to do generic programming is generic-eot (docs/Generics-Eot.html#t:Void), though it's not that powerful.
2021-09-04 11:45:24 +0200 <int-e> kuribas: Uh, that runs in the unpleasant area where you have to conjure up a type class instance for an unknown type. I hope I'll never run into the need to do that ;-)
2021-09-04 11:45:56 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt)
2021-09-04 11:46:05 +0200 <kuribas> int-e: I run into that all the time, for example parsing CSV.
2021-09-04 11:46:23 +0200 <kuribas> You can only parse a CSV row if you know that you can parse the field.
2021-09-04 11:46:47 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 252 seconds)
2021-09-04 11:46:56 +0200 <Gurkenglas> Different question: We technically have ((a->b)->IO c) -> IO (Either c (a, b -> (a->b)->IO c)), does this unlock all sorts of neat powers?
2021-09-04 11:47:34 +0200striven(~striven@user/striven)
2021-09-04 11:48:06 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 276 seconds)
2021-09-04 11:49:22 +0200fendor(~fendor@91.141.58.223.wireless.dyn.drei.com)
2021-09-04 11:49:46 +0200 <Gurkenglas> aka "run the routine until it uses the callback then give me its query and a handle by which to continue it, thereby turning it into a coroutine"
2021-09-04 11:50:07 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 245 seconds)
2021-09-04 11:52:08 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-09-04 11:52:14 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-09-04 11:52:23 +0200hololeap(~hololeap@user/hololeap)
2021-09-04 11:55:25 +0200 <Gurkenglas> I suppose I should call it ((a->b)->c) -> IO (Either c (a, b -> (a->b)->c)) since the IO c doesn't enter into its behavior.
2021-09-04 11:55:52 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2021-09-04 11:56:08 +0200Pickchea(~private@user/pickchea) (Ping timeout: 252 seconds)
2021-09-04 11:56:23 +0200hololeap(~hololeap@user/hololeap)
2021-09-04 11:57:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-09-04 12:01:20 +0200mc47(~mc47@xmonad/TheMC47)
2021-09-04 12:01:39 +0200 <Gurkenglas> ...unless the (a->b) isn't used until IO c is executed. such as in interact
2021-09-04 12:02:15 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2021-09-04 12:04:04 +0200striven(~striven@user/striven) (Ping timeout: 256 seconds)
2021-09-04 12:05:06 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-09-04 12:05:10 +0200 <Gurkenglas> I suppose it would be less arbitrarily magical (and marginally less powerful maybe??) if it were ((a->IO b)->IO c) -> IO (Either c (a, b -> (a->IO b)->IO c))
2021-09-04 12:07:57 +0200kuribas(~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-09-04 12:08:17 +0200kuribas(~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be)
2021-09-04 12:08:43 +0200acidjnk_new3(~acidjnk@p200300d0c7203066b4100de8298a9571.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-09-04 12:08:56 +0200 <Gurkenglas> It occurs to me that this is precisely a coalgebra of FreeT (Compose ((,) a) ((->) b)) IO. That's gotta be worth something.
2021-09-04 12:09:12 +0200chomwitt(~chomwitt@ppp-94-69-12-184.home.otenet.gr) (Quit: Leaving)
2021-09-04 12:09:26 +0200chomwitt(~chomwitt@2a02:587:dc07:8000:12c3:7bff:fe6d:d374)
2021-09-04 12:09:45 +0200sedeki(~textual@user/sedeki)
2021-09-04 12:11:06 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 12:15:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 12:15:12 +0200 <Gurkenglas> Compose ((,) a) ((->) b) is uh, the indexed store comonad...
2021-09-04 12:16:25 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-09-04 12:16:27 +0200 <Gurkenglas> Suppose (a->IO b) is used exactly once, ((a->IO b) %1 ->IO c)
2021-09-04 12:17:06 +0200 <Gurkenglas> then we get ((a->IO b) %1 ->IO c) -> IO a! :)
2021-09-04 12:24:30 +0200sedeki(~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
2021-09-04 12:29:07 +0200Pickchea(~private@user/pickchea)
2021-09-04 12:29:56 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 12:46:48 +0200dsp(~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net)
2021-09-04 12:53:24 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-09-04 12:53:26 +0200madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2021-09-04 12:56:48 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5)
2021-09-04 12:58:38 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2021-09-04 13:01:03 +0200alx741(~alx741@181.196.69.46)
2021-09-04 13:01:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 256 seconds)
2021-09-04 13:07:11 +0200striven(~striven@user/striven)
2021-09-04 13:12:02 +0200striven(~striven@user/striven) (Ping timeout: 252 seconds)
2021-09-04 13:17:07 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-09-04 13:17:25 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-09-04 13:18:52 +0200Gurkenglas(~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2021-09-04 13:24:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-09-04 13:25:33 +0200fendor_(~fendor@91.141.39.112.wireless.dyn.drei.com)
2021-09-04 13:27:55 +0200fendor(~fendor@91.141.58.223.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-09-04 13:31:25 +0200fendor_(~fendor@91.141.39.112.wireless.dyn.drei.com) (Remote host closed the connection)
2021-09-04 13:31:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-09-04 13:32:43 +0200fendor(~fendor@91.141.39.112.wireless.dyn.drei.com)
2021-09-04 13:34:17 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt)
2021-09-04 13:35:21 +0200lavaman(~lavaman@98.38.249.169)
2021-09-04 13:38:55 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 252 seconds)
2021-09-04 13:39:40 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-09-04 13:44:50 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-09-04 13:49:28 +0200max22-(~maxime@2a01cb08833598008853a45d5c3fcd90.ipv6.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2021-09-04 14:03:38 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-09-04 14:06:40 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-09-04 14:07:02 +0200aarvar(~aaron@2601:602:a080:fa0:c4c5:6191:b71c:585d) (Ping timeout: 256 seconds)
2021-09-04 14:12:35 +0200mestre(~mestre@191.177.175.57) (Quit: Lost terminal)
2021-09-04 14:16:52 +0200madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 252 seconds)
2021-09-04 14:16:53 +0200__monty__(~toonn@user/toonn)
2021-09-04 14:17:01 +0200dbr^(~dbr@wsip-98-188-244-188.mc.at.cox.net)
2021-09-04 14:18:08 +0200aliosablack(~chomwitt@ppp-94-69-12-184.home.otenet.gr)
2021-09-04 14:18:12 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 14:18:30 +0200chomwitt(~chomwitt@2a02:587:dc07:8000:12c3:7bff:fe6d:d374) (Read error: Connection reset by peer)
2021-09-04 14:20:56 +0200 <albet70> why some people passing lambda as parameter not function? what's the benefit?
2021-09-04 14:21:30 +0200 <maerwald> I barely understand the question
2021-09-04 14:21:35 +0200 <Hecate> I understand it
2021-09-04 14:22:02 +0200 <maerwald> lambda is a function
2021-09-04 14:22:05 +0200 <Hecate> maerwald: for an HOF, you can pass a lambda or a function, but the mistake in the question is to think that lambdas are fundamentally different from functions
2021-09-04 14:22:21 +0200 <Hecate> albet70: "functions" as you understand them are named lambdas, nothing more
2021-09-04 14:22:38 +0200 <albet70> lots of javascript programmer doing this
2021-09-04 14:23:28 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-09-04 14:24:55 +0200 <albet70> f k = k 3; f (\x -> (+1) x); f (+1)
2021-09-04 14:26:48 +0200 <maerwald> I doubt anyone writes `f (\x -> (+1) x)`
2021-09-04 14:26:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 14:27:11 +0200 <maerwald> `f (\x -> x + 1)` yeah, and its fine
2021-09-04 14:27:59 +0200machinedgod(~machinedg@24.105.81.50)
2021-09-04 14:32:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-09-04 14:34:07 +0200 <albet70> that's javascript programmers doing
2021-09-04 14:36:39 +0200 <albet70> withTestModule $ \mod -> withHostTargetMachine $ \tm -> withExecutionSession $ \es ->
2021-09-04 14:36:49 +0200 <maerwald> seems they're smart programmers
2021-09-04 14:37:17 +0200Pickchea(~private@user/pickchea) (Ping timeout: 252 seconds)
2021-09-04 14:37:22 +0200 <albet70> but some haskers write like this way
2021-09-04 14:43:18 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 256 seconds)
2021-09-04 14:46:03 +0200goepsilongo(~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com)
2021-09-04 14:51:08 +0200V(~v@anomalous.eu)
2021-09-04 14:52:26 +0200machinedgod(~machinedg@24.105.81.50) (Read error: Connection reset by peer)
2021-09-04 14:52:33 +0200machined1od(~machinedg@24.105.81.50)
2021-09-04 14:53:13 +0200DNH(~DNH@8.43.122.27)
2021-09-04 14:58:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5)
2021-09-04 14:59:24 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-09-04 14:59:46 +0200MQ-17J(~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds)
2021-09-04 15:00:18 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-09-04 15:00:45 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-09-04 15:02:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 240 seconds)
2021-09-04 15:06:13 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 15:07:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 15:08:59 +0200weird_error(~textual@ool-4579fedc.dyn.optonline.net)
2021-09-04 15:13:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-09-04 15:28:05 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-09-04 15:28:47 +0200hendursaga(~weechat@user/hendursaga)
2021-09-04 15:35:41 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-09-04 15:36:37 +0200lavaman(~lavaman@98.38.249.169)
2021-09-04 15:37:47 +0200max22-(~maxime@2a01cb0883359800958b0fbf6c7c6590.ipv6.abo.wanadoo.fr)
2021-09-04 15:38:02 +0200Pickchea(~private@user/pickchea)
2021-09-04 15:38:07 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-09-04 15:38:16 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-09-04 15:40:33 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-09-04 15:41:01 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-09-04 15:44:19 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-09-04 15:47:20 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 256 seconds)
2021-09-04 15:49:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 15:57:53 +0200dsp(~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection)
2021-09-04 16:00:39 +0200thyriaen(~thyriaen@dynamic-077-011-107-153.77.11.pool.telefonica.de) (Remote host closed the connection)
2021-09-04 16:04:12 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-09-04 16:04:42 +0200machined1od(~machinedg@24.105.81.50) (Ping timeout: 245 seconds)
2021-09-04 16:08:40 +0200 <kuribas> WTF, ghc is insisting my type is an Int, when it's clearly a Double...
2021-09-04 16:09:05 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
2021-09-04 16:09:34 +0200 <maerwald> time for a drink
2021-09-04 16:09:42 +0200 <c_wraith> It tends to do that when it means you used that value in a way that means it must be an Int somewhere far away from where the error is being reported
2021-09-04 16:10:41 +0200 <kuribas> hmm, right, but I don't see it...
2021-09-04 16:11:51 +0200 <kuribas> maybe some weird interaction with duplicateRecordFields?
2021-09-04 16:13:09 +0200 <kuribas> it cannot be a compiler bug?
2021-09-04 16:14:22 +0200 <c_wraith> It could be a compiler bug, but it's more likely it's a normal bug in the code.
2021-09-04 16:14:50 +0200 <c_wraith> Just a priori. Usually I'm better off assuming I don't understand something than GHC is wrong.
2021-09-04 16:15:19 +0200 <kuribas> or at least a GHC quirck?
2021-09-04 16:16:09 +0200 <c_wraith> yes, that is something that comes up. "That feature doesn't work like that."
2021-09-04 16:16:16 +0200 <kuribas> (sel $ mt N.n_generators) :: Selector Int
2021-09-04 16:16:32 +0200 <kuribas> Expected type: Field "meta.model_turbine" NSQC 'NotNull Double Actual type: Field "meta.model_turbine" NSQC 'NotNull Int
2021-09-04 16:16:54 +0200 <kuribas> (point at N.n_generators)...
2021-09-04 16:17:06 +0200 <kuribas> N.n_generators :: Field "meta.model_turbine" NSQC 'NotNull Int
2021-09-04 16:17:27 +0200 <kuribas> it clearly has type Int, not DOuble
2021-09-04 16:19:20 +0200desantra(~skykanin@user/skykanin)
2021-09-04 16:19:47 +0200 <c_wraith> that's only one side.
2021-09-04 16:21:14 +0200 <c_wraith> the usage side might also cause problems.
2021-09-04 16:21:37 +0200jakalx(~jakalx@base.jakalx.net)
2021-09-04 16:21:49 +0200 <kuribas> erm no, (x :: Int) is always of type Int
2021-09-04 16:21:54 +0200 <kuribas> even if x is not of type int.
2021-09-04 16:22:23 +0200 <kuribas> > ("foobar" :: Int)
2021-09-04 16:22:24 +0200 <lambdabot> error:
2021-09-04 16:22:24 +0200 <lambdabot> • Couldn't match expected type ‘Int’ with actual type ‘[Char]’
2021-09-04 16:22:24 +0200 <lambdabot> • In the expression: ("foobar" :: Int)
2021-09-04 16:23:09 +0200 <c_wraith> right
2021-09-04 16:23:33 +0200 <c_wraith> and if you're using it someplace that expects a Selector Double, you'd get exactly that error
2021-09-04 16:23:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-09-04 16:23:50 +0200 <kuribas> c_wraith: but I am not
2021-09-04 16:25:03 +0200 <kuribas> c_wraith: also, that's irrelevant if the error points "inside" the parents.
2021-09-04 16:25:21 +0200 <kuribas> (do (Alias mt) <- innerJoin N.model_turbine_tbl (const true_); pure (sel (mt N.n_generators)))
2021-09-04 16:25:21 +0200 <kuribas> :: Query NSQC (Selector Int)
2021-09-04 16:25:29 +0200 <kuribas> So it's "clearly" of type Int.
2021-09-04 16:30:22 +0200sleblanc(~sleblanc@user/sleblanc)
2021-09-04 16:30:47 +0200 <kuribas> oh great, stack stopped working as well..
2021-09-04 16:33:04 +0200 <maerwald> kuribas: how so?
2021-09-04 16:33:27 +0200 <kuribas> maerwald: I managed to get stack working before
2021-09-04 16:33:34 +0200 <kuribas> ghc-pkg: cannot find package hasqlator-mysql
2021-09-04 16:34:07 +0200 <kuribas> it's still in ../hasqlator-mysql
2021-09-04 16:34:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-09-04 16:34:43 +0200 <maerwald> is it in stack.yaml?
2021-09-04 16:34:47 +0200 <kuribas> yes
2021-09-04 16:36:00 +0200 <kuribas> https://gist.github.com/kuribas/804772a05afdfbfb011b603e073610fa
2021-09-04 16:36:07 +0200 <kuribas> We could really use better error messages...
2021-09-04 16:36:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-09-04 16:36:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-09-04 16:36:14 +0200wroathe(~wroathe@user/wroathe)
2021-09-04 16:36:24 +0200 <kuribas> it *was* working before
2021-09-04 16:40:10 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-09-04 16:40:39 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 16:43:52 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-09-04 16:45:10 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 240 seconds)
2021-09-04 16:46:03 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-09-04 16:48:05 +0200 <kuribas> guess what, removing either the n_generator :: Int field, or the cut_in_wind_speed :: Double field compiles fine.
2021-09-04 16:48:16 +0200 <kuribas> So clearly ghc is mixing the two fields somehow...
2021-09-04 16:50:05 +0200hyiltiz(~quassel@31.220.5.250)
2021-09-04 16:50:16 +0200 <[exa]> time to check for name collisions I'd say
2021-09-04 16:50:57 +0200 <[exa]> kuribas: do you have a pastebin of that somewhere? (can't see any in scrollback)
2021-09-04 16:51:21 +0200 <kuribas> [exa]: no, it's part of a large amount of code, and company code...
2021-09-04 16:53:05 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be)
2021-09-04 16:54:11 +0200desantra(~skykanin@user/skykanin) (Quit: WeeChat 3.2)
2021-09-04 16:54:33 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-09-04 16:59:15 +0200Erutuon(~Erutuon@user/erutuon)
2021-09-04 16:59:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2)
2021-09-04 17:01:50 +0200Gurkenglas(~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de)
2021-09-04 17:02:00 +0200striven(~striven@user/striven)
2021-09-04 17:03:07 +0200 <kuribas> haskell tooling sucks so much...
2021-09-04 17:03:24 +0200 <kuribas> I mean, all tooling sucks, in any language...
2021-09-04 17:04:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) (Ping timeout: 240 seconds)
2021-09-04 17:04:26 +0200 <hpc> just give me vim and a compiler
2021-09-04 17:04:38 +0200 <kuribas> hpc: still need cabal or stack
2021-09-04 17:04:54 +0200 <kuribas> hmm rm -rf .stack-work helped
2021-09-04 17:10:04 +0200striven(~striven@user/striven) (Ping timeout: 256 seconds)
2021-09-04 17:10:45 +0200zer0bitz(~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi)
2021-09-04 17:10:48 +0200goepsilongo(~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!)
2021-09-04 17:12:25 +0200renzhi(~xp@2607:fa49:6500:3d00::d986)
2021-09-04 17:15:41 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-09-04 17:15:58 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 17:15:59 +0200Skyfire(~pyon@user/pyon)
2021-09-04 17:16:44 +0200 <kuribas> This seems to be the culprit: :: Field "meta.model_turbine" NSQC 'NotNull Double
2021-09-04 17:16:44 +0200 <kuribas> -> Expression 'NotNull Int
2021-09-04 17:16:57 +0200 <kuribas> https://hackage.haskell.org/package/hasqlator-mysql-0.0.9/docs/Database-MySQL-Hasqlator-Typed.html…
2021-09-04 17:17:14 +0200 <kuribas> obviously that cannot change type.
2021-09-04 17:17:37 +0200 <kuribas> Alias getTableAlias :: forall fieldNull a. Field table database fieldNull a -> Expression (JoinNullable joinType fieldNull) a
2021-09-04 17:18:09 +0200 <kuribas> Somewhere ghc has turned this polymorphic function in a monomorphic function...
2021-09-04 17:19:35 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2)
2021-09-04 17:20:18 +0200 <kuribas> And yes, changing "Alias mt <- innerJoin .." with "mt <- innerJoin ..", and "mt field" with "mt@@field", solves the problem!
2021-09-04 17:20:29 +0200 <kuribas> That *does* look like a type checker bug to me...
2021-09-04 17:21:00 +0200 <kuribas> The two should be equivalent, and have been so far...
2021-09-04 17:21:40 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-09-04 17:21:44 +0200Pickchea(~private@user/pickchea) (Ping timeout: 252 seconds)
2021-09-04 17:21:58 +0200geekosaurtempted to suggest monomorphism restriction or MonoLocalBinds possibly coming into play somehow
2021-09-04 17:22:43 +0200 <kuribas> turning off MonoLocalBinds didn't help...
2021-09-04 17:25:01 +0200 <kuribas> Should I report this somewhere?
2021-09-04 17:25:01 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-09-04 17:27:12 +0200 <geekosaur> ghc bug tracker https://gitlab.haskell.org/ghc/ghc/-/issues
2021-09-04 17:27:19 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 17:28:51 +0200 <kuribas> c_wraith: see, it *was* a copiler bug!
2021-09-04 17:29:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 17:31:22 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
2021-09-04 17:31:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 17:35:34 +0200 <kuribas> Do error get fixed in previous ghc versions?
2021-09-04 17:35:37 +0200 <kuribas> or only latest?
2021-09-04 17:36:07 +0200 <geekosaur> only latest
2021-09-04 17:37:02 +0200 <geekosaur> well, 8.10's still in play but I'd guess they'll only be interested in bugs in the M1 support at this point so they can concentrate on getting 9.2 out the door
2021-09-04 17:38:31 +0200me_(~me@178.70.139.179) (Quit: Leaving)
2021-09-04 17:40:22 +0200 <wz1000> kuribas: is it this? https://gitlab.haskell.org/ghc/ghc/-/issues/19287
2021-09-04 17:40:45 +0200 <kuribas> wz1000: no
2021-09-04 17:46:10 +0200 <kuribas> Last time I also found a ghc bug. Am I just unlucky, or is ghc buggy?
2021-09-04 17:55:48 +0200 <yushyin> 4.5k open issues soo maybe yes? ;P
2021-09-04 17:56:14 +0200 <Gurkenglas> Cont (especially indexed Cont)'s do notation is remarkably similar to hole-driven programming, isn't it.
2021-09-04 17:59:06 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-09-04 18:00:00 +0200vbeatrice[m](~vbeatrice@2001:470:69fc:105::3ebf) (Quit: You have been kicked for being idle)
2021-09-04 18:00:08 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Quit: You have been kicked for being idle)
2021-09-04 18:00:09 +0200aveltras[m](~aveltrasm@2001:470:69fc:105::3ef9) (Quit: You have been kicked for being idle)
2021-09-04 18:00:43 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-09-04 18:02:58 +0200wennefer0(~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
2021-09-04 18:03:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-09-04 18:04:22 +0200 <wz1000> kuribas: I'm not sure your program is a bug without seeing more. There are some restrictions with do binding values containing GADTs and higher ranked types
2021-09-04 18:04:28 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds)
2021-09-04 18:04:32 +0200 <janus> what's indexed Cont?
2021-09-04 18:04:36 +0200wennefer0(~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
2021-09-04 18:04:57 +0200 <kuribas> wz1000 I have no idea what you mean...
2021-09-04 18:05:26 +0200 <Gurkenglas> janus, instead of (a->r)->r, have (a->r)->s. so the continuation doesn't have to have the same end result
2021-09-04 18:05:32 +0200 <kuribas> wz1000: you mean I cannot bind a polymorphic function in do?
2021-09-04 18:05:55 +0200 <kuribas> wz1000: but then, why would it work "sometimes", and sometimes not?
2021-09-04 18:05:59 +0200 <kuribas> looks still like a bug to me.
2021-09-04 18:06:11 +0200 <kuribas> if it is not possible there should be an error message
2021-09-04 18:06:13 +0200 <Gurkenglas> instead of ((((a->r)->r)->r)->r)->((a->r)->r) you get ((((a->r)->s)->s)->t)->((a->r)->t)
2021-09-04 18:06:18 +0200 <wz1000> I really need to see the program to say more
2021-09-04 18:06:34 +0200 <wz1000> or a minimised reproducer
2021-09-04 18:06:45 +0200 <janus> hmmm what is the t type?
2021-09-04 18:07:10 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 240 seconds)
2021-09-04 18:07:11 +0200 <Gurkenglas> janus, it's of the same kind as r and s
2021-09-04 18:07:50 +0200 <janus> ok, so r is the intermediate result, s is the 'state'? or are they just randomly chosen letters?
2021-09-04 18:08:15 +0200 <supersven> Hey, How can I get the `ThreadId`s of all threads?
2021-09-04 18:08:57 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Remote host closed the connection)
2021-09-04 18:09:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-09-04 18:09:18 +0200 <kuribas> wz1000: also, why would "do" behave other than bind (>>=) ?
2021-09-04 18:09:24 +0200 <Gurkenglas> janus, randomly chosen letters - i used r because that's what Cont uses, and s and t come after.
2021-09-04 18:09:34 +0200 <supersven> I've only found `myThreadId :: IO ThreadId `, but I'm looking for something like `allThreadIds :: IO [ThreadId] `
2021-09-04 18:10:02 +0200 <wz1000> kuribas: does it? Does the problem go away if you manually deguar it to >>=?
2021-09-04 18:10:19 +0200benin0369323(~benin@183.82.179.90)
2021-09-04 18:10:32 +0200 <kuribas> wz1000: I don't know, but you said: "There are some restrictions with do binding values containing GADTs and higher ranked types"
2021-09-04 18:11:01 +0200 <janus> ok , well, since the functions have the same arity, i guess i can think of it as distinguishing between types that don't necessarily need to be the same in Cont
2021-09-04 18:11:13 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-09-04 18:11:13 +0200 <wz1000> yes, the fundamental issue is with GADT type inference and impredicative types, but it tends to show up with do notation
2021-09-04 18:11:32 +0200 <janus> i thought it would be type indexed or having an 'index' of the computation passed to it (would break monad rules then, i guess)
2021-09-04 18:11:40 +0200arjun(~Srain@user/arjun)
2021-09-04 18:12:15 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-09-04 18:12:28 +0200 <kuribas> wz1000: by "restrictions", do you mean, it breaks your program in arbitrary and unpredictable ways?
2021-09-04 18:12:49 +0200 <wz1000> no, just that type inference may not behave in the way you expect
2021-09-04 18:13:44 +0200 <kuribas> well, I return a polymorphic function inside a newtype, so I just expect it to behave polymorphically :)
2021-09-04 18:14:18 +0200 <wz1000> if you can come up with a reproducer I will take a look
2021-09-04 18:14:19 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-09-04 18:14:43 +0200 <kuribas> wz1000: sadly, my attemp gave me something that actually compiles :)
2021-09-04 18:14:44 +0200 <kuribas> :(
2021-09-04 18:14:55 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 18:15:18 +0200 <kuribas> I removed some typeclasses, let's add them back...
2021-09-04 18:16:57 +0200wennefer0(~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
2021-09-04 18:17:27 +0200wennefer0(~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
2021-09-04 18:18:41 +0200 <Gurkenglas> janus, indexed cont is to cont as Lens is to Lens'
2021-09-04 18:19:18 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
2021-09-04 18:19:30 +0200spruit11_(~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2)
2021-09-04 18:19:30 +0200 <Gurkenglas> https://hackage.haskell.org/package/indexed-extras-0.2/docs/Control-Monad-Indexed-Cont.html#t:IxCo…
2021-09-04 18:19:58 +0200 <janus> ah cool. currently using monochrom's cont since i needed yieldGet
2021-09-04 18:20:17 +0200 <janus> but i guess it could be made with shift/reset somehow...
2021-09-04 18:20:54 +0200 <Gurkenglas> pay more attention to newtype IxContT than class IxMonadCont m
2021-09-04 18:21:07 +0200 <adamse> supersven: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2816
2021-09-04 18:21:23 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-09-04 18:21:43 +0200 <Gurkenglas> janus, link?
2021-09-04 18:21:57 +0200 <janus> Gurkenglas: http://www.vex.net/~trebla/haskell/cont.xhtml
2021-09-04 18:22:27 +0200spruit11(~quassel@2a02:a467:ccd6:1:8013:5e37:15b2:f034) (Ping timeout: 250 seconds)
2021-09-04 18:23:51 +0200johnw(~johnw@2600:1700:cf00:db0:5468:db28:5c48:90a6) (Quit: ZNC - http://znc.in)
2021-09-04 18:23:59 +0200 <janus> i have a user style sheet that works if you prefer dark mode
2021-09-04 18:24:12 +0200 <supersven> adamse: Thanks
2021-09-04 18:24:15 +0200 <Gurkenglas> IxCont should allow yieldGet
2021-09-04 18:25:37 +0200 <Gurkenglas> but janus, isn't lazy evaluation order usually enough to never need yield?
2021-09-04 18:27:23 +0200 <janus> Gurkenglas: i don't know? depends on the definition of 'need', i guess? though i can't say without understanding how it could be done with lazy eval
2021-09-04 18:27:23 +0200 <Gurkenglas> hmm i suppose you ran into the pick-two at the top of https://hackage.haskell.org/package/pipes-4.3.16/docs/Pipes-Tutorial.html
2021-09-04 18:27:35 +0200 <Gurkenglas> janus, link your usage of yieldGet? :)
2021-09-04 18:28:16 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-09-04 18:28:29 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-09-04 18:29:09 +0200 <janus> Gurkenglas: it is in idris though... https://git.sr.ht/~janus/idris-aio/tree/main/item/src/AIO/Multiplexer.idr#L129
2021-09-04 18:29:32 +0200 <janus> i am trying to multiplex connection handlers that single-threadedly run using a single uring event loop
2021-09-04 18:30:40 +0200 <janus> so when i get a socket event from the kernel, i get the continuation in a map, that is key'd by the socket integer identifier
2021-09-04 18:30:55 +0200 <Gurkenglas> havent done idris, but wouldn't 123 cause 125 to never trigger?
2021-09-04 18:31:22 +0200 <Gurkenglas> ohhhh the type is to the left of the ::
2021-09-04 18:31:40 +0200 <kuribas> wz1000: attempting to isolate it out seems to get rid of the problem
2021-09-04 18:31:44 +0200 <Gurkenglas> ...that still doesnt invalidate my two-lines-ago
2021-09-04 18:31:45 +0200 <janus> Gurkenglas: '::' is the list constructor in Idris
2021-09-04 18:32:26 +0200 <kuribas> wz1000: I cannot show the whole project, as it is company property...
2021-09-04 18:32:43 +0200 <janus> i don't see how the patterns are overlapping since these are the two cases to handle for a list value, empty and cons
2021-09-04 18:33:08 +0200 <Gurkenglas> yeah it being cons makes sense of it. Why do you have so much explicit recursion?
2021-09-04 18:33:35 +0200 <wz1000> kuribas: perhaps you can share it privately? We can create a confidential ticket on the gitlab
2021-09-04 18:33:58 +0200 <kuribas> wz1000: we host on azure...
2021-09-04 18:34:05 +0200 <kuribas> But I can create a zip...
2021-09-04 18:34:20 +0200 <janus> Gurkenglas: i don't know, i guess i am not smart enough to realize the higher-order patterns :P
2021-09-04 18:36:15 +0200 <kuribas> wz1000: or could I call you remotely?
2021-09-04 18:36:21 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-09-04 18:38:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 18:38:46 +0200 <kuribas> wz1000: I am bit reluctant to share our database schema...
2021-09-04 18:40:15 +0200 <kuribas> wz1000: I'll see if I can trim the project...
2021-09-04 18:42:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-09-04 18:42:28 +0200 <Gurkenglas> janus, doesn't 51 make 52-55 do nothing?
2021-09-04 18:43:52 +0200 <janus> Gurkenglas: why? it is calling pure on a map, such that it can be bound to 'newConns' on line 37
2021-09-04 18:43:56 +0200arkho(~ccc@dynamic-acs-24-112-153-241.zoominternet.net)
2021-09-04 18:44:29 +0200 <Gurkenglas> dang sorry, i missed that. *updates time-before-escalation*
2021-09-04 18:45:22 +0200 <janus> this is the case where the socket received data, but the continuation wanted to send data. so the received data is queued and the continuation can read it later
2021-09-04 18:45:35 +0200lavaman(~lavaman@98.38.249.169)
2021-09-04 18:47:24 +0200qbt(~edun@user/edun)
2021-09-04 18:49:09 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-09-04 18:50:12 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 18:54:54 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2021-09-04 19:01:45 +0200benin03693239(~benin@106.198.95.161)
2021-09-04 19:01:49 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 19:02:03 +0200aman(~aman@user/aman) (Quit: aman)
2021-09-04 19:02:35 +0200 <adamse> Is there a way to unbox an unboxed sum into one of the mutable array types ghc provides?
2021-09-04 19:02:47 +0200 <kuribas> wz1000: I trimmed the project down http://kuribas.hcoop.net/deployer.tgz
2021-09-04 19:03:22 +0200benin0369323(~benin@183.82.179.90) (Ping timeout: 240 seconds)
2021-09-04 19:03:23 +0200benin03693239benin0369323
2021-09-04 19:03:49 +0200 <kuribas> wz1000: note, it works when I change "Alias mt <- ..." with "mt <- ..;", and "mt field" with "mt@@field"
2021-09-04 19:04:20 +0200 <kuribas> wz1000: which proves to me it's a bug in the compiler, not in the code...
2021-09-04 19:04:59 +0200juhp(~juhp@128.106.188.220) (Remote host closed the connection)
2021-09-04 19:18:03 +0200jushur(~human@user/jushur) (Quit: SKYNET UPGRADE)
2021-09-04 19:21:52 +0200benin03693238(~benin@183.82.207.253)
2021-09-04 19:23:40 +0200benin0369323(~benin@106.198.95.161) (Ping timeout: 240 seconds)
2021-09-04 19:23:40 +0200benin03693238benin0369323
2021-09-04 19:26:07 +0200Achylles(~Achylles_@2804:431:d724:131a:afba:e8f4:a787:4346)
2021-09-04 19:27:16 +0200Sgeo(~Sgeo@user/sgeo)
2021-09-04 19:27:20 +0200jushur(~human@user/jushur)
2021-09-04 19:27:31 +0200Achylles(~Achylles_@2804:431:d724:131a:afba:e8f4:a787:4346) (Read error: Connection reset by peer)
2021-09-04 19:28:45 +0200 <Gurkenglas> janus, 138 newResp unused?
2021-09-04 19:28:55 +0200bradyt(~bradyt@user/bradyt) ()
2021-09-04 19:33:18 +0200 <janus> Gurkenglas: yes, i believe it isn't a problem since the handlers of ActSend on line 89 and 49 only reply with a RNoOp. but i should really be asserting on 138 that it is a RNoOp, thanks
2021-09-04 19:34:43 +0200spruit11_(~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-09-04 19:34:59 +0200spruit11(~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2)
2021-09-04 19:35:40 +0200 <janus> i should just give up on totality, that is probably what kept me from handling it. but better have partiality than unexpected behaviour...
2021-09-04 19:43:16 +0200ubert(~Thunderbi@91.141.67.114.wireless.dyn.drei.com)
2021-09-04 19:45:34 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt)
2021-09-04 19:46:18 +0200 <Gurkenglas> janus, are there other cases that shouldn't happen?
2021-09-04 19:48:32 +0200 <janus> Gurkenglas: all the places i call "exit 1" shouldn't happen. i havn't added connection closing to the underlying libraries. if the continuation finishes, i think people would expect the connection to be closed. so since i havn't added that, i call "exit 1" on line 48
2021-09-04 19:49:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-09-04 19:50:11 +0200 <janus> and then of course there is the other occurance of "exit 1" on line 43, which would happen if an event happens on a socket that isn't in the map. to avoid this case, i'd have to put the invariant about a socket being accepted before any other action occurs, in the type system...
2021-09-04 19:50:17 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2021-09-04 19:50:45 +0200 <janus> i am not really taking advantage of dependent types at all, i thought i'd get it working first..
2021-09-04 19:51:07 +0200weird_error(~textual@ool-4579fedc.dyn.optonline.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-09-04 19:52:18 +0200Pickchea(~private@user/pickchea)
2021-09-04 19:53:44 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-09-04 19:54:32 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Remote host closed the connection)
2021-09-04 19:54:55 +0200kawpuh(~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Ping timeout: 256 seconds)
2021-09-04 19:56:09 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-09-04 19:57:39 +0200Nosrep(~archbox@user/nosrep) (Quit: WeeChat 3.2)
2021-09-04 20:01:05 +0200kubes(~kubes@188.120.84.109)
2021-09-04 20:01:10 +0200ubert(~Thunderbi@91.141.67.114.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-09-04 20:01:24 +0200kubes(~kubes@188.120.84.109) ()
2021-09-04 20:01:34 +0200 <janus> oh and then there is the case with the comment on line 66. that should really the handled better: if the coroutine issues multiple writes, they should be queued in the uring and only block once the uring buffer is filled. currently, two concurrent writes will block on the second, that should really be allowed. havn't worked on this because my higher level use case has frame sizes so small that they won't
2021-09-04 20:01:40 +0200 <janus> _need_ successive writes.
2021-09-04 20:03:05 +0200wennefer0(~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
2021-09-04 20:03:56 +0200wennefer0(~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
2021-09-04 20:04:02 +0200wennefer0_(~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
2021-09-04 20:04:16 +0200gehmehgeh(~user@user/gehmehgeh)
2021-09-04 20:04:44 +0200wennefer0_(~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
2021-09-04 20:06:07 +0200benin0369323(~benin@183.82.207.253) (Ping timeout: 252 seconds)
2021-09-04 20:06:43 +0200Lycurgus(~juan@98.4.112.204)
2021-09-04 20:07:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-09-04 20:11:17 +0200 <janus> but i am not 100% sure about that comment, i have the feeling that if there is "progress" on every iteration, which would be defined as an uring action getting posted, and _not_ as a continuation being called, then i could simply let the contiuation only continue once the uring notifies that the write completed? then i wouldn't need to 'remember' how many RSent's to wait for or anything like that
2021-09-04 20:11:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit)
2021-09-04 20:12:22 +0200 <janus> what is even the point of continuing the continuation of the write hasn't actually been executed by the kernel? hmm . thanks for asking that question :P
2021-09-04 20:18:41 +0200 <janus> the RNoOp is a wart, if a continuation can only send/receive, why would there need to be a RNoOp answer? if it is was a write, reply with RSent only once the write has completed, if it was a receive, reply with some data once it arrives
2021-09-04 20:25:13 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 20:27:21 +0200Guest82_(~textual@ool-4579fedc.dyn.optonline.net)
2021-09-04 20:29:38 +0200 <wz1000> kuribas: this does look like a bug. I will try to minimise it soon
2021-09-04 20:30:40 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-09-04 20:36:07 +0200 <kuribas> wz1000: thanks!
2021-09-04 20:37:56 +0200ubert(~Thunderbi@91.141.67.114.wireless.dyn.drei.com)
2021-09-04 20:38:05 +0200 <Orbstheorem> Is there a monad that can run Quickcheck generators while also producing a Quickcheck property?
2021-09-04 20:39:03 +0200 <Orbstheorem> I have the following code, but I feel like it should be possible to merge both do-blocks:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/410e494de92710b6f264032797119d7428d6…)
2021-09-04 20:41:04 +0200 <Orbstheorem> If there is not, please show me a better way to write this.
2021-09-04 20:48:46 +0200kuribas(~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-09-04 20:48:48 +0200ubert(~Thunderbi@91.141.67.114.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-09-04 20:50:43 +0200Guest82_(~textual@ool-4579fedc.dyn.optonline.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-09-04 20:51:50 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-09-04 20:55:53 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-09-04 20:56:20 +0200pbrisbin(~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Quit: WeeChat 3.2)
2021-09-04 20:57:42 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-09-04 20:57:45 +0200pbrisbin(~patrick@pool-108-16-214-93.phlapa.fios.verizon.net)
2021-09-04 21:02:17 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 21:06:05 +0200madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2021-09-04 21:07:56 +0200econo(uid147250@user/econo)
2021-09-04 21:12:44 +0200Pickchea(~private@user/pickchea) (Ping timeout: 252 seconds)
2021-09-04 21:15:04 +0200aarvar(~aaron@2601:602:a080:fa0:2b49:6db1:e21:14d8)
2021-09-04 21:17:37 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-09-04 21:19:23 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-09-04 21:20:25 +0200TranquilEcho(~grom@user/tranquilecho)
2021-09-04 21:26:09 +0200burnside_(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 21:26:09 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-09-04 21:32:16 +0200crazazy(~user@130.89.171.203)
2021-09-04 21:33:13 +0200Pickchea(~private@user/pickchea)
2021-09-04 21:34:08 +0200regr(~regr@89.205.140.180)
2021-09-04 21:36:09 +0200regr(~regr@89.205.140.180) (Quit: Konversation terminated!)
2021-09-04 21:36:12 +0200arjun(~Srain@user/arjun) (Remote host closed the connection)
2021-09-04 21:42:31 +0200 <Gurkenglas> the problem is that a failing test should print what caused it, so it needs to keep track of what's an input and what isn't. hmm
2021-09-04 21:43:08 +0200DNH(~DNH@8.43.122.27) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-09-04 21:46:16 +0200 <Gurkenglas> It appears that Property just wraps Gen, so I too expect there is a way to merge that.
2021-09-04 21:48:18 +0200 <Gurkenglas> Orbstheorem, try just writing a Gen Property instead of using forall?
2021-09-04 21:48:42 +0200regr(~regr@89.205.140.180)
2021-09-04 21:49:07 +0200 <Gurkenglas> (Of course, Gen Property is still silly since it by definition unpacks into Gen (Gen Prop))
2021-09-04 21:52:57 +0200regr(~regr@89.205.140.180) (Quit: WeeChat 2.8)
2021-09-04 21:54:34 +0200 <Gurkenglas> Orbstheorem, does this work? https://bpa.st/A4LA
2021-09-04 21:58:03 +0200Everything(~Everythin@37.115.210.35)
2021-09-04 21:58:40 +0200nfd(~nfd@user/nfd) (Ping timeout: 240 seconds)
2021-09-04 21:59:37 +0200 <Orbstheorem> lol
2021-09-04 21:59:40 +0200 <Orbstheorem> It works x)
2021-09-04 21:59:55 +0200 <Orbstheorem> (It doesn't print the generated value by `gen...` though)
2021-09-04 22:00:26 +0200 <Orbstheorem> I assume there's a `trace...` function thing I can add to the generator?
2021-09-04 22:01:23 +0200burnside_(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-09-04 22:01:40 +0200 <Orbstheorem> Thanks :)
2021-09-04 22:02:14 +0200pragma-(~chaos@user/pragmatic-chaos) (Bye!)
2021-09-04 22:07:15 +0200juhp(~juhp@128.106.188.220)
2021-09-04 22:08:19 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-09-04 22:08:26 +0200kenran(~kenran@200116b82bfe95008ed9162f6e9d97d8.dip.versatel-1u1.de)
2021-09-04 22:11:19 +0200nfd(~nfd@user/nfd)
2021-09-04 22:12:42 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-09-04 22:13:32 +0200vicfred(~vicfred@user/vicfred)
2021-09-04 22:14:09 +0200machinedgod(~machinedg@24.105.81.50)
2021-09-04 22:14:25 +0200L29Ah(~L29Ah@user/l29ah) (Changing host)
2021-09-04 22:14:25 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2021-09-04 22:16:30 +0200acidjnk(~acidjnk@p200300d0c7203041c87a18810a048a6d.dip0.t-ipconnect.de)
2021-09-04 22:20:43 +0200 <Orbstheorem> I don't know whether view-patterns are evil or awesome... x)... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/2be7c66ff1d8542483757f09d39e82175aef…)
2021-09-04 22:21:08 +0200Lycurgus(~juan@98.4.112.204) (Quit: Exeunt)
2021-09-04 22:21:20 +0200 <Gurkenglas> Orbstheorem, does this work? https://bpa.st/NKJQ >:)
2021-09-04 22:22:23 +0200 <Orbstheorem> Gurkenglas: Where do I get the definition of runCont from?
2021-09-04 22:22:36 +0200 <Orbstheorem> Ah, my bad sorry...
2021-09-04 22:25:40 +0200azeem(~azeem@m83-185-46-36.cust.tele2.se) (Ping timeout: 240 seconds)
2021-09-04 22:25:43 +0200 <Orbstheorem> Gurkenglas: By `id` you mean `Prelude.id`?
2021-09-04 22:25:58 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2021-09-04 22:26:03 +0200 <Gurkenglas> yep
2021-09-04 22:26:18 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 250 seconds)
2021-09-04 22:26:42 +0200Orbstheoremsent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/28add7ace735acab39b256c9474f73b28a84…
2021-09-04 22:29:23 +0200tomboy64(~tomboy64@user/tomboy64)
2021-09-04 22:34:04 +0200mei(~mei@user/mei) (Ping timeout: 252 seconds)
2021-09-04 22:34:40 +0200Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
2021-09-04 22:36:55 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-09-04 22:40:24 +0200 <Orbstheorem> `flip runCont id $ do...` did the trick...
2021-09-04 22:40:30 +0200 <Orbstheorem> And yeah, it works!
2021-09-04 22:40:36 +0200 <Orbstheorem> Gurkenglas: ^^
2021-09-04 22:41:13 +0200nfd(~nfd@user/nfd) (Ping timeout: 252 seconds)
2021-09-04 22:42:10 +0200burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-09-04 22:51:08 +0200kawpuh(~kawpuh@097-082-066-236.res.spectrum.com)
2021-09-04 22:51:16 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-09-04 22:51:44 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-09-04 22:52:45 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-09-04 22:53:52 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2021-09-04 22:54:01 +0200Lord_of_Life_Lord_of_Life
2021-09-04 22:54:11 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-09-04 22:55:11 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-09-04 23:07:03 +0200kenran(~kenran@200116b82bfe95008ed9162f6e9d97d8.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2021-09-04 23:09:20 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 256 seconds)
2021-09-04 23:09:28 +0200dbr^(~dbr@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection)
2021-09-04 23:15:38 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2021-09-04 23:15:52 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-09-04 23:19:17 +0200oldleather(~oldleathe@172.58.168.76)
2021-09-04 23:20:05 +0200oldleather(~oldleathe@172.58.168.76) ()
2021-09-04 23:21:07 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) (Remote host closed the connection)
2021-09-04 23:24:03 +0200ulvarrefr(~user@185.24.53.152)
2021-09-04 23:26:41 +0200 <hololeap> % instance IsString b => IsString (a -> b) where fromString s _ = fromString s
2021-09-04 23:26:42 +0200 <yahb> hololeap:
2021-09-04 23:26:51 +0200 <hololeap> is there any reason why this isn't "a thing" ?
2021-09-04 23:27:45 +0200 <c_wraith> Probably the same reason the Num instance for functions isn't standard
2021-09-04 23:28:00 +0200 <c_wraith> it makes things accidentally compile
2021-09-04 23:28:11 +0200 <hololeap> that makes sense
2021-09-04 23:28:17 +0200 <hololeap> % foo = ("foo-" <>)
2021-09-04 23:28:18 +0200 <yahb> hololeap:
2021-09-04 23:28:28 +0200 <hololeap> % (foo <> " " <> foo <> "?") "bar"
2021-09-04 23:28:29 +0200 <yahb> hololeap: ; <interactive>:94:9: error:; * Couldn't match type: [Char]; with: String -> String; Expected: String -> String; Actual: String; * In the second argument of `(<>)', namely `" " <> foo <> "?"'; In the expression: foo <> " " <> foo <> "?"; In the expression: (foo <> " " <> foo <> "?") "bar"; <interactive>:94:16: error:; * Couldn't match type: String
2021-09-04 23:28:46 +0200 <hololeap> % :set -XOverloadedStrings
2021-09-04 23:28:47 +0200 <yahb> hololeap:
2021-09-04 23:28:51 +0200 <hololeap> % foo = ("foo-" <>)
2021-09-04 23:28:52 +0200 <yahb> hololeap:
2021-09-04 23:28:54 +0200 <hololeap> % (foo <> " " <> foo <> "?") "bar"
2021-09-04 23:28:54 +0200 <yahb> hololeap: "foo-bar foo-bar?"
2021-09-04 23:29:11 +0200 <c_wraith> hololeap: it'd fit right in to acme-php, though!
2021-09-04 23:29:12 +0200 <hololeap> anyway, I thought it was kind of fun
2021-09-04 23:29:37 +0200 <geekosaur> some people thinjk the function intance for Num is fun, too
2021-09-04 23:29:44 +0200 <geekosaur> or the Applicative instance
2021-09-04 23:32:27 +0200 <hololeap> how often does yahb reset? for instnance, how long will OverloadedStrings stay enabled?
2021-09-04 23:32:59 +0200 <int-e> % :quit
2021-09-04 23:33:00 +0200 <yahb> int-e:
2021-09-04 23:33:08 +0200 <int-e> % :t ""
2021-09-04 23:33:09 +0200 <yahb> int-e: String
2021-09-04 23:33:23 +0200 <int-e> % :set -XOverloadedStrings
2021-09-04 23:33:23 +0200 <yahb> int-e:
2021-09-04 23:33:25 +0200 <int-e> % :t ""
2021-09-04 23:33:26 +0200 <yahb> int-e: IsString p => p
2021-09-04 23:33:34 +0200 <crazazy> i guess until you do :set -XNoOverladedStrings
2021-09-04 23:33:53 +0200 <crazazy> % :set -XOverloadedStrings
2021-09-04 23:33:53 +0200 <yahb> crazazy:
2021-09-04 23:33:58 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-09-04 23:34:00 +0200 <crazazy> % :t ""
2021-09-04 23:34:01 +0200 <yahb> crazazy: IsString p => p
2021-09-04 23:34:13 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-09-04 23:34:16 +0200 <crazazy> % :set -XNoOverloadedStrings
2021-09-04 23:34:16 +0200 <yahb> crazazy:
2021-09-04 23:34:20 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-09-04 23:34:21 +0200 <crazazy> % :t ""
2021-09-04 23:34:21 +0200 <yahb> crazazy: String
2021-09-04 23:34:26 +0200 <int-e> AIUI it's just a ghci session that gets restarted automatically when the process exits. SO :quit should reset its state most of the time.
2021-09-04 23:35:01 +0200 <hpc> it's heavily sandboxed too
2021-09-04 23:35:18 +0200 <int-e> well, obviously
2021-09-04 23:35:19 +0200 <crazazy> is yahb the replacement for lambdabot btw?
2021-09-04 23:35:24 +0200 <hpc> you have access to IO so you can even use that to explore it
2021-09-04 23:35:49 +0200 <int-e> crazazy: nah, they coexist. they're fairly different.
2021-09-04 23:35:51 +0200 <hpc> % system "ls /"
2021-09-04 23:35:51 +0200 <yahb> hpc: ; <interactive>:8:1: error: Variable not in scope: system :: String -> t
2021-09-04 23:35:56 +0200 <geekosaur> it's not a replacement, it's an alternative
2021-09-04 23:36:01 +0200 <hpc> % import System.Cmd
2021-09-04 23:36:01 +0200 <yahb> hpc: ; <interactive>:1:1: warning: [-Wdeprecations] Module `System.Cmd' is deprecated: Use "System.Process" instead
2021-09-04 23:36:02 +0200DNH(~DNH@8.43.122.27)
2021-09-04 23:36:05 +0200 <hpc> % system "ls /"
2021-09-04 23:36:05 +0200 <yahb> hpc: ls: cannot access '/': No such file or directory; ExitFailure 2
2021-09-04 23:36:09 +0200 <hpc> :(
2021-09-04 23:36:33 +0200 <int-e> % system "whoami"
2021-09-04 23:36:33 +0200 <yahb> int-e: whoami: cannot find name for user ID 996: No such file or directory; ExitFailure 1
2021-09-04 23:36:47 +0200 <int-e> it's kind of funny that it finds any binaries at all...
2021-09-04 23:37:17 +0200 <int-e> (and unexpected, to me)
2021-09-04 23:37:30 +0200 <hpc> % system "virt-what"
2021-09-04 23:37:31 +0200 <yahb> hpc: /bin/sh: 1: virt-what: not found; ExitFailure 127
2021-09-04 23:37:59 +0200 <hpc> it's fun to play around with in pms
2021-09-04 23:40:23 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2)
2021-09-04 23:41:53 +0200 <crazazy> wait is it the same ghci session for everyone?
2021-09-04 23:41:57 +0200aliosablack(~chomwitt@ppp-94-69-12-184.home.otenet.gr) (Remote host closed the connection)
2021-09-04 23:41:59 +0200 <geekosaur> yes
2021-09-04 23:42:02 +0200 <crazazy> ooh
2021-09-04 23:45:29 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net)
2021-09-04 23:46:15 +0200lavaman(~lavaman@98.38.249.169)
2021-09-04 23:50:19 +0200crazazy(~user@130.89.171.203) (Remote host closed the connection)
2021-09-04 23:50:31 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-09-04 23:50:54 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-09-04 23:51:17 +0200hendursaga(~weechat@user/hendursaga)
2021-09-04 23:51:27 +0200thelounge9230681(~thelounge@cpe-75-85-161-60.san.res.rr.com) (Ping timeout: 240 seconds)
2021-09-04 23:52:10 +0200thelounge9230681(~thelounge@cpe-75-85-161-60.san.res.rr.com)
2021-09-04 23:52:37 +0200 <janus> even for the people who pm it?
2021-09-04 23:53:01 +0200 <geekosaur> yes
2021-09-04 23:53:27 +0200 <geekosaur> session garbage collection becomes a pain otherwise
2021-09-04 23:53:34 +0200max22-(~maxime@2a01cb0883359800958b0fbf6c7c6590.ipv6.abo.wanadoo.fr) (Quit: Leaving)