Logs on 2021-09-04 (liberachat/#haskell)
| 00:00:03 | × | pragma- quits (~chaos@user/pragmatic-chaos) (*.net *.split) |
| 00:00:03 | × | nfd quits (~nfd@user/nfd) (*.net *.split) |
| 00:00:03 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (*.net *.split) |
| 00:00:03 | × | benin0369323 quits (~benin@183.82.179.90) (*.net *.split) |
| 00:00:03 | × | ArctVaulMarsHMPJ quits (~pjetcetal@128-71-152-79.broadband.corbina.ru) (*.net *.split) |
| 00:00:03 | × | slack1256 quits (~slack1256@ip-64-134-164-2.public.wayport.net) (*.net *.split) |
| 00:00:03 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (*.net *.split) |
| 00:00:03 | × | lambdap quits (~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split) |
| 00:00:03 | × | nurupo quits (~nurupo.ga@user/nurupo) (*.net *.split) |
| 00:00:03 | × | favonia quits (~favonia@user/favonia) (*.net *.split) |
| 00:00:03 | × | aegon quits (~mike@174.127.249.180) (*.net *.split) |
| 00:00:03 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (*.net *.split) |
| 00:00:03 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (*.net *.split) |
| 00:00:03 | × | ozzymcduff quits (~mathieu@81-234-151-21-no94.tbcn.telia.com) (*.net *.split) |
| 00:00:03 | × | otto_s quits (~user@p5de2f91c.dip0.t-ipconnect.de) (*.net *.split) |
| 00:00:03 | × | td_ quits (~td@muedsl-82-207-238-018.citykom.de) (*.net *.split) |
| 00:00:03 | × | maerwald quits (~maerwald@user/maerwald) (*.net *.split) |
| 00:00:03 | × | obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split) |
| 00:00:03 | × | sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (*.net *.split) |
| 00:00:03 | × | stampirl quits (~stampirl@195-154-112-77.rev.poneytelecom.eu) (*.net *.split) |
| 00:00:03 | × | micro quits (~micro@user/micro) (*.net *.split) |
| 00:00:03 | × | gentauro quits (~gentauro@user/gentauro) (*.net *.split) |
| 00:00:03 | × | AlexZenon quits (~alzenon@178.34.151.114) (*.net *.split) |
| 00:00:03 | × | ishutin_ quits (~ishutin@92-249-150-146.static.digikabel.hu) (*.net *.split) |
| 00:00:03 | × | edwtjo quits (~edwtjo@user/edwtjo) (*.net *.split) |
| 00:00:03 | × | Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (*.net *.split) |
| 00:00:03 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (*.net *.split) |
| 00:00:03 | × | son0p quits (~ff@181.136.122.143) (*.net *.split) |
| 00:00:03 | × | sus quits (zero@user/zeromomentum) (*.net *.split) |
| 00:00:03 | × | betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (*.net *.split) |
| 00:00:03 | × | fjmorazan quits (~quassel@user/fjmorazan) (*.net *.split) |
| 00:00:03 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (*.net *.split) |
| 00:00:03 | × | rembo10 quits (~rembo10@wally.codeshy.com) (*.net *.split) |
| 00:00:03 | × | tdammers quits (~tdammers@77.109.72.213.res.static.edpnet.net) (*.net *.split) |
| 00:00:10 | → | micro joins (~micro@user/micro) |
| 00:00:10 | → | ishutin joins (~ishutin@92-249-150-146.static.digikabel.hu) |
| 00:00:10 | → | otto_s joins (~user@p5de2f91c.dip0.t-ipconnect.de) |
| 00:00:11 | → | aegon joins (~mike@174.127.249.180) |
| 00:00:16 | → | fjmorazan joins (~quassel@user/fjmorazan) |
| 00:00:17 | → | gentauro joins (~gentauro@185.107.12.141) |
| 00:00:18 | × | gentauro quits (~gentauro@185.107.12.141) (Changing host) |
| 00:00:18 | → | gentauro joins (~gentauro@user/gentauro) |
| 00:00:19 | → | Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 00:00:20 | → | rembo10 joins (~rembo10@wally.codeshy.com) |
| 00:00:20 | → | obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl) |
| 00:00:20 | → | tdammers joins (~tdammers@77.109.72.213.res.static.edpnet.net) |
| 00:00:22 | → | sus joins (zero@user/zeromomentum) |
| 00:00:25 | → | sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca) |
| 00:00:25 | → | AlexZenon joins (~alzenon@178.34.151.114) |
| 00:00:26 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 00:00:26 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 00:00:36 | → | lambdap joins (~lambdap@static.167.190.119.168.clients.your-server.de) |
| 00:00:36 | → | ArctVaulMarsHMPJ joins (~pjetcetal@128-71-152-79.broadband.corbina.ru) |
| 00:00:40 | → | justsomeguy joins (~justsomeg@24.96.241.90) |
| 00:00:40 | → | edwtjo joins (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) |
| 00:00:40 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 00:00:40 | → | nfd joins (~nfd@user/nfd) |
| 00:00:43 | → | ozzymcduff joins (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
| 00:00:45 | → | stampirl joins (~stampirl@195-154-112-77.rev.poneytelecom.eu) |
| 00:01:02 | → | maerwald joins (~maerwald@mail.hasufell.de) |
| 00:01:14 | × | edwtjo quits (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host) |
| 00:01:14 | → | edwtjo joins (~edwtjo@user/edwtjo) |
| 00:01:26 | → | betelgeuse joins (~betelgeus@94-225-47-8.access.telenet.be) |
| 00:01:51 | → | favonia joins (~favonia@user/favonia) |
| 00:02:08 | → | pragma- joins (~chaos@user/pragmatic-chaos) |
| 00:02:12 | → | nurupo joins (~nurupo.ga@user/nurupo) |
| 00:02:30 | <hololeap> | iqubic: I suppose I didn't understand at first, but it makes sense |
| 00:02:53 | <iqubic> | It's a way to do folds but also have monadic effect. |
| 00:03:02 | <nfd> | :t flip $ traverse liftM foldTree |
| 00:03:03 | <lambdabot> | (Traversable ((->) (a -> [r] -> r)), Monad m) => (a -> [r] -> r) -> m (Tree a) -> m r |
| 00:03:09 | <nfd> | pretty close |
| 00:03:10 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 00:04:02 | <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. |
| 00:05:15 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 00:05:16 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 00:05:16 | → | td_ joins (~td@muedsl-82-207-238-018.citykom.de) |
| 00:07:26 | <iqubic> | nfd: I'm not sure what that's doing, but I'm not sure it's doing what I want. |
| 00:09:04 | <nfd> | probably would make more sense to start with the definition of foldTree |
| 00:09:47 | <iqubic> | I'm planning on doing that. |
| 00:10:12 | <iqubic> | Just as soon as I finish compiling the latest version of the Haskell Language Server. |
| 00:10:17 | × | TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
| 00:10:43 | <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) |
| 00:11:03 | <aegon> | i really hope linear types help stabilize performance analysis concerns |
| 00:11:34 | <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? |
| 00:11:45 | <iqubic> | aegon: exceptions and monad transformers are fine, really, once you learn them. |
| 00:12:16 | <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 |
| 00:12:30 | <aegon> | iqubic: the compiler is not too great at composing transformer stacks |
| 00:12:57 | <iqubic> | I think that the way the mtl library deals with it is really good. |
| 00:12:59 | <aegon> | also its unfortunate that the monad is so powerful but also forces sequential evaluation |
| 00:13:18 | <aegon> | afik |
| 00:13:24 | <hololeap> | aegon: depending on what you mean, there isn't a general way to compose monad transformers |
| 00:13:37 | <nfd> | that's why you should use weaker structures than monads whenever it's reasonable to do so |
| 00:13:47 | <nfd> | sometimes you just need Functor or Applicative powers |
| 00:13:56 | <hololeap> | Applicatives are always composable |
| 00:14:23 | <nfd> | (re: monads forcing sequential eval) |
| 00:15:14 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 00:15:14 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 00:15:14 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:15:15 | <nfd> | there's the cheat where because Monads Describe DSLs you could have a monad that internally causes effects in another order |
| 00:15:40 | <hololeap> | commutative monads don't force sequential evaluation |
| 00:16:12 | <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 |
| 00:16:52 | <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 |
| 00:17:10 | <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" |
| 00:17:33 | <hololeap> | aegon: this is really trivial, but Identity is a monad |
| 00:18:29 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:18:51 | <hololeap> | so you can't broadly claim that a monad gives you any sort of restrictions |
| 00:19:24 | <nfd> | you can universally claim that not all monads are strong, at least |
| 00:19:25 | <aegon> | ok, in reality though it oft forses sequenced evaluation |
| 00:19:58 | <nfd> | and that it probably takes effort to make some types of computation into strong monads, including possibly through Cheating |
| 00:20:31 | <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 |
| 00:21:12 | <aegon> | is there a class that represents state that can be composed in paralell in haskell today? |
| 00:22:25 | × | jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 00:23:03 | <kaol> | :t foldTree (\a -> sequence >=> f a) |
| 00:23:04 | <lambdabot> | (Monad m, Show t, Show a, FromExpr (m a)) => Tree t -> m a |
| 00:23:35 | <kaol> | :t \f -> foldTree (\a -> sequence >=> f a) |
| 00:23:36 | <lambdabot> | Monad m => (t -> [a] -> m a) -> Tree t -> m a |
| 00:24:09 | <iqubic> | kaol: How the heck did you come up with that? |
| 00:24:24 | <geekosaur> | aegon, not specifically, but Applicative and Arrow (without ArrowApply iirc) |
| 00:25:40 | × | kawpuh quits (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Quit: Client closed) |
| 00:28:22 | <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. |
| 00:31:28 | <iqubic> | Ah. That makes a lot of sense. |
| 00:42:13 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds) |
| 00:50:16 | <aegon> | geekosaur: its unfortunate, I have a math I'd like to express in haskell that actually has no ordering but also has state |
| 00:50:35 | <aegon> | its frustrating that there is no real syntatic dialogue i can evoke to represent it |
| 00:51:01 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds) |
| 00:51:25 | → | kawpuh joins (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) |
| 00:52:56 | <hololeap> | @hoogle Par |
| 00:52:56 | <lambdabot> | module Control.Monad.Par |
| 00:52:56 | <lambdabot> | Control.Monad.Par data Par a |
| 00:52:56 | <lambdabot> | Control.Monad.Par.Scheds.Direct data Par a |
| 00:53:11 | <hololeap> | aegon: can it be expressed using that? |
| 00:53:26 | <hololeap> | https://hackage.haskell.org/package/monad-par-0.3.5/docs/Control-Monad-Par.html |
| 00:54:06 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 00:56:47 | × | alx741 quits (~alx741@186.178.108.137) (Ping timeout: 245 seconds) |
| 01:08:00 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 01:08:52 | × | aliosablack quits (~chomwitt@ppp-94-69-12-184.home.otenet.gr) (Ping timeout: 245 seconds) |
| 01:09:49 | → | alx741 joins (~alx741@181.196.69.46) |
| 01:12:43 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:13:50 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:14:20 | → | Everything joins (~Everythin@37.115.210.35) |
| 01:14:58 | → | neurocyte3 joins (~neurocyte@212.232.84.61) |
| 01:14:58 | × | neurocyte3 quits (~neurocyte@212.232.84.61) (Changing host) |
| 01:14:58 | → | neurocyte3 joins (~neurocyte@user/neurocyte) |
| 01:17:25 | × | neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
| 01:17:25 | neurocyte3 | is now known as neurocyte |
| 01:19:28 | × | xsperry quits (~as@user/xsperry) (Remote host closed the connection) |
| 01:23:21 | → | sagax joins (~sagax_nb@user/sagax) |
| 01:26:51 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 01:31:10 | × | xff0x quits (~xff0x@2001:1a81:5362:1000:c47d:ed82:441b:712b) (Ping timeout: 252 seconds) |
| 01:32:53 | → | xff0x joins (~xff0x@2001:1a81:5399:4e00:f397:598c:9bde:b2ba) |
| 01:38:48 | <cdsmith> | Is there an easy way to see the optimized core when building with cabal rather than GHC directly? |
| 01:38:57 | × | aegon quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 01:39:37 | × | amk quits (~amk@109.255.169.126) (Ping timeout: 245 seconds) |
| 01:39:47 | × | Xnuk quits (~xnuk@vultr.xnu.kr) (Ping timeout: 240 seconds) |
| 01:40:05 | → | Xnuk joins (~xnuk@45.76.202.58) |
| 01:41:56 | <cdsmith> | (Basically, I want to tell cabal to pass -ddump-simpl and -dsuppres-all to GHC, then give me a log of the results) |
| 01:41:57 | → | amk joins (~amk@109.255.169.126) |
| 01:42:40 | × | justsomeguy quits (~justsomeg@24.96.241.90) (Quit: WeeChat 3.2) |
| 01:44:12 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 01:47:11 | <geekosaur> | ghc-options: to pass the parameters. cabal already passes -ddump-to-file so then you have to find the .dump-simpl file |
| 01:48:48 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 01:49:04 | ← | Everything parts (~Everythin@37.115.210.35) () |
| 01:49:24 | → | zmt01 joins (~zmt00@user/zmt00) |
| 01:49:48 | <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 |
| 01:50:42 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 01:51:27 | <geekosaur> | (somewhere under dist-newstyle iirc) |
| 01:51:28 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
| 01:51:36 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:53:11 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 250 seconds) |
| 01:54:09 | → | xsperry joins (~as@cpe-188-129-103-235.dynamic.amis.hr) |
| 01:54:09 | × | xsperry quits (~as@cpe-188-129-103-235.dynamic.amis.hr) (Changing host) |
| 01:54:09 | → | xsperry joins (~as@user/xsperry) |
| 01:56:45 | → | favonia joins (~favonia@user/favonia) |
| 02:01:47 | × | carter quits (sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 02:02:07 | × | jackdk quits (sid373013@cssa/jackdk) (Ping timeout: 240 seconds) |
| 02:02:17 | → | jackdk joins (sid373013@cssa/jackdk) |
| 02:02:24 | × | peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 256 seconds) |
| 02:02:27 | × | truckasaurus quits (sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 02:02:27 | × | conjunctive quits (sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 02:02:27 | × | tnks quits (sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 02:02:27 | × | parisienne quits (sid383587@id-383587.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 02:02:27 | × | parseval quits (sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 02:02:58 | → | tnks joins (sid412124@id-412124.helmsley.irccloud.com) |
| 02:03:07 | × | sa quits (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 240 seconds) |
| 02:03:07 | × | lightandlight quits (sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 02:03:10 | → | parseval joins (sid239098@helmsley.irccloud.com) |
| 02:04:41 | → | parisienne joins (sid383587@id-383587.helmsley.irccloud.com) |
| 02:04:45 | → | carter joins (sid14827@id-14827.helmsley.irccloud.com) |
| 02:04:46 | → | conjunctive joins (sid433686@id-433686.helmsley.irccloud.com) |
| 02:04:51 | → | truckasaurus joins (sid457088@id-457088.helmsley.irccloud.com) |
| 02:05:06 | → | lightandlight joins (sid135476@id-135476.helmsley.irccloud.com) |
| 02:05:55 | → | sa joins (sid1055@id-1055.tinside.irccloud.com) |
| 02:09:21 | × | alx741 quits (~alx741@181.196.69.46) (Quit: alx741) |
| 02:11:05 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection) |
| 02:11:18 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 02:11:19 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds) |
| 02:12:06 | ← | justsomeguy parts (~justsomeg@user/justsomeguy) (WeeChat 3.2) |
| 02:12:36 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
| 02:12:59 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:18:38 | → | hexfive joins (~eric@50.35.83.177) |
| 02:20:32 | × | td_ quits (~td@muedsl-82-207-238-018.citykom.de) (Ping timeout: 245 seconds) |
| 02:22:38 | → | td_ joins (~td@94.134.91.73) |
| 02:23:04 | × | hexfive quits (~eric@50.35.83.177) (Client Quit) |
| 02:25:41 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 02:33:00 | × | cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds) |
| 02:34:57 | → | perro joins (~user@072-191-245-069.res.spectrum.com) |
| 02:36:33 | <perro> | https://hackage.haskell.org/package/lens-tutorial-1.0.4/docs/Control-Lens-Tutorial.html |
| 02:37:33 | <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 |
| 02:38:12 | <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 |
| 02:38:49 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:38:58 | <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) |
| 02:41:10 | <perro> | I guess I don't need to generate them |
| 02:42:11 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 02:42:45 | <c_wraith> | perro: $(...) is a template haskell splice. They're optional for top-level declarations, which lenses are |
| 02:43:01 | <c_wraith> | ... I really wish they weren't optional. It doesn't improve anything to leave them out. |
| 02:43:17 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 02:43:23 | <perro> | ok, good to know |
| 02:44:06 | <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. |
| 02:45:22 | <perro> | also, good to know, I was leaning towards that. thanks |
| 02:48:22 | → | cheater joins (~Username@user/cheater) |
| 02:49:53 | → | thyriaen joins (~thyriaen@dynamic-077-011-107-153.77.11.pool.telefonica.de) |
| 02:51:46 | × | vs^ quits (~vs@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection) |
| 02:54:13 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 02:54:46 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 02:55:08 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 02:56:39 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 02:58:35 | <cdsmith> | geekosaur: Thanks, that did it, although I got the output on stderr rather than in a log. But it solved my problem. |
| 02:59:17 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 02:59:41 | → | dsrt^ joins (~dsrt@wsip-98-188-244-188.mc.at.cox.net) |
| 03:05:20 | → | otto_s_ joins (~user@p4ff2722c.dip0.t-ipconnect.de) |
| 03:07:10 | <perro> | (I was not using the lenses properly) |
| 03:08:40 | × | otto_s quits (~user@p5de2f91c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 03:10:48 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 03:11:17 | → | sedeki joins (~textual@user/sedeki) |
| 03:19:54 | × | zaquest quits (~notzaques@5.128.210.178) (Read error: Connection reset by peer) |
| 03:19:56 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 03:20:41 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 03:22:45 | → | zaquest joins (~notzaques@5.128.210.178) |
| 03:27:56 | × | sedeki quits (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 03:28:34 | → | Guest|17 joins (~Guest|17@188.243.182.248) |
| 03:31:00 | × | Guest|17 quits (~Guest|17@188.243.182.248) (Client Quit) |
| 03:31:13 | × | kimjetwav quits (~user@2607:fea8:235f:9730:eb91:4ced:41eb:8545) (Remote host closed the connection) |
| 03:37:20 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 03:38:59 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 03:40:15 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 03:47:40 | × | goepsilongo quits (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 03:47:40 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 03:51:42 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 03:53:19 | → | notzmv joins (~zmv@user/notzmv) |
| 04:04:37 | × | Nahra quits (~user@static.161.95.99.88.clients.your-server.de) (Ping timeout: 252 seconds) |
| 04:09:32 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 04:11:59 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 04:21:50 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:30:57 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
| 04:31:05 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 04:31:23 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 04:37:03 | → | aarvar joins (~aaron@2601:602:a080:fa0:c4c5:6191:b71c:585d) |
| 04:42:36 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
| 04:47:39 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 04:54:12 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 04:55:21 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 04:55:48 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 04:55:56 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 05:00:43 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 05:06:13 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 05:06:30 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 05:07:21 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 05:08:31 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 05:19:09 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 05:25:47 | → | aman joins (~aman@user/aman) |
| 05:30:13 | → | mei joins (~mei@user/mei) |
| 05:32:18 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:36:36 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 05:41:06 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 05:43:54 | → | hendursaga joins (~weechat@user/hendursaga) |
| 05:51:40 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 06:02:19 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
| 06:07:20 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 06:08:20 | → | Gurkenglas joins (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) |
| 06:08:50 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 06:08:50 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 06:08:50 | → | wroathe joins (~wroathe@user/wroathe) |
| 06:09:18 | → | o1lo01ol1o joins (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) |
| 06:10:16 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 06:13:19 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 06:13:52 | × | o1lo01ol1o quits (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 252 seconds) |
| 06:31:41 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 06:43:48 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 06:47:40 | → | zaquest joins (~notzaques@5.128.210.178) |
| 06:49:20 | lep | is now known as lep- |
| 06:52:28 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:01:43 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 07:03:19 | → | wonko joins (~wjc@62.115.229.50) |
| 07:10:57 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
| 07:11:40 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 07:11:53 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 07:17:29 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 07:20:18 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
| 07:20:35 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 07:26:22 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 07:28:40 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 07:30:21 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 07:30:33 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 07:32:25 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 07:40:34 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 07:54:28 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection) |
| 08:00:21 | → | max22- joins (~maxime@2a01cb08833598008853a45d5c3fcd90.ipv6.abo.wanadoo.fr) |
| 08:00:33 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 08:01:45 | → | Pickchea joins (~private@user/pickchea) |
| 08:03:52 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 08:06:48 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:10:36 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 08:10:38 | <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*? |
| 08:17:44 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 08:17:44 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 08:17:47 | allbery_b | is now known as geekosaur |
| 08:24:13 | → | acidjnk_new3 joins (~acidjnk@p200300d0c7203066b4100de8298a9571.dip0.t-ipconnect.de) |
| 08:25:23 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 08:27:17 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:29:25 | → | MQ-17J joins (~MQ-17J@8.21.10.6) |
| 08:29:57 | Andrew | is now known as AhkilKumar |
| 08:30:26 | AhkilKumar | is now known as Andrew |
| 08:32:11 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 08:38:17 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:43:54 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 08:50:24 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
| 08:55:11 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) |
| 08:57:22 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 08:58:34 | × | rembo10 quits (~rembo10@wally.codeshy.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:59:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 240 seconds) |
| 08:59:50 | → | rembo10 joins (~rembo10@wally.codeshy.com) |
| 09:00:47 | → | wei2912 joins (~wei2912@112.199.250.21) |
| 09:09:27 | × | Teacup quits (~teacup@user/teacup) (Ping timeout: 240 seconds) |
| 09:11:36 | → | Nahra joins (~user@static.161.95.99.88.clients.your-server.de) |
| 09:13:55 | → | Teacup joins (~teacup@user/teacup) |
| 09:16:07 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 09:19:22 | <int-e> | :t join . pure . fmap (join . pure) . fmap (fmap (join . pure)) |
| 09:19:23 | <lambdabot> | (Monad m1, Monad m2, Monad m3) => m1 (m2 (m3 a)) -> m1 (m2 (m3 a)) |
| 09:20:08 | <int-e> | Gurkenglas: you can compose with a stupid identity like that one to narrow down the type. |
| 09:21:47 | <int-e> | I mean, with `cast = <the above>`, `cast . pure` and `cast . fmap pure` have the same principal type. |
| 09:22:37 | <Gurkenglas> | Dangit! "all equations are true" is too beautiful to be wrong, what's the error? |
| 09:22:51 | → | kuribas joins (~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) |
| 09:23:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:23:22 | <kuribas> | Is Data.Data used by anyone? |
| 09:23:28 | <kuribas> | The ability to fold generically looks useful, but the types look a bit clumsy... |
| 09:25:04 | <int-e> | kuribas: it's just barebones; it's the basis for `syb` which adds more useful combinators |
| 09:26:15 | <kuribas> | it just looks like it supports only monomorphic operations... |
| 09:31:13 | <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? |
| 09:32:38 | <kuribas> | https://hackage.haskell.org/package/syb-0.7.2.1/docs/Data-Generics-Aliases.html |
| 09:32:46 | <kuribas> | Does this mean I can compose operations over fields? |
| 09:33:06 | <kuribas> | That looks pretty powerful :) |
| 09:33:35 | <Gurkenglas> | :t castgurk . pure -- int-e, they don't have the same type! :P |
| 09:33:37 | <lambdabot> | (Monad m1, Monad m2, Monad m3) => m2 (m3 a) -> m1 (m2 (m3 a)) |
| 09:33:39 | <Gurkenglas> | :t castgurk . fmap pure |
| 09:33:41 | <lambdabot> | (Monad m1, Monad m2, Monad m3) => m1 (m3 a) -> m1 (m2 (m3 a)) |
| 09:33:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 09:34:06 | → | striven joins (~striven@user/striven) |
| 09:35:46 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 09:36:39 | <kuribas> | Doesn't syb has a fatal flaw, it cannot fail at compile time? |
| 09:36:52 | <kuribas> | Like, I want to define operations which only work over a subset of types. |
| 09:37:03 | <kuribas> | using a type class constraint for example. |
| 09:37:55 | → | chomwitt joins (~chomwitt@ppp-94-69-12-184.home.otenet.gr) |
| 09:38:27 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
| 09:40:53 | <Gurkenglas> | although it would seem that join . pure == id is also ruled out by my rule... |
| 09:41:44 | <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. |
| 09:42:04 | <Gurkenglas> | yeah, it's more probably "all ways of arriving at exactly one layer of m are the same" :/. |
| 09:42:37 | × | striven quits (~striven@user/striven) (Ping timeout: 245 seconds) |
| 09:43:04 | <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. |
| 09:43:05 | <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"... |
| 09:43:55 | <kuribas> | int-e: I am more interested in traversing the structure where I know every value is an instance of some typeclass. |
| 09:44:29 | <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. |
| 09:45:18 | <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. |
| 09:45:24 | <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 ;-) |
| 09:45:56 | → | o1lo01ol1o joins (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) |
| 09:46:05 | <kuribas> | int-e: I run into that all the time, for example parsing CSV. |
| 09:46:23 | <kuribas> | You can only parse a CSV row if you know that you can parse the field. |
| 09:46:47 | × | dsrt^ quits (~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 252 seconds) |
| 09:46:56 | <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? |
| 09:47:34 | → | striven joins (~striven@user/striven) |
| 09:48:06 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
| 09:49:22 | → | fendor joins (~fendor@91.141.58.223.wireless.dyn.drei.com) |
| 09:49:46 | <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" |
| 09:50:07 | × | o1lo01ol1o quits (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 245 seconds) |
| 09:52:08 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 09:52:14 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 09:52:23 | → | hololeap joins (~hololeap@user/hololeap) |
| 09:55:25 | <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. |
| 09:55:52 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 09:56:08 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 09:56:23 | → | hololeap joins (~hololeap@user/hololeap) |
| 09:57:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 10:01:20 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:01:39 | <Gurkenglas> | ...unless the (a->b) isn't used until IO c is executed. such as in interact |
| 10:02:15 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 10:04:04 | × | striven quits (~striven@user/striven) (Ping timeout: 256 seconds) |
| 10:05:06 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 10:05:10 | <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)) |
| 10:07:57 | × | kuribas quits (~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 10:08:17 | → | kuribas joins (~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) |
| 10:08:43 | × | acidjnk_new3 quits (~acidjnk@p200300d0c7203066b4100de8298a9571.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 10:08:56 | <Gurkenglas> | It occurs to me that this is precisely a coalgebra of FreeT (Compose ((,) a) ((->) b)) IO. That's gotta be worth something. |
| 10:09:12 | × | chomwitt quits (~chomwitt@ppp-94-69-12-184.home.otenet.gr) (Quit: Leaving) |
| 10:09:26 | → | chomwitt joins (~chomwitt@2a02:587:dc07:8000:12c3:7bff:fe6d:d374) |
| 10:09:45 | → | sedeki joins (~textual@user/sedeki) |
| 10:11:06 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 10:15:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:15:12 | <Gurkenglas> | Compose ((,) a) ((->) b) is uh, the indexed store comonad... |
| 10:16:25 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 10:16:27 | <Gurkenglas> | Suppose (a->IO b) is used exactly once, ((a->IO b) %1 ->IO c) |
| 10:17:06 | <Gurkenglas> | then we get ((a->IO b) %1 ->IO c) -> IO a! :) |
| 10:24:30 | × | sedeki quits (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 10:29:07 | → | Pickchea joins (~private@user/pickchea) |
| 10:29:56 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 10:46:48 | → | dsp joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
| 10:53:24 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:53:26 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 10:56:48 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) |
| 10:58:38 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
| 11:01:03 | → | alx741 joins (~alx741@181.196.69.46) |
| 11:01:18 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 256 seconds) |
| 11:07:11 | → | striven joins (~striven@user/striven) |
| 11:12:02 | × | striven quits (~striven@user/striven) (Ping timeout: 252 seconds) |
| 11:17:07 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 11:17:25 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 11:18:52 | × | Gurkenglas quits (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
| 11:24:42 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:25:33 | → | fendor_ joins (~fendor@91.141.39.112.wireless.dyn.drei.com) |
| 11:27:55 | × | fendor quits (~fendor@91.141.58.223.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 11:31:25 | × | fendor_ quits (~fendor@91.141.39.112.wireless.dyn.drei.com) (Remote host closed the connection) |
| 11:31:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 11:32:43 | → | fendor joins (~fendor@91.141.39.112.wireless.dyn.drei.com) |
| 11:34:17 | → | o1lo01ol1o joins (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) |
| 11:35:21 | → | lavaman joins (~lavaman@98.38.249.169) |
| 11:38:55 | × | o1lo01ol1o quits (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 252 seconds) |
| 11:39:40 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 11:44:50 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 11:49:28 | × | max22- quits (~maxime@2a01cb08833598008853a45d5c3fcd90.ipv6.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 12:03:38 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 12:06:40 | → | peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
| 12:07:02 | × | aarvar quits (~aaron@2601:602:a080:fa0:c4c5:6191:b71c:585d) (Ping timeout: 256 seconds) |
| 12:12:35 | × | mestre quits (~mestre@191.177.175.57) (Quit: Lost terminal) |
| 12:16:52 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 12:16:53 | → | __monty__ joins (~toonn@user/toonn) |
| 12:17:01 | → | dbr^ joins (~dbr@wsip-98-188-244-188.mc.at.cox.net) |
| 12:18:08 | → | aliosablack joins (~chomwitt@ppp-94-69-12-184.home.otenet.gr) |
| 12:18:12 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 12:18:30 | × | chomwitt quits (~chomwitt@2a02:587:dc07:8000:12c3:7bff:fe6d:d374) (Read error: Connection reset by peer) |
| 12:20:56 | <albet70> | why some people passing lambda as parameter not function? what's the benefit? |
| 12:21:30 | <maerwald> | I barely understand the question |
| 12:21:35 | <Hecate> | I understand it |
| 12:22:02 | <maerwald> | lambda is a function |
| 12:22:05 | <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 |
| 12:22:21 | <Hecate> | albet70: "functions" as you understand them are named lambdas, nothing more |
| 12:22:38 | <albet70> | lots of javascript programmer doing this |
| 12:23:28 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 12:24:55 | <albet70> | f k = k 3; f (\x -> (+1) x); f (+1) |
| 12:26:48 | <maerwald> | I doubt anyone writes `f (\x -> (+1) x)` |
| 12:26:54 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:27:11 | <maerwald> | `f (\x -> x + 1)` yeah, and its fine |
| 12:27:59 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 12:32:12 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 12:34:07 | <albet70> | that's javascript programmers doing |
| 12:36:39 | <albet70> | withTestModule $ \mod -> withHostTargetMachine $ \tm -> withExecutionSession $ \es -> |
| 12:36:49 | <maerwald> | seems they're smart programmers |
| 12:37:17 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 12:37:22 | <albet70> | but some haskers write like this way |
| 12:43:18 | × | wonko quits (~wjc@62.115.229.50) (Ping timeout: 256 seconds) |
| 12:46:03 | → | goepsilongo joins (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) |
| 12:51:08 | → | V joins (~v@anomalous.eu) |
| 12:52:26 | × | machinedgod quits (~machinedg@24.105.81.50) (Read error: Connection reset by peer) |
| 12:52:33 | → | machined1od joins (~machinedg@24.105.81.50) |
| 12:53:13 | → | DNH joins (~DNH@8.43.122.27) |
| 12:58:05 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) |
| 12:59:24 | → | jtomas joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
| 12:59:46 | × | MQ-17J quits (~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds) |
| 13:00:18 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 13:00:45 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 13:02:10 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 240 seconds) |
| 13:06:13 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 13:07:58 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 13:08:59 | → | weird_error joins (~textual@ool-4579fedc.dyn.optonline.net) |
| 13:13:24 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 13:28:05 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 13:28:47 | → | hendursaga joins (~weechat@user/hendursaga) |
| 13:35:41 | × | wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 13:36:37 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:37:47 | → | max22- joins (~maxime@2a01cb0883359800958b0fbf6c7c6590.ipv6.abo.wanadoo.fr) |
| 13:38:02 | → | Pickchea joins (~private@user/pickchea) |
| 13:38:07 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 13:38:16 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 13:40:33 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 13:41:01 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 13:44:19 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 13:47:20 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 256 seconds) |
| 13:49:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 13:57:53 | × | dsp quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection) |
| 14:00:39 | × | thyriaen quits (~thyriaen@dynamic-077-011-107-153.77.11.pool.telefonica.de) (Remote host closed the connection) |
| 14:04:12 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
| 14:04:42 | × | machined1od quits (~machinedg@24.105.81.50) (Ping timeout: 245 seconds) |
| 14:08:40 | <kuribas> | WTF, ghc is insisting my type is an Int, when it's clearly a Double... |
| 14:09:05 | × | betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat) |
| 14:09:34 | <maerwald> | time for a drink |
| 14:09:42 | <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 |
| 14:10:41 | <kuribas> | hmm, right, but I don't see it... |
| 14:11:51 | <kuribas> | maybe some weird interaction with duplicateRecordFields? |
| 14:13:09 | <kuribas> | it cannot be a compiler bug? |
| 14:14:22 | <c_wraith> | It could be a compiler bug, but it's more likely it's a normal bug in the code. |
| 14:14:50 | <c_wraith> | Just a priori. Usually I'm better off assuming I don't understand something than GHC is wrong. |
| 14:15:19 | <kuribas> | or at least a GHC quirck? |
| 14:16:09 | <c_wraith> | yes, that is something that comes up. "That feature doesn't work like that." |
| 14:16:16 | <kuribas> | (sel $ mt N.n_generators) :: Selector Int |
| 14:16:32 | <kuribas> | Expected type: Field "meta.model_turbine" NSQC 'NotNull Double Actual type: Field "meta.model_turbine" NSQC 'NotNull Int |
| 14:16:54 | <kuribas> | (point at N.n_generators)... |
| 14:17:06 | <kuribas> | N.n_generators :: Field "meta.model_turbine" NSQC 'NotNull Int |
| 14:17:27 | <kuribas> | it clearly has type Int, not DOuble |
| 14:19:20 | → | desantra joins (~skykanin@user/skykanin) |
| 14:19:47 | <c_wraith> | that's only one side. |
| 14:21:14 | <c_wraith> | the usage side might also cause problems. |
| 14:21:37 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:21:49 | <kuribas> | erm no, (x :: Int) is always of type Int |
| 14:21:54 | <kuribas> | even if x is not of type int. |
| 14:22:23 | <kuribas> | > ("foobar" :: Int) |
| 14:22:24 | <lambdabot> | error: |
| 14:22:24 | <lambdabot> | • Couldn't match expected type ‘Int’ with actual type ‘[Char]’ |
| 14:22:24 | <lambdabot> | • In the expression: ("foobar" :: Int) |
| 14:23:09 | <c_wraith> | right |
| 14:23:33 | <c_wraith> | and if you're using it someplace that expects a Selector Double, you'd get exactly that error |
| 14:23:36 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 14:23:50 | <kuribas> | c_wraith: but I am not |
| 14:25:03 | <kuribas> | c_wraith: also, that's irrelevant if the error points "inside" the parents. |
| 14:25:21 | <kuribas> | (do (Alias mt) <- innerJoin N.model_turbine_tbl (const true_); pure (sel (mt N.n_generators))) |
| 14:25:21 | <kuribas> | :: Query NSQC (Selector Int) |
| 14:25:29 | <kuribas> | So it's "clearly" of type Int. |
| 14:30:22 | → | sleblanc joins (~sleblanc@user/sleblanc) |
| 14:30:47 | <kuribas> | oh great, stack stopped working as well.. |
| 14:33:04 | <maerwald> | kuribas: how so? |
| 14:33:27 | <kuribas> | maerwald: I managed to get stack working before |
| 14:33:34 | <kuribas> | ghc-pkg: cannot find package hasqlator-mysql |
| 14:34:07 | <kuribas> | it's still in ../hasqlator-mysql |
| 14:34:20 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 14:34:43 | <maerwald> | is it in stack.yaml? |
| 14:34:47 | <kuribas> | yes |
| 14:36:00 | <kuribas> | https://gist.github.com/kuribas/804772a05afdfbfb011b603e073610fa |
| 14:36:07 | <kuribas> | We could really use better error messages... |
| 14:36:14 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:36:14 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 14:36:14 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:36:24 | <kuribas> | it *was* working before |
| 14:40:10 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 14:40:39 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 14:43:52 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
| 14:45:10 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds) |
| 14:46:03 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 14:48:05 | <kuribas> | guess what, removing either the n_generator :: Int field, or the cut_in_wind_speed :: Double field compiles fine. |
| 14:48:16 | <kuribas> | So clearly ghc is mixing the two fields somehow... |
| 14:50:05 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 14:50:16 | <[exa]> | time to check for name collisions I'd say |
| 14:50:57 | <[exa]> | kuribas: do you have a pastebin of that somewhere? (can't see any in scrollback) |
| 14:51:21 | <kuribas> | [exa]: no, it's part of a large amount of code, and company code... |
| 14:53:05 | → | betelgeuse joins (~betelgeus@94-225-47-8.access.telenet.be) |
| 14:54:11 | × | desantra quits (~skykanin@user/skykanin) (Quit: WeeChat 3.2) |
| 14:54:33 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 14:59:15 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 14:59:47 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) |
| 15:01:50 | → | Gurkenglas joins (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) |
| 15:02:00 | → | striven joins (~striven@user/striven) |
| 15:03:07 | <kuribas> | haskell tooling sucks so much... |
| 15:03:24 | <kuribas> | I mean, all tooling sucks, in any language... |
| 15:04:10 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) (Ping timeout: 240 seconds) |
| 15:04:26 | <hpc> | just give me vim and a compiler |
| 15:04:38 | <kuribas> | hpc: still need cabal or stack |
| 15:04:54 | <kuribas> | hmm rm -rf .stack-work helped |
| 15:10:04 | × | striven quits (~striven@user/striven) (Ping timeout: 256 seconds) |
| 15:10:45 | → | zer0bitz joins (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
| 15:10:48 | × | goepsilongo quits (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!) |
| 15:12:25 | → | renzhi joins (~xp@2607:fa49:6500:3d00::d986) |
| 15:15:41 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 15:15:58 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:15:59 | → | Skyfire joins (~pyon@user/pyon) |
| 15:16:44 | <kuribas> | This seems to be the culprit: :: Field "meta.model_turbine" NSQC 'NotNull Double |
| 15:16:44 | <kuribas> | -> Expression 'NotNull Int |
| 15:16:57 | <kuribas> | https://hackage.haskell.org/package/hasqlator-mysql-0.0.9/docs/Database-MySQL-Hasqlator-Typed.html#t:Alias |
| 15:17:14 | <kuribas> | obviously that cannot change type. |
| 15:17:37 | <kuribas> | Alias getTableAlias :: forall fieldNull a. Field table database fieldNull a -> Expression (JoinNullable joinType fieldNull) a |
| 15:18:09 | <kuribas> | Somewhere ghc has turned this polymorphic function in a monomorphic function... |
| 15:19:35 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) |
| 15:20:18 | <kuribas> | And yes, changing "Alias mt <- innerJoin .." with "mt <- innerJoin ..", and "mt field" with "mt@@field", solves the problem! |
| 15:20:29 | <kuribas> | That *does* look like a type checker bug to me... |
| 15:21:00 | <kuribas> | The two should be equivalent, and have been so far... |
| 15:21:40 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 15:21:44 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 15:21:58 | geekosaur | tempted to suggest monomorphism restriction or MonoLocalBinds possibly coming into play somehow |
| 15:22:43 | <kuribas> | turning off MonoLocalBinds didn't help... |
| 15:25:01 | <kuribas> | Should I report this somewhere? |
| 15:25:01 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 15:27:12 | <geekosaur> | ghc bug tracker https://gitlab.haskell.org/ghc/ghc/-/issues |
| 15:27:19 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:28:51 | <kuribas> | c_wraith: see, it *was* a copiler bug! |
| 15:29:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:31:22 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
| 15:31:40 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:35:34 | <kuribas> | Do error get fixed in previous ghc versions? |
| 15:35:37 | <kuribas> | or only latest? |
| 15:36:07 | <geekosaur> | only latest |
| 15:37:02 | <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 |
| 15:38:31 | × | me_ quits (~me@178.70.139.179) (Quit: Leaving) |
| 15:40:22 | <wz1000> | kuribas: is it this? https://gitlab.haskell.org/ghc/ghc/-/issues/19287 |
| 15:40:45 | <kuribas> | wz1000: no |
| 15:46:10 | <kuribas> | Last time I also found a ghc bug. Am I just unlucky, or is ghc buggy? |
| 15:55:48 | <yushyin> | 4.5k open issues soo maybe yes? ;P |
| 15:56:14 | <Gurkenglas> | Cont (especially indexed Cont)'s do notation is remarkably similar to hole-driven programming, isn't it. |
| 15:59:06 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 16:00:00 | × | vbeatrice[m] quits (~vbeatrice@2001:470:69fc:105::3ebf) (Quit: You have been kicked for being idle) |
| 16:00:08 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: You have been kicked for being idle) |
| 16:00:09 | × | aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (Quit: You have been kicked for being idle) |
| 16:00:43 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 16:02:58 | → | wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
| 16:03:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 16:04:22 | <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 |
| 16:04:28 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
| 16:04:32 | <janus> | what's indexed Cont? |
| 16:04:36 | × | wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
| 16:04:57 | <kuribas> | wz1000 I have no idea what you mean... |
| 16:05:26 | <Gurkenglas> | janus, instead of (a->r)->r, have (a->r)->s. so the continuation doesn't have to have the same end result |
| 16:05:32 | <kuribas> | wz1000: you mean I cannot bind a polymorphic function in do? |
| 16:05:55 | <kuribas> | wz1000: but then, why would it work "sometimes", and sometimes not? |
| 16:05:59 | <kuribas> | looks still like a bug to me. |
| 16:06:11 | <kuribas> | if it is not possible there should be an error message |
| 16:06:13 | <Gurkenglas> | instead of ((((a->r)->r)->r)->r)->((a->r)->r) you get ((((a->r)->s)->s)->t)->((a->r)->t) |
| 16:06:18 | <wz1000> | I really need to see the program to say more |
| 16:06:34 | <wz1000> | or a minimised reproducer |
| 16:06:45 | <janus> | hmmm what is the t type? |
| 16:07:10 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 240 seconds) |
| 16:07:11 | <Gurkenglas> | janus, it's of the same kind as r and s |
| 16:07:50 | <janus> | ok, so r is the intermediate result, s is the 'state'? or are they just randomly chosen letters? |
| 16:08:15 | <supersven> | Hey, How can I get the `ThreadId`s of all threads? |
| 16:08:57 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Remote host closed the connection) |
| 16:09:00 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:09:18 | <kuribas> | wz1000: also, why would "do" behave other than bind (>>=) ? |
| 16:09:24 | <Gurkenglas> | janus, randomly chosen letters - i used r because that's what Cont uses, and s and t come after. |
| 16:09:34 | <supersven> | I've only found `myThreadId :: IO ThreadId `, but I'm looking for something like `allThreadIds :: IO [ThreadId] ` |
| 16:10:02 | <wz1000> | kuribas: does it? Does the problem go away if you manually deguar it to >>=? |
| 16:10:19 | → | benin0369323 joins (~benin@183.82.179.90) |
| 16:10:32 | <kuribas> | wz1000: I don't know, but you said: "There are some restrictions with do binding values containing GADTs and higher ranked types" |
| 16:11:01 | <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 |
| 16:11:13 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:11:13 | <wz1000> | yes, the fundamental issue is with GADT type inference and impredicative types, but it tends to show up with do notation |
| 16:11:32 | <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) |
| 16:11:40 | → | arjun joins (~Srain@user/arjun) |
| 16:12:15 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 16:12:28 | <kuribas> | wz1000: by "restrictions", do you mean, it breaks your program in arbitrary and unpredictable ways? |
| 16:12:49 | <wz1000> | no, just that type inference may not behave in the way you expect |
| 16:13:44 | <kuribas> | well, I return a polymorphic function inside a newtype, so I just expect it to behave polymorphically :) |
| 16:14:18 | <wz1000> | if you can come up with a reproducer I will take a look |
| 16:14:19 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 16:14:43 | <kuribas> | wz1000: sadly, my attemp gave me something that actually compiles :) |
| 16:14:44 | <kuribas> | :( |
| 16:14:55 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 16:15:18 | <kuribas> | I removed some typeclasses, let's add them back... |
| 16:16:57 | → | wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
| 16:17:27 | × | wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
| 16:18:41 | <Gurkenglas> | janus, indexed cont is to cont as Lens is to Lens' |
| 16:19:18 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
| 16:19:30 | → | spruit11_ joins (~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2) |
| 16:19:30 | <Gurkenglas> | https://hackage.haskell.org/package/indexed-extras-0.2/docs/Control-Monad-Indexed-Cont.html#t:IxContT |
| 16:19:58 | <janus> | ah cool. currently using monochrom's cont since i needed yieldGet |
| 16:20:17 | <janus> | but i guess it could be made with shift/reset somehow... |
| 16:20:54 | <Gurkenglas> | pay more attention to newtype IxContT than class IxMonadCont m |
| 16:21:07 | <adamse> | supersven: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2816 |
| 16:21:23 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 16:21:43 | <Gurkenglas> | janus, link? |
| 16:21:57 | <janus> | Gurkenglas: http://www.vex.net/~trebla/haskell/cont.xhtml |
| 16:22:27 | × | spruit11 quits (~quassel@2a02:a467:ccd6:1:8013:5e37:15b2:f034) (Ping timeout: 250 seconds) |
| 16:23:51 | × | johnw quits (~johnw@2600:1700:cf00:db0:5468:db28:5c48:90a6) (Quit: ZNC - http://znc.in) |
| 16:23:59 | <janus> | i have a user style sheet that works if you prefer dark mode |
| 16:24:12 | <supersven> | adamse: Thanks |
| 16:24:15 | <Gurkenglas> | IxCont should allow yieldGet |
| 16:25:37 | <Gurkenglas> | but janus, isn't lazy evaluation order usually enough to never need yield? |
| 16:27:23 | <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 |
| 16:27:23 | <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 |
| 16:27:35 | <Gurkenglas> | janus, link your usage of yieldGet? :) |
| 16:28:16 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 16:28:29 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 16:29:09 | <janus> | Gurkenglas: it is in idris though... https://git.sr.ht/~janus/idris-aio/tree/main/item/src/AIO/Multiplexer.idr#L129 |
| 16:29:32 | <janus> | i am trying to multiplex connection handlers that single-threadedly run using a single uring event loop |
| 16:30:40 | <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 |
| 16:30:55 | <Gurkenglas> | havent done idris, but wouldn't 123 cause 125 to never trigger? |
| 16:31:22 | <Gurkenglas> | ohhhh the type is to the left of the :: |
| 16:31:40 | <kuribas> | wz1000: attempting to isolate it out seems to get rid of the problem |
| 16:31:44 | <Gurkenglas> | ...that still doesnt invalidate my two-lines-ago |
| 16:31:45 | <janus> | Gurkenglas: '::' is the list constructor in Idris |
| 16:32:26 | <kuribas> | wz1000: I cannot show the whole project, as it is company property... |
| 16:32:43 | <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 |
| 16:33:08 | <Gurkenglas> | yeah it being cons makes sense of it. Why do you have so much explicit recursion? |
| 16:33:35 | <wz1000> | kuribas: perhaps you can share it privately? We can create a confidential ticket on the gitlab |
| 16:33:58 | <kuribas> | wz1000: we host on azure... |
| 16:34:05 | <kuribas> | But I can create a zip... |
| 16:34:20 | <janus> | Gurkenglas: i don't know, i guess i am not smart enough to realize the higher-order patterns :P |
| 16:36:15 | <kuribas> | wz1000: or could I call you remotely? |
| 16:36:21 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 16:38:01 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:38:46 | <kuribas> | wz1000: I am bit reluctant to share our database schema... |
| 16:40:15 | <kuribas> | wz1000: I'll see if I can trim the project... |
| 16:42:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 16:42:28 | <Gurkenglas> | janus, doesn't 51 make 52-55 do nothing? |
| 16:43:52 | <janus> | Gurkenglas: why? it is calling pure on a map, such that it can be bound to 'newConns' on line 37 |
| 16:43:56 | → | arkho joins (~ccc@dynamic-acs-24-112-153-241.zoominternet.net) |
| 16:44:29 | <Gurkenglas> | dang sorry, i missed that. *updates time-before-escalation* |
| 16:45:22 | <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 |
| 16:45:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 16:47:24 | → | qbt joins (~edun@user/edun) |
| 16:49:09 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 16:50:12 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 16:54:54 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
| 17:01:45 | → | benin03693239 joins (~benin@106.198.95.161) |
| 17:01:49 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 17:02:03 | × | aman quits (~aman@user/aman) (Quit: aman) |
| 17:02:35 | <adamse> | Is there a way to unbox an unboxed sum into one of the mutable array types ghc provides? |
| 17:02:47 | <kuribas> | wz1000: I trimmed the project down http://kuribas.hcoop.net/deployer.tgz |
| 17:03:22 | × | benin0369323 quits (~benin@183.82.179.90) (Ping timeout: 240 seconds) |
| 17:03:23 | benin03693239 | is now known as benin0369323 |
| 17:03:49 | <kuribas> | wz1000: note, it works when I change "Alias mt <- ..." with "mt <- ..;", and "mt field" with "mt@@field" |
| 17:04:20 | <kuribas> | wz1000: which proves to me it's a bug in the compiler, not in the code... |
| 17:04:59 | × | juhp quits (~juhp@128.106.188.220) (Remote host closed the connection) |
| 17:18:03 | × | jushur quits (~human@user/jushur) (Quit: SKYNET UPGRADE) |
| 17:21:52 | → | benin03693238 joins (~benin@183.82.207.253) |
| 17:23:40 | × | benin0369323 quits (~benin@106.198.95.161) (Ping timeout: 240 seconds) |
| 17:23:40 | benin03693238 | is now known as benin0369323 |
| 17:26:07 | → | Achylles joins (~Achylles_@2804:431:d724:131a:afba:e8f4:a787:4346) |
| 17:27:16 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 17:27:20 | → | jushur joins (~human@user/jushur) |
| 17:27:31 | × | Achylles quits (~Achylles_@2804:431:d724:131a:afba:e8f4:a787:4346) (Read error: Connection reset by peer) |
| 17:28:45 | <Gurkenglas> | janus, 138 newResp unused? |
| 17:28:55 | ← | bradyt parts (~bradyt@user/bradyt) () |
| 17:33:18 | <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 |
| 17:34:43 | × | spruit11_ quits (~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 17:34:59 | → | spruit11 joins (~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2) |
| 17:35:40 | <janus> | i should just give up on totality, that is probably what kept me from handling it. but better have partiality than unexpected behaviour... |
| 17:43:16 | → | ubert joins (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) |
| 17:45:34 | → | o1lo01ol1o joins (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) |
| 17:46:18 | <Gurkenglas> | janus, are there other cases that shouldn't happen? |
| 17:48:32 | <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 |
| 17:49:10 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 17:50:11 | <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... |
| 17:50:17 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 17:50:45 | <janus> | i am not really taking advantage of dependent types at all, i thought i'd get it working first.. |
| 17:51:07 | × | weird_error quits (~textual@ool-4579fedc.dyn.optonline.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:52:18 | → | Pickchea joins (~private@user/pickchea) |
| 17:53:44 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 17:54:32 | × | o1lo01ol1o quits (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Remote host closed the connection) |
| 17:54:55 | × | kawpuh quits (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Ping timeout: 256 seconds) |
| 17:56:09 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 17:57:39 | × | Nosrep quits (~archbox@user/nosrep) (Quit: WeeChat 3.2) |
| 18:01:05 | → | kubes joins (~kubes@188.120.84.109) |
| 18:01:10 | × | ubert quits (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 18:01:24 | ← | kubes parts (~kubes@188.120.84.109) () |
| 18:01:34 | <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 |
| 18:01:40 | <janus> | _need_ successive writes. |
| 18:03:05 | → | wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
| 18:03:56 | × | wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
| 18:04:02 | → | wennefer0_ joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
| 18:04:16 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 18:04:44 | × | wennefer0_ quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
| 18:06:07 | × | benin0369323 quits (~benin@183.82.207.253) (Ping timeout: 252 seconds) |
| 18:06:43 | → | Lycurgus joins (~juan@98.4.112.204) |
| 18:07:46 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:11:17 | <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 |
| 18:11:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit) |
| 18:12:22 | <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 |
| 18:18:41 | <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 |
| 18:25:13 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 18:27:21 | → | Guest82_ joins (~textual@ool-4579fedc.dyn.optonline.net) |
| 18:29:38 | <wz1000> | kuribas: this does look like a bug. I will try to minimise it soon |
| 18:30:40 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 18:36:07 | <kuribas> | wz1000: thanks! |
| 18:37:56 | → | ubert joins (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) |
| 18:38:05 | <Orbstheorem> | Is there a monad that can run Quickcheck generators while also producing a Quickcheck property? |
| 18:39:03 | <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/410e494de92710b6f264032797119d7428d6f6d5) |
| 18:41:04 | <Orbstheorem> | If there is not, please show me a better way to write this. |
| 18:48:46 | × | kuribas quits (~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 18:48:48 | × | ubert quits (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) (Ping timeout: 250 seconds) |
| 18:50:43 | × | Guest82_ quits (~textual@ool-4579fedc.dyn.optonline.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:51:50 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 18:55:53 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 18:56:20 | × | pbrisbin quits (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Quit: WeeChat 3.2) |
| 18:57:42 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 18:57:45 | → | pbrisbin joins (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) |
| 19:02:17 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 19:06:05 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 19:07:56 | → | econo joins (uid147250@user/econo) |
| 19:12:44 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 19:15:04 | → | aarvar joins (~aaron@2601:602:a080:fa0:2b49:6db1:e21:14d8) |
| 19:17:37 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 19:19:23 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:20:25 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 19:26:09 | → | burnside_ joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 19:26:09 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 19:32:16 | → | crazazy joins (~user@130.89.171.203) |
| 19:33:13 | → | Pickchea joins (~private@user/pickchea) |
| 19:34:08 | → | regr joins (~regr@89.205.140.180) |
| 19:36:09 | × | regr quits (~regr@89.205.140.180) (Quit: Konversation terminated!) |
| 19:36:12 | × | arjun quits (~Srain@user/arjun) (Remote host closed the connection) |
| 19:42:31 | <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 |
| 19:43:08 | × | DNH quits (~DNH@8.43.122.27) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:46:16 | <Gurkenglas> | It appears that Property just wraps Gen, so I too expect there is a way to merge that. |
| 19:48:18 | <Gurkenglas> | Orbstheorem, try just writing a Gen Property instead of using forall? |
| 19:48:42 | → | regr joins (~regr@89.205.140.180) |
| 19:49:07 | <Gurkenglas> | (Of course, Gen Property is still silly since it by definition unpacks into Gen (Gen Prop)) |
| 19:52:57 | × | regr quits (~regr@89.205.140.180) (Quit: WeeChat 2.8) |
| 19:54:34 | <Gurkenglas> | Orbstheorem, does this work? https://bpa.st/A4LA |
| 19:58:03 | → | Everything joins (~Everythin@37.115.210.35) |
| 19:58:40 | × | nfd quits (~nfd@user/nfd) (Ping timeout: 240 seconds) |
| 19:59:37 | <Orbstheorem> | lol |
| 19:59:40 | <Orbstheorem> | It works x) |
| 19:59:55 | <Orbstheorem> | (It doesn't print the generated value by `gen...` though) |
| 20:00:26 | <Orbstheorem> | I assume there's a `trace...` function thing I can add to the generator? |
| 20:01:23 | × | burnside_ quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 20:01:40 | <Orbstheorem> | Thanks :) |
| 20:02:14 | ← | pragma- parts (~chaos@user/pragmatic-chaos) (Bye!) |
| 20:07:15 | → | juhp joins (~juhp@128.106.188.220) |
| 20:08:19 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:08:26 | → | kenran joins (~kenran@200116b82bfe95008ed9162f6e9d97d8.dip.versatel-1u1.de) |
| 20:11:19 | → | nfd joins (~nfd@user/nfd) |
| 20:12:42 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
| 20:13:32 | → | vicfred joins (~vicfred@user/vicfred) |
| 20:14:09 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 20:14:25 | × | L29Ah quits (~L29Ah@user/l29ah) (Changing host) |
| 20:14:25 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 20:16:30 | → | acidjnk joins (~acidjnk@p200300d0c7203041c87a18810a048a6d.dip0.t-ipconnect.de) |
| 20:20:43 | <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/2be7c66ff1d8542483757f09d39e82175aef0430) |
| 20:21:08 | × | Lycurgus quits (~juan@98.4.112.204) (Quit: Exeunt) |
| 20:21:20 | <Gurkenglas> | Orbstheorem, does this work? https://bpa.st/NKJQ >:) |
| 20:22:23 | <Orbstheorem> | Gurkenglas: Where do I get the definition of runCont from? |
| 20:22:36 | <Orbstheorem> | Ah, my bad sorry... |
| 20:25:40 | × | azeem quits (~azeem@m83-185-46-36.cust.tele2.se) (Ping timeout: 240 seconds) |
| 20:25:43 | <Orbstheorem> | Gurkenglas: By `id` you mean `Prelude.id`? |
| 20:25:58 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 20:26:03 | <Gurkenglas> | yep |
| 20:26:18 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 250 seconds) |
| 20:26:42 | Orbstheorem | sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/28add7ace735acab39b256c9474f73b28a844bfc |
| 20:29:23 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 20:34:04 | × | mei quits (~mei@user/mei) (Ping timeout: 252 seconds) |
| 20:34:40 | × | Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds) |
| 20:36:55 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 20:40:24 | <Orbstheorem> | `flip runCont id $ do...` did the trick... |
| 20:40:30 | <Orbstheorem> | And yeah, it works! |
| 20:40:36 | <Orbstheorem> | Gurkenglas: ^^ |
| 20:41:13 | × | nfd quits (~nfd@user/nfd) (Ping timeout: 252 seconds) |
| 20:42:10 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 20:51:08 | → | kawpuh joins (~kawpuh@097-082-066-236.res.spectrum.com) |
| 20:51:16 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:51:44 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 20:52:45 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 20:53:52 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
| 20:54:01 | Lord_of_Life_ | is now known as Lord_of_Life |
| 20:54:11 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 20:55:11 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 21:07:03 | × | kenran quits (~kenran@200116b82bfe95008ed9162f6e9d97d8.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 21:09:20 | × | peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 256 seconds) |
| 21:09:28 | × | dbr^ quits (~dbr@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection) |
| 21:15:38 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 21:15:52 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds) |
| 21:19:17 | → | oldleather joins (~oldleathe@172.58.168.76) |
| 21:20:05 | ← | oldleather parts (~oldleathe@172.58.168.76) () |
| 21:21:07 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) (Remote host closed the connection) |
| 21:24:03 | → | ulvarrefr joins (~user@185.24.53.152) |
| 21:26:41 | <hololeap> | % instance IsString b => IsString (a -> b) where fromString s _ = fromString s |
| 21:26:42 | <yahb> | hololeap: |
| 21:26:51 | <hololeap> | is there any reason why this isn't "a thing" ? |
| 21:27:45 | <c_wraith> | Probably the same reason the Num instance for functions isn't standard |
| 21:28:00 | <c_wraith> | it makes things accidentally compile |
| 21:28:11 | <hololeap> | that makes sense |
| 21:28:17 | <hololeap> | % foo = ("foo-" <>) |
| 21:28:18 | <yahb> | hololeap: |
| 21:28:28 | <hololeap> | % (foo <> " " <> foo <> "?") "bar" |
| 21:28:29 | <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 |
| 21:28:46 | <hololeap> | % :set -XOverloadedStrings |
| 21:28:47 | <yahb> | hololeap: |
| 21:28:51 | <hololeap> | % foo = ("foo-" <>) |
| 21:28:52 | <yahb> | hololeap: |
| 21:28:54 | <hololeap> | % (foo <> " " <> foo <> "?") "bar" |
| 21:28:54 | <yahb> | hololeap: "foo-bar foo-bar?" |
| 21:29:11 | <c_wraith> | hololeap: it'd fit right in to acme-php, though! |
| 21:29:12 | <hololeap> | anyway, I thought it was kind of fun |
| 21:29:37 | <geekosaur> | some people thinjk the function intance for Num is fun, too |
| 21:29:44 | <geekosaur> | or the Applicative instance |
| 21:32:27 | <hololeap> | how often does yahb reset? for instnance, how long will OverloadedStrings stay enabled? |
| 21:32:59 | <int-e> | % :quit |
| 21:33:00 | <yahb> | int-e: |
| 21:33:08 | <int-e> | % :t "" |
| 21:33:09 | <yahb> | int-e: String |
| 21:33:23 | <int-e> | % :set -XOverloadedStrings |
| 21:33:23 | <yahb> | int-e: |
| 21:33:25 | <int-e> | % :t "" |
| 21:33:26 | <yahb> | int-e: IsString p => p |
| 21:33:34 | <crazazy> | i guess until you do :set -XNoOverladedStrings |
| 21:33:53 | <crazazy> | % :set -XOverloadedStrings |
| 21:33:53 | <yahb> | crazazy: |
| 21:33:58 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 21:34:00 | <crazazy> | % :t "" |
| 21:34:01 | <yahb> | crazazy: IsString p => p |
| 21:34:13 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 21:34:16 | <crazazy> | % :set -XNoOverloadedStrings |
| 21:34:16 | <yahb> | crazazy: |
| 21:34:20 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:34:21 | <crazazy> | % :t "" |
| 21:34:21 | <yahb> | crazazy: String |
| 21:34:26 | <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. |
| 21:35:01 | <hpc> | it's heavily sandboxed too |
| 21:35:18 | <int-e> | well, obviously |
| 21:35:19 | <crazazy> | is yahb the replacement for lambdabot btw? |
| 21:35:24 | <hpc> | you have access to IO so you can even use that to explore it |
| 21:35:49 | <int-e> | crazazy: nah, they coexist. they're fairly different. |
| 21:35:51 | <hpc> | % system "ls /" |
| 21:35:51 | <yahb> | hpc: ; <interactive>:8:1: error: Variable not in scope: system :: String -> t |
| 21:35:56 | <geekosaur> | it's not a replacement, it's an alternative |
| 21:36:01 | <hpc> | % import System.Cmd |
| 21:36:01 | <yahb> | hpc: ; <interactive>:1:1: warning: [-Wdeprecations] Module `System.Cmd' is deprecated: Use "System.Process" instead |
| 21:36:02 | → | DNH joins (~DNH@8.43.122.27) |
| 21:36:05 | <hpc> | % system "ls /" |
| 21:36:05 | <yahb> | hpc: ls: cannot access '/': No such file or directory; ExitFailure 2 |
| 21:36:09 | <hpc> | :( |
| 21:36:33 | <int-e> | % system "whoami" |
| 21:36:33 | <yahb> | int-e: whoami: cannot find name for user ID 996: No such file or directory; ExitFailure 1 |
| 21:36:47 | <int-e> | it's kind of funny that it finds any binaries at all... |
| 21:37:17 | <int-e> | (and unexpected, to me) |
| 21:37:30 | <hpc> | % system "virt-what" |
| 21:37:31 | <yahb> | hpc: /bin/sh: 1: virt-what: not found; ExitFailure 127 |
| 21:37:59 | <hpc> | it's fun to play around with in pms |
| 21:40:23 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) |
| 21:41:53 | <crazazy> | wait is it the same ghci session for everyone? |
| 21:41:57 | × | aliosablack quits (~chomwitt@ppp-94-69-12-184.home.otenet.gr) (Remote host closed the connection) |
| 21:41:59 | <geekosaur> | yes |
| 21:42:02 | <crazazy> | ooh |
| 21:45:29 | → | dsrt^ joins (~dsrt@wsip-98-188-244-188.mc.at.cox.net) |
| 21:46:15 | → | lavaman joins (~lavaman@98.38.249.169) |
| 21:50:19 | × | crazazy quits (~user@130.89.171.203) (Remote host closed the connection) |
| 21:50:31 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 21:50:54 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 21:51:17 | → | hendursaga joins (~weechat@user/hendursaga) |
| 21:51:27 | × | thelounge9230681 quits (~thelounge@cpe-75-85-161-60.san.res.rr.com) (Ping timeout: 240 seconds) |
| 21:52:10 | → | thelounge9230681 joins (~thelounge@cpe-75-85-161-60.san.res.rr.com) |
| 21:52:37 | <janus> | even for the people who pm it? |
| 21:53:01 | <geekosaur> | yes |
| 21:53:27 | <geekosaur> | session garbage collection becomes a pain otherwise |
| 21:53:34 | × | max22- quits (~maxime@2a01cb0883359800958b0fbf6c7c6590.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 22:07:13 | → | Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 22:13:08 | × | jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 22:14:29 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:16:48 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds) |
| 22:17:06 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 22:17:09 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 22:26:15 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 22:26:15 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 22:26:18 | allbery_b | is now known as geekosaur |
| 22:26:21 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 22:28:07 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:28:07 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 22:28:07 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:37:37 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 245 seconds) |
| 22:37:54 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) (Remote host closed the connection) |
| 22:39:43 | × | DNH quits (~DNH@8.43.122.27) (Quit: Textual IRC Client: www.textualapp.com) |
| 22:40:10 | × | Techcable quits (~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in) |
| 22:40:34 | × | Gurkenglas quits (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 22:40:38 | × | TranquilEcho quits (~grom@user/tranquilecho) (Ping timeout: 252 seconds) |
| 22:41:43 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 22:41:51 | → | Techcable joins (~Techcable@168.235.93.147) |
| 22:42:32 | → | jtomas joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
| 22:43:03 | → | a6a45081-2b83 joins (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) |
| 22:46:45 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
| 22:59:17 | <koz> | I'm getting Haddock errors with GHC 8.4.4, that look like this: |
| 22:59:36 | <koz> | https://gist.github.com/kozross/607b455139cb4a6acce1e5e769751b7d |
| 22:59:43 | <koz> | Is there something I'm missing here? |
| 23:04:13 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 23:04:15 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) |
| 23:05:39 | <geekosaur> | seems okay to me, unless pasting turned a nonbreaking space into a regular one or something |
| 23:05:56 | <koz> | geekosaur: What's weird is that this _doesn't_ trigger on any other version AFAICT. |
| 23:07:12 | × | acidjnk quits (~acidjnk@p200300d0c7203041c87a18810a048a6d.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 23:08:27 | × | jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 245 seconds) |
| 23:14:44 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
| 23:16:41 | <koz> | Seems it does - but only pre 8.6! |
| 23:16:45 | <koz> | (in exactly the same way) |
| 23:16:52 | → | ubert joins (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) |
| 23:17:19 | × | ubert quits (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) (Client Quit) |
| 23:18:02 | <geekosaur> | hm, I thtought @since predated those |
| 23:18:15 | <geekosaur> | that said it is a fairly recent addition |
| 23:18:22 | <koz> | So it might not work pre-8.6? |
| 23:18:28 | <koz> | Guess I gotta read Haddock changelogs. |
| 23:19:04 | <koz> | What Haddock ships with 8.6? |
| 23:20:11 | <geekosaur> | I thought haddock version was tied to ghc version since it was redone to use ghc's parser etc. |
| 23:20:42 | <koz> | That's what I thought, but they're not on the same versioning scheme, so I'm not sure what goes with what. |
| 23:21:25 | <geekosaur> | rats, the version history page on the wiki is only libraries |
| 23:21:54 | <koz> | Definitely pre-8.6 Haddock issue. |
| 23:23:10 | <Clint> | koz: 8.6 would have been haddock interface 34, i think |
| 23:23:27 | <koz> | Clint: Did that change how @since worked? |
| 23:23:40 | <koz> | This is annotating a deriving. |
| 23:24:03 | <Clint> | no idea |
| 23:24:23 | <koz> | Well, gonna differentiate it some more to make _sure_ that's what it is. |
| 23:24:35 | <koz> | But that's looking like a Haddock issue pre 8.6 so far. |
| 23:38:05 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) (Remote host closed the connection) |
| 23:38:10 | → | pavonia joins (~user@user/siracusa) |
| 23:40:43 | → | benin0369323 joins (~benin@183.82.207.253) |
| 23:41:21 | <koz> | OK, if I change this to `-- ^ @since 0.7`, this works on 8.4 and 8.2, but _not_ 8.0. |
| 23:45:58 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) |
| 23:47:00 | → | fernand joins (~fernand@179.156.35.4) |
All times are in UTC on 2021-09-04.