2021-09-04 00:00:31 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) |
2021-09-04 00:01:59 +0200 | kuribas | (~user@ptr-25vy0i9db35irr18tb3.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-09-04 00:03:07 +0200 | mestre | (~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 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds) |
2021-09-04 00:15:11 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) |
2021-09-04 00:15:11 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host) |
2021-09-04 00:15:11 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-04 00:15:18 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-09-04 00:16:26 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-09-04 00:17:11 +0200 | tzh_ | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-09-04 00:18:28 +0200 | tzh_ | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Remote host closed the connection) |
2021-09-04 00:18:46 +0200 | tzh_ | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-09-04 00:20:16 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 256 seconds) |
2021-09-04 00:20:41 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 244 seconds) |
2021-09-04 00:21:12 +0200 | max22- | (~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 +0200 | aplainze1akind | aplainzetakind |
2021-09-04 00:21:58 +0200 | machinedgod | (~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 +0200 | tzh_ | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 244 seconds) |
2021-09-04 00:32:47 +0200 | nfd | (~nfd@user/nfd) (Remote host closed the connection) |
2021-09-04 00:33:43 +0200 | nfd | (~nfd@user/nfd) |
2021-09-04 00:36:43 +0200 | Skyfire | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
2021-09-04 00:37:25 +0200 | lavaman | (~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 +0200 | michalz | (~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 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-09-04 00:43:53 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
2021-09-04 00:46:47 +0200 | turlando | (~turlando@user/turlando) (Remote host closed the connection) |
2021-09-04 00:49:14 +0200 | benin0369323 | (~benin@183.82.179.90) |
2021-09-04 00:51:08 +0200 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) |
2021-09-04 00:51:08 +0200 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
2021-09-04 00:51:08 +0200 | turlando | (~turlando@user/turlando) |
2021-09-04 00:53:34 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-04 00:57:04 +0200 | turlando | (~turlando@user/turlando) (Remote host closed the connection) |
2021-09-04 00:58:16 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2021-09-04 00:58:55 +0200 | nfd | (~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 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-09-04 01:08:11 +0200 | <bontaq> | lol dsal |
2021-09-04 01:09:06 +0200 | nfd | (~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 +0200 | nfd_ | (~nfd@user/nfd) |
2021-09-04 01:09:42 +0200 | eggplantade | (~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 +0200 | eggplantade | (~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 +0200 | Gurkenglas | (~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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-04 01:22:10 +0200 | jespada | (~jespada@90.254.245.194) (Ping timeout: 244 seconds) |
2021-09-04 01:23:39 +0200 | turlando | (~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 +0200 | acidjnk_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 +0200 | jespada | (~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 +0200 | pragma- | (~chaos@user/pragmatic-chaos) (Quit: Bye!) |
2021-09-04 01:26:49 +0200 | turlando | (~turlando@user/turlando) (Remote host closed the connection) |
2021-09-04 01:33:36 +0200 | pragma- | (~chaos@user/pragmatic-chaos) |
2021-09-04 01:36:37 +0200 | nfd | (~nfd@user/nfd) (Killed (NickServ (GHOST command used by nfd_))) |
2021-09-04 01:37:00 +0200 | nfd_ | nfd |
2021-09-04 01:39:17 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
2021-09-04 01:41:58 +0200 | kawpuh | (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) |
2021-09-04 01:46:27 +0200 | iqubic | (~user@2601:602:9502:c70:af68:e4d7:d422:2ae6) |
2021-09-04 01:47:29 +0200 | alx741 | (~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 +0200 | turlando | (~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 +0200 | hololeap_ | 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 +0200 | turlando | (~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 +0200 | merijn | (~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 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-09-04 01:58:29 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-09-04 01:58:49 +0200 | chisui | (~chisui@200116b8681f2700339b8e78de8fcf37.dip.versatel-1u1.de) (Ping timeout: 256 seconds) |
2021-09-04 02:00:03 +0200 | pragma- | (~chaos@user/pragmatic-chaos) (*.net *.split) |
2021-09-04 02:00:03 +0200 | nfd | (~nfd@user/nfd) (*.net *.split) |
2021-09-04 02:00:03 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (*.net *.split) |
2021-09-04 02:00:03 +0200 | benin0369323 | (~benin@183.82.179.90) (*.net *.split) |
2021-09-04 02:00:03 +0200 | ArctVaulMarsHMPJ | (~pjetcetal@128-71-152-79.broadband.corbina.ru) (*.net *.split) |
2021-09-04 02:00:03 +0200 | slack1256 | (~slack1256@ip-64-134-164-2.public.wayport.net) (*.net *.split) |
2021-09-04 02:00:03 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) (*.net *.split) |
2021-09-04 02:00:03 +0200 | lambdap | (~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split) |
2021-09-04 02:00:03 +0200 | nurupo | (~nurupo.ga@user/nurupo) (*.net *.split) |
2021-09-04 02:00:03 +0200 | favonia | (~favonia@user/favonia) (*.net *.split) |
2021-09-04 02:00:03 +0200 | aegon | (~mike@174.127.249.180) (*.net *.split) |
2021-09-04 02:00:03 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (*.net *.split) |
2021-09-04 02:00:03 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (*.net *.split) |
2021-09-04 02:00:03 +0200 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) (*.net *.split) |
2021-09-04 02:00:03 +0200 | otto_s | (~user@p5de2f91c.dip0.t-ipconnect.de) (*.net *.split) |
2021-09-04 02:00:03 +0200 | td_ | (~td@muedsl-82-207-238-018.citykom.de) (*.net *.split) |
2021-09-04 02:00:03 +0200 | maerwald | (~maerwald@user/maerwald) (*.net *.split) |
2021-09-04 02:00:03 +0200 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split) |
2021-09-04 02:00:03 +0200 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) (*.net *.split) |
2021-09-04 02:00:03 +0200 | stampirl | (~stampirl@195-154-112-77.rev.poneytelecom.eu) (*.net *.split) |
2021-09-04 02:00:03 +0200 | micro | (~micro@user/micro) (*.net *.split) |
2021-09-04 02:00:03 +0200 | gentauro | (~gentauro@user/gentauro) (*.net *.split) |
2021-09-04 02:00:03 +0200 | AlexZenon | (~alzenon@178.34.151.114) (*.net *.split) |
2021-09-04 02:00:03 +0200 | ishutin_ | (~ishutin@92-249-150-146.static.digikabel.hu) (*.net *.split) |
2021-09-04 02:00:03 +0200 | edwtjo | (~edwtjo@user/edwtjo) (*.net *.split) |
2021-09-04 02:00:03 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (*.net *.split) |
2021-09-04 02:00:03 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (*.net *.split) |
2021-09-04 02:00:03 +0200 | son0p | (~ff@181.136.122.143) (*.net *.split) |
2021-09-04 02:00:03 +0200 | sus | (zero@user/zeromomentum) (*.net *.split) |
2021-09-04 02:00:03 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) (*.net *.split) |
2021-09-04 02:00:03 +0200 | fjmorazan | (~quassel@user/fjmorazan) (*.net *.split) |
2021-09-04 02:00:03 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (*.net *.split) |
2021-09-04 02:00:03 +0200 | rembo10 | (~rembo10@wally.codeshy.com) (*.net *.split) |
2021-09-04 02:00:03 +0200 | tdammers | (~tdammers@77.109.72.213.res.static.edpnet.net) (*.net *.split) |
2021-09-04 02:00:10 +0200 | micro | (~micro@user/micro) |
2021-09-04 02:00:10 +0200 | ishutin | (~ishutin@92-249-150-146.static.digikabel.hu) |
2021-09-04 02:00:10 +0200 | otto_s | (~user@p5de2f91c.dip0.t-ipconnect.de) |
2021-09-04 02:00:11 +0200 | aegon | (~mike@174.127.249.180) |
2021-09-04 02:00:16 +0200 | fjmorazan | (~quassel@user/fjmorazan) |
2021-09-04 02:00:17 +0200 | gentauro | (~gentauro@185.107.12.141) |
2021-09-04 02:00:18 +0200 | gentauro | (~gentauro@185.107.12.141) (Changing host) |
2021-09-04 02:00:18 +0200 | gentauro | (~gentauro@user/gentauro) |
2021-09-04 02:00:19 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-09-04 02:00:20 +0200 | rembo10 | (~rembo10@wally.codeshy.com) |
2021-09-04 02:00:20 +0200 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) |
2021-09-04 02:00:20 +0200 | tdammers | (~tdammers@77.109.72.213.res.static.edpnet.net) |
2021-09-04 02:00:22 +0200 | sus | (zero@user/zeromomentum) |
2021-09-04 02:00:25 +0200 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) |
2021-09-04 02:00:25 +0200 | AlexZenon | (~alzenon@178.34.151.114) |
2021-09-04 02:00:26 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2021-09-04 02:00:26 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-09-04 02:00:36 +0200 | lambdap | (~lambdap@static.167.190.119.168.clients.your-server.de) |
2021-09-04 02:00:36 +0200 | ArctVaulMarsHMPJ | (~pjetcetal@128-71-152-79.broadband.corbina.ru) |
2021-09-04 02:00:40 +0200 | justsomeguy | (~justsomeg@24.96.241.90) |
2021-09-04 02:00:40 +0200 | edwtjo | (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) |
2021-09-04 02:00:40 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-09-04 02:00:40 +0200 | nfd | (~nfd@user/nfd) |
2021-09-04 02:00:43 +0200 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
2021-09-04 02:00:45 +0200 | stampirl | (~stampirl@195-154-112-77.rev.poneytelecom.eu) |
2021-09-04 02:01:02 +0200 | maerwald | (~maerwald@mail.hasufell.de) |
2021-09-04 02:01:14 +0200 | edwtjo | (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host) |
2021-09-04 02:01:14 +0200 | edwtjo | (~edwtjo@user/edwtjo) |
2021-09-04 02:01:26 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-09-04 02:01:51 +0200 | favonia | (~favonia@user/favonia) |
2021-09-04 02:02:08 +0200 | pragma- | (~chaos@user/pragmatic-chaos) |
2021-09-04 02:02:12 +0200 | nurupo | (~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 +0200 | wroathe | (~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 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-09-04 02:05:16 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) |
2021-09-04 02:05:16 +0200 | td_ | (~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 +0200 | TranquilEcho | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-04 02:15:14 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-04 02:15:14 +0200 | wroathe | (~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 +0200 | machinedgod | (~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 +0200 | jtomas | (~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 +0200 | kawpuh | (~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 +0200 | favonia | (~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 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds) |
2021-09-04 02:51:25 +0200 | kawpuh | (~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 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-09-04 02:56:47 +0200 | alx741 | (~alx741@186.178.108.137) (Ping timeout: 245 seconds) |
2021-09-04 03:08:00 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-09-04 03:08:52 +0200 | aliosablack | (~chomwitt@ppp-94-69-12-184.home.otenet.gr) (Ping timeout: 245 seconds) |
2021-09-04 03:09:49 +0200 | alx741 | (~alx741@181.196.69.46) |
2021-09-04 03:12:43 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-09-04 03:13:50 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-09-04 03:14:20 +0200 | Everything | (~Everythin@37.115.210.35) |
2021-09-04 03:14:58 +0200 | neurocyte3 | (~neurocyte@212.232.84.61) |
2021-09-04 03:14:58 +0200 | neurocyte3 | (~neurocyte@212.232.84.61) (Changing host) |
2021-09-04 03:14:58 +0200 | neurocyte3 | (~neurocyte@user/neurocyte) |
2021-09-04 03:17:25 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
2021-09-04 03:17:25 +0200 | neurocyte3 | neurocyte |
2021-09-04 03:19:28 +0200 | xsperry | (~as@user/xsperry) (Remote host closed the connection) |
2021-09-04 03:23:21 +0200 | sagax | (~sagax_nb@user/sagax) |
2021-09-04 03:26:51 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2021-09-04 03:31:10 +0200 | xff0x | (~xff0x@2001:1a81:5362:1000:c47d:ed82:441b:712b) (Ping timeout: 252 seconds) |
2021-09-04 03:32:53 +0200 | xff0x | (~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 +0200 | aegon | (~mike@174.127.249.180) (Remote host closed the connection) |
2021-09-04 03:39:37 +0200 | amk | (~amk@109.255.169.126) (Ping timeout: 245 seconds) |
2021-09-04 03:39:47 +0200 | Xnuk | (~xnuk@vultr.xnu.kr) (Ping timeout: 240 seconds) |
2021-09-04 03:40:05 +0200 | Xnuk | (~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 +0200 | amk | (~amk@109.255.169.126) |
2021-09-04 03:42:40 +0200 | justsomeguy | (~justsomeg@24.96.241.90) (Quit: WeeChat 3.2) |
2021-09-04 03:44:12 +0200 | justsomeguy | (~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 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2021-09-04 03:49:04 +0200 | Everything | (~Everythin@37.115.210.35) () |
2021-09-04 03:49:24 +0200 | zmt01 | (~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 +0200 | mjs2600 | (~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 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
2021-09-04 03:51:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-04 03:53:11 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 250 seconds) |
2021-09-04 03:54:09 +0200 | xsperry | (~as@cpe-188-129-103-235.dynamic.amis.hr) |
2021-09-04 03:54:09 +0200 | xsperry | (~as@cpe-188-129-103-235.dynamic.amis.hr) (Changing host) |
2021-09-04 03:54:09 +0200 | xsperry | (~as@user/xsperry) |
2021-09-04 03:56:45 +0200 | favonia | (~favonia@user/favonia) |
2021-09-04 04:01:47 +0200 | carter | (sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
2021-09-04 04:02:07 +0200 | jackdk | (sid373013@cssa/jackdk) (Ping timeout: 240 seconds) |
2021-09-04 04:02:17 +0200 | jackdk | (sid373013@cssa/jackdk) |
2021-09-04 04:02:24 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 256 seconds) |
2021-09-04 04:02:27 +0200 | truckasaurus | (sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
2021-09-04 04:02:27 +0200 | conjunctive | (sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
2021-09-04 04:02:27 +0200 | tnks | (sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
2021-09-04 04:02:27 +0200 | parisienne | (sid383587@id-383587.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
2021-09-04 04:02:27 +0200 | parseval | (sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
2021-09-04 04:02:58 +0200 | tnks | (sid412124@id-412124.helmsley.irccloud.com) |
2021-09-04 04:03:07 +0200 | sa | (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 240 seconds) |
2021-09-04 04:03:07 +0200 | lightandlight | (sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
2021-09-04 04:03:10 +0200 | parseval | (sid239098@helmsley.irccloud.com) |
2021-09-04 04:04:41 +0200 | parisienne | (sid383587@id-383587.helmsley.irccloud.com) |
2021-09-04 04:04:45 +0200 | carter | (sid14827@id-14827.helmsley.irccloud.com) |
2021-09-04 04:04:46 +0200 | conjunctive | (sid433686@id-433686.helmsley.irccloud.com) |
2021-09-04 04:04:51 +0200 | truckasaurus | (sid457088@id-457088.helmsley.irccloud.com) |
2021-09-04 04:05:06 +0200 | lightandlight | (sid135476@id-135476.helmsley.irccloud.com) |
2021-09-04 04:05:55 +0200 | sa | (sid1055@id-1055.tinside.irccloud.com) |
2021-09-04 04:09:21 +0200 | alx741 | (~alx741@181.196.69.46) (Quit: alx741) |
2021-09-04 04:11:05 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection) |
2021-09-04 04:11:18 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-04 04:11:19 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds) |
2021-09-04 04:12:06 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (WeeChat 3.2) |
2021-09-04 04:12:36 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
2021-09-04 04:12:59 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-09-04 04:18:38 +0200 | hexfive | (~eric@50.35.83.177) |
2021-09-04 04:20:32 +0200 | td_ | (~td@muedsl-82-207-238-018.citykom.de) (Ping timeout: 245 seconds) |
2021-09-04 04:22:38 +0200 | td_ | (~td@94.134.91.73) |
2021-09-04 04:23:04 +0200 | hexfive | (~eric@50.35.83.177) (Client Quit) |
2021-09-04 04:25:41 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-04 04:33:00 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2021-09-04 04:34:57 +0200 | perro | (~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 +0200 | lavaman | (~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 +0200 | econo | (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 +0200 | lavaman | (~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 +0200 | cheater | (~Username@user/cheater) |
2021-09-04 04:49:53 +0200 | thyriaen | (~thyriaen@dynamic-077-011-107-153.77.11.pool.telefonica.de) |
2021-09-04 04:51:46 +0200 | vs^ | (~vs@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection) |
2021-09-04 04:54:13 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
2021-09-04 04:54:46 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-09-04 04:55:08 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-04 04:56:39 +0200 | Vajb | (~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 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
2021-09-04 04:59:41 +0200 | dsrt^ | (~dsrt@wsip-98-188-244-188.mc.at.cox.net) |
2021-09-04 05:05:20 +0200 | otto_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 +0200 | otto_s | (~user@p5de2f91c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-09-04 05:10:48 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-04 05:11:17 +0200 | sedeki | (~textual@user/sedeki) |
2021-09-04 05:19:54 +0200 | zaquest | (~notzaques@5.128.210.178) (Read error: Connection reset by peer) |
2021-09-04 05:19:56 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-09-04 05:20:41 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-09-04 05:22:45 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-09-04 05:27:56 +0200 | sedeki | (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
2021-09-04 05:28:34 +0200 | Guest|17 | (~Guest|17@188.243.182.248) |
2021-09-04 05:31:00 +0200 | Guest|17 | (~Guest|17@188.243.182.248) (Client Quit) |
2021-09-04 05:31:13 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:eb91:4ced:41eb:8545) (Remote host closed the connection) |
2021-09-04 05:37:20 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-04 05:38:59 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-04 05:40:15 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-04 05:47:40 +0200 | goepsilongo | (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Ping timeout: 240 seconds) |
2021-09-04 05:47:40 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-09-04 05:51:42 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-04 05:53:19 +0200 | notzmv | (~zmv@user/notzmv) |
2021-09-04 06:04:37 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) (Ping timeout: 252 seconds) |
2021-09-04 06:09:32 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-04 06:11:59 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-04 06:21:50 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-04 06:30:57 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2021-09-04 06:31:05 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-04 06:31:23 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-04 06:37:03 +0200 | aarvar | (~aaron@2601:602:a080:fa0:c4c5:6191:b71c:585d) |
2021-09-04 06:42:36 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-09-04 06:47:39 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-09-04 06:54:12 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-09-04 06:55:21 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-04 06:55:48 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-09-04 06:55:56 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-04 07:00:43 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2021-09-04 07:06:13 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-04 07:06:30 +0200 | MQ-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 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-04 07:19:09 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-09-04 07:25:47 +0200 | aman | (~aman@user/aman) |
2021-09-04 07:30:13 +0200 | mei | (~mei@user/mei) |
2021-09-04 07:32:18 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-04 07:36:36 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-09-04 07:41:06 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-09-04 07:43:54 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-09-04 07:51:40 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2021-09-04 08:02:19 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
2021-09-04 08:07:20 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-09-04 08:08:20 +0200 | Gurkenglas | (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) |
2021-09-04 08:08:50 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-04 08:08:50 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-04 08:08:50 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-04 08:09:18 +0200 | o1lo01ol1o | (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) |
2021-09-04 08:10:16 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-04 08:13:19 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-09-04 08:13:52 +0200 | o1lo01ol1o | (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 252 seconds) |
2021-09-04 08:31:41 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-09-04 08:43:48 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-09-04 08:47:40 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-09-04 08:49:20 +0200 | lep | lep- |
2021-09-04 08:52:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-04 09:01:43 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-04 09:03:19 +0200 | wonko | (~wjc@62.115.229.50) |
2021-09-04 09:10:57 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-09-04 09:11:40 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-04 09:11:53 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-04 09:17:29 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-04 09:20:18 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
2021-09-04 09:20:35 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-04 09:26:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-09-04 09:28:40 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-04 09:30:21 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-04 09:30:33 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-04 09:32:25 +0200 | MQ-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 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection) |
2021-09-04 10:00:21 +0200 | max22- | (~maxime@2a01cb08833598008853a45d5c3fcd90.ipv6.abo.wanadoo.fr) |
2021-09-04 10:00:33 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-09-04 10:01:45 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-04 10:03:52 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
2021-09-04 10:06:48 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-09-04 10:10:36 +0200 | hendursaga | (~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 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-09-04 10:17:44 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-09-04 10:17:47 +0200 | allbery_b | geekosaur |
2021-09-04 10:24:13 +0200 | acidjnk_new3 | (~acidjnk@p200300d0c7203066b4100de8298a9571.dip0.t-ipconnect.de) |
2021-09-04 10:25:23 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-04 10:27:17 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-09-04 10:29:25 +0200 | MQ-17J | (~MQ-17J@8.21.10.6) |
2021-09-04 10:29:57 +0200 | Andrew | AhkilKumar |
2021-09-04 10:30:26 +0200 | AhkilKumar | Andrew |
2021-09-04 10:32:11 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 10:38:17 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-09-04 10:43:54 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-04 10:50:24 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2021-09-04 10:55:11 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) |
2021-09-04 10:57:22 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-09-04 10:58:34 +0200 | rembo10 | (~rembo10@wally.codeshy.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-09-04 10:59:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 240 seconds) |
2021-09-04 10:59:50 +0200 | rembo10 | (~rembo10@wally.codeshy.com) |
2021-09-04 11:00:47 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-09-04 11:09:27 +0200 | Teacup | (~teacup@user/teacup) (Ping timeout: 240 seconds) |
2021-09-04 11:11:36 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) |
2021-09-04 11:13:55 +0200 | Teacup | (~teacup@user/teacup) |
2021-09-04 11:16:07 +0200 | enoq | (~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 +0200 | kuribas | (~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) |
2021-09-04 11:23:06 +0200 | merijn | (~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 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-04 11:34:06 +0200 | striven | (~striven@user/striven) |
2021-09-04 11:35:46 +0200 | burnsidesLlama | (~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 +0200 | chomwitt | (~chomwitt@ppp-94-69-12-184.home.otenet.gr) |
2021-09-04 11:38:27 +0200 | lavaman | (~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 +0200 | striven | (~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 +0200 | o1lo01ol1o | (~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 +0200 | dsrt^ | (~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 +0200 | striven | (~striven@user/striven) |
2021-09-04 11:48:06 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-09-04 11:49:22 +0200 | fendor | (~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 +0200 | o1lo01ol1o | (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 245 seconds) |
2021-09-04 11:52:08 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-04 11:52:14 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-04 11:52:23 +0200 | hololeap | (~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 +0200 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-09-04 11:56:08 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 252 seconds) |
2021-09-04 11:56:23 +0200 | hololeap | (~hololeap@user/hololeap) |
2021-09-04 11:57:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-09-04 12:01:20 +0200 | mc47 | (~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 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2021-09-04 12:04:04 +0200 | striven | (~striven@user/striven) (Ping timeout: 256 seconds) |
2021-09-04 12:05:06 +0200 | bontaq | (~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 +0200 | kuribas | (~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2021-09-04 12:08:17 +0200 | kuribas | (~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) |
2021-09-04 12:08:43 +0200 | acidjnk_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 +0200 | chomwitt | (~chomwitt@ppp-94-69-12-184.home.otenet.gr) (Quit: Leaving) |
2021-09-04 12:09:26 +0200 | chomwitt | (~chomwitt@2a02:587:dc07:8000:12c3:7bff:fe6d:d374) |
2021-09-04 12:09:45 +0200 | sedeki | (~textual@user/sedeki) |
2021-09-04 12:11:06 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 12:15:09 +0200 | merijn | (~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 +0200 | burnsidesLlama | (~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 +0200 | sedeki | (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
2021-09-04 12:29:07 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-04 12:29:56 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 12:46:48 +0200 | dsp | (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
2021-09-04 12:53:24 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-04 12:53:26 +0200 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-09-04 12:56:48 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) |
2021-09-04 12:58:38 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
2021-09-04 13:01:03 +0200 | alx741 | (~alx741@181.196.69.46) |
2021-09-04 13:01:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 256 seconds) |
2021-09-04 13:07:11 +0200 | striven | (~striven@user/striven) |
2021-09-04 13:12:02 +0200 | striven | (~striven@user/striven) (Ping timeout: 252 seconds) |
2021-09-04 13:17:07 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-04 13:17:25 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-04 13:18:52 +0200 | Gurkenglas | (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-09-04 13:24:42 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-04 13:25:33 +0200 | fendor_ | (~fendor@91.141.39.112.wireless.dyn.drei.com) |
2021-09-04 13:27:55 +0200 | fendor | (~fendor@91.141.58.223.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2021-09-04 13:31:25 +0200 | fendor_ | (~fendor@91.141.39.112.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-09-04 13:31:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-09-04 13:32:43 +0200 | fendor | (~fendor@91.141.39.112.wireless.dyn.drei.com) |
2021-09-04 13:34:17 +0200 | o1lo01ol1o | (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) |
2021-09-04 13:35:21 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-04 13:38:55 +0200 | o1lo01ol1o | (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Ping timeout: 252 seconds) |
2021-09-04 13:39:40 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-09-04 13:44:50 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-09-04 13:49:28 +0200 | max22- | (~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 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
2021-09-04 14:07:02 +0200 | aarvar | (~aaron@2601:602:a080:fa0:c4c5:6191:b71c:585d) (Ping timeout: 256 seconds) |
2021-09-04 14:12:35 +0200 | mestre | (~mestre@191.177.175.57) (Quit: Lost terminal) |
2021-09-04 14:16:52 +0200 | madjestic | (~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 +0200 | dbr^ | (~dbr@wsip-98-188-244-188.mc.at.cox.net) |
2021-09-04 14:18:08 +0200 | aliosablack | (~chomwitt@ppp-94-69-12-184.home.otenet.gr) |
2021-09-04 14:18:12 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 14:18:30 +0200 | chomwitt | (~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 +0200 | burnsidesLlama | (~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 +0200 | merijn | (~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 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-09-04 14:32:12 +0200 | merijn | (~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 +0200 | Pickchea | (~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 +0200 | wonko | (~wjc@62.115.229.50) (Ping timeout: 256 seconds) |
2021-09-04 14:46:03 +0200 | goepsilongo | (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) |
2021-09-04 14:51:08 +0200 | V | (~v@anomalous.eu) |
2021-09-04 14:52:26 +0200 | machinedgod | (~machinedg@24.105.81.50) (Read error: Connection reset by peer) |
2021-09-04 14:52:33 +0200 | machined1od | (~machinedg@24.105.81.50) |
2021-09-04 14:53:13 +0200 | DNH | (~DNH@8.43.122.27) |
2021-09-04 14:58:05 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) |
2021-09-04 14:59:24 +0200 | jtomas | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
2021-09-04 14:59:46 +0200 | MQ-17J | (~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds) |
2021-09-04 15:00:18 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-09-04 15:00:45 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-09-04 15:02:10 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41e6:43ce:518f:b3f5) (Ping timeout: 240 seconds) |
2021-09-04 15:06:13 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 15:07:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-04 15:08:59 +0200 | weird_error | (~textual@ool-4579fedc.dyn.optonline.net) |
2021-09-04 15:13:24 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-09-04 15:28:05 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-09-04 15:28:47 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-09-04 15:35:41 +0200 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
2021-09-04 15:36:37 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-04 15:37:47 +0200 | max22- | (~maxime@2a01cb0883359800958b0fbf6c7c6590.ipv6.abo.wanadoo.fr) |
2021-09-04 15:38:02 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-04 15:38:07 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-09-04 15:38:16 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-04 15:40:33 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-09-04 15:41:01 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-04 15:44:19 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-09-04 15:47:20 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 256 seconds) |
2021-09-04 15:49:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-04 15:57:53 +0200 | dsp | (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection) |
2021-09-04 16:00:39 +0200 | thyriaen | (~thyriaen@dynamic-077-011-107-153.77.11.pool.telefonica.de) (Remote host closed the connection) |
2021-09-04 16:04:12 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-09-04 16:04:42 +0200 | machined1od | (~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 +0200 | betelgeuse | (~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 +0200 | desantra | (~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 +0200 | jakalx | (~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 +0200 | merijn | (~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 +0200 | sleblanc | (~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 +0200 | bitdex | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-04 16:36:14 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-04 16:36:14 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-04 16:36:24 +0200 | <kuribas> | it *was* working before |
2021-09-04 16:40:10 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2021-09-04 16:40:39 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-04 16:43:52 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2021-09-04 16:45:10 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 240 seconds) |
2021-09-04 16:46:03 +0200 | raehik | (~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 +0200 | hyiltiz | (~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 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-09-04 16:54:11 +0200 | desantra | (~skykanin@user/skykanin) (Quit: WeeChat 3.2) |
2021-09-04 16:54:33 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-09-04 16:59:15 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-09-04 16:59:47 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) |
2021-09-04 17:01:50 +0200 | Gurkenglas | (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) |
2021-09-04 17:02:00 +0200 | striven | (~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 +0200 | eggplantade | (~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 +0200 | striven | (~striven@user/striven) (Ping timeout: 256 seconds) |
2021-09-04 17:10:45 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
2021-09-04 17:10:48 +0200 | goepsilongo | (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!) |
2021-09-04 17:12:25 +0200 | renzhi | (~xp@2607:fa49:6500:3d00::d986) |
2021-09-04 17:15:41 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-04 17:15:58 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-04 17:15:59 +0200 | Skyfire | (~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 +0200 | eggplantade | (~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 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-09-04 17:21:44 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 252 seconds) |
2021-09-04 17:21:58 +0200 | geekosaur | tempted 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 +0200 | MQ-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 +0200 | MQ-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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-04 17:31:22 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
2021-09-04 17:31:40 +0200 | MQ-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 +0200 | me_ | (~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 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-09-04 18:00:00 +0200 | vbeatrice[m] | (~vbeatrice@2001:470:69fc:105::3ebf) (Quit: You have been kicked for being idle) |
2021-09-04 18:00:08 +0200 | vaibhavsagar[m] | (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: You have been kicked for being idle) |
2021-09-04 18:00:09 +0200 | aveltras[m] | (~aveltrasm@2001:470:69fc:105::3ef9) (Quit: You have been kicked for being idle) |
2021-09-04 18:00:43 +0200 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) |
2021-09-04 18:02:58 +0200 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-09-04 18:03:54 +0200 | merijn | (~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 +0200 | MQ-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 +0200 | wennefer0 | (~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 +0200 | mjs2600 | (~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 +0200 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) (Remote host closed the connection) |
2021-09-04 18:09:00 +0200 | MQ-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 +0200 | benin0369323 | (~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 +0200 | tzh | (~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 +0200 | arjun | (~Srain@user/arjun) |
2021-09-04 18:12:15 +0200 | mjs2600 | (~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 +0200 | burnsidesLlama | (~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 +0200 | burnsidesLlama | (~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 +0200 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-09-04 18:17:27 +0200 | wennefer0 | (~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 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
2021-09-04 18:19:30 +0200 | spruit11_ | (~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 +0200 | geekosaur | (~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 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:8013:5e37:15b2:f034) (Ping timeout: 250 seconds) |
2021-09-04 18:23:51 +0200 | johnw | (~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 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-09-04 18:28:29 +0200 | bitdex | (~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 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-04 18:38:01 +0200 | merijn | (~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 +0200 | merijn | (~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 +0200 | arkho | (~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 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-04 18:47:24 +0200 | qbt | (~edun@user/edun) |
2021-09-04 18:49:09 +0200 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2021-09-04 18:50:12 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 18:54:54 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2021-09-04 19:01:45 +0200 | benin03693239 | (~benin@106.198.95.161) |
2021-09-04 19:01:49 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 19:02:03 +0200 | aman | (~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 +0200 | benin0369323 | (~benin@183.82.179.90) (Ping timeout: 240 seconds) |
2021-09-04 19:03:23 +0200 | benin03693239 | benin0369323 |
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 +0200 | juhp | (~juhp@128.106.188.220) (Remote host closed the connection) |
2021-09-04 19:18:03 +0200 | jushur | (~human@user/jushur) (Quit: SKYNET UPGRADE) |
2021-09-04 19:21:52 +0200 | benin03693238 | (~benin@183.82.207.253) |
2021-09-04 19:23:40 +0200 | benin0369323 | (~benin@106.198.95.161) (Ping timeout: 240 seconds) |
2021-09-04 19:23:40 +0200 | benin03693238 | benin0369323 |
2021-09-04 19:26:07 +0200 | Achylles | (~Achylles_@2804:431:d724:131a:afba:e8f4:a787:4346) |
2021-09-04 19:27:16 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-09-04 19:27:20 +0200 | jushur | (~human@user/jushur) |
2021-09-04 19:27:31 +0200 | Achylles | (~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 +0200 | bradyt | (~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 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-09-04 19:34:59 +0200 | spruit11 | (~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 +0200 | ubert | (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) |
2021-09-04 19:45:34 +0200 | o1lo01ol1o | (~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 +0200 | lavaman | (~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 +0200 | Feuermagier | (~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 +0200 | weird_error | (~textual@ool-4579fedc.dyn.optonline.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-09-04 19:52:18 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-04 19:53:44 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-09-04 19:54:32 +0200 | o1lo01ol1o | (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Remote host closed the connection) |
2021-09-04 19:54:55 +0200 | kawpuh | (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Ping timeout: 256 seconds) |
2021-09-04 19:56:09 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-09-04 19:57:39 +0200 | Nosrep | (~archbox@user/nosrep) (Quit: WeeChat 3.2) |
2021-09-04 20:01:05 +0200 | kubes | (~kubes@188.120.84.109) |
2021-09-04 20:01:10 +0200 | ubert | (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2021-09-04 20:01:24 +0200 | kubes | (~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 +0200 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-09-04 20:03:56 +0200 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
2021-09-04 20:04:02 +0200 | wennefer0_ | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-09-04 20:04:16 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-09-04 20:04:44 +0200 | wennefer0_ | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
2021-09-04 20:06:07 +0200 | benin0369323 | (~benin@183.82.207.253) (Ping timeout: 252 seconds) |
2021-09-04 20:06:43 +0200 | Lycurgus | (~juan@98.4.112.204) |
2021-09-04 20:07:46 +0200 | merijn | (~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 +0200 | merijn | (~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 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 20:27:21 +0200 | Guest82_ | (~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 +0200 | burnsidesLlama | (~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 +0200 | ubert | (~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 +0200 | kuribas | (~user@ptr-25vy0i9mcgsip8ndunj.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-09-04 20:48:48 +0200 | ubert | (~Thunderbi@91.141.67.114.wireless.dyn.drei.com) (Ping timeout: 250 seconds) |
2021-09-04 20:50:43 +0200 | Guest82_ | (~textual@ool-4579fedc.dyn.optonline.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-09-04 20:51:50 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-09-04 20:55:53 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-04 20:56:20 +0200 | pbrisbin | (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Quit: WeeChat 3.2) |
2021-09-04 20:57:42 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-04 20:57:45 +0200 | pbrisbin | (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) |
2021-09-04 21:02:17 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 21:06:05 +0200 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-09-04 21:07:56 +0200 | econo | (uid147250@user/econo) |
2021-09-04 21:12:44 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 252 seconds) |
2021-09-04 21:15:04 +0200 | aarvar | (~aaron@2601:602:a080:fa0:2b49:6db1:e21:14d8) |
2021-09-04 21:17:37 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-09-04 21:19:23 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-04 21:20:25 +0200 | TranquilEcho | (~grom@user/tranquilecho) |
2021-09-04 21:26:09 +0200 | burnside_ | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
2021-09-04 21:26:09 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
2021-09-04 21:32:16 +0200 | crazazy | (~user@130.89.171.203) |
2021-09-04 21:33:13 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-04 21:34:08 +0200 | regr | (~regr@89.205.140.180) |
2021-09-04 21:36:09 +0200 | regr | (~regr@89.205.140.180) (Quit: Konversation terminated!) |
2021-09-04 21:36:12 +0200 | arjun | (~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 +0200 | DNH | (~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 +0200 | regr | (~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 +0200 | regr | (~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 +0200 | Everything | (~Everythin@37.115.210.35) |
2021-09-04 21:58:40 +0200 | nfd | (~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 +0200 | burnside_ | (~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 +0200 | pragma- | (~chaos@user/pragmatic-chaos) (Bye!) |
2021-09-04 22:07:15 +0200 | juhp | (~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 +0200 | kenran | (~kenran@200116b82bfe95008ed9162f6e9d97d8.dip.versatel-1u1.de) |
2021-09-04 22:11:19 +0200 | nfd | (~nfd@user/nfd) |
2021-09-04 22:12:42 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-09-04 22:13:32 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-09-04 22:14:09 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-09-04 22:14:25 +0200 | L29Ah | (~L29Ah@user/l29ah) (Changing host) |
2021-09-04 22:14:25 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2021-09-04 22:16:30 +0200 | acidjnk | (~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 +0200 | Lycurgus | (~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 +0200 | azeem | (~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 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2021-09-04 22:26:03 +0200 | <Gurkenglas> | yep |
2021-09-04 22:26:18 +0200 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 250 seconds) |
2021-09-04 22:26:42 +0200 | Orbstheorem | sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/28add7ace735acab39b256c9474f73b28a84… |
2021-09-04 22:29:23 +0200 | tomboy64 | (~tomboy64@user/tomboy64) |
2021-09-04 22:34:04 +0200 | mei | (~mei@user/mei) (Ping timeout: 252 seconds) |
2021-09-04 22:34:40 +0200 | Morrow_ | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds) |
2021-09-04 22:36:55 +0200 | burnsidesLlama | (~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 +0200 | nfd | (~nfd@user/nfd) (Ping timeout: 252 seconds) |
2021-09-04 22:42:10 +0200 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
2021-09-04 22:51:08 +0200 | kawpuh | (~kawpuh@097-082-066-236.res.spectrum.com) |
2021-09-04 22:51:16 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-09-04 22:51:44 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
2021-09-04 22:52:45 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-09-04 22:53:52 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
2021-09-04 22:54:01 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-09-04 22:54:11 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-09-04 22:55:11 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-09-04 23:07:03 +0200 | kenran | (~kenran@200116b82bfe95008ed9162f6e9d97d8.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
2021-09-04 23:09:20 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 256 seconds) |
2021-09-04 23:09:28 +0200 | dbr^ | (~dbr@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection) |
2021-09-04 23:15:38 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2021-09-04 23:15:52 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds) |
2021-09-04 23:19:17 +0200 | oldleather | (~oldleathe@172.58.168.76) |
2021-09-04 23:20:05 +0200 | oldleather | (~oldleathe@172.58.168.76) () |
2021-09-04 23:21:07 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:89b5:4a22:cf8b:aed2) (Remote host closed the connection) |
2021-09-04 23:24:03 +0200 | ulvarrefr | (~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 +0200 | geekosaur | (~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 +0200 | geekosaur | (~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 +0200 | gehmehgeh | (~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 +0200 | DNH | (~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 +0200 | eggplantade | (~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 +0200 | aliosablack | (~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 +0200 | dsrt^ | (~dsrt@wsip-98-188-244-188.mc.at.cox.net) |
2021-09-04 23:46:15 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-04 23:50:19 +0200 | crazazy | (~user@130.89.171.203) (Remote host closed the connection) |
2021-09-04 23:50:31 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-04 23:50:54 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-09-04 23:51:17 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-09-04 23:51:27 +0200 | thelounge9230681 | (~thelounge@cpe-75-85-161-60.san.res.rr.com) (Ping timeout: 240 seconds) |
2021-09-04 23:52:10 +0200 | thelounge9230681 | (~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 +0200 | max22- | (~maxime@2a01cb0883359800958b0fbf6c7c6590.ipv6.abo.wanadoo.fr) (Quit: Leaving) |