2021-09-13 00:00:06 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
2021-09-13 00:00:25 +0200 | benin03693230 | (~benin@183.82.24.227) |
2021-09-13 00:03:32 +0200 | max22- | (~maxime@2a01cb08833598004bd2e3d55bf9d97e.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-09-13 00:10:48 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 00:11:01 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 00:11:07 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
2021-09-13 00:11:20 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 00:11:54 +0200 | Guest|72 | (~Guest|72@142.126.232.67) |
2021-09-13 00:16:30 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 260 seconds) |
2021-09-13 00:16:53 +0200 | TranquilEcho | (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
2021-09-13 00:19:07 +0200 | ixlun | (~ixlun@2001:470:69fc:105::41b3) (Ping timeout: 240 seconds) |
2021-09-13 00:19:23 +0200 | ixlun | (~ixlun@2001:470:69fc:105::41b3) |
2021-09-13 00:20:04 +0200 | acidjnk_new | (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-09-13 00:20:13 +0200 | Guest|72 | (~Guest|72@142.126.232.67) (Quit: Connection closed) |
2021-09-13 00:22:52 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 00:24:14 +0200 | cjb | (~cjbayliss@user/cjb) |
2021-09-13 00:26:23 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 00:26:37 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 00:27:34 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 265 seconds) |
2021-09-13 00:27:39 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-09-13 00:28:21 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 00:31:43 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 00:31:56 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 00:34:14 +0200 | LixOS | (~Guest98@2001:67c:2628:647:12::1c7) |
2021-09-13 00:36:54 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-13 00:39:14 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-13 00:40:05 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:5542:2068:efaa:d531) (Ping timeout: 260 seconds) |
2021-09-13 00:42:03 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 00:42:20 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 00:43:43 +0200 | xff0x | (~xff0x@2001:1a81:5374:7800:b91b:1969:510:c2ea) (Ping timeout: 252 seconds) |
2021-09-13 00:44:04 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-13 00:44:32 +0200 | xff0x | (~xff0x@2001:1a81:5374:7800:9550:4329:f93b:bad7) |
2021-09-13 00:51:18 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-09-13 00:53:37 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
2021-09-13 01:00:29 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:a09c:5ae1:45f8:7ffe) |
2021-09-13 01:17:21 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds) |
2021-09-13 01:19:25 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-09-13 01:19:46 +0200 | <elvishjerricco> | Las[m]: I did not, but I've since learned that was a bad idea anyway. In this GHC proposal https://github.com/ghc-proposals/ghc-proposals/pull/313 Alexis pointed out that she tried compiling a sizable project with everything inlinable and GHC just wouldn't terminate; it had too much to try and specialize |
2021-09-13 01:19:57 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-09-13 01:20:34 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
2021-09-13 01:20:51 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 01:26:16 +0200 | <Cajun> | so i was looking into lens libraries and i noticed two big ones, `lens` and `optics` so i was wondering what is the best one to use. i understand the implementation differences, but what about actually just using it? |
2021-09-13 01:27:01 +0200 | <ldlework> | Cajun: I haven't gotten there but I heard that `lens` is more traditional and formal and `optics` is more egronomic and goes beyond the formalism to make it easier to use |
2021-09-13 01:27:06 +0200 | <ldlework> | that's just what i heard |
2021-09-13 01:27:53 +0200 | sheddow | (~sheddow@84-52-255.245.3p.ntebredband.no) (Ping timeout: 256 seconds) |
2021-09-13 01:27:58 +0200 | <geekosaur> | they're equivalent at included functionality. optics is easier for beginners because it has better error messages, lens has more power for advanced users because it's easily expandable |
2021-09-13 01:29:20 +0200 | <Cajun> | nice, optics seems like a good start then. ive watched the long 2hr talk the dev of the lens library gave along with some optics tutorials, but they never go into detail about using it within a monad transformer stack. is there any good article/talk/textbook chapter on that? |
2021-09-13 01:30:30 +0200 | <geekosaur> | that I couldn't really tell you. although both provide some stuff for working directly with StateT in particular |
2021-09-13 01:30:53 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 265 seconds) |
2021-09-13 01:40:22 +0200 | <c_wraith> | optics is a closed ecosystem, lens is open. With all the advantages and disadvantages that brings to both |
2021-09-13 01:41:18 +0200 | <ldlework> | i'm glad others chimed in to give real takes :D |
2021-09-13 01:43:57 +0200 | <c_wraith> | to expand slightly: optics has a list of things you are allowed to do. When you try to do anything else, you get vocal error messages telling you that's not allowed. lens just says "here are some things, do whatever you want", and it allows a lot more to be done. But that's at the cost of ghc making half-sense of things you wrote and telling you about a unification error nowhere near your actual bug |
2021-09-13 01:44:06 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-09-13 01:44:16 +0200 | <dsal> | lens lets you do *weird* stuff. |
2021-09-13 01:44:29 +0200 | <dsal> | With hypergeneric mechanisms. |
2021-09-13 01:44:53 +0200 | <c_wraith> | also, there are things optics *could* do, and just chooses not to. At least one of which is really nice. |
2021-09-13 01:45:18 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-09-13 01:46:24 +0200 | <c_wraith> | holesOf is great fun for fanout sorts of problems. |
2021-09-13 01:47:44 +0200 | <ldlework> | Yesterday I learned about Monoids, Functors and Applicatives |
2021-09-13 01:47:57 +0200 | <ldlework> | Words I thought I would never bother to understand :P |
2021-09-13 01:50:42 +0200 | LixOS | (~Guest98@2001:67c:2628:647:12::1c7) (Quit: Client closed) |
2021-09-13 01:51:29 +0200 | Melvar | (~melvar@dslb-178-001-195-022.178.001.pools.vodafone-ip.de) |
2021-09-13 01:51:40 +0200 | <Cajun> | with that toolset you might want to take a look at Alternative |
2021-09-13 01:51:51 +0200 | <ldlework> | I think HFFP is going to move onto Monad proper next |
2021-09-13 01:52:01 +0200 | <ldlework> | But I just wrote down "Alternative" in my notes, so thanks |
2021-09-13 01:52:32 +0200 | <Cajun> | yeah its to do with Monoids and Applicatives. its quite useful when you need it |
2021-09-13 01:52:42 +0200 | <c_wraith> | Alternative can show up in a lot of places, but it's something you use constantly when writing parsers in particular. |
2021-09-13 01:53:07 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-09-13 01:53:48 +0200 | pbrisbin | (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net) |
2021-09-13 01:54:35 +0200 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-131-70.cust.tzulo.com) (Quit: Leaving) |
2021-09-13 01:57:57 +0200 | haskl[error] | (~haskl@user/haskl) (Ping timeout: 265 seconds) |
2021-09-13 01:58:21 +0200 | haskl | (~haskl@user/haskl) |
2021-09-13 01:58:42 +0200 | vysn | (~vysn@user/vysn) (Ping timeout: 260 seconds) |
2021-09-13 02:04:02 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection) |
2021-09-13 02:05:57 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 02:08:23 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
2021-09-13 02:12:26 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 02:12:39 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 02:12:39 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
2021-09-13 02:12:47 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 02:19:25 +0200 | pbrisbin | (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-09-13 02:21:09 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 265 seconds) |
2021-09-13 02:21:35 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:293c:729f:ef0:fde4) (Ping timeout: 260 seconds) |
2021-09-13 02:26:23 +0200 | alx741 | (~alx741@181.196.69.212) (Quit: alx741) |
2021-09-13 02:27:42 +0200 | roboguy_ | (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
2021-09-13 02:33:16 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) |
2021-09-13 02:34:10 +0200 | retro_ | (~retro@176.255.22.194) (Ping timeout: 252 seconds) |
2021-09-13 02:37:51 +0200 | <dsal> | ldlework: monoids seem really dumb until you realize how much of programming is just monoids. |
2021-09-13 02:37:58 +0200 | <dsal> | The next big chunk is functors. |
2021-09-13 02:38:41 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-09-13 02:40:25 +0200 | <Axman6> | % let i = Identity in ("Hello", i "Am", Just "a complex", ["data", "structure"]) & partsOf template %~ (reverse @Char) -- dsal weird stuff you say? |
2021-09-13 02:40:25 +0200 | <yahb> | Axman6: ("erutc",Identity "ur",Just "tsatadxel",["pmoc"," amAolleH"]) |
2021-09-13 02:40:35 +0200 | <Axman6> | % let i = Identity in ("Hello", i "Am", Just "a complex", ["data", "structure"]) & partsOf template %~ (reverse @[Char]) |
2021-09-13 02:40:35 +0200 | <yahb> | Axman6: ("structure",Identity "data",Just "a complex",["Am","Hello"]) |
2021-09-13 02:41:24 +0200 | <dsal> | Yeah… though I've used `deep` a couple of times. for good. |
2021-09-13 02:44:10 +0200 | <Axman6> | ldlework: the 5 second summary of Alternativ is: Applicative lets you sau do this AND this, where as Alternative lets you say do this Or if it failed do that |
2021-09-13 02:44:26 +0200 | <Axman6> | > (,) <$> Just 1 <*> Just "Hello" |
2021-09-13 02:44:27 +0200 | <lambdabot> | Just (1,"Hello") |
2021-09-13 02:44:32 +0200 | <Axman6> | > (,) <$> Just 1 <*> Nothing |
2021-09-13 02:44:33 +0200 | <lambdabot> | Nothing |
2021-09-13 02:44:44 +0200 | <Axman6> | > Just 1 <|> Just 2 |
2021-09-13 02:44:45 +0200 | <lambdabot> | Just 1 |
2021-09-13 02:44:51 +0200 | <Axman6> | > Nothing <|> Just 2 |
2021-09-13 02:44:52 +0200 | <lambdabot> | Just 2 |
2021-09-13 02:45:13 +0200 | <Axman6> | > [1,2,3] <|> [4,5,6] -- possibly confusing at first |
2021-09-13 02:45:14 +0200 | <lambdabot> | [1,2,3,4,5,6] |
2021-09-13 02:46:52 +0200 | retroid_ | (~retro@176.255.22.194) |
2021-09-13 02:47:42 +0200 | no-n | (~ed@101.53.218.157) |
2021-09-13 02:49:11 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) (Remote host closed the connection) |
2021-09-13 02:50:17 +0200 | normsaa | (~normsaa@101.175.64.73) (Quit: Client closed) |
2021-09-13 02:50:46 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
2021-09-13 02:51:57 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 02:55:19 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-09-13 03:00:00 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2.1) |
2021-09-13 03:02:22 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) |
2021-09-13 03:08:02 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-09-13 03:09:02 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 03:09:29 +0200 | tdsltl^ | (~tdsltl@68.101.54.227) (Remote host closed the connection) |
2021-09-13 03:12:55 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-09-13 03:14:02 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-09-13 03:14:58 +0200 | jespada | (~jespada@90.254.245.194) (Ping timeout: 252 seconds) |
2021-09-13 03:16:11 +0200 | <dsal> | I've used `asum` for "I have a collection of actions that might blow up and throw exceptions or something, but I'd really like the value of the first one that doesn't." |
2021-09-13 03:16:22 +0200 | <dsal> | :t asum |
2021-09-13 03:16:22 +0200 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> f a |
2021-09-13 03:16:38 +0200 | <dsal> | I feel like that's a bit of a sketchy use of `asum`, but it's convenient. |
2021-09-13 03:17:53 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 03:18:06 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 03:18:07 +0200 | nctcf^ | (~nctcf@68.101.54.227) |
2021-09-13 03:18:26 +0200 | jespada | (~jespada@90.254.245.194) |
2021-09-13 03:18:43 +0200 | xff0x | (~xff0x@2001:1a81:5374:7800:9550:4329:f93b:bad7) (Ping timeout: 252 seconds) |
2021-09-13 03:20:08 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:465d:5cb1:ddd:5058) |
2021-09-13 03:20:43 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:dc85:5fb:77a4:62d3) |
2021-09-13 03:24:28 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) (Remote host closed the connection) |
2021-09-13 03:24:40 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) |
2021-09-13 03:28:55 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) (Remote host closed the connection) |
2021-09-13 03:29:16 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) |
2021-09-13 03:29:35 +0200 | dajoer | (~david@user/gvx) |
2021-09-13 03:29:51 +0200 | thyriaen | (~thyriaen@dynamic-089-012-060-128.89.12.pool.telefonica.de) (Remote host closed the connection) |
2021-09-13 03:33:45 +0200 | no-n | (~ed@101.53.218.157) (WeeChat 2.8) |
2021-09-13 03:36:58 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) (Ping timeout: 252 seconds) |
2021-09-13 03:37:42 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-13 03:38:00 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-09-13 03:41:55 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-13 03:42:21 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 03:43:20 +0200 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
2021-09-13 03:43:46 +0200 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2021-09-13 03:58:12 +0200 | favonia | (~favonia@user/favonia) |
2021-09-13 04:01:19 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 04:03:13 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 04:03:28 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 04:04:47 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-09-13 04:06:35 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 260 seconds) |
2021-09-13 04:06:35 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:465d:5cb1:ddd:5058) (Ping timeout: 260 seconds) |
2021-09-13 04:08:54 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-09-13 04:11:21 +0200 | td_ | (~td@muedsl-82-207-238-026.citykom.de) (Ping timeout: 265 seconds) |
2021-09-13 04:13:11 +0200 | td_ | (~td@94.134.91.246) |
2021-09-13 04:16:08 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2021-09-13 04:18:24 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-13 04:19:04 +0200 | sneedsfeed | (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) |
2021-09-13 04:20:14 +0200 | <sneedsfeed> | I have this function "strIsIn s1 s2 = (>0) (on count pack s1 s2)" that tells if a string is contained in another string. And its just kind of bothering me that I can't figure out how to do it fully as a composition. Anyone have any ideas how I can take the s1 and s2 out and just make it a simple composition? |
2021-09-13 04:20:21 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2021-09-13 04:21:03 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) |
2021-09-13 04:21:16 +0200 | parafactual | (~celeste@2600:8803:9403:b600::b6f) |
2021-09-13 04:22:49 +0200 | parafactual | (~celeste@2600:8803:9403:b600::b6f) (Quit: Leaving) |
2021-09-13 04:24:39 +0200 | <awpr> | > let (.:) = (.) . (.) |
2021-09-13 04:24:40 +0200 | <lambdabot> | <no location info>: error: |
2021-09-13 04:24:40 +0200 | <lambdabot> | not an expression: ‘let (.:) = (.) . (.)’ |
2021-09-13 04:25:02 +0200 | <awpr> | @let (.:) = (.) . (.) |
2021-09-13 04:25:03 +0200 | <lambdabot> | Defined. |
2021-09-13 04:25:08 +0200 | __celeste | (~celeste@2600:8803:9403:b600::b6f) |
2021-09-13 04:25:09 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection) |
2021-09-13 04:25:13 +0200 | <awpr> | :t (>0) .: on count pack |
2021-09-13 04:25:14 +0200 | <lambdabot> | error: |
2021-09-13 04:25:14 +0200 | <lambdabot> | • Variable not in scope: count :: b0 -> b0 -> a0 |
2021-09-13 04:25:14 +0200 | <lambdabot> | • Perhaps you meant one of these: |
2021-09-13 04:27:25 +0200 | benin03693230 | (~benin@183.82.24.227) (Ping timeout: 252 seconds) |
2021-09-13 04:30:19 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
2021-09-13 04:33:02 +0200 | <sneedsfeed> | its so hard to tell with haskell when i'm being dumb and when the problem is actually hard |
2021-09-13 04:33:23 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-09-13 04:33:24 +0200 | <sneedsfeed> | I really dont know which one of those this is. |
2021-09-13 04:34:36 +0200 | <awpr> | that `.:` operator is a relatively common trick for making point-free definitions, but it's definitely not obvious if you haven't seen it before |
2021-09-13 04:37:34 +0200 | <c_wraith> | No one really is interested in putting it in base because... well... the standard position is that encouraging too many things to be done point-free is bad. liftA2 might even be going too far |
2021-09-13 04:39:19 +0200 | <sneedsfeed> | what do you mean by point free? |
2021-09-13 04:39:52 +0200 | <awpr> | just a term for exactly the thing you were trying to do: get rid of variable names and write functions by composition |
2021-09-13 04:47:23 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) |
2021-09-13 04:48:35 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2021-09-13 04:48:40 +0200 | <shachaf> | I certainly wouldn't encourage people to use (.:). |
2021-09-13 04:49:43 +0200 | <sneedsfeed> | interesting. so if i'm inlining it just just a lambda would be more advised? |
2021-09-13 04:49:46 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
2021-09-13 04:49:58 +0200 | roboguy_ | (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) (Remote host closed the connection) |
2021-09-13 04:51:24 +0200 | <shachaf> | A lambda is simple and readable. |
2021-09-13 04:52:20 +0200 | __celeste | (~celeste@2600:8803:9403:b600::b6f) (Quit: Leaving) |
2021-09-13 04:53:07 +0200 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) (Remote host closed the connection) |
2021-09-13 04:53:53 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) (Ping timeout: 265 seconds) |
2021-09-13 04:54:47 +0200 | __celeste | (~celeste@2600:8803:9403:b600::b6f) |
2021-09-13 04:54:58 +0200 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
2021-09-13 04:55:40 +0200 | roboguy_ | (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
2021-09-13 04:56:53 +0200 | roboguy_ | (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) (Remote host closed the connection) |
2021-09-13 05:00:00 +0200 | Taneb | (~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.) |
2021-09-13 05:00:10 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 265 seconds) |
2021-09-13 05:00:36 +0200 | roboguy_ | (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
2021-09-13 05:01:07 +0200 | Taneb | (~Taneb@runciman.hacksoc.org) |
2021-09-13 05:01:07 +0200 | Cale | (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
2021-09-13 05:01:59 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-09-13 05:03:34 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 05:03:56 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 05:04:07 +0200 | <dsal> | sneedsfeed: I'm kind of dumb right now, but isn't that `strIsIn s1 s2 = on count pack s1 s2 > 0` which seems a bit more readable. |
2021-09-13 05:04:54 +0200 | roboguy_ | (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) (Ping timeout: 260 seconds) |
2021-09-13 05:04:56 +0200 | <awpr> | also I think `on` is designed to be used in backquotes so the argument order makes sense: "count `on` pack" |
2021-09-13 05:05:17 +0200 | <dsal> | :t isInfixOf |
2021-09-13 05:05:17 +0200 | <sneedsfeed> | yea I was so hung up on making it pointfree that when I gave up and added the variables back in I didnt really think about optimizing that |
2021-09-13 05:05:18 +0200 | <lambdabot> | Eq a => [a] -> [a] -> Bool |
2021-09-13 05:05:23 +0200 | <dsal> | the description sounds like that ^ |
2021-09-13 05:05:46 +0200 | <dsal> | @src isInfixOf |
2021-09-13 05:05:46 +0200 | <lambdabot> | isInfixOf needle haystack = any (isPrefixOf needle) (tails haystack) |
2021-09-13 05:06:11 +0200 | <dsal> | @pl \needle haystack -> any (isPrefixOf needle) (tails haystack) |
2021-09-13 05:06:11 +0200 | <lambdabot> | (. tails) . any . isPrefixOf |
2021-09-13 05:06:21 +0200 | <dsal> | There. Perfectly readable. |
2021-09-13 05:06:31 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-09-13 05:08:51 +0200 | falafel | (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com) |
2021-09-13 05:09:15 +0200 | pony | (~ed@101.53.218.157) |
2021-09-13 05:09:48 +0200 | falafel_ | (~falafel@2603-8000-d801-2d68-d829-f87a-f631-a582.res6.spectrum.com) |
2021-09-13 05:10:20 +0200 | Cale | (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) |
2021-09-13 05:11:39 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection) |
2021-09-13 05:12:21 +0200 | jrm | (~jrm@156.34.187.65) (Quit: ciao) |
2021-09-13 05:12:44 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-09-13 05:13:46 +0200 | falafel | (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com) (Ping timeout: 260 seconds) |
2021-09-13 05:13:54 +0200 | jrm | (~jrm@156.34.187.65) |
2021-09-13 05:14:01 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 05:14:05 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
2021-09-13 05:14:22 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 05:17:27 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-09-13 05:19:01 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-09-13 05:21:42 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
2021-09-13 05:22:20 +0200 | vk3wtf_ | (~doc@194-193-188-29.tpgi.com.au) (Quit: WeeChat 3.2) |
2021-09-13 05:25:14 +0200 | <justsomeguy> | I honestly don't think I can desugar that off the top of my head. |
2021-09-13 05:25:49 +0200 | <justsomeguy> | (I know you're joking though; It was just a good reminder for me to read (.)'s definition, again.) |
2021-09-13 05:27:04 +0200 | <lechner> | Hi, could someone please help with Lucid once more? I had a similar issue last week with String (and was able to use fromString) but now with Text -> Html () Thanks! https://paste.tomsmeding.com/Fut2vfev#file-2 |
2021-09-13 05:27:53 +0200 | <lechner> | it somehew seems related to the logic here https://stackoverflow.com/questions/52019797/how-to-convert-scotty-parameter-as-string |
2021-09-13 05:28:48 +0200 | cheater | (~Username@user/cheater) |
2021-09-13 05:29:10 +0200 | sm2n | (~sm2n@user/sm2n) (Ping timeout: 265 seconds) |
2021-09-13 05:29:16 +0200 | <awpr> | `toHtml` will have that type, since `Text` has a `ToHtml` instance |
2021-09-13 05:31:15 +0200 | <lechner> | awpr: yay. thank you! |
2021-09-13 05:31:46 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-09-13 05:31:58 +0200 | sm2n | (~sm2n@user/sm2n) |
2021-09-13 05:32:41 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-09-13 05:33:22 +0200 | jess | (~jess@libera/staff/jess) (Quit: i'm going to start going to bed) |
2021-09-13 05:33:30 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
2021-09-13 05:34:28 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 05:34:41 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 05:34:41 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
2021-09-13 05:34:51 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 05:39:42 +0200 | roboguy_ | (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
2021-09-13 05:43:28 +0200 | zmt01 | (~zmt00@user/zmt00) (Quit: Gone.) |
2021-09-13 05:45:08 +0200 | zmt00 | (~zmt00@user/zmt00) |
2021-09-13 05:57:11 +0200 | <jle`> | (\(_,_) -> True) undefined -- surprised me a bit |
2021-09-13 05:57:45 +0200 | <jle`> | is there any difference between (\(x,y) -> ..) and (\t -> case t of (x,y) -> ...) ? |
2021-09-13 06:02:15 +0200 | <Cale> | nope |
2021-09-13 06:02:50 +0200 | theproffesor | (~theproffe@2601:282:847f:8010:818b:10e4:707d:e026) |
2021-09-13 06:02:50 +0200 | theproffesor | (~theproffe@2601:282:847f:8010:818b:10e4:707d:e026) (Changing host) |
2021-09-13 06:02:50 +0200 | theproffesor | (~theproffe@user/theproffesor) |
2021-09-13 06:03:17 +0200 | sneedsfeed | (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) (Ping timeout: 256 seconds) |
2021-09-13 06:03:30 +0200 | theproffesor | (~theproffe@user/theproffesor) () |
2021-09-13 06:05:04 +0200 | <pavonia> | > (\(_,_) -> True) undefined |
2021-09-13 06:05:06 +0200 | <lambdabot> | *Exception: Prelude.undefined |
2021-09-13 06:05:19 +0200 | <awpr> | and yet: |
2021-09-13 06:05:40 +0200 | <awpr> | > (\x -> let (_, _) = x in True) undefined |
2021-09-13 06:05:42 +0200 | <lambdabot> | True |
2021-09-13 06:06:03 +0200 | urdh | (~urdh@user/urdh) (*.net *.split) |
2021-09-13 06:06:03 +0200 | sky_lounge[m] | (~skylounge@2001:470:69fc:105::efa6) (*.net *.split) |
2021-09-13 06:06:03 +0200 | pooryorick | (~pooryoric@87-119-174-173.tll.elisa.ee) (*.net *.split) |
2021-09-13 06:06:03 +0200 | perro | (~user@072-191-245-069.res.spectrum.com) (*.net *.split) |
2021-09-13 06:06:03 +0200 | conjunctive | (sid433686@id-433686.helmsley.irccloud.com) (*.net *.split) |
2021-09-13 06:06:03 +0200 | jackdk | (sid373013@cssa/jackdk) (*.net *.split) |
2021-09-13 06:06:04 +0200 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split) |
2021-09-13 06:06:04 +0200 | masaeedu[m] | (~masaeedum@2001:470:69fc:105::e256) (*.net *.split) |
2021-09-13 06:06:04 +0200 | adamse | (sid72084@user/adamse) (*.net *.split) |
2021-09-13 06:06:04 +0200 | JSharp | (sid4580@id-4580.lymington.irccloud.com) (*.net *.split) |
2021-09-13 06:06:04 +0200 | erinvanderveen[m | (~erinvande@2001:470:69fc:105::e8f3) (*.net *.split) |
2021-09-13 06:06:04 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) (*.net *.split) |
2021-09-13 06:06:04 +0200 | zzz | (~yin@user/yin) (*.net *.split) |
2021-09-13 06:06:04 +0200 | Xe | (~cadey@tailscale/xe) (*.net *.split) |
2021-09-13 06:06:04 +0200 | hubvu | (sid495858@user/hubvu) (*.net *.split) |
2021-09-13 06:06:04 +0200 | dpratt_ | (sid193493@id-193493.helmsley.irccloud.com) (*.net *.split) |
2021-09-13 06:06:04 +0200 | soft | (~soft-matr@2001:470:69fc:105::c75) (*.net *.split) |
2021-09-13 06:06:04 +0200 | ru0mad[m] | (~ru0madmat@2001:470:69fc:105::9b2) (*.net *.split) |
2021-09-13 06:06:04 +0200 | schuelermine[m] | (~schuelerm@user/schuelermine) (*.net *.split) |
2021-09-13 06:06:04 +0200 | peddie | (~peddie@2001:470:69fc:105::25d) (*.net *.split) |
2021-09-13 06:06:04 +0200 | siraben | (~siraben@user/siraben) (*.net *.split) |
2021-09-13 06:06:04 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split) |
2021-09-13 06:06:04 +0200 | heath | (~heath@user/heath) (*.net *.split) |
2021-09-13 06:06:04 +0200 | oats | (~thomas@user/oats) (*.net *.split) |
2021-09-13 06:06:04 +0200 | nonzen | (~nonzen@user/nonzen) (*.net *.split) |
2021-09-13 06:06:04 +0200 | sajith | (~sajith@user/sajith) (*.net *.split) |
2021-09-13 06:06:04 +0200 | Ekho | (~Ekho@user/ekho) (*.net *.split) |
2021-09-13 06:06:04 +0200 | rookie101 | (~rookie@207.154.204.166) (*.net *.split) |
2021-09-13 06:06:04 +0200 | jassob1 | (~jassob@korrob.vth.sgsnet.se) (*.net *.split) |
2021-09-13 06:06:04 +0200 | Guest6153 | (~deni@mail.denibertovic.com) (*.net *.split) |
2021-09-13 06:06:04 +0200 | anoe | (~anoe@delanoe.org) (*.net *.split) |
2021-09-13 06:06:04 +0200 | sshine | (~simon@hubris.eta.solutions) (*.net *.split) |
2021-09-13 06:06:04 +0200 | kaol | (~kaol@178.62.241.234) (*.net *.split) |
2021-09-13 06:06:04 +0200 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) (*.net *.split) |
2021-09-13 06:06:04 +0200 | ski | (~ski@remote12.chalmers.se) (*.net *.split) |
2021-09-13 06:06:04 +0200 | yorick | (~yorick@user/yorick) (*.net *.split) |
2021-09-13 06:06:04 +0200 | Jon | (jon@dow.land) (*.net *.split) |
2021-09-13 06:06:04 +0200 | rawles | (~o@user/rawles) (*.net *.split) |
2021-09-13 06:06:06 +0200 | <awpr> | which is to say, let/where bindings are different from those other two constructs |
2021-09-13 06:06:12 +0200 | ski | (~ski@remote12.chalmers.se) |
2021-09-13 06:06:14 +0200 | Jon | (jon@dow.land) |
2021-09-13 06:06:15 +0200 | anoe | (~anoe@delanoe.org) |
2021-09-13 06:06:17 +0200 | perro | (~user@072-191-245-069.res.spectrum.com) |
2021-09-13 06:06:19 +0200 | Guest6153 | (~deni@mail.denibertovic.com) |
2021-09-13 06:06:20 +0200 | <pavonia> | awpr: That never evaluates the pattern |
2021-09-13 06:06:22 +0200 | kaol | (~kaol@178.62.241.234) |
2021-09-13 06:06:23 +0200 | jackdk | (sid373013@cssa/jackdk) |
2021-09-13 06:06:23 +0200 | dpratt_ | (sid193493@id-193493.helmsley.irccloud.com) |
2021-09-13 06:06:25 +0200 | jassob1 | (~jassob@korrob.vth.sgsnet.se) |
2021-09-13 06:06:33 +0200 | <awpr> | right, that's what I was showing |
2021-09-13 06:06:37 +0200 | pooryorick | (~pooryoric@87-119-174-173.tll.elisa.ee) |
2021-09-13 06:06:40 +0200 | yorick | (~yorick@pennyworth.yori.cc) |
2021-09-13 06:06:41 +0200 | Xe | (~cadey@lufta.cetacean.club) |
2021-09-13 06:06:43 +0200 | <Cale> | I wish I could say it never evaluates the pattern, but now there are bang patters |
2021-09-13 06:06:45 +0200 | Raito_Bezarius | (~Raito@2a01:e0a:5f9:9681:58c:8b9f:30df:bb6b) |
2021-09-13 06:06:45 +0200 | <Cale> | ns* |
2021-09-13 06:06:47 +0200 | JSharp | (sid4580@id-4580.lymington.irccloud.com) |
2021-09-13 06:06:53 +0200 | S11001001 | (sid42510@2a03:5180:f:3::a60e) |
2021-09-13 06:06:56 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) |
2021-09-13 06:06:57 +0200 | Xe | (~cadey@lufta.cetacean.club) (Changing host) |
2021-09-13 06:06:57 +0200 | Xe | (~cadey@tailscale/xe) |
2021-09-13 06:06:57 +0200 | urdh | (~urdh@user/urdh) |
2021-09-13 06:07:01 +0200 | erinvanderveen[m | (~erinvande@2001:470:69fc:105::e8f3) |
2021-09-13 06:07:03 +0200 | oats_ | (~thomas@user/oats) |
2021-09-13 06:07:05 +0200 | <Cale> | Which hold the mysterious power of transforming let into case |
2021-09-13 06:07:09 +0200 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) |
2021-09-13 06:07:15 +0200 | conjunctive | (sid433686@id-433686.helmsley.irccloud.com) |
2021-09-13 06:07:17 +0200 | adamse | (sid72084@id-72084.lymington.irccloud.com) |
2021-09-13 06:07:18 +0200 | hubvu | (sid495858@user/hubvu) |
2021-09-13 06:07:19 +0200 | adamse | (sid72084@id-72084.lymington.irccloud.com) (Changing host) |
2021-09-13 06:07:19 +0200 | adamse | (sid72084@user/adamse) |
2021-09-13 06:07:26 +0200 | yorick | Guest4308 |
2021-09-13 06:07:28 +0200 | sajith | (~sajith@user/sajith) |
2021-09-13 06:07:31 +0200 | zzz | (~yin@user/yin) |
2021-09-13 06:07:32 +0200 | nonzen | (~nonzen@user/nonzen) |
2021-09-13 06:07:50 +0200 | heath | (~heath@user/heath) |
2021-09-13 06:08:12 +0200 | sshine | (~simon@hubris.eta.solutions) |
2021-09-13 06:08:15 +0200 | soft | (~soft-matr@2001:470:69fc:105::c75) |
2021-09-13 06:08:15 +0200 | rookie101 | (~rookie@207.154.204.166) |
2021-09-13 06:09:15 +0200 | <pavonia> | > (\x -> let !(_, _) = x in True) undefined |
2021-09-13 06:09:16 +0200 | <lambdabot> | *Exception: Prelude.undefined |
2021-09-13 06:09:31 +0200 | <pavonia> | Okay, this is surprising |
2021-09-13 06:10:03 +0200 | masaeedu[m] | (~masaeedum@2001:470:69fc:105::e256) |
2021-09-13 06:10:11 +0200 | peddie | (~peddie@2001:470:69fc:105::25d) |
2021-09-13 06:10:23 +0200 | <awpr> | I think it turns into something like `\x -> case x of x1 { _default -> True }` in core |
2021-09-13 06:10:24 +0200 | Ekho | (~Ekho@user/ekho) |
2021-09-13 06:10:34 +0200 | siraben | (~siraben@user/siraben) |
2021-09-13 06:10:43 +0200 | <Cale> | It's a bit of perlish dwim-ism |
2021-09-13 06:10:44 +0200 | ski | (~ski@remote12.chalmers.se) (Ping timeout: 265 seconds) |
2021-09-13 06:11:12 +0200 | ru0mad[m] | (~ru0madmat@2001:470:69fc:105::9b2) |
2021-09-13 06:11:12 +0200 | schuelermine[m] | (~schuelerm@user/schuelermine) |
2021-09-13 06:11:34 +0200 | <Cale> | Well, let's try this: |
2021-09-13 06:11:43 +0200 | sky_lounge[m] | (~skylounge@2001:470:69fc:105::efa6) |
2021-09-13 06:11:47 +0200 | <Cale> | > (\x -> let ~(!(_, _)) = x in True) undefined |
2021-09-13 06:11:49 +0200 | <lambdabot> | True |
2021-09-13 06:12:09 +0200 | <pavonia> | :) |
2021-09-13 06:12:42 +0200 | <Cale> | Yep. So, even though all pattern bindings in let are supposed to implicitly be wrapped in ~ this doesn't happen for bang patterns at the top level only |
2021-09-13 06:15:45 +0200 | the_proffesor | (~theproffe@2601:282:847f:8010::bd6d) |
2021-09-13 06:15:45 +0200 | the_proffesor | (~theproffe@2601:282:847f:8010::bd6d) (Changing host) |
2021-09-13 06:15:45 +0200 | the_proffesor | (~theproffe@user/theproffesor) |
2021-09-13 06:17:35 +0200 | the_proffesor | theproffesor |
2021-09-13 06:17:57 +0200 | oats_ | oats |
2021-09-13 06:19:16 +0200 | nckx | (~nckx@tobias.gr) (*.net *.split) |
2021-09-13 06:19:16 +0200 | shailangsa | (~shailangs@host86-186-132-44.range86-186.btcentralplus.com) (*.net *.split) |
2021-09-13 06:19:16 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) (*.net *.split) |
2021-09-13 06:19:16 +0200 | Deewiant | (~deewiant@2001:470:69fc:105::2fd3) (*.net *.split) |
2021-09-13 06:19:16 +0200 | zfnmxt | (~zfnmxtzfn@user/zfnmxt) (*.net *.split) |
2021-09-13 06:19:16 +0200 | jaror[m] | (~jaror@2001:470:69fc:105::265) (*.net *.split) |
2021-09-13 06:19:16 +0200 | kar1 | (~kar1@2001:470:69fc:105::c308) (*.net *.split) |
2021-09-13 06:19:16 +0200 | oak- | (~oakuniver@2001:470:69fc:105::fcd) (*.net *.split) |
2021-09-13 06:19:16 +0200 | jesser[m] | (~jessermat@2001:470:69fc:105::d5ae) (*.net *.split) |
2021-09-13 06:19:16 +0200 | wallymathieu[m] | (~wallymath@2001:470:69fc:105::16ae) (*.net *.split) |
2021-09-13 06:19:16 +0200 | maralorn | (~maralorn@2001:470:69fc:105::251) (*.net *.split) |
2021-09-13 06:19:17 +0200 | Teohehim[m] | (~teocmatri@2001:470:69fc:105::d327) (*.net *.split) |
2021-09-13 06:19:17 +0200 | monadfritz[m] | (~ahdytmatr@2001:470:69fc:105::e1f1) (*.net *.split) |
2021-09-13 06:19:17 +0200 | afotgkmnzj7asv3r | (~afotgkmnz@2001:470:69fc:105::c24b) (*.net *.split) |
2021-09-13 06:19:17 +0200 | Ollie[m] | (~ollieocha@2001:470:69fc:105::41a5) (*.net *.split) |
2021-09-13 06:19:17 +0200 | rednaZ[m] | (~r3dnazmat@2001:470:69fc:105::ba70) (*.net *.split) |
2021-09-13 06:19:17 +0200 | SimonWeiss[m] | (~weiss-dma@2001:470:69fc:105::bebd) (*.net *.split) |
2021-09-13 06:19:17 +0200 | taeaad | (~taeaad@user/taeaad) (*.net *.split) |
2021-09-13 06:19:17 +0200 | mrkajetanp | (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) (*.net *.split) |
2021-09-13 06:19:17 +0200 | Papa | (~papa@user/papa) (*.net *.split) |
2021-09-13 06:19:17 +0200 | ddb | (~ddb@2607:5300:61:c67::196) (*.net *.split) |
2021-09-13 06:19:17 +0200 | mikko | (~mikko@2a02:7b40:d418:6a61::1) (*.net *.split) |
2021-09-13 06:19:17 +0200 | bollu | (~bollu@139.59.46.74) (*.net *.split) |
2021-09-13 06:19:17 +0200 | mmaruseacph2 | (~mihai@198.199.100.72) (*.net *.split) |
2021-09-13 06:19:17 +0200 | duckonomy | (~duckonomy@177.ip-144-217-84.net) (*.net *.split) |
2021-09-13 06:19:17 +0200 | st | (~ts@46.101.20.9) (*.net *.split) |
2021-09-13 06:19:17 +0200 | w1gz | (~do@159.89.11.133) (*.net *.split) |
2021-09-13 06:19:17 +0200 | Putonlalla | (~sapekiis@it-cyan.it.jyu.fi) (*.net *.split) |
2021-09-13 06:19:17 +0200 | samebchase | (~thelounge@51.15.68.182) (*.net *.split) |
2021-09-13 06:19:17 +0200 | PigDude | (~PigDude@159.203.16.199) (*.net *.split) |
2021-09-13 06:19:17 +0200 | SIben | (~SIben@ns3106586.ip-5-135-191.eu) (*.net *.split) |
2021-09-13 06:19:17 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) (*.net *.split) |
2021-09-13 06:19:17 +0200 | [exa] | (exa@user/exa/x-3587197) (*.net *.split) |
2021-09-13 06:19:17 +0200 | dy | (~dy@user/dy) (*.net *.split) |
2021-09-13 06:19:17 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (*.net *.split) |
2021-09-13 06:19:17 +0200 | madnight_ | (~madnight@static.59.103.201.195.clients.your-server.de) (*.net *.split) |
2021-09-13 06:19:17 +0200 | tinco | (~tinco@tinco.nl) (*.net *.split) |
2021-09-13 06:19:17 +0200 | dixie | (~dixie@real.wilbury.sk) (*.net *.split) |
2021-09-13 06:19:17 +0200 | absence | (torgeihe@hildring.pvv.ntnu.no) (*.net *.split) |
2021-09-13 06:19:17 +0200 | siers | (~ij@user/ij) (*.net *.split) |
2021-09-13 06:19:17 +0200 | pippijn | (~pippijn@ra.xinutec.org) (*.net *.split) |
2021-09-13 06:19:17 +0200 | djanatyn | (~djanatyn@vps-7f49a6b0.vps.ovh.ca) (*.net *.split) |
2021-09-13 06:19:17 +0200 | arkanoid | (~arkanoid@2-238-151-49.ip244.fastwebnet.it) (*.net *.split) |
2021-09-13 06:19:17 +0200 | aji | (~alex@prickle.ajitek.net) (*.net *.split) |
2021-09-13 06:19:17 +0200 | reda | (~reda@user/reda) (*.net *.split) |
2021-09-13 06:19:17 +0200 | bah | (~bah@l1.tel) (*.net *.split) |
2021-09-13 06:19:17 +0200 | Ankhers | (~Ankhers@ec2-54-196-233-138.compute-1.amazonaws.com) (*.net *.split) |
2021-09-13 06:19:20 +0200 | SIben_ | (~SIben@ns3106586.ip-5-135-191.eu) |
2021-09-13 06:19:21 +0200 | dixie_ | (~dixie@real.wilbury.sk) |
2021-09-13 06:19:22 +0200 | [exa]_ | (exa@srv3.blesmrt.net) |
2021-09-13 06:19:23 +0200 | absence_ | (torgeihe@hildring.pvv.ntnu.no) |
2021-09-13 06:19:23 +0200 | pippijn_ | (~pippijn@ra.xinutec.org) |
2021-09-13 06:19:26 +0200 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2021-09-13 06:19:26 +0200 | reda_ | (~reda@user/reda) |
2021-09-13 06:19:26 +0200 | bah_ | (~bah@l1.tel) |
2021-09-13 06:19:28 +0200 | PigDude_ | (~PigDude@159.203.16.199) |
2021-09-13 06:19:29 +0200 | samebchase | (~thelounge@51.15.68.182) |
2021-09-13 06:19:36 +0200 | djanatyn | (~djanatyn@vps-7f49a6b0.vps.ovh.ca) |
2021-09-13 06:19:36 +0200 | tinco | (~tinco@tinco.nl) |
2021-09-13 06:19:37 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) |
2021-09-13 06:19:37 +0200 | bollu | (~bollu@139.59.46.74) |
2021-09-13 06:19:37 +0200 | mikko | (~mikko@2a02:7b40:d418:6a61::1) |
2021-09-13 06:19:39 +0200 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2021-09-13 06:19:39 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2021-09-13 06:19:41 +0200 | mmaruseacph2 | (~mihai@198.199.100.72) |
2021-09-13 06:19:47 +0200 | madnight | (~madnight@static.59.103.201.195.clients.your-server.de) |
2021-09-13 06:19:50 +0200 | Putonlalla | (~sapekiis@it-cyan.it.jyu.fi) |
2021-09-13 06:19:50 +0200 | ddb | (~ddb@ipv6two.tilde.club) |
2021-09-13 06:19:56 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2021-09-13 06:20:11 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-09-13 06:20:12 +0200 | mrkajetanp | (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) |
2021-09-13 06:20:14 +0200 | siers | (~ij@user/ij) |
2021-09-13 06:20:14 +0200 | taeaad | (~taeaad@user/taeaad) |
2021-09-13 06:20:18 +0200 | dy | (~dy@user/dy) |
2021-09-13 06:20:18 +0200 | nckx_ | (~nckx@tobias.gr) |
2021-09-13 06:20:19 +0200 | nckx_ | nckx |
2021-09-13 06:20:20 +0200 | st | (~ts@46.101.20.9) |
2021-09-13 06:20:21 +0200 | w1gz | (~do@159.89.11.133) |
2021-09-13 06:20:21 +0200 | aji | (~alex@prickle.ajitek.net) |
2021-09-13 06:20:22 +0200 | Ankhers | (~Ankhers@ec2-54-196-233-138.compute-1.amazonaws.com) |
2021-09-13 06:20:35 +0200 | duckonomy | (~duckonomy@177.ip-144-217-84.net) |
2021-09-13 06:20:50 +0200 | Papa | (~papa@user/papa) |
2021-09-13 06:20:52 +0200 | Garbanzo | (~Garbanzo@2602:304:6eac:dc10::46) (Read error: Connection reset by peer) |
2021-09-13 06:20:52 +0200 | zfnmxt | (~zfnmxtzfn@2001:470:69fc:105::2b32) |
2021-09-13 06:21:00 +0200 | Deewiant | (~deewiant@2001:470:69fc:105::2fd3) |
2021-09-13 06:21:55 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 260 seconds) |
2021-09-13 06:22:33 +0200 | <lechner> | Hi, did the wiki always have such a weird, dark gray half-footer? https://wiki.haskell.org/Cookbook/Pattern_matching |
2021-09-13 06:23:02 +0200 | <__celeste> | it doesn't look that weird to me |
2021-09-13 06:23:19 +0200 | <__celeste> | i might be alone |
2021-09-13 06:23:33 +0200 | theproffesor | (~theproffe@user/theproffesor) (Leaving) |
2021-09-13 06:23:38 +0200 | wallymathieu[m] | (~wallymath@2001:470:69fc:105::16ae) |
2021-09-13 06:23:41 +0200 | arkanoid | (~arkanoid@2-238-151-49.ip244.fastwebnet.it) |
2021-09-13 06:23:47 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-09-13 06:23:49 +0200 | <lechner> | me too |
2021-09-13 06:23:51 +0200 | jesser[m] | (~jessermat@2001:470:69fc:105::d5ae) |
2021-09-13 06:24:04 +0200 | oak- | (~oakuniver@2001:470:69fc:105::fcd) |
2021-09-13 06:24:09 +0200 | kar1 | (~kar1@2001:470:69fc:105::c308) |
2021-09-13 06:24:16 +0200 | jaror[m] | (~jaror@2001:470:69fc:105::265) |
2021-09-13 06:24:34 +0200 | <lechner> | do you see a bright white square in the bottom left? |
2021-09-13 06:24:44 +0200 | SimonWeiss[m] | (~weiss-dma@2001:470:69fc:105::bebd) |
2021-09-13 06:25:18 +0200 | rednaZ[m] | (~r3dnazmat@2001:470:69fc:105::ba70) |
2021-09-13 06:27:30 +0200 | benin03693230 | (~benin@183.82.24.227) |
2021-09-13 06:27:37 +0200 | maralorn | (~maralorn@2001:470:69fc:105::251) |
2021-09-13 06:30:48 +0200 | afotgkmnzj7asv3r | (~afotgkmnz@2001:470:69fc:105::c24b) |
2021-09-13 06:31:17 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 06:31:19 +0200 | Teohehim[m] | (~teocmatri@2001:470:69fc:105::d327) |
2021-09-13 06:31:19 +0200 | Ollie[m] | (~ollieocha@2001:470:69fc:105::41a5) |
2021-09-13 06:31:20 +0200 | monadfritz[m] | (~ahdytmatr@2001:470:69fc:105::e1f1) |
2021-09-13 06:41:37 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 06:41:46 +0200 | benin03693230 | (~benin@183.82.24.227) (Ping timeout: 268 seconds) |
2021-09-13 06:42:38 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
2021-09-13 06:45:06 +0200 | nicbk | (~nicbk@user/nicbk) |
2021-09-13 06:45:11 +0200 | roboguy_ | (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) () |
2021-09-13 06:46:01 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 252 seconds) |
2021-09-13 06:47:12 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.250) |
2021-09-13 06:53:39 +0200 | shailangsa | (~shailangs@host86-186-132-44.range86-186.btcentralplus.com) |
2021-09-13 06:57:41 +0200 | pony | lua |
2021-09-13 07:02:55 +0200 | lua | pony |
2021-09-13 07:04:52 +0200 | <ldlework> | Applicatives are weird |
2021-09-13 07:05:21 +0200 | <Axman6> | Applicatives turn up everywhere in programming and are extremely useful |
2021-09-13 07:06:24 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-13 07:06:25 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
2021-09-13 07:09:25 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-13 07:10:36 +0200 | <Axman6> | it's so common that we write code which is "Get this thing, then get this thing, then get this thing, then this next thing, and now put all of those into some constructor" Applicative just generalises that |
2021-09-13 07:12:18 +0200 | __celeste | (~celeste@2600:8803:9403:b600::b6f) (Ping timeout: 260 seconds) |
2021-09-13 07:13:17 +0200 | <Axman6> | and, like, a lot of other things. for loops are just applicatives in many cases |
2021-09-13 07:13:24 +0200 | <Axman6> | nested for loops* |
2021-09-13 07:13:58 +0200 | <Axman6> | so is "gather all these maybe null values and if none of them are null, do something with them, otherwise return null" |
2021-09-13 07:19:27 +0200 | <dmj`> | still weird tho |
2021-09-13 07:20:20 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-09-13 07:27:44 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-09-13 07:28:35 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-09-13 07:29:30 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-09-13 07:33:13 +0200 | <dibblego> | yeah but what about enterprise null |
2021-09-13 07:34:19 +0200 | <dmj`> | enterprise null keeps us employed |
2021-09-13 07:39:05 +0200 | Gurkenglas | (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de) |
2021-09-13 07:39:32 +0200 | <dsal> | Maybe |
2021-09-13 07:39:40 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.250) (Ping timeout: 240 seconds) |
2021-09-13 07:39:50 +0200 | <Axman6> | heh |
2021-09-13 07:41:42 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-13 07:45:25 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-09-13 07:46:02 +0200 | falafel_ | (~falafel@2603-8000-d801-2d68-d829-f87a-f631-a582.res6.spectrum.com) (Remote host closed the connection) |
2021-09-13 07:46:17 +0200 | falafel_ | (~falafel@2603-8000-d801-2d68-d829-f87a-f631-a582.res6.spectrum.com) |
2021-09-13 07:49:49 +0200 | <nitrix> | That what Haskell made sure to also have _|_. |
2021-09-13 07:50:18 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 265 seconds) |
2021-09-13 07:51:10 +0200 | falafel__ | (~falafel@cpe-76-168-195-162.socal.res.rr.com) |
2021-09-13 07:54:45 +0200 | falafel_ | (~falafel@2603-8000-d801-2d68-d829-f87a-f631-a582.res6.spectrum.com) (Ping timeout: 268 seconds) |
2021-09-13 07:54:55 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 07:55:08 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 07:55:08 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
2021-09-13 07:55:14 +0200 | <Axman6> | "Avoid success at all costs, by learning from most of the mistakes of the past" |
2021-09-13 07:55:18 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 07:55:21 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
2021-09-13 07:55:28 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) |
2021-09-13 07:55:35 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 07:57:40 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-09-13 08:00:56 +0200 | daylily | (~daylily@104.225.146.73.16clouds.com) (Ping timeout: 265 seconds) |
2021-09-13 08:02:29 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-09-13 08:03:13 +0200 | fendor | (~fendor@178.165.199.123.wireless.dyn.drei.com) |
2021-09-13 08:03:29 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 08:05:41 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-13 08:10:52 +0200 | Akronymus | (~Akronymus@85.31.8.180) |
2021-09-13 08:10:54 +0200 | cjb | (~cjbayliss@user/cjb) () |
2021-09-13 08:12:41 +0200 | michalz | (~michalz@185.246.204.57) |
2021-09-13 08:14:26 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-09-13 08:15:01 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-09-13 08:18:57 +0200 | binape | (~binape@154.197.27.149) |
2021-09-13 08:25:57 +0200 | <dmj`> | Got a couple bottoms, but a couple ain't enough. |
2021-09-13 08:26:49 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
2021-09-13 08:26:56 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-09-13 08:39:03 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) (Quit: WeeChat 3.0.1) |
2021-09-13 08:39:09 +0200 | falafel__ | (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 268 seconds) |
2021-09-13 08:39:11 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) |
2021-09-13 08:40:50 +0200 | AndrewIRC | AndrewYu |
2021-09-13 08:41:24 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
2021-09-13 08:41:41 +0200 | max22- | (~maxime@2a01cb0883359800d694c3dbfe2877e7.ipv6.abo.wanadoo.fr) |
2021-09-13 08:47:05 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-09-13 08:51:57 +0200 | sleblanc | (~sleblanc@user/sleblanc) (Quit: Leaving) |
2021-09-13 08:55:23 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-09-13 09:02:20 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 09:07:53 +0200 | [exa]_ | [exa] |
2021-09-13 09:08:04 +0200 | [exa] | (exa@srv3.blesmrt.net) (Changing host) |
2021-09-13 09:08:04 +0200 | [exa] | (exa@user/exa/x-3587197) |
2021-09-13 09:11:59 +0200 | nctcf^ | (~nctcf@68.101.54.227) (Remote host closed the connection) |
2021-09-13 09:14:08 +0200 | on^ | (~on@68.101.54.227) |
2021-09-13 09:15:41 +0200 | chomwitt | (~chomwitt@2a02:587:dc14:5d00:12c3:7bff:fe6d:d374) |
2021-09-13 09:16:19 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-13 09:16:21 +0200 | nicbk | (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
2021-09-13 09:18:11 +0200 | acidjnk_new | (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) |
2021-09-13 09:18:28 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-09-13 09:21:05 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-09-13 09:21:57 +0200 | binape | (~binape@154.197.27.149) (Quit: Client closed) |
2021-09-13 09:23:05 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-09-13 09:25:24 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-13 09:29:29 +0200 | Guest4308 | (~yorick@pennyworth.yori.cc) (Changing host) |
2021-09-13 09:29:29 +0200 | Guest4308 | (~yorick@user/yorick) |
2021-09-13 09:29:34 +0200 | Guest4308 | yorick |
2021-09-13 09:35:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 09:35:34 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 260 seconds) |
2021-09-13 09:39:36 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:2829:edb2:f2b7:f87c) (Remote host closed the connection) |
2021-09-13 09:40:09 +0200 | hannessteffenhag | (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) |
2021-09-13 09:43:15 +0200 | benin03693230 | (~benin@183.82.24.227) |
2021-09-13 09:45:54 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 09:52:01 +0200 | <dminuoso> | Axman6: Im not convinced this is truly an applicative thing. |
2021-09-13 09:52:35 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-09-13 09:53:20 +0200 | <dminuoso> | In your language you said "then get this thing", which already implies a kind of sequencing that's simply not part of the language of Applicative. |
2021-09-13 09:54:11 +0200 | <dminuoso> | It's just that most Applicative instances for types that also have a Monad instance are required to have coherence with Monad, but then the sequencing behavior really comes from Monad. |
2021-09-13 09:55:10 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2021-09-13 09:55:44 +0200 | <Axman6> | it is part of the language of _some_ applicatives |
2021-09-13 09:56:06 +0200 | <dminuoso> | Conceptually I think of Applicative rather as a diamond than sequencing, where the branches are - in principle - independent, and it's just that in case of instances that are coherent with Monad, that these branches are trivially sequenced after one another. |
2021-09-13 09:58:24 +0200 | <dminuoso> | With some signature method `parallel :: Applicative f => f a -> f b -> f (a, b)` |
2021-09-13 09:58:52 +0200 | <dminuoso> | And a trivial `unit :: Applicative f => f ()` that acts as unit wrt to parallel. |
2021-09-13 09:59:31 +0200 | <dminuoso> | Axman6: Is this still matching the "first this, then that", if that thing trivially sequences the second after the first for some instances? |
2021-09-13 09:59:48 +0200 | dminuoso | is not sure |
2021-09-13 10:01:32 +0200 | __monty__ | (~toonn@user/toonn) |
2021-09-13 10:04:47 +0200 | kayprish | (~kayprish@46.240.130.158) |
2021-09-13 10:06:18 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-09-13 10:06:50 +0200 | neurocyte | (~neurocyte@92.119.10.38) |
2021-09-13 10:06:50 +0200 | neurocyte | (~neurocyte@92.119.10.38) (Changing host) |
2021-09-13 10:06:50 +0200 | neurocyte | (~neurocyte@user/neurocyte) |
2021-09-13 10:08:31 +0200 | Chai-T-Rex | (~ChaiTRex@user/chaitrex) |
2021-09-13 10:09:00 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-09-13 10:09:11 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-09-13 10:11:48 +0200 | <awpr> | the operations of Applicative permit ordering but don't require it, in the same way the operations of Monoid permit ordering -- you can have `Monoid String` that's ordered, and `Monoid (Sum Int)` that's not ordered |
2021-09-13 10:12:25 +0200 | <awpr> | and that's no coincidence, since `Applicative` is a (lax) monoidal functor |
2021-09-13 10:13:31 +0200 | <dminuoso> | Sure. |
2021-09-13 10:17:44 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-09-13 10:17:44 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-09-13 10:17:47 +0200 | allbery_b | geekosaur |
2021-09-13 10:28:18 +0200 | azeem | (~azeem@2a00:801:3c7:c672:c46:3e15:33ac:e08b) (Read error: Connection reset by peer) |
2021-09-13 10:28:32 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) |
2021-09-13 10:30:25 +0200 | Lycurgus | (~juan@98.4.112.204) |
2021-09-13 10:30:45 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-09-13 10:32:25 +0200 | on^ | (~on@68.101.54.227) (Remote host closed the connection) |
2021-09-13 10:33:24 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-09-13 10:33:52 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-09-13 10:36:17 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-09-13 10:37:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: Lost terminal) |
2021-09-13 10:37:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection) |
2021-09-13 10:39:35 +0200 | max22- | (~maxime@2a01cb0883359800d694c3dbfe2877e7.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-09-13 10:39:59 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-09-13 10:40:29 +0200 | max22- | (~maxime@2a01cb08833598005158d0acd05c15c9.ipv6.abo.wanadoo.fr) |
2021-09-13 10:43:07 +0200 | <mniip> | Cale, that really made me think. Is abstraction (function introduction) an effect? |
2021-09-13 10:44:43 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-09-13 10:44:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 10:45:10 +0200 | nctcf^ | (~nctcf@68.101.54.227) |
2021-09-13 10:49:53 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
2021-09-13 10:50:40 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 10:50:53 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 10:53:00 +0200 | pooryorick | (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 265 seconds) |
2021-09-13 10:53:13 +0200 | pooryorick | (~pooryoric@87-119-174-173.tll.elisa.ee) |
2021-09-13 10:55:31 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-09-13 10:56:37 +0200 | shailangsa | (~shailangs@host86-186-132-44.range86-186.btcentralplus.com) () |
2021-09-13 11:00:08 +0200 | jkachmar | (~jkachmar@2001:470:69fc:105::c72d) (Quit: You have been kicked for being idle) |
2021-09-13 11:04:52 +0200 | Flow | (~none@salem.informatik.uni-erlangen.de) (Quit: WeeChat 3.2) |
2021-09-13 11:05:07 +0200 | Flow | (~none@gentoo/developer/flow) |
2021-09-13 11:09:22 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:dc85:5fb:77a4:62d3) (Ping timeout: 260 seconds) |
2021-09-13 11:18:38 +0200 | xsperry | (~as@user/xsperry) () |
2021-09-13 11:19:38 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 260 seconds) |
2021-09-13 11:21:32 +0200 | xsperry | (~as@user/xsperry) |
2021-09-13 11:23:53 +0200 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
2021-09-13 11:26:08 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-09-13 11:28:08 +0200 | tfeb | (~tfb@host81-129-8-142.range81-129.btcentralplus.com) |
2021-09-13 11:28:10 +0200 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
2021-09-13 11:28:44 +0200 | zmt01 | (~zmt00@user/zmt00) |
2021-09-13 11:29:02 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-13 11:29:05 +0200 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
2021-09-13 11:29:14 +0200 | sheddow | (~sheddow@84-52-255.245.3p.ntebredband.no) |
2021-09-13 11:30:50 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
2021-09-13 11:30:54 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-13 11:31:09 +0200 | shailangsa | (~shailangs@host86-186-132-44.range86-186.btcentralplus.com) |
2021-09-13 11:32:11 +0200 | tfeb | (~tfb@host81-129-8-142.range81-129.btcentralplus.com) (Read error: Connection reset by peer) |
2021-09-13 11:32:37 +0200 | favonia | (~favonia@user/favonia) |
2021-09-13 11:33:40 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-13 11:35:23 +0200 | phma | (~phma@host-67-44-209-52.hnremote.net) (Read error: Connection reset by peer) |
2021-09-13 11:36:58 +0200 | phma | (~phma@host-67-44-208-7.hnremote.net) |
2021-09-13 11:38:10 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
2021-09-13 11:38:36 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2021-09-13 11:39:25 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-13 11:41:21 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:dc85:5fb:77a4:62d3) |
2021-09-13 11:42:42 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Ping timeout: 268 seconds) |
2021-09-13 11:45:26 +0200 | badwoman | (~badwoman@221.239.55.46) |
2021-09-13 11:48:29 +0200 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-09-13 11:50:19 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2021-09-13 11:50:43 +0200 | acidjnk_new | (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-09-13 11:51:00 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 11:51:13 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 11:52:44 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:44da:bf98:4cf1:2d8d) |
2021-09-13 12:07:02 +0200 | pmk | (~user@2a02:587:9416:c4cd:a38a:dea2:e28e:646d) |
2021-09-13 12:12:55 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 268 seconds) |
2021-09-13 12:13:17 +0200 | azeem | (~azeem@2a00:801:230:bf5f:d20c:8e6b:10b9:3ab2) |
2021-09-13 12:13:32 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 12:15:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 12:16:57 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-13 12:20:19 +0200 | azeem | (~azeem@2a00:801:230:bf5f:d20c:8e6b:10b9:3ab2) (Read error: Connection reset by peer) |
2021-09-13 12:20:45 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) |
2021-09-13 12:23:38 +0200 | davetapley | (sid666@id-666.highgate.irccloud.com) () |
2021-09-13 12:23:53 +0200 | davetapley | (sid666@id-666.uxbridge.irccloud.com) |
2021-09-13 12:24:16 +0200 | etrepum | (sid763@id-763.highgate.irccloud.com) () |
2021-09-13 12:24:32 +0200 | etrepum | (sid763@id-763.uxbridge.irccloud.com) |
2021-09-13 12:24:34 +0200 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
2021-09-13 12:24:47 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:bdee:99d8:9af:602f) |
2021-09-13 12:25:52 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 12:26:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 12:28:16 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:a09c:5ae1:45f8:7ffe) (Ping timeout: 252 seconds) |
2021-09-13 12:29:29 +0200 | vito | (sid1962@user/vito) () |
2021-09-13 12:29:45 +0200 | vito | (sid1962@user/vito) |
2021-09-13 12:31:28 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds) |
2021-09-13 12:31:38 +0200 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
2021-09-13 12:32:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 12:32:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 12:41:29 +0200 | SrPx | (sid108780@id-108780.highgate.irccloud.com) () |
2021-09-13 12:41:43 +0200 | SrPx | (sid108780@id-108780.uxbridge.irccloud.com) |
2021-09-13 12:42:44 +0200 | alanz | (sid110616@id-110616.highgate.irccloud.com) () |
2021-09-13 12:43:00 +0200 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) |
2021-09-13 12:43:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 12:44:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 12:47:29 +0200 | favonia | (~favonia@user/favonia) (Remote host closed the connection) |
2021-09-13 12:47:45 +0200 | b20n | (sid115913@id-115913.highgate.irccloud.com) () |
2021-09-13 12:47:50 +0200 | favonia | (~favonia@user/favonia) |
2021-09-13 12:48:01 +0200 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) |
2021-09-13 12:49:55 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 12:50:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 12:55:04 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 252 seconds) |
2021-09-13 12:55:41 +0200 | ubert | (~Thunderbi@178.115.54.21.wireless.dyn.drei.com) |
2021-09-13 12:56:10 +0200 | pretty_d1 | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-09-13 12:56:14 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-09-13 12:56:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 12:56:41 +0200 | azeem | (~azeem@2a00:801:230:bf5f:d20c:8e6b:10b9:3ab2) |
2021-09-13 12:57:05 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Remote host closed the connection) |
2021-09-13 12:57:39 +0200 | azeem | (~azeem@2a00:801:230:bf5f:d20c:8e6b:10b9:3ab2) (Read error: Connection reset by peer) |
2021-09-13 12:58:11 +0200 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-09-13 12:58:12 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) |
2021-09-13 13:00:55 +0200 | alx741 | (~alx741@181.196.69.212) |
2021-09-13 13:01:14 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
2021-09-13 13:07:51 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 13:08:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 13:10:16 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) (Read error: Connection reset by peer) |
2021-09-13 13:10:33 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) |
2021-09-13 13:11:31 +0200 | hololeap_ | (~hololeap@user/hololeap) |
2021-09-13 13:12:36 +0200 | pony | (~ed@101.53.218.157) (Quit: WeeChat 2.8) |
2021-09-13 13:13:36 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-09-13 13:13:59 +0200 | stevenxl | (sid133530@id-133530.highgate.irccloud.com) () |
2021-09-13 13:14:14 +0200 | stevenxl | (sid133530@id-133530.uxbridge.irccloud.com) |
2021-09-13 13:14:54 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2021-09-13 13:15:14 +0200 | cheater | (~Username@user/cheater) |
2021-09-13 13:18:07 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-13 13:18:31 +0200 | Guest89 | (~Guest89@45.33.134.45) |
2021-09-13 13:19:56 +0200 | ByronJohnson | (~bairyn@mail.digitalkingdom.org) (Ping timeout: 265 seconds) |
2021-09-13 13:20:24 +0200 | Guest89 | (~Guest89@45.33.134.45) (Client Quit) |
2021-09-13 13:20:40 +0200 | ph88 | (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) |
2021-09-13 13:21:49 +0200 | ByronJohnson | (~bairyn@mail.digitalkingdom.org) |
2021-09-13 13:22:35 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-09-13 13:22:50 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-09-13 13:25:53 +0200 | fendor_ | (~fendor@178.165.201.14.wireless.dyn.drei.com) |
2021-09-13 13:27:50 +0200 | kayprish | (~kayprish@46.240.130.158) (Remote host closed the connection) |
2021-09-13 13:28:59 +0200 | fendor | (~fendor@178.165.199.123.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
2021-09-13 13:31:09 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-09-13 13:31:15 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-09-13 13:31:51 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-09-13 13:32:45 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 13:34:05 +0200 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
2021-09-13 13:37:58 +0200 | fendor_ | fendor |
2021-09-13 13:39:37 +0200 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
2021-09-13 13:40:04 +0200 | <badwoman> | q |
2021-09-13 13:40:10 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-09-13 13:40:20 +0200 | badwoman | (~badwoman@221.239.55.46) (Quit: leaving) |
2021-09-13 13:41:45 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-13 13:44:34 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-09-13 13:46:34 +0200 | <Akronymus> | ⪒ someone suggested that haskellers are bound to use this as a operator at some point. |
2021-09-13 13:46:47 +0200 | <Akronymus> | I personally don't see how. |
2021-09-13 13:47:20 +0200 | <merijn> | Easy |
2021-09-13 13:47:37 +0200 | <merijn> | > let x ⪒ y = x^2 + y^2 in 3 ⪒ 5 |
2021-09-13 13:47:39 +0200 | <lambdabot> | 34 |
2021-09-13 13:47:43 +0200 | bah_ | bah |
2021-09-13 13:47:48 +0200 | <merijn> | Like, how would that even be a challenge? |
2021-09-13 13:48:30 +0200 | <Akronymus> | But that doesn't really make much sense to use that symbol specifically. |
2021-09-13 13:48:42 +0200 | <Akronymus> | I meant it more as in where that is the most appropriate symbol. |
2021-09-13 13:48:48 +0200 | <int-e> | let (⪒) = compare in ... |
2021-09-13 13:49:00 +0200 | <merijn> | I mean any unicode symbol can be used as operator |
2021-09-13 13:49:06 +0200 | <Akronymus> | Well, duh. |
2021-09-13 13:49:11 +0200 | <merijn> | > generalCategory '⪒' |
2021-09-13 13:49:13 +0200 | <lambdabot> | MathSymbol |
2021-09-13 13:49:39 +0200 | <merijn> | Akronymus: arahael was just joking about the number of custom operators defined |
2021-09-13 13:50:00 +0200 | <arahael> | Ha. |
2021-09-13 13:50:01 +0200 | <Akronymus> | I just don't really see a use for `greater than above less than above equals` as an operator |
2021-09-13 13:50:13 +0200 | <Akronymus> | arahael you are seemingly everywhere |
2021-09-13 13:50:28 +0200 | <int-e> | > let ꙮ = 6 in ꙮ * (ꙮ + 1) |
2021-09-13 13:50:29 +0200 | <lambdabot> | 42 |
2021-09-13 13:50:36 +0200 | <arahael> | Akronymus: And on 5 chat networks. |
2021-09-13 13:50:42 +0200 | <Akronymus> | Oh, nice. |
2021-09-13 13:50:52 +0200 | <merijn> | > generalCategory 'ꙮ' |
2021-09-13 13:50:53 +0200 | <Akronymus> | Not on #fsharp though |
2021-09-13 13:50:53 +0200 | <lambdabot> | OtherLetter |
2021-09-13 13:50:55 +0200 | <merijn> | hah |
2021-09-13 13:51:17 +0200 | <Akronymus> | > generalCategory '' |
2021-09-13 13:51:18 +0200 | <lambdabot> | <hint>:1:18: error: |
2021-09-13 13:51:18 +0200 | <lambdabot> | lexical error in string/character literal at character '\6158' |
2021-09-13 13:51:32 +0200 | <Akronymus> | > generalCategory '' |
2021-09-13 13:51:33 +0200 | <lambdabot> | <hint>:1:17: error: |
2021-09-13 13:51:33 +0200 | <lambdabot> | Parser error on `''` |
2021-09-13 13:51:33 +0200 | <lambdabot> | Character literals may not be empty |
2021-09-13 13:51:40 +0200 | <Akronymus> | HAHAHAHA |
2021-09-13 13:51:46 +0200 | <Akronymus> | I broke it. |
2021-09-13 13:51:49 +0200 | <int-e> | > generalCategory '\6158' |
2021-09-13 13:51:50 +0200 | <lambdabot> | Format |
2021-09-13 13:52:04 +0200 | <Akronymus> | Mongolian vowel separator |
2021-09-13 13:52:17 +0200 | <arahael> | Akronymus: I got tired of that language years ago. |
2021-09-13 13:52:24 +0200 | <arahael> | Got fed up with .NET in general. |
2021-09-13 13:52:32 +0200 | <Akronymus> | Fair nuff |
2021-09-13 13:52:37 +0200 | <merijn> | F# <- you mispelled "Business OCaml" ;) |
2021-09-13 13:52:49 +0200 | Akronymus | goes back to lithping |
2021-09-13 13:53:16 +0200 | <Akronymus> | Which I somehow like |
2021-09-13 13:54:58 +0200 | <arahael> | To be fair, I started with F# back when they were still figuring out this "null" detail. |
2021-09-13 13:55:20 +0200 | <arahael> | You could explicitly check for nulls, and the compiler would elide it since they're "never nulls" - unless you call it from C#, which can pass a null. |
2021-09-13 13:55:21 +0200 | <Akronymus> | Ewww, naked nulls. |
2021-09-13 13:58:07 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-09-13 13:59:36 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-09-13 14:00:21 +0200 | arjun | (~Srain@user/arjun) |
2021-09-13 14:00:36 +0200 | <arjun> | i can't (x:xs) pattern match on Text values right? |
2021-09-13 14:00:37 +0200 | max22- | (~maxime@2a01cb08833598005158d0acd05c15c9.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-09-13 14:00:43 +0200 | <arjun> | like i can on String |
2021-09-13 14:01:03 +0200 | nckx | (~nckx@tobias.gr) (Quit: Updating my Guix System <https://guix.gnu.org>) |
2021-09-13 14:01:17 +0200 | <arjun> | how do we do that for Text, if we have to? |
2021-09-13 14:01:51 +0200 | <Hecate> | arjun: uncosn |
2021-09-13 14:01:54 +0200 | <Hecate> | *uncons sorry |
2021-09-13 14:02:23 +0200 | <merijn> | That's the technically correct, but probably also wrong answer >.> |
2021-09-13 14:02:33 +0200 | <merijn> | What kinda matching do you want to do? |
2021-09-13 14:03:04 +0200 | <arjun> | 1. if it's empty, i can probably do a null check there |
2021-09-13 14:03:11 +0200 | nckx | (~nckx@tobias.gr) |
2021-09-13 14:03:16 +0200 | <arjun> | 2. get the first letter of a Text string |
2021-09-13 14:03:20 +0200 | <merijn> | If you wanna check for empty, use T.null yes |
2021-09-13 14:03:22 +0200 | <arjun> | in a variable |
2021-09-13 14:03:43 +0200 | <arjun> | basically a safe `head` for Text |
2021-09-13 14:04:09 +0200 | <merijn> | If you want longer prefix than 1 character you'll want stripPrefix. You can use uncons for the first character, but wanting the first character seems like it has rather limited use, tbh |
2021-09-13 14:04:55 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-09-13 14:05:07 +0200 | <arjun> | there's a head for Text, i just saw, is it infamous like the list head? |
2021-09-13 14:06:22 +0200 | <arjun> | Hecate: huh, seems that way, i didn't knew about uncons |
2021-09-13 14:06:28 +0200 | bradparker | (sid262931@id-262931.highgate.irccloud.com) () |
2021-09-13 14:06:44 +0200 | bradparker | (sid262931@id-262931.uxbridge.irccloud.com) |
2021-09-13 14:07:03 +0200 | nckx | (~nckx@tobias.gr) (Quit: Updating my Guix System <https://guix.gnu.org>) |
2021-09-13 14:07:13 +0200 | systemfault | (sid267009@id-267009.highgate.irccloud.com) () |
2021-09-13 14:07:29 +0200 | systemfault | (sid267009@id-267009.uxbridge.irccloud.com) |
2021-09-13 14:08:41 +0200 | max22- | (~maxime@2a01cb08833598008d61d5f6a7875e9a.ipv6.abo.wanadoo.fr) |
2021-09-13 14:09:43 +0200 | td_ | (~td@94.134.91.246) (Ping timeout: 265 seconds) |
2021-09-13 14:11:00 +0200 | yaroot | (~yaroot@125.30.3.6) (Quit: The Lounge - https://thelounge.chat) |
2021-09-13 14:11:13 +0200 | nckx | (~nckx@tobias.gr) |
2021-09-13 14:11:46 +0200 | yaroot | (~yaroot@6.3.30.125.dy.iij4u.or.jp) |
2021-09-13 14:13:59 +0200 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2021-09-13 14:21:51 +0200 | nckx | (~nckx@tobias.gr) (Quit: Updating my Guix System <https://guix.gnu.org>) |
2021-09-13 14:26:44 +0200 | ByronJohnson | (~bairyn@mail.digitalkingdom.org) (Ping timeout: 268 seconds) |
2021-09-13 14:27:56 +0200 | fendor | (~fendor@178.165.201.14.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-09-13 14:29:30 +0200 | ByronJohnson | (~bairyn@mail.digitalkingdom.org) |
2021-09-13 14:30:26 +0200 | arjun | (~Srain@user/arjun) (Ping timeout: 268 seconds) |
2021-09-13 14:31:13 +0200 | TranquilEcho | (~grom@user/tranquilecho) |
2021-09-13 14:34:18 +0200 | m5zs7k | (aquares@web10.mydevil.net) (Remote host closed the connection) |
2021-09-13 14:34:54 +0200 | m5zs7k | (aquares@web10.mydevil.net) |
2021-09-13 14:35:19 +0200 | nckx | (~nckx@tobias.gr) |
2021-09-13 14:38:21 +0200 | arjun | (~Srain@user/arjun) |
2021-09-13 14:38:41 +0200 | maxime_ | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-09-13 14:40:04 +0200 | <sshine> | arjun, Text don't have the (:) constructor, no. |
2021-09-13 14:40:18 +0200 | max22- | (~maxime@2a01cb08833598008d61d5f6a7875e9a.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
2021-09-13 14:40:52 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
2021-09-13 14:45:32 +0200 | ystael | (~ystael@user/ystael) |
2021-09-13 14:45:51 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Ping timeout: 268 seconds) |
2021-09-13 14:46:47 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 14:47:20 +0200 | <Hecate> | arjun: maybe use of the offered folds in Text if you feel like your manual recursion can be implemented as a fold :) |
2021-09-13 14:48:00 +0200 | <arjun> | im just writing a simple parser by hand (for the first time) |
2021-09-13 14:48:01 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) (Read error: Connection reset by peer) |
2021-09-13 14:48:10 +0200 | <Hecate> | :) |
2021-09-13 14:48:12 +0200 | <Hecate> | congratulations |
2021-09-13 14:48:14 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2021-09-13 14:48:27 +0200 | cheater | (~Username@user/cheater) |
2021-09-13 14:48:39 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) |
2021-09-13 14:48:52 +0200 | <arjun> | learn haskell the `idk how this works, but how hard can it be` way |
2021-09-13 14:48:59 +0200 | <Hecate> | :D |
2021-09-13 14:50:06 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-09-13 14:51:17 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 265 seconds) |
2021-09-13 14:54:42 +0200 | totbwf__ | (sid402332@highgate.irccloud.com) () |
2021-09-13 14:54:51 +0200 | pbrisbin | (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net) |
2021-09-13 14:54:57 +0200 | totbwf__ | (sid402332@id-402332.uxbridge.irccloud.com) |
2021-09-13 14:55:09 +0200 | pretty_d1 | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 265 seconds) |
2021-09-13 14:55:42 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) (Ping timeout: 260 seconds) |
2021-09-13 14:55:52 +0200 | pretty_d1 | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-09-13 14:57:10 +0200 | <maerwald> | arjun: you can use patternsynonyms |
2021-09-13 14:57:15 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-09-13 14:57:42 +0200 | <arjun> | oh, hey maerwald \o |
2021-09-13 14:57:54 +0200 | <arjun> | hang on, let me google that |
2021-09-13 14:58:11 +0200 | <maerwald> | https://stackoverflow.com/a/66162066 |
2021-09-13 14:59:29 +0200 | <arjun> | maerwald: those would fit right in |
2021-09-13 14:59:34 +0200 | <arjun> | lovely |
2021-09-13 15:01:16 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
2021-09-13 15:01:50 +0200 | burnsidesLlama | (~burnsides@client-8-90.eduroam.oxuni.org.uk) |
2021-09-13 15:02:45 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
2021-09-13 15:02:51 +0200 | burnsidesLlama | (~burnsides@client-8-90.eduroam.oxuni.org.uk) (Read error: Connection reset by peer) |
2021-09-13 15:03:17 +0200 | burnsidesLlama | (~burnsides@client-8-90.eduroam.oxuni.org.uk) |
2021-09-13 15:03:20 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 268 seconds) |
2021-09-13 15:05:37 +0200 | obviyus | (sid415299@user/obviyus) () |
2021-09-13 15:05:53 +0200 | obviyus | (sid415299@user/obviyus) |
2021-09-13 15:06:39 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-09-13 15:06:57 +0200 | aman | (~aman@user/aman) |
2021-09-13 15:20:05 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-13 15:21:19 +0200 | td_ | (~td@94.134.91.92) |
2021-09-13 15:23:32 +0200 | nicbk | (~nicbk@user/nicbk) |
2021-09-13 15:24:42 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-09-13 15:25:43 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 15:28:17 +0200 | acidjnk_new | (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) |
2021-09-13 15:28:48 +0200 | nicbk | (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
2021-09-13 15:29:49 +0200 | aman | (~aman@user/aman) (Quit: aman) |
2021-09-13 15:36:19 +0200 | aarchi | (sid486183@id-486183.highgate.irccloud.com) () |
2021-09-13 15:36:35 +0200 | aarchi | (sid486183@id-486183.uxbridge.irccloud.com) |
2021-09-13 15:37:58 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-13 15:40:03 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-13 15:40:03 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-13 15:40:03 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-13 15:40:24 +0200 | slack1256 | (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) |
2021-09-13 15:41:20 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 15:41:33 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 15:49:23 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2.1) |
2021-09-13 15:49:46 +0200 | ubert | (~Thunderbi@178.115.54.21.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
2021-09-13 16:00:55 +0200 | ubert | (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) |
2021-09-13 16:01:45 +0200 | rekahsoft | (~rekahsoft@52.129.35.150) |
2021-09-13 16:02:49 +0200 | rekahsoft | (~rekahsoft@52.129.35.150) (Remote host closed the connection) |
2021-09-13 16:03:31 +0200 | rekahsoft | (~rekahsoft@52.129.35.150) |
2021-09-13 16:05:43 +0200 | rekahsoft | (~rekahsoft@52.129.35.150) (Remote host closed the connection) |
2021-09-13 16:07:54 +0200 | ubert | (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-09-13 16:08:11 +0200 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2021-09-13 16:08:12 +0200 | ubert | (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) |
2021-09-13 16:13:56 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-09-13 16:14:06 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-09-13 16:15:30 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-09-13 16:19:10 +0200 | bin_ | (~bin@user/bin/x-1583188) |
2021-09-13 16:19:43 +0200 | _bin | (~bin@user/bin/x-1583188) (Ping timeout: 252 seconds) |
2021-09-13 16:20:28 +0200 | qbt | (~edun@user/edun) (Quit: WeeChat 3.2) |
2021-09-13 16:21:16 +0200 | kilolympus | (~kilolympu@31.205.200.235) |
2021-09-13 16:22:08 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-13 16:29:42 +0200 | T_S_ | (sid501726@id-501726.highgate.irccloud.com) () |
2021-09-13 16:30:01 +0200 | T_S_ | (sid501726@id-501726.uxbridge.irccloud.com) |
2021-09-13 16:30:53 +0200 | jcat | (~jeicher@102.132.229.54) |
2021-09-13 16:31:17 +0200 | Akronymus | (~Akronymus@85.31.8.180) (Quit: getting ready for night school.) |
2021-09-13 16:31:32 +0200 | jcat | (~jeicher@102.132.229.54) () |
2021-09-13 16:36:40 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 16:36:54 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 16:42:17 +0200 | nctcf^ | (~nctcf@68.101.54.227) (Remote host closed the connection) |
2021-09-13 16:42:42 +0200 | Ariakenom | (~Ariakenom@h-81-170-208-30.A163.corp.bahnhof.se) |
2021-09-13 16:45:27 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-13 16:45:33 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 16:47:00 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 16:47:03 +0200 | nvmd | (~nvmd@user/nvmd) |
2021-09-13 16:47:16 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 16:47:28 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 16:48:40 +0200 | <adamCS> | Megaparsec question: I have a string which could be anything ascii and then, at the end will have "(XXX)" where XXX could be any letters. The part preceding the "(XXX)" could also have things in parentheses so "someTill_" isn't working. I need something like "someTill_" but where the end parser only matches if the parenthetical thing is at the end of the input. I tried "parseAtEnd p = p >>= \res -> do { eof; return res}" |
2021-09-13 16:48:40 +0200 | <adamCS> | with someTill_ but that didn't work either. |
2021-09-13 16:50:27 +0200 | <adamCS> | The parseAtEnd thing fails the same way, "unexpected space, expecting end of input" after any parenthesized thing before the final one. |
2021-09-13 16:51:15 +0200 | favonia | (~favonia@user/favonia) |
2021-09-13 16:52:16 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
2021-09-13 16:55:14 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-09-13 16:55:24 +0200 | Ariakenom | (~Ariakenom@h-81-170-208-30.A163.corp.bahnhof.se) (Read error: Connection reset by peer) |
2021-09-13 16:55:55 +0200 | burnsidesLlama | (~burnsides@client-8-90.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2021-09-13 16:57:00 +0200 | ubert | (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) (Quit: ubert) |
2021-09-13 16:57:14 +0200 | ubert | (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) |
2021-09-13 16:57:54 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-09-13 16:58:27 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-09-13 17:00:05 +0200 | <dminuoso> | adamCS: The only option I can see is to simply parse until the end of the line, and then take the string apart at the end and manually call parseError conditionally. |
2021-09-13 17:00:46 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-09-13 17:00:53 +0200 | <adamCS> | dminuoso: Huh. I think I just got it to work by adding "try" to "parseAtEnd p" but now you have me worried... |
2021-09-13 17:00:54 +0200 | <dminuoso> | Or you try and do an earlier lexing pass that split along that line |
2021-09-13 17:01:12 +0200 | <merijn> | tbh it just sounds like incorrect backtracking? |
2021-09-13 17:01:36 +0200 | <adamCS> | What do you mean? I am new to parsing so I am guessing a lot... |
2021-09-13 17:02:20 +0200 | ubert | (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2021-09-13 17:02:20 +0200 | <dminuoso> | If you try the naive approach, this will cause high amounts of backtracking |
2021-09-13 17:02:33 +0200 | <merijn> | adamCS: Well, the "correct" final parens are followed by a newline, yes? |
2021-09-13 17:02:37 +0200 | ubert | (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) |
2021-09-13 17:02:49 +0200 | <merijn> | And presumably newlines are not allowed in the preceding part? |
2021-09-13 17:02:53 +0200 | <adamCS> | merijn: end of input, but yes. |
2021-09-13 17:03:07 +0200 | <dminuoso> | If its eof, that might be even worse. |
2021-09-13 17:03:23 +0200 | <adamCS> | I'm only parsing "YYYYYYYYYYYYYYYYY (XXX)" where the Y can each be anything as can the X |
2021-09-13 17:03:24 +0200 | <merijn> | actually, rewind |
2021-09-13 17:03:36 +0200 | <merijn> | pastebin minimal parser + input + error |
2021-09-13 17:03:48 +0200 | <dminuoso> | I would simply strip off 4 characters at the end, and deal with it separately. :p |
2021-09-13 17:04:02 +0200 | <dminuoso> | rather than backtracking the hell out of this |
2021-09-13 17:04:53 +0200 | <adamCS> | dminuoso, merijn: Fair enough. If my solution with "try" works, is the only issue performance? Because this is more or less a one-off. I am parsing a badly formatted csv and then caching the result once parsed as something nicer. |
2021-09-13 17:05:31 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-13 17:06:10 +0200 | <sshine> | adamCS, if this were regex, would /^.* \(.*\)$/ match your string? |
2021-09-13 17:06:46 +0200 | <adamCS> | sshine: yes |
2021-09-13 17:07:41 +0200 | ubert | (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
2021-09-13 17:08:48 +0200 | pfurla_ | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-09-13 17:09:24 +0200 | <sshine> | adamCS, parser combinators are really neat for LL(k) languages, meaning if you can decide by looking k characters ahead if you should parse one thing or the other. an efficient regex would use non-greedy matching. not sure how that translates into megaparsec. |
2021-09-13 17:09:26 +0200 | <myShoggoth> | HF Office Hours in 50 minutes: https://www.twitch.tv/myshoggoth |
2021-09-13 17:10:12 +0200 | fendor | (~fendor@178.165.201.14.wireless.dyn.drei.com) |
2021-09-13 17:10:26 +0200 | <adamCS> | merijn: https://pastebin.com/cKUgZ1qj |
2021-09-13 17:11:10 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds) |
2021-09-13 17:12:02 +0200 | <adamCS> | sshine: Yeah. I don't need this to be efficient and I was originally just making do with things in Data.Text but that got out of hand. I'm using cassava to parse most of it and then using megaparsec to handle the messy fields. |
2021-09-13 17:12:28 +0200 | <sshine> | adamCS, it'd be "everything until the '(', then either a last "(YYY)" or a '(' and a recursive call to one-self"... or something. |
2021-09-13 17:15:50 +0200 | <raehik> | Troubleshooting a C FFI bug that only shows up on Windows. Thinking it's down to integer type sizing differences |
2021-09-13 17:16:07 +0200 | <raehik> | %sizeOf @CLong undefined |
2021-09-13 17:16:33 +0200 | <raehik> | > sizeOf @CLong undefined |
2021-09-13 17:16:35 +0200 | <lambdabot> | error: |
2021-09-13 17:16:35 +0200 | <lambdabot> | Pattern syntax in expression context: sizeOf@CLong |
2021-09-13 17:16:35 +0200 | <lambdabot> | Did you mean to enable TypeApplications? |
2021-09-13 17:16:47 +0200 | <raehik> | > sizeOf (undefined :: CLong) |
2021-09-13 17:16:48 +0200 | <lambdabot> | error: |
2021-09-13 17:16:48 +0200 | <lambdabot> | Not in scope: type constructor or class ‘CLong’ |
2021-09-13 17:16:56 +0200 | <merijn> | Querying CLong in lambdabot isn't gonna do much useful, tbh |
2021-09-13 17:17:04 +0200 | <merijn> | raehik: Are you using the right foreign calling convention? |
2021-09-13 17:17:12 +0200 | <raehik> | agh I don't know how to use the bots here. That returns 8 on Linux, but 4 on my Windows platforms (VM, hardware) |
2021-09-13 17:17:12 +0200 | <merijn> | Windows has, like, 3 doesn't it? |
2021-09-13 17:17:16 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-13 17:17:16 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-13 17:17:16 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-13 17:17:48 +0200 | <raehik> | merijn: is that not something the GHC runtime handles? it's the same C library on both Windows and Linux |
2021-09-13 17:18:10 +0200 | <merijn> | raehik: foreign imports specify calling convention |
2021-09-13 17:18:37 +0200 | <merijn> | raehik: GHC can't magically handle that for you, because it's not psychic |
2021-09-13 17:18:48 +0200 | <merijn> | Can you link to the relevant foreign imports? |
2021-09-13 17:20:27 +0200 | <raehik> | of course ty for help https://github.com/camfort/camfort/blob/f7241ebcc6ab9c8721ebdb6c283a3fea0ea08940/src/Camfort/Speci… |
2021-09-13 17:20:54 +0200 | <raehik> | I've only ever seen `foreign import ccall unsafe` (and successfully used it in crossplatform libs) |
2021-09-13 17:21:13 +0200 | <merijn> | ok, first off |
2021-09-13 17:21:21 +0200 | <merijn> | Find out whoever added "unsafe" and hit them for me |
2021-09-13 17:21:38 +0200 | <raehik> | hahaha dang he's not in the channel xD |
2021-09-13 17:22:05 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-09-13 17:22:11 +0200 | waleee | (~waleee@student-223-182.eduroam.uu.se) |
2021-09-13 17:22:23 +0200 | <merijn> | I continuously see people adding unsafe to foreign imports and 90% of the time the person doing so doesn't realise how ridiculously dangerous that is |
2021-09-13 17:22:45 +0200 | <merijn> | Also, pretty sure ccall is always wrong on windows |
2021-09-13 17:23:27 +0200 | <raehik> | ooer. well, it compiles and successfully calls the linked lib. but runtime errors |
2021-09-13 17:23:38 +0200 | proofofkeags_ | (~proofofke@205.209.28.54) |
2021-09-13 17:24:09 +0200 | <raehik> | I wanted to get some insight on GHC on Window, specifically if it's a 32-bit platform and how that impacts the FFI |
2021-09-13 17:24:59 +0200 | sheddow | (~sheddow@84-52-255.245.3p.ntebredband.no) (Ping timeout: 256 seconds) |
2021-09-13 17:25:00 +0200 | <raehik> | Since the linking lib is definitely built with MinGW 64-bit and uses 8-byte longs. but CLong is apparently 4-bytes in GHC? |
2021-09-13 17:25:25 +0200 | <merijn> | Well, is your GHC built with MinGW? |
2021-09-13 17:25:45 +0200 | <merijn> | Using a different toolchain for GHC and C code is a recipe for sadness |
2021-09-13 17:25:51 +0200 | <raehik> | tentative yes -- I used ghcup |
2021-09-13 17:26:18 +0200 | <raehik> | I think its installation process for Windows is a bit messy, and I think I remember seeing the path mingw32 somewhere which set off alarm bells |
2021-09-13 17:26:19 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
2021-09-13 17:26:22 +0200 | <merijn> | Then there's also the difference between stdcall and ccall on Windows |
2021-09-13 17:27:36 +0200 | <merijn> | raehik: GHC determines sizes of CLong, etc. at compile time and pretty sure that depends on the C toolchain used during GHC build |
2021-09-13 17:28:05 +0200 | asivitz | (uid178348@id-178348.tinside.irccloud.com) |
2021-09-13 17:28:06 +0200 | <sshine> | adamCS, could X and Y be parentheses? |
2021-09-13 17:28:36 +0200 | dajoer | (~david@user/gvx) (Quit: leaving) |
2021-09-13 17:28:50 +0200 | <raehik> | merijn: great, that helps a lot |
2021-09-13 17:31:46 +0200 | <raehik> | ah there's a ghcup channel. I'll check in with them, because it defo looks like ghcup is 32-bit on Windows and that is a probable cause |
2021-09-13 17:32:21 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2021-09-13 17:32:21 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 17:32:25 +0200 | cheater1__ | (~Username@user/cheater) |
2021-09-13 17:32:29 +0200 | cheater1__ | cheater |
2021-09-13 17:32:34 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 17:37:59 +0200 | <sshine> | adamCS, I'm probably missing some detail: https://gist.github.com/sshine/1a62e4225dc9df9612ffb908b1898310 |
2021-09-13 17:42:03 +0200 | Chai-T-Rex | (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds) |
2021-09-13 17:42:46 +0200 | waleee | (~waleee@student-223-182.eduroam.uu.se) (Ping timeout: 260 seconds) |
2021-09-13 17:42:52 +0200 | ph88^ | (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) |
2021-09-13 17:43:48 +0200 | Chai-T-Rex | (~ChaiTRex@user/chaitrex) |
2021-09-13 17:44:48 +0200 | waleee | (~waleee@student-223-182.eduroam.uu.se) |
2021-09-13 17:46:08 +0200 | ph88 | (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
2021-09-13 17:48:53 +0200 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) |
2021-09-13 17:49:20 +0200 | jespada | (~jespada@90.254.245.194) (Quit: Textual IRC Client: www.textualapp.com) |
2021-09-13 17:49:46 +0200 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
2021-09-13 17:50:35 +0200 | ehamberg | (sid18208@stonehaven.irccloud.com) () |
2021-09-13 17:50:51 +0200 | ehamberg | (sid18208@id-18208.hampstead.irccloud.com) |
2021-09-13 17:53:32 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 268 seconds) |
2021-09-13 17:54:07 +0200 | amir | (sid22336@user/amir) () |
2021-09-13 17:54:23 +0200 | amir | (sid22336@user/amir) |
2021-09-13 17:55:11 +0200 | pzanco | (~pzanco@2804:14c:3ba1:42d:2204:fff:feff:44a0) |
2021-09-13 17:57:30 +0200 | pzanco | (~pzanco@2804:14c:3ba1:42d:2204:fff:feff:44a0) (Client Quit) |
2021-09-13 18:00:11 +0200 | boxscape | (~boxscape@user/boxscape) (Quit: You have been kicked for being idle) |
2021-09-13 18:00:53 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-09-13 18:02:08 +0200 | jakesyl | (sid56879@id-56879.stonehaven.irccloud.com) () |
2021-09-13 18:02:31 +0200 | oats | germaneZed |
2021-09-13 18:02:41 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 18:02:42 +0200 | jakesyl | (sid56879@id-56879.hampstead.irccloud.com) |
2021-09-13 18:02:54 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 18:03:02 +0200 | germaneZed | oats |
2021-09-13 18:03:19 +0200 | tritlo | (sid58727@user/tritlo) () |
2021-09-13 18:03:34 +0200 | tritlo | (sid58727@user/tritlo) |
2021-09-13 18:05:55 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
2021-09-13 18:07:47 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
2021-09-13 18:08:03 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) |
2021-09-13 18:09:17 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-09-13 18:09:25 +0200 | arjun | (~Srain@user/arjun) (Remote host closed the connection) |
2021-09-13 18:09:44 +0200 | dmj` | (sid72307@stonehaven.irccloud.com) () |
2021-09-13 18:09:59 +0200 | dmj` | (sid72307@id-72307.hampstead.irccloud.com) |
2021-09-13 18:23:06 +0200 | fendor | (~fendor@178.165.201.14.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2021-09-13 18:25:55 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
2021-09-13 18:27:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 18:28:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 18:30:44 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-13 18:31:09 +0200 | waleee | (~waleee@student-223-182.eduroam.uu.se) (Ping timeout: 268 seconds) |
2021-09-13 18:31:53 +0200 | fendor | (~fendor@178.165.201.14.wireless.dyn.drei.com) |
2021-09-13 18:34:38 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 18:34:48 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 18:35:28 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:dc85:5fb:77a4:62d3) (Ping timeout: 268 seconds) |
2021-09-13 18:35:55 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:c6aa:b7ee:2ee7:d7f8) |
2021-09-13 18:40:23 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 18:41:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 18:45:56 +0200 | abrar_ | (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (Quit: WeeChat 2.9) |
2021-09-13 18:46:23 +0200 | abrar | (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) |
2021-09-13 18:46:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 18:47:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 18:48:21 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 18:52:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 18:52:48 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 18:52:52 +0200 | maxime__ | (~maxime@2a01cb0883359800e03cdee15bbb1cbf.ipv6.abo.wanadoo.fr) |
2021-09-13 18:53:21 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
2021-09-13 18:54:47 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-13 18:55:51 +0200 | maxime_ | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 265 seconds) |
2021-09-13 18:57:13 +0200 | econo | (uid147250@user/econo) |
2021-09-13 18:58:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 18:59:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 19:00:30 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
2021-09-13 19:03:14 +0200 | nicbk | (~nicbk@user/nicbk) |
2021-09-13 19:04:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 19:05:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 19:08:01 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 19:08:15 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 19:10:30 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-09-13 19:10:57 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 19:11:18 +0200 | pavonia | (~user@user/siracusa) |
2021-09-13 19:11:35 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-13 19:11:51 +0200 | acidjnk_new | (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-09-13 19:13:30 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-09-13 19:15:35 +0200 | ubert | (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) |
2021-09-13 19:16:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 19:16:57 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 19:19:02 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds) |
2021-09-13 19:19:33 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-13 19:22:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 19:22:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 19:24:06 +0200 | nicbk | (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
2021-09-13 19:24:41 +0200 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Quit: ran away) |
2021-09-13 19:27:11 +0200 | <adamCS> | sshine: Yes, X could be parentheses. |
2021-09-13 19:27:31 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.243) |
2021-09-13 19:28:22 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 19:28:35 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 19:28:35 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
2021-09-13 19:28:38 +0200 | <adamCS> | sshine: I think my version works, but I can see that it will have to backtrack (if that's the right term here) on the cases where there are parentheses among the Xs. But that's okay, I think. |
2021-09-13 19:28:42 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 19:28:57 +0200 | <adamCS> | (Not the version I pasted, but that with "try" before "atEnd") |
2021-09-13 19:31:59 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-13 19:32:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
2021-09-13 19:33:00 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-13 19:33:00 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-13 19:33:00 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-13 19:33:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 19:34:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 19:35:38 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-13 19:36:41 +0200 | nctcf^ | (~nctcf@68.101.54.227) |
2021-09-13 19:39:24 +0200 | ikex | (ash@user/ikex) (Quit: ZNC - https://znc.in) |
2021-09-13 19:39:44 +0200 | ikex | (~ash@user/ikex) |
2021-09-13 19:40:33 +0200 | <Franciman> | how can I enable the Strict pragma? |
2021-09-13 19:40:38 +0200 | <Franciman> | it does not seem to work |
2021-09-13 19:40:47 +0200 | <Franciman> | because when I mark {-# UNPACK #-} the fields of my record |
2021-09-13 19:40:51 +0200 | <Franciman> | ghc cries |
2021-09-13 19:40:54 +0200 | <Franciman> | saying it is unusable |
2021-09-13 19:41:00 +0200 | <Franciman> | what am I doing wrong, ziocan? |
2021-09-13 19:41:17 +0200 | arahael | (~arahael@203.221.121.242) (Ping timeout: 245 seconds) |
2021-09-13 19:41:32 +0200 | <Franciman> | https://bpa.st/XK3A |
2021-09-13 19:41:34 +0200 | <Franciman> | here is my code |
2021-09-13 19:41:37 +0200 | pony | (~ed@101.53.218.157) |
2021-09-13 19:44:32 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 19:44:49 +0200 | nctcf^ | (~nctcf@68.101.54.227) (Remote host closed the connection) |
2021-09-13 19:45:09 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 19:46:55 +0200 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2021-09-13 19:48:07 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.243) (Ping timeout: 252 seconds) |
2021-09-13 19:48:49 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 19:49:00 +0200 | pjlsergeant | (sid143467@id-143467.stonehaven.irccloud.com) () |
2021-09-13 19:49:03 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 19:49:16 +0200 | pjlsergeant | (sid143467@id-143467.hampstead.irccloud.com) |
2021-09-13 19:50:29 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 19:50:50 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 19:52:03 +0200 | cemerick | (sid54985@id-54985.uxbridge.irccloud.com) |
2021-09-13 19:52:14 +0200 | cemerick | (sid54985@id-54985.uxbridge.irccloud.com) () |
2021-09-13 19:53:47 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-09-13 19:54:09 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 19:54:26 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 19:55:01 +0200 | bin_ | (~bin@user/bin/x-1583188) (Ping timeout: 268 seconds) |
2021-09-13 19:56:44 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
2021-09-13 20:00:08 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-09-13 20:01:07 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 20:02:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 20:03:53 +0200 | <geekosaur> | IIRC you cannot UNPACK an ADT with multiple alternatives like that |
2021-09-13 20:04:26 +0200 | <geekosaur> | also I think LANGUAGE Strict is going to make you very unhappy with that Y combinator |
2021-09-13 20:04:53 +0200 | azeem | (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 268 seconds) |
2021-09-13 20:05:29 +0200 | <Franciman> | geekosaur: i don't care |
2021-09-13 20:05:32 +0200 | <Franciman> | I don't use it |
2021-09-13 20:06:05 +0200 | <Franciman> | if I could get a more understandable performance, I'd be happy |
2021-09-13 20:06:14 +0200 | <Franciman> | probably haskell is not the right language for my task I know |
2021-09-13 20:06:20 +0200 | <Franciman> | but it makes for excellent prototyping ^^ |
2021-09-13 20:07:42 +0200 | rubin55 | (sid175221@id-175221.stonehaven.irccloud.com) () |
2021-09-13 20:07:58 +0200 | rubin55 | (sid175221@id-175221.hampstead.irccloud.com) |
2021-09-13 20:08:45 +0200 | arahael | (~arahael@203.221.121.242) |
2021-09-13 20:09:16 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
2021-09-13 20:12:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 20:12:51 +0200 | sheddow | (~sheddow@84-52-255.245.3p.ntebredband.no) |
2021-09-13 20:13:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 20:13:43 +0200 | azeem | (~azeem@2a00:801:3c7:fe55:ef64:2dcc:d00c:3ee5) |
2021-09-13 20:16:27 +0200 | awschnap | (~lavaman@98.38.249.169) |
2021-09-13 20:16:27 +0200 | lavaman | (~lavaman@98.38.249.169) (Read error: Connection reset by peer) |
2021-09-13 20:17:09 +0200 | nicbk | (~nicbk@user/nicbk) |
2021-09-13 20:18:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 20:19:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 20:20:50 +0200 | amk | (~amk@109.255.169.126) (Remote host closed the connection) |
2021-09-13 20:21:50 +0200 | bjobjo | (~bjobjo@user/bjobjo) (Quit: moar hardware) |
2021-09-13 20:22:12 +0200 | <Franciman> | help |
2021-09-13 20:22:16 +0200 | <Franciman> | cabal is trying to kill me |
2021-09-13 20:22:31 +0200 | <Franciman> | it says that my .cabal file says base >=^4.14.2.0 |
2021-09-13 20:22:32 +0200 | <Franciman> | but it is false |
2021-09-13 20:22:35 +0200 | <Franciman> | it won't compile |
2021-09-13 20:22:42 +0200 | <Franciman> | what di I do? |
2021-09-13 20:22:48 +0200 | <Franciman> | I just tried enable profiling |
2021-09-13 20:22:52 +0200 | <Franciman> | and it got crazy |
2021-09-13 20:22:59 +0200 | <Franciman> | https://bpa.st/D7JQ |
2021-09-13 20:23:01 +0200 | <Franciman> | first this |
2021-09-13 20:23:08 +0200 | <Franciman> | now the |
2021-09-13 20:26:14 +0200 | dyeplexer | (~dyeplexer@user/dyeplexer) (Ping timeout: 265 seconds) |
2021-09-13 20:28:24 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-09-13 20:28:44 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-09-13 20:29:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-09-13 20:30:24 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 20:32:23 +0200 | amk | (~amk@109.255.169.126) |
2021-09-13 20:33:58 +0200 | awschnap | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-09-13 20:34:17 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
2021-09-13 20:35:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 20:36:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 20:38:23 +0200 | kenran | (~kenran@200116b82bd65b0032a5b04a485f27fe.dip.versatel-1u1.de) |
2021-09-13 20:40:31 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-13 20:41:10 +0200 | hexfive | (~eric@50.35.83.177) |
2021-09-13 20:41:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-13 20:41:54 +0200 | hexfive | (~eric@50.35.83.177) (Client Quit) |
2021-09-13 20:42:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 20:42:51 +0200 | astra` | (sid289983@user/amish) () |
2021-09-13 20:43:10 +0200 | astra` | (sid289983@user/amish) |
2021-09-13 20:46:19 +0200 | renzhi | (~xp@2607:fa49:6500:b100::5845) |
2021-09-13 20:47:30 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 20:47:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 20:48:36 +0200 | nicbk | (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
2021-09-13 20:49:23 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 20:50:49 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds) |
2021-09-13 20:54:00 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
2021-09-13 20:56:49 +0200 | Firedancer | (sid336191@id-336191.stonehaven.irccloud.com) () |
2021-09-13 20:57:04 +0200 | Firedancer | (sid336191@id-336191.hampstead.irccloud.com) |
2021-09-13 20:57:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 20:58:16 +0200 | <adamse> | Franciman: p_dyn isn't supported (either not at all or no base with that combination distributed, can't remember which), you'll want to do a static link |
2021-09-13 20:59:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 21:00:35 +0200 | sneedsfeed | (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) |
2021-09-13 21:01:10 +0200 | retroid_ | (~retro@176.255.22.194) (Read error: Connection reset by peer) |
2021-09-13 21:02:54 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.243) |
2021-09-13 21:03:19 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-13 21:05:41 +0200 | mikoto-chan | (~mikoto-ch@83.137.2.243) (Client Quit) |
2021-09-13 21:06:37 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2021-09-13 21:09:38 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 21:10:19 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 21:11:32 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-09-13 21:15:31 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
2021-09-13 21:15:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-13 21:16:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 21:17:36 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-09-13 21:18:51 +0200 | <sneedsfeed> | Is there a way to pattern match literals in a lambda? |
2021-09-13 21:19:18 +0200 | <maerwald> | You mean LambdaCase? |
2021-09-13 21:19:24 +0200 | <sneedsfeed> | yea |
2021-09-13 21:19:29 +0200 | <sneedsfeed> | that sounds right |
2021-09-13 21:19:32 +0200 | <maerwald> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/lambda_case.html |
2021-09-13 21:20:05 +0200 | <sneedsfeed> | neat |
2021-09-13 21:21:04 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-13 21:21:33 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-09-13 21:21:57 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 21:22:09 +0200 | hamishmack | (sid389057@stonehaven.irccloud.com) () |
2021-09-13 21:22:24 +0200 | hamishmack | (sid389057@id-389057.hampstead.irccloud.com) |
2021-09-13 21:29:26 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-13 21:29:27 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-13 21:29:27 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-13 21:31:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 21:33:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 21:41:25 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) () |
2021-09-13 21:41:49 +0200 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) |
2021-09-13 21:43:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 21:45:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 21:49:06 +0200 | fendor | (~fendor@178.165.201.14.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-09-13 21:50:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-13 21:51:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 21:51:44 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-09-13 21:52:28 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 21:53:49 +0200 | nvmd | (~nvmd@user/nvmd) (Ping timeout: 268 seconds) |
2021-09-13 21:55:33 +0200 | nvmd | (~nvmd@user/nvmd) |
2021-09-13 21:56:06 +0200 | wrengr_away | wrengr |
2021-09-13 21:56:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 21:56:48 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 21:57:35 +0200 | acertain | (sid470584@id-470584.stonehaven.irccloud.com) () |
2021-09-13 21:57:50 +0200 | acertain | (sid470584@id-470584.hampstead.irccloud.com) |
2021-09-13 21:59:15 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-09-13 21:59:22 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
2021-09-13 22:00:46 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-13 22:02:24 +0200 | SanchayanMaity | (sid478177@id-478177.stonehaven.irccloud.com) () |
2021-09-13 22:02:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-09-13 22:02:35 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 22:02:39 +0200 | SanchayanMaity | (sid478177@id-478177.hampstead.irccloud.com) |
2021-09-13 22:02:47 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
2021-09-13 22:05:02 +0200 | juhp | (~juhp@128.106.188.220) (Ping timeout: 260 seconds) |
2021-09-13 22:05:22 +0200 | acidjnk_new | (~acidjnk@p200300d0c720309498f6e7a7a92d4c02.dip0.t-ipconnect.de) |
2021-09-13 22:06:47 +0200 | juhp | (~juhp@128.106.188.220) |
2021-09-13 22:08:27 +0200 | System12_ | (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) |
2021-09-13 22:11:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 22:11:35 +0200 | pmk | (~user@2a02:587:9416:c4cd:a38a:dea2:e28e:646d) (Remote host closed the connection) |
2021-09-13 22:11:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 22:12:19 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
2021-09-13 22:14:37 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-13 22:21:16 +0200 | mustafa | (sid502723@rockylinux/releng/mustafa) () |
2021-09-13 22:21:32 +0200 | mustafa | (sid502723@rockylinux/releng/mustafa) |
2021-09-13 22:27:37 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-13 22:30:46 +0200 | maxime__ | (~maxime@2a01cb0883359800e03cdee15bbb1cbf.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-09-13 22:30:55 +0200 | chomwitt | (~chomwitt@2a02:587:dc14:5d00:12c3:7bff:fe6d:d374) (Remote host closed the connection) |
2021-09-13 22:31:54 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
2021-09-13 22:33:04 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-13 22:33:05 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-13 22:33:05 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-13 22:33:53 +0200 | zebrag | (~chris@user/zebrag) |
2021-09-13 22:34:32 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 22:34:45 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 22:35:13 +0200 | Cajun | (~Cajun@user/cajun) |
2021-09-13 22:38:12 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-09-13 22:38:18 +0200 | max22- | (~maxime@2a01cb0883359800c3e0f756754ec9b4.ipv6.abo.wanadoo.fr) |
2021-09-13 22:39:01 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
2021-09-13 22:42:52 +0200 | <ldlework> | Am I thinking about applicatives correctly? The way that <$> and <*> work together, is when you are fmapping a binary function, because the fmap ends up replacing the lhs of <*> with a partially applied function, which <*> then applies? |
2021-09-13 22:43:21 +0200 | <ldlework> | In otherwords, by combining <$> and <*> you can lift a binary function |
2021-09-13 22:43:22 +0200 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 268 seconds) |
2021-09-13 22:43:46 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 260 seconds) |
2021-09-13 22:45:05 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
2021-09-13 22:45:27 +0200 | <dibblego> | pretty much right; just remember that all functions take one argument, always |
2021-09-13 22:46:32 +0200 | <ldlework> | dibblego: your point is that any function on the lhs of <*> will do, the way it comfortably works out when fmapping "binary" functions, is just coincidentally useful? |
2021-09-13 22:47:02 +0200 | <awpr> | yep, that sounds about right. `<*>` wants the function in the Applicative, and if you have a pure function, it has to end up in the Applicative somehow. `pure f <*> x <*> y` is potentially a first attempt at doing that, but using `<$>` nicely fuses the `pure` and first `<$>` into one step |
2021-09-13 22:47:22 +0200 | <awpr> | re the initial question, that is |
2021-09-13 22:47:55 +0200 | <dibblego> | if you take function f :: a -> b -> c, whose argument has type a, and fmap it across x :: f a, then you will have a value :: f (b -> c) |
2021-09-13 22:47:58 +0200 | <awpr> | IMO if "multi argument functions" aren't a thing that exists formally, then there's no harm in using it as a consistent shorthand for "function that returns a function" |
2021-09-13 22:48:48 +0200 | <ldlework> | that's what i was thinking at the time, i haven't forgotten what actually happens |
2021-09-13 22:48:56 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-13 22:49:01 +0200 | <ldlework> | i figured maybe others would be reminded though |
2021-09-13 22:49:12 +0200 | <dibblego> | in fp-course, we don't use it as a shorthand until it is fully understood, by exactly this exercise |
2021-09-13 22:50:56 +0200 | <awpr> | a bit of a tangent, but I wonder if it's more misleading that we use the same pseudo-syntax for "some particular type" as we use for implicitly quantified variables |
2021-09-13 22:51:31 +0200 | <awpr> | `f :: a -> b -> c` in the above is intended to mean something very different from `f :: forall a b c. a -> b -> c`, which is what it means in Haskell syntax |
2021-09-13 22:52:06 +0200 | <ldlework> | understanding `f` as "Maybe" (in cases where it's Maybe, and friends) has been confusing. |
2021-09-13 22:52:09 +0200 | <dibblego> | yes, I agree this can cause issues in explanation |
2021-09-13 22:52:32 +0200 | <ldlework> | "Provided the 𝑓 is a type with a Monoid instance.." |
2021-09-13 22:52:33 +0200 | <awpr> | sadly I don't know of a better syntax. sometimes I use uppercased standin type names |
2021-09-13 22:52:55 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-09-13 22:52:56 +0200 | <ldlework> | It took me a while to realize they meant `Maybe` |
2021-09-13 22:53:00 +0200 | <ldlework> | And not some function |
2021-09-13 22:53:14 +0200 | <ldlework> | But to HFFP's credit this is all explained in meticulous detail in previous chapters |
2021-09-13 22:53:18 +0200 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Read error: Connection reset by peer) |
2021-09-13 22:53:32 +0200 | <ldlework> | It's just that at some point you move on in a book not having perfectly internalized every notion along the way |
2021-09-13 22:53:51 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-09-13 22:53:54 +0200 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2021-09-13 22:54:46 +0200 | <ldlework> | `f a` really means, "some wrapped value" rather than, "the result of some function f applied to a" |
2021-09-13 22:57:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 22:58:34 +0200 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-09-13 22:58:59 +0200 | <geekosaur> | so you don't like type level using the syntax as term level |
2021-09-13 22:59:06 +0200 | psilospore | (uid517704@id-517704.stonehaven.irccloud.com) () |
2021-09-13 22:59:20 +0200 | <geekosaur> | where `f a` means a type level function applied to the type a |
2021-09-13 22:59:26 +0200 | psilospore | (uid517704@id-517704.hampstead.irccloud.com) |
2021-09-13 22:59:33 +0200 | <geekosaur> | (`Maybe` being such a function) |
2021-09-13 23:00:24 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2021-09-13 23:00:59 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-09-13 23:01:46 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2021-09-13 23:03:42 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-09-13 23:03:54 +0200 | <ldlework> | geekosaur: I get it now just conveying my confusion along the way :P |
2021-09-13 23:05:11 +0200 | <awpr> | hmm, just throwing ideas out there, maybe learning materials would benefit from annotating syntax examples as type-level or value-level syntax (or module-level) |
2021-09-13 23:05:36 +0200 | <dibblego> | we do that in fp-course |
2021-09-13 23:05:45 +0200 | <awpr> | awesome |
2021-09-13 23:06:45 +0200 | kenran | (~kenran@200116b82bd65b0032a5b04a485f27fe.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
2021-09-13 23:09:03 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2021-09-13 23:10:12 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-09-13 23:12:30 +0200 | michalz | (~michalz@185.246.204.57) (Remote host closed the connection) |
2021-09-13 23:24:52 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
2021-09-13 23:25:07 +0200 | amitnjha | (~amit@024-216-124-116.res.spectrum.com) |
2021-09-13 23:25:42 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
2021-09-13 23:26:00 +0200 | <ldlework> | Another benefit to this applicative stuff, is that it can shortcircuit right? |
2021-09-13 23:26:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-13 23:26:20 +0200 | <ldlework> | Like you might have a bunch of applicative operations chained together, and if any of them go wrong, you get back a Nothing, Left, etc |
2021-09-13 23:27:30 +0200 | <dibblego> | for Maybe yeah |
2021-09-13 23:27:38 +0200 | <ldlework> | It reminds me of when I ported the examples from Reppy's Concurrent Programming in ML to F# using Hopac. It had all of these crazy channel operators which could short circuit in various ways. |
2021-09-13 23:27:46 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:c6aa:b7ee:2ee7:d7f8) (Ping timeout: 268 seconds) |
2021-09-13 23:28:06 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:503:d23a:62d3:e8da) |
2021-09-13 23:28:47 +0200 | <janus> | infinity0: why do you suggest using IO to seed the hash function for unordered-containers? why can't it be RandomGen? |
2021-09-13 23:29:10 +0200 | ldlework | takes a guess |
2021-09-13 23:29:22 +0200 | <ldlework> | Because it wont really be random unless you use some actual randomness from outside the program? |
2021-09-13 23:29:31 +0200 | <ldlework> | "really be random" you know what I mean |
2021-09-13 23:30:11 +0200 | <c_wraith> | does it need to be? |
2021-09-13 23:30:46 +0200 | <ldlework> | dunno. i thought it was actually pretty cool that graphics program always did the same thing |
2021-09-13 23:30:58 +0200 | <ldlework> | but I could see for a game or something you might want a random seed |
2021-09-13 23:31:11 +0200 | <ldlework> | that graphics program I made* |
2021-09-13 23:31:13 +0200 | <sshine> | RandomGen is a class, so I suppose the instance decides where the (pseudo-/actual) randomness comes from? |
2021-09-13 23:31:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-09-13 23:31:50 +0200 | <c_wraith> | even with StdGen, for a lot of use cases you only need to use IO to get the seed. You don't need it for anything after that. |
2021-09-13 23:32:24 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-09-13 23:32:37 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-09-13 23:33:19 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
2021-09-13 23:35:34 +0200 | slack1256 | (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) (Ping timeout: 268 seconds) |
2021-09-13 23:35:39 +0200 | <ldlework> | Why does <*> produce a product? |
2021-09-13 23:36:19 +0200 | <dibblego> | it doesn't though |
2021-09-13 23:37:23 +0200 | <ldlework> | > (,) <$> [1, 2] <*> [10, 20] |
2021-09-13 23:37:24 +0200 | <lambdabot> | [(1,10),(1,20),(2,10),(2,20)] |
2021-09-13 23:37:45 +0200 | <dibblego> | that is (,) producing a product |
2021-09-13 23:37:59 +0200 | <dibblego> | or maybe you mean the [] Applicative producing a product |
2021-09-13 23:38:07 +0200 | <ldlework> | So it's the instance's implementation |
2021-09-13 23:38:19 +0200 | <ldlework> | that decides the behavior |
2021-09-13 23:38:25 +0200 | <ldlework> | because of course it is |
2021-09-13 23:38:26 +0200 | <dibblego> | Yes. |
2021-09-13 23:38:27 +0200 | <ldlework> | ok |
2021-09-13 23:38:57 +0200 | <sshine> | > [(+1), (+2)] <*> [0, 5, 10] |
2021-09-13 23:38:59 +0200 | <lambdabot> | [1,6,11,2,7,12] |
2021-09-13 23:39:23 +0200 | <ldlework> | ok that's confusing |
2021-09-13 23:39:27 +0200 | <ldlework> | wait no it's not |
2021-09-13 23:39:29 +0200 | <ldlework> | ok |
2021-09-13 23:39:33 +0200 | <sshine> | kinda looks like a product |
2021-09-13 23:39:35 +0200 | <dibblego> | yeah it is |
2021-09-13 23:39:48 +0200 | <ldlework> | it's still the [] Applicative at play |
2021-09-13 23:40:12 +0200 | <dibblego> | you may approximately think of the [] Applicative as "loops within loops" where the total number of loops is the number of (<*>) + 1 |
2021-09-13 23:40:20 +0200 | <ldlework> | soon i will be able to mold my brain into an arm chair and recline upon it |
2021-09-13 23:40:36 +0200 | <dibblego> | (,) means: "make a tuple within the inner loop" |
2021-09-13 23:40:40 +0200 | <janus> | sshine: exactly, i feel like people are throwing out the baby with the bathwater by suggesting IO. because a pure hashable with no seeding is exploitable, now suddently everything has to be impure? no! we can have both, that is the point of haskell, we have type classes, not everything needs to be in IO. we have RandomGen to provide randomness , of course you'd need IO to get the StdGen if that's what you |
2021-09-13 23:40:46 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) |
2021-09-13 23:40:46 +0200 | <janus> | wanna use |
2021-09-13 23:40:49 +0200 | jonatan | (~nate@h85-8-60-194.cust.a3fiber.se) (Ping timeout: 252 seconds) |
2021-09-13 23:41:04 +0200 | <sshine> | ldlework, your brain already did that to itself; it's called a spine :-D |
2021-09-13 23:42:05 +0200 | <janus> | i was wondering, is it maybe some dependency graph problem? can't unordered containers depend on the 'random' package? |
2021-09-13 23:42:34 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:503:d23a:62d3:e8da) (Ping timeout: 268 seconds) |
2021-09-13 23:43:06 +0200 | <awpr> | seems like one of the bigger factors is that it's nearly insurmountable to update all users of aeson to plumb either an explicit random seed or IO into all JSON deserialization sites |
2021-09-13 23:43:16 +0200 | xff0x | (~xff0x@2001:1a81:53ae:3300:d2cc:9d43:abd1:db1a) |
2021-09-13 23:43:59 +0200 | <janus> | phadej's solution was to make Aeson opaque in how it stores the object, that will be a breaking change, i think it sounds reasonable. i don't really see a way around it |
2021-09-13 23:44:05 +0200 | <awpr> | likewise with unordered-containers. I guess the existing API could stay in place unchanged and a salted API could be added alongside it |
2021-09-13 23:44:25 +0200 | System12_ | (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) (Ping timeout: 268 seconds) |
2021-09-13 23:44:45 +0200 | <janus> | awpr: right, but if aeson becomes opaque and defaults to Map instead of HashMap, then the unordered-containers problem is separate, which is fine |
2021-09-13 23:44:48 +0200 | <awpr> | but that doesn't fix anyone, and would result in most users still using the vulnerable version by default |
2021-09-13 23:44:53 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
2021-09-13 23:44:54 +0200 | <awpr> | I mean my suggestion |
2021-09-13 23:45:39 +0200 | System123 | (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
2021-09-13 23:45:46 +0200 | <awpr> | yeah, if we're allowed to break backwards compat, there are lots of ways to avoid it |
2021-09-13 23:46:25 +0200 | <janus> | i really hope we won't give up on values like referential transparency just because people can't be bothered to upgrade |
2021-09-13 23:47:27 +0200 | <janus> | but i guess that everybody can decide for themselves, libraries will show their values. i just hope we won't be reading the random seed from an envrionment variable like an engineer from leapyear is actually suggesting! |
2021-09-13 23:47:32 +0200 | <awpr> | I doubt anyone's willing to break referential transparency. |
2021-09-13 23:47:59 +0200 | <janus> | awpr: wouldn't it be amounting to that if you read the seed from the unix env? |
2021-09-13 23:48:14 +0200 | <sshine> | :t System.IO.Unsafe.unsafePerformIO |
2021-09-13 23:48:15 +0200 | <lambdabot> | IO a -> a |
2021-09-13 23:48:29 +0200 | <awpr> | if the program explicitly reads in in `main` and plumbs it around, no |
2021-09-13 23:48:42 +0200 | <sshine> | I think that's perfectly agreeable, if we just prefix every combinator with 'unsafe'. :-D |
2021-09-13 23:48:50 +0200 | <awpr> | if it's implicitly read by a pure function inside unsafePerformIO, then yes, mostly |
2021-09-13 23:49:38 +0200 | <awpr> | if it's in a global that's evaluated once and shared by all hash maps, ... maybe, still seems sketchy, but I'm not sure it's strictly breaking referential transparency |
2021-09-13 23:51:12 +0200 | <janus> | awpr: hashable has a function called "hash :: a -> Int". the function will give you a different number based on the environment variable, right? |
2021-09-13 23:51:19 +0200 | <sshine> | awpr, you'd have programs that behave differently depending on the iteration in which you run them. |
2021-09-13 23:51:27 +0200 | _bin | (~bin@user/bin/x-1583188) |
2021-09-13 23:51:31 +0200 | <awpr> | without thinking about it too deeply, I'd be inclined to have hash-based containers take their salt as an extra parameter, and have "legacy" apis that take no salt |
2021-09-13 23:51:46 +0200 | <awpr> | janus: no, there should be a hashWithSalt function (there is, isn't there?) |
2021-09-13 23:52:05 +0200 | <awpr> | sshine: yes, that seems like a bad thing, but I'm not sure referential transparency is exactly what it breaks |
2021-09-13 23:54:41 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
2021-09-13 23:54:41 +0200 | <janus> | awpr: ok, so i guess you want only the HashMap itself to use the env variable? what if i call toList on it? won't it have a different order based on the salt used? |
2021-09-13 23:54:50 +0200 | <awpr> | I didn't propose using an environment variable. |
2021-09-13 23:55:31 +0200 | <janus> | well, you said "i doubt anyone's willing to break referential transparency" and i see on the github that somebody suggested using the environment variable |
2021-09-13 23:55:36 +0200 | <[exa]> | there should be a general guideline that people either use the maps in insertion/deletion-efficient mode or hash-stuff-eficient-mode, and explicitly switch between the modes |
2021-09-13 23:55:43 +0200 | <janus> | so i am just trying to understand how it would not constitute breaking referential transparency |
2021-09-13 23:56:31 +0200 | <sshine> | janus, I'm not so afraid they'll pick an unsafe solution. I am a little concerned they'll pick a "they should've read the disclaimer" solution. :) |
2021-09-13 23:57:22 +0200 | <awpr> | sort of depends on your definition of referential transparency. certainly invocation-varying "values" are sketchy, and I'd rather not have them. but they're much less of a violation than e.g. putting mutable state behind a "pure" value |
2021-09-13 23:58:10 +0200 | <awpr> | anyway maybe I just have too much faith in the general public. sounds like some people are willing to break referential transparency for convenience. at least I doubt that will win out |
2021-09-13 23:58:37 +0200 | <janus> | ok, i guess sshine is right |
2021-09-13 23:59:42 +0200 | <janus> | sounds like we may be moving to wargonaut anyway, which seemed like the nuclear solution. but hey, sounds exciting to try out a new json library, why not, i am not complaining :) |