Logs on 2021-09-13 (liberachat/#haskell)
| 00:04:02 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection) |
| 00:05:57 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 00:08:23 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
| 00:12:26 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 00:12:39 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 00:12:39 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
| 00:12:47 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 00:19:25 | × | pbrisbin quits (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net) (Ping timeout: 252 seconds) |
| 00:21:09 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 265 seconds) |
| 00:21:35 | × | euandreh quits (~euandreh@2804:14c:33:9fe5:293c:729f:ef0:fde4) (Ping timeout: 260 seconds) |
| 00:26:23 | × | alx741 quits (~alx741@181.196.69.212) (Quit: alx741) |
| 00:27:42 | → | roboguy_ joins (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
| 00:33:16 | → | daylily joins (~daylily@104.225.146.73.16clouds.com) |
| 00:34:10 | × | retro_ quits (~retro@176.255.22.194) (Ping timeout: 252 seconds) |
| 00:37:51 | <dsal> | ldlework: monoids seem really dumb until you realize how much of programming is just monoids. |
| 00:37:58 | <dsal> | The next big chunk is functors. |
| 00:38:41 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 00:40:25 | <Axman6> | % let i = Identity in ("Hello", i "Am", Just "a complex", ["data", "structure"]) & partsOf template %~ (reverse @Char) -- dsal weird stuff you say? |
| 00:40:25 | <yahb> | Axman6: ("erutc",Identity "ur",Just "tsatadxel",["pmoc"," amAolleH"]) |
| 00:40:35 | <Axman6> | % let i = Identity in ("Hello", i "Am", Just "a complex", ["data", "structure"]) & partsOf template %~ (reverse @[Char]) |
| 00:40:35 | <yahb> | Axman6: ("structure",Identity "data",Just "a complex",["Am","Hello"]) |
| 00:41:24 | <dsal> | Yeah… though I've used `deep` a couple of times. for good. |
| 00:44:10 | <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 |
| 00:44:26 | <Axman6> | > (,) <$> Just 1 <*> Just "Hello" |
| 00:44:27 | <lambdabot> | Just (1,"Hello") |
| 00:44:32 | <Axman6> | > (,) <$> Just 1 <*> Nothing |
| 00:44:33 | <lambdabot> | Nothing |
| 00:44:44 | <Axman6> | > Just 1 <|> Just 2 |
| 00:44:45 | <lambdabot> | Just 1 |
| 00:44:51 | <Axman6> | > Nothing <|> Just 2 |
| 00:44:52 | <lambdabot> | Just 2 |
| 00:45:13 | <Axman6> | > [1,2,3] <|> [4,5,6] -- possibly confusing at first |
| 00:45:14 | <lambdabot> | [1,2,3,4,5,6] |
| 00:46:52 | → | retroid_ joins (~retro@176.255.22.194) |
| 00:47:42 | → | no-n joins (~ed@101.53.218.157) |
| 00:49:11 | × | daylily quits (~daylily@104.225.146.73.16clouds.com) (Remote host closed the connection) |
| 00:50:17 | × | normsaa quits (~normsaa@101.175.64.73) (Quit: Client closed) |
| 00:50:46 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
| 00:51:57 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 00:55:19 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 01:00:00 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2.1) |
| 01:02:22 | → | daylily joins (~daylily@104.225.146.73.16clouds.com) |
| 01:08:02 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
| 01:09:02 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 01:09:29 | × | tdsltl^ quits (~tdsltl@68.101.54.227) (Remote host closed the connection) |
| 01:12:55 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:14:02 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:14:58 | × | jespada quits (~jespada@90.254.245.194) (Ping timeout: 252 seconds) |
| 01:16:11 | <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." |
| 01:16:22 | <dsal> | :t asum |
| 01:16:22 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> f a |
| 01:16:38 | <dsal> | I feel like that's a bit of a sketchy use of `asum`, but it's convenient. |
| 01:17:53 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 01:18:06 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 01:18:07 | → | nctcf^ joins (~nctcf@68.101.54.227) |
| 01:18:26 | → | jespada joins (~jespada@90.254.245.194) |
| 01:18:43 | × | xff0x quits (~xff0x@2001:1a81:5374:7800:9550:4329:f93b:bad7) (Ping timeout: 252 seconds) |
| 01:20:08 | → | euandreh joins (~euandreh@2804:14c:33:9fe5:465d:5cb1:ddd:5058) |
| 01:20:43 | → | xff0x joins (~xff0x@2001:1a81:53ae:3300:dc85:5fb:77a4:62d3) |
| 01:24:28 | × | daylily quits (~daylily@104.225.146.73.16clouds.com) (Remote host closed the connection) |
| 01:24:40 | → | daylily joins (~daylily@104.225.146.73.16clouds.com) |
| 01:28:55 | × | daylily quits (~daylily@104.225.146.73.16clouds.com) (Remote host closed the connection) |
| 01:29:16 | → | daylily joins (~daylily@104.225.146.73.16clouds.com) |
| 01:29:35 | → | dajoer joins (~david@user/gvx) |
| 01:29:51 | × | thyriaen quits (~thyriaen@dynamic-089-012-060-128.89.12.pool.telefonica.de) (Remote host closed the connection) |
| 01:33:45 | ← | no-n parts (~ed@101.53.218.157) (WeeChat 2.8) |
| 01:36:58 | × | daylily quits (~daylily@104.225.146.73.16clouds.com) (Ping timeout: 252 seconds) |
| 01:37:42 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:38:00 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
| 01:41:55 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 01:42:21 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 01:43:20 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 01:43:46 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 01:58:12 | → | favonia joins (~favonia@user/favonia) |
| 02:01:19 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 02:03:13 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 02:03:28 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 02:04:47 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 02:06:35 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 260 seconds) |
| 02:06:35 | × | euandreh quits (~euandreh@2804:14c:33:9fe5:465d:5cb1:ddd:5058) (Ping timeout: 260 seconds) |
| 02:08:54 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 02:11:21 | × | td_ quits (~td@muedsl-82-207-238-026.citykom.de) (Ping timeout: 265 seconds) |
| 02:13:11 | → | td_ joins (~td@94.134.91.246) |
| 02:16:08 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 02:18:24 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:19:04 | → | sneedsfeed joins (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) |
| 02:20:14 | <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? |
| 02:20:21 | → | meinside joins (uid24933@id-24933.helmsley.irccloud.com) |
| 02:21:03 | → | Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr) |
| 02:21:16 | → | parafactual joins (~celeste@2600:8803:9403:b600::b6f) |
| 02:22:49 | × | parafactual quits (~celeste@2600:8803:9403:b600::b6f) (Quit: Leaving) |
| 02:24:39 | <awpr> | > let (.:) = (.) . (.) |
| 02:24:40 | <lambdabot> | <no location info>: error: |
| 02:24:40 | <lambdabot> | not an expression: ‘let (.:) = (.) . (.)’ |
| 02:25:02 | <awpr> | @let (.:) = (.) . (.) |
| 02:25:03 | <lambdabot> | Defined. |
| 02:25:08 | → | __celeste joins (~celeste@2600:8803:9403:b600::b6f) |
| 02:25:09 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection) |
| 02:25:13 | <awpr> | :t (>0) .: on count pack |
| 02:25:14 | <lambdabot> | error: |
| 02:25:14 | <lambdabot> | • Variable not in scope: count :: b0 -> b0 -> a0 |
| 02:25:14 | <lambdabot> | • Perhaps you meant one of these: |
| 02:27:25 | × | benin03693230 quits (~benin@183.82.24.227) (Ping timeout: 252 seconds) |
| 02:30:19 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 02:33:02 | <sneedsfeed> | its so hard to tell with haskell when i'm being dumb and when the problem is actually hard |
| 02:33:23 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 02:33:24 | <sneedsfeed> | I really dont know which one of those this is. |
| 02:34:36 | <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 |
| 02:37:34 | <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 |
| 02:39:19 | <sneedsfeed> | what do you mean by point free? |
| 02:39:52 | <awpr> | just a term for exactly the thing you were trying to do: get rid of variable names and write functions by composition |
| 02:47:23 | → | daylily joins (~daylily@104.225.146.73.16clouds.com) |
| 02:48:35 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 02:48:40 | <shachaf> | I certainly wouldn't encourage people to use (.:). |
| 02:49:43 | <sneedsfeed> | interesting. so if i'm inlining it just just a lambda would be more advised? |
| 02:49:46 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
| 02:49:58 | × | roboguy_ quits (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) (Remote host closed the connection) |
| 02:51:24 | <shachaf> | A lambda is simple and readable. |
| 02:52:20 | × | __celeste quits (~celeste@2600:8803:9403:b600::b6f) (Quit: Leaving) |
| 02:53:07 | × | ozzymcduff quits (~mathieu@81-234-151-21-no94.tbcn.telia.com) (Remote host closed the connection) |
| 02:53:53 | × | daylily quits (~daylily@104.225.146.73.16clouds.com) (Ping timeout: 265 seconds) |
| 02:54:47 | → | __celeste joins (~celeste@2600:8803:9403:b600::b6f) |
| 02:54:58 | → | ozzymcduff joins (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
| 02:55:40 | → | roboguy_ joins (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
| 02:56:53 | × | roboguy_ quits (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) (Remote host closed the connection) |
| 03:00:00 | × | Taneb quits (~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.) |
| 03:00:10 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 265 seconds) |
| 03:00:36 | → | roboguy_ joins (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
| 03:01:07 | → | Taneb joins (~Taneb@runciman.hacksoc.org) |
| 03:01:07 | × | Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
| 03:01:59 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:03:34 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 03:03:56 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 03:04:07 | <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. |
| 03:04:54 | × | roboguy_ quits (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) (Ping timeout: 260 seconds) |
| 03:04:56 | <awpr> | also I think `on` is designed to be used in backquotes so the argument order makes sense: "count `on` pack" |
| 03:05:17 | <dsal> | :t isInfixOf |
| 03:05:17 | <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 |
| 03:05:18 | <lambdabot> | Eq a => [a] -> [a] -> Bool |
| 03:05:23 | <dsal> | the description sounds like that ^ |
| 03:05:46 | <dsal> | @src isInfixOf |
| 03:05:46 | <lambdabot> | isInfixOf needle haystack = any (isPrefixOf needle) (tails haystack) |
| 03:06:11 | <dsal> | @pl \needle haystack -> any (isPrefixOf needle) (tails haystack) |
| 03:06:11 | <lambdabot> | (. tails) . any . isPrefixOf |
| 03:06:21 | <dsal> | There. Perfectly readable. |
| 03:06:31 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 03:08:51 | → | falafel joins (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com) |
| 03:09:15 | → | pony joins (~ed@101.53.218.157) |
| 03:09:48 | → | falafel_ joins (~falafel@2603-8000-d801-2d68-d829-f87a-f631-a582.res6.spectrum.com) |
| 03:10:20 | → | Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) |
| 03:11:39 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection) |
| 03:12:21 | × | jrm quits (~jrm@156.34.187.65) (Quit: ciao) |
| 03:12:44 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 03:13:46 | × | falafel quits (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com) (Ping timeout: 260 seconds) |
| 03:13:54 | → | jrm joins (~jrm@156.34.187.65) |
| 03:14:01 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 03:14:05 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
| 03:14:22 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 03:17:27 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 03:19:01 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 03:21:42 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
| 03:22:20 | × | vk3wtf_ quits (~doc@194-193-188-29.tpgi.com.au) (Quit: WeeChat 3.2) |
| 03:25:14 | <justsomeguy> | I honestly don't think I can desugar that off the top of my head. |
| 03:25:49 | <justsomeguy> | (I know you're joking though; It was just a good reminder for me to read (.)'s definition, again.) |
| 03:27:04 | <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 |
| 03:27:53 | <lechner> | it somehew seems related to the logic here https://stackoverflow.com/questions/52019797/how-to-convert-scotty-parameter-as-string |
| 03:28:48 | → | cheater joins (~Username@user/cheater) |
| 03:29:10 | × | sm2n quits (~sm2n@user/sm2n) (Ping timeout: 265 seconds) |
| 03:29:16 | <awpr> | `toHtml` will have that type, since `Text` has a `ToHtml` instance |
| 03:31:15 | <lechner> | awpr: yay. thank you! |
| 03:31:46 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 03:31:58 | → | sm2n joins (~sm2n@user/sm2n) |
| 03:32:41 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
| 03:33:22 | × | jess quits (~jess@libera/staff/jess) (Quit: i'm going to start going to bed) |
| 03:33:30 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
| 03:34:28 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 03:34:41 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 03:34:41 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
| 03:34:51 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 03:39:42 | → | roboguy_ joins (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
| 03:43:28 | × | zmt01 quits (~zmt00@user/zmt00) (Quit: Gone.) |
| 03:45:08 | → | zmt00 joins (~zmt00@user/zmt00) |
| 03:57:11 | <jle`> | (\(_,_) -> True) undefined -- surprised me a bit |
| 03:57:45 | <jle`> | is there any difference between (\(x,y) -> ..) and (\t -> case t of (x,y) -> ...) ? |
| 04:02:15 | <Cale> | nope |
| 04:02:50 | → | theproffesor joins (~theproffe@2601:282:847f:8010:818b:10e4:707d:e026) |
| 04:02:50 | × | theproffesor quits (~theproffe@2601:282:847f:8010:818b:10e4:707d:e026) (Changing host) |
| 04:02:50 | → | theproffesor joins (~theproffe@user/theproffesor) |
| 04:03:17 | × | sneedsfeed quits (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) (Ping timeout: 256 seconds) |
| 04:03:30 | ← | theproffesor parts (~theproffe@user/theproffesor) () |
| 04:05:04 | <pavonia> | > (\(_,_) -> True) undefined |
| 04:05:06 | <lambdabot> | *Exception: Prelude.undefined |
| 04:05:19 | <awpr> | and yet: |
| 04:05:40 | <awpr> | > (\x -> let (_, _) = x in True) undefined |
| 04:05:42 | <lambdabot> | True |
| 04:06:03 | × | urdh quits (~urdh@user/urdh) (*.net *.split) |
| 04:06:03 | × | sky_lounge[m] quits (~skylounge@2001:470:69fc:105::efa6) (*.net *.split) |
| 04:06:03 | × | pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (*.net *.split) |
| 04:06:03 | × | perro quits (~user@072-191-245-069.res.spectrum.com) (*.net *.split) |
| 04:06:03 | × | conjunctive quits (sid433686@id-433686.helmsley.irccloud.com) (*.net *.split) |
| 04:06:03 | × | jackdk quits (sid373013@cssa/jackdk) (*.net *.split) |
| 04:06:04 | × | S11001001 quits (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split) |
| 04:06:04 | × | masaeedu[m] quits (~masaeedum@2001:470:69fc:105::e256) (*.net *.split) |
| 04:06:04 | × | adamse quits (sid72084@user/adamse) (*.net *.split) |
| 04:06:04 | × | JSharp quits (sid4580@id-4580.lymington.irccloud.com) (*.net *.split) |
| 04:06:04 | × | erinvanderveen[m quits (~erinvande@2001:470:69fc:105::e8f3) (*.net *.split) |
| 04:06:04 | × | welterde quits (welterde@thinkbase.srv.welterde.de) (*.net *.split) |
| 04:06:04 | × | zzz quits (~yin@user/yin) (*.net *.split) |
| 04:06:04 | × | Xe quits (~cadey@tailscale/xe) (*.net *.split) |
| 04:06:04 | × | hubvu quits (sid495858@user/hubvu) (*.net *.split) |
| 04:06:04 | × | dpratt_ quits (sid193493@id-193493.helmsley.irccloud.com) (*.net *.split) |
| 04:06:04 | × | soft quits (~soft-matr@2001:470:69fc:105::c75) (*.net *.split) |
| 04:06:04 | × | ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (*.net *.split) |
| 04:06:04 | × | schuelermine[m] quits (~schuelerm@user/schuelermine) (*.net *.split) |
| 04:06:04 | × | peddie quits (~peddie@2001:470:69fc:105::25d) (*.net *.split) |
| 04:06:04 | × | siraben quits (~siraben@user/siraben) (*.net *.split) |
| 04:06:04 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split) |
| 04:06:04 | × | heath quits (~heath@user/heath) (*.net *.split) |
| 04:06:04 | × | oats quits (~thomas@user/oats) (*.net *.split) |
| 04:06:04 | × | nonzen quits (~nonzen@user/nonzen) (*.net *.split) |
| 04:06:04 | × | sajith quits (~sajith@user/sajith) (*.net *.split) |
| 04:06:04 | × | Ekho quits (~Ekho@user/ekho) (*.net *.split) |
| 04:06:04 | × | rookie101 quits (~rookie@207.154.204.166) (*.net *.split) |
| 04:06:04 | × | jassob1 quits (~jassob@korrob.vth.sgsnet.se) (*.net *.split) |
| 04:06:04 | × | Guest6153 quits (~deni@mail.denibertovic.com) (*.net *.split) |
| 04:06:04 | × | anoe quits (~anoe@delanoe.org) (*.net *.split) |
| 04:06:04 | × | sshine quits (~simon@hubris.eta.solutions) (*.net *.split) |
| 04:06:04 | × | kaol quits (~kaol@178.62.241.234) (*.net *.split) |
| 04:06:04 | × | taktoa[c] quits (sid282096@id-282096.tinside.irccloud.com) (*.net *.split) |
| 04:06:04 | × | ski quits (~ski@remote12.chalmers.se) (*.net *.split) |
| 04:06:04 | × | yorick quits (~yorick@user/yorick) (*.net *.split) |
| 04:06:04 | × | Jon quits (jon@dow.land) (*.net *.split) |
| 04:06:04 | × | rawles quits (~o@user/rawles) (*.net *.split) |
| 04:06:06 | <awpr> | which is to say, let/where bindings are different from those other two constructs |
| 04:06:12 | → | ski joins (~ski@remote12.chalmers.se) |
| 04:06:14 | → | Jon joins (jon@dow.land) |
| 04:06:15 | → | anoe joins (~anoe@delanoe.org) |
| 04:06:17 | → | perro joins (~user@072-191-245-069.res.spectrum.com) |
| 04:06:19 | → | Guest6153 joins (~deni@mail.denibertovic.com) |
| 04:06:20 | <pavonia> | awpr: That never evaluates the pattern |
| 04:06:22 | → | kaol joins (~kaol@178.62.241.234) |
| 04:06:23 | → | jackdk joins (sid373013@cssa/jackdk) |
| 04:06:23 | → | dpratt_ joins (sid193493@id-193493.helmsley.irccloud.com) |
| 04:06:25 | → | jassob1 joins (~jassob@korrob.vth.sgsnet.se) |
| 04:06:33 | <awpr> | right, that's what I was showing |
| 04:06:37 | → | pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee) |
| 04:06:40 | → | yorick joins (~yorick@pennyworth.yori.cc) |
| 04:06:41 | → | Xe joins (~cadey@lufta.cetacean.club) |
| 04:06:43 | <Cale> | I wish I could say it never evaluates the pattern, but now there are bang patters |
| 04:06:45 | → | Raito_Bezarius joins (~Raito@2a01:e0a:5f9:9681:58c:8b9f:30df:bb6b) |
| 04:06:45 | <Cale> | ns* |
| 04:06:47 | → | JSharp joins (sid4580@id-4580.lymington.irccloud.com) |
| 04:06:53 | → | S11001001 joins (sid42510@2a03:5180:f:3::a60e) |
| 04:06:56 | → | welterde joins (welterde@thinkbase.srv.welterde.de) |
| 04:06:57 | × | Xe quits (~cadey@lufta.cetacean.club) (Changing host) |
| 04:06:57 | → | Xe joins (~cadey@tailscale/xe) |
| 04:06:57 | → | urdh joins (~urdh@user/urdh) |
| 04:07:01 | → | erinvanderveen[m joins (~erinvande@2001:470:69fc:105::e8f3) |
| 04:07:03 | → | oats_ joins (~thomas@user/oats) |
| 04:07:05 | <Cale> | Which hold the mysterious power of transforming let into case |
| 04:07:09 | → | taktoa[c] joins (sid282096@id-282096.tinside.irccloud.com) |
| 04:07:15 | → | conjunctive joins (sid433686@id-433686.helmsley.irccloud.com) |
| 04:07:17 | → | adamse joins (sid72084@id-72084.lymington.irccloud.com) |
| 04:07:18 | → | hubvu joins (sid495858@user/hubvu) |
| 04:07:19 | × | adamse quits (sid72084@id-72084.lymington.irccloud.com) (Changing host) |
| 04:07:19 | → | adamse joins (sid72084@user/adamse) |
| 04:07:26 | yorick | is now known as Guest4308 |
| 04:07:28 | → | sajith joins (~sajith@user/sajith) |
| 04:07:31 | → | zzz joins (~yin@user/yin) |
| 04:07:32 | → | nonzen joins (~nonzen@user/nonzen) |
| 04:07:50 | → | heath joins (~heath@user/heath) |
| 04:08:12 | → | sshine joins (~simon@hubris.eta.solutions) |
| 04:08:15 | → | soft joins (~soft-matr@2001:470:69fc:105::c75) |
| 04:08:15 | → | rookie101 joins (~rookie@207.154.204.166) |
| 04:09:15 | <pavonia> | > (\x -> let !(_, _) = x in True) undefined |
| 04:09:16 | <lambdabot> | *Exception: Prelude.undefined |
| 04:09:31 | <pavonia> | Okay, this is surprising |
| 04:10:03 | → | masaeedu[m] joins (~masaeedum@2001:470:69fc:105::e256) |
| 04:10:11 | → | peddie joins (~peddie@2001:470:69fc:105::25d) |
| 04:10:23 | <awpr> | I think it turns into something like `\x -> case x of x1 { _default -> True }` in core |
| 04:10:24 | → | Ekho joins (~Ekho@user/ekho) |
| 04:10:34 | → | siraben joins (~siraben@user/siraben) |
| 04:10:43 | <Cale> | It's a bit of perlish dwim-ism |
| 04:10:44 | × | ski quits (~ski@remote12.chalmers.se) (Ping timeout: 265 seconds) |
| 04:11:12 | → | ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2) |
| 04:11:12 | → | schuelermine[m] joins (~schuelerm@user/schuelermine) |
| 04:11:34 | <Cale> | Well, let's try this: |
| 04:11:43 | → | sky_lounge[m] joins (~skylounge@2001:470:69fc:105::efa6) |
| 04:11:47 | <Cale> | > (\x -> let ~(!(_, _)) = x in True) undefined |
| 04:11:49 | <lambdabot> | True |
| 04:12:09 | <pavonia> | :) |
| 04:12:42 | <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 |
| 04:15:45 | → | the_proffesor joins (~theproffe@2601:282:847f:8010::bd6d) |
| 04:15:45 | × | the_proffesor quits (~theproffe@2601:282:847f:8010::bd6d) (Changing host) |
| 04:15:45 | → | the_proffesor joins (~theproffe@user/theproffesor) |
| 04:17:35 | the_proffesor | is now known as theproffesor |
| 04:17:57 | oats_ | is now known as oats |
| 04:19:16 | × | nckx quits (~nckx@tobias.gr) (*.net *.split) |
| 04:19:16 | × | shailangsa quits (~shailangs@host86-186-132-44.range86-186.btcentralplus.com) (*.net *.split) |
| 04:19:16 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (*.net *.split) |
| 04:19:16 | × | Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (*.net *.split) |
| 04:19:16 | × | zfnmxt quits (~zfnmxtzfn@user/zfnmxt) (*.net *.split) |
| 04:19:16 | × | jaror[m] quits (~jaror@2001:470:69fc:105::265) (*.net *.split) |
| 04:19:16 | × | kar1 quits (~kar1@2001:470:69fc:105::c308) (*.net *.split) |
| 04:19:16 | × | oak- quits (~oakuniver@2001:470:69fc:105::fcd) (*.net *.split) |
| 04:19:16 | × | jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (*.net *.split) |
| 04:19:16 | × | wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (*.net *.split) |
| 04:19:16 | × | maralorn quits (~maralorn@2001:470:69fc:105::251) (*.net *.split) |
| 04:19:17 | × | Teohehim[m] quits (~teocmatri@2001:470:69fc:105::d327) (*.net *.split) |
| 04:19:17 | × | monadfritz[m] quits (~ahdytmatr@2001:470:69fc:105::e1f1) (*.net *.split) |
| 04:19:17 | × | afotgkmnzj7asv3r quits (~afotgkmnz@2001:470:69fc:105::c24b) (*.net *.split) |
| 04:19:17 | × | Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (*.net *.split) |
| 04:19:17 | × | rednaZ[m] quits (~r3dnazmat@2001:470:69fc:105::ba70) (*.net *.split) |
| 04:19:17 | × | SimonWeiss[m] quits (~weiss-dma@2001:470:69fc:105::bebd) (*.net *.split) |
| 04:19:17 | × | taeaad quits (~taeaad@user/taeaad) (*.net *.split) |
| 04:19:17 | × | mrkajetanp quits (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) (*.net *.split) |
| 04:19:17 | × | Papa quits (~papa@user/papa) (*.net *.split) |
| 04:19:17 | × | ddb quits (~ddb@2607:5300:61:c67::196) (*.net *.split) |
| 04:19:17 | × | mikko quits (~mikko@2a02:7b40:d418:6a61::1) (*.net *.split) |
| 04:19:17 | × | bollu quits (~bollu@139.59.46.74) (*.net *.split) |
| 04:19:17 | × | mmaruseacph2 quits (~mihai@198.199.100.72) (*.net *.split) |
| 04:19:17 | × | duckonomy quits (~duckonomy@177.ip-144-217-84.net) (*.net *.split) |
| 04:19:17 | × | st quits (~ts@46.101.20.9) (*.net *.split) |
| 04:19:17 | × | w1gz quits (~do@159.89.11.133) (*.net *.split) |
| 04:19:17 | × | Putonlalla quits (~sapekiis@it-cyan.it.jyu.fi) (*.net *.split) |
| 04:19:17 | × | samebchase quits (~thelounge@51.15.68.182) (*.net *.split) |
| 04:19:17 | × | PigDude quits (~PigDude@159.203.16.199) (*.net *.split) |
| 04:19:17 | × | SIben quits (~SIben@ns3106586.ip-5-135-191.eu) (*.net *.split) |
| 04:19:17 | × | pie_ quits (~pie_bnc@user/pie/x-2818909) (*.net *.split) |
| 04:19:17 | × | [exa] quits (exa@user/exa/x-3587197) (*.net *.split) |
| 04:19:17 | × | dy quits (~dy@user/dy) (*.net *.split) |
| 04:19:17 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (*.net *.split) |
| 04:19:17 | × | madnight_ quits (~madnight@static.59.103.201.195.clients.your-server.de) (*.net *.split) |
| 04:19:17 | × | tinco quits (~tinco@tinco.nl) (*.net *.split) |
| 04:19:17 | × | dixie quits (~dixie@real.wilbury.sk) (*.net *.split) |
| 04:19:17 | × | absence quits (torgeihe@hildring.pvv.ntnu.no) (*.net *.split) |
| 04:19:17 | × | siers quits (~ij@user/ij) (*.net *.split) |
| 04:19:17 | × | pippijn quits (~pippijn@ra.xinutec.org) (*.net *.split) |
| 04:19:17 | × | djanatyn quits (~djanatyn@vps-7f49a6b0.vps.ovh.ca) (*.net *.split) |
| 04:19:17 | × | arkanoid quits (~arkanoid@2-238-151-49.ip244.fastwebnet.it) (*.net *.split) |
| 04:19:17 | × | aji quits (~alex@prickle.ajitek.net) (*.net *.split) |
| 04:19:17 | × | reda quits (~reda@user/reda) (*.net *.split) |
| 04:19:17 | × | bah quits (~bah@l1.tel) (*.net *.split) |
| 04:19:17 | × | Ankhers quits (~Ankhers@ec2-54-196-233-138.compute-1.amazonaws.com) (*.net *.split) |
| 04:19:20 | → | SIben_ joins (~SIben@ns3106586.ip-5-135-191.eu) |
| 04:19:21 | → | dixie_ joins (~dixie@real.wilbury.sk) |
| 04:19:22 | → | [exa]_ joins (exa@srv3.blesmrt.net) |
| 04:19:23 | → | absence_ joins (torgeihe@hildring.pvv.ntnu.no) |
| 04:19:23 | → | pippijn_ joins (~pippijn@ra.xinutec.org) |
| 04:19:26 | → | dibblego joins (~dibblego@122-199-1-30.ip4.superloop.com) |
| 04:19:26 | → | reda_ joins (~reda@user/reda) |
| 04:19:26 | → | bah_ joins (~bah@l1.tel) |
| 04:19:28 | → | PigDude_ joins (~PigDude@159.203.16.199) |
| 04:19:29 | → | samebchase joins (~thelounge@51.15.68.182) |
| 04:19:36 | → | djanatyn joins (~djanatyn@vps-7f49a6b0.vps.ovh.ca) |
| 04:19:36 | → | tinco joins (~tinco@tinco.nl) |
| 04:19:37 | → | MidAutumnMoon joins (~MidAutumn@user/midautumnmoon) |
| 04:19:37 | → | bollu joins (~bollu@139.59.46.74) |
| 04:19:37 | → | mikko joins (~mikko@2a02:7b40:d418:6a61::1) |
| 04:19:39 | × | dibblego quits (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
| 04:19:39 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 04:19:41 | → | mmaruseacph2 joins (~mihai@198.199.100.72) |
| 04:19:47 | → | madnight joins (~madnight@static.59.103.201.195.clients.your-server.de) |
| 04:19:50 | → | Putonlalla joins (~sapekiis@it-cyan.it.jyu.fi) |
| 04:19:50 | → | ddb joins (~ddb@ipv6two.tilde.club) |
| 04:19:56 | → | pie_ joins (~pie_bnc@user/pie/x-2818909) |
| 04:20:11 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 04:20:12 | → | mrkajetanp joins (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) |
| 04:20:14 | → | siers joins (~ij@user/ij) |
| 04:20:14 | → | taeaad joins (~taeaad@user/taeaad) |
| 04:20:18 | → | dy joins (~dy@user/dy) |
| 04:20:18 | → | nckx_ joins (~nckx@tobias.gr) |
| 04:20:19 | nckx_ | is now known as nckx |
| 04:20:20 | → | st joins (~ts@46.101.20.9) |
| 04:20:21 | → | w1gz joins (~do@159.89.11.133) |
| 04:20:21 | → | aji joins (~alex@prickle.ajitek.net) |
| 04:20:22 | → | Ankhers joins (~Ankhers@ec2-54-196-233-138.compute-1.amazonaws.com) |
| 04:20:35 | → | duckonomy joins (~duckonomy@177.ip-144-217-84.net) |
| 04:20:50 | → | Papa joins (~papa@user/papa) |
| 04:20:52 | × | Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::46) (Read error: Connection reset by peer) |
| 04:20:52 | → | zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32) |
| 04:21:00 | → | Deewiant joins (~deewiant@2001:470:69fc:105::2fd3) |
| 04:21:55 | × | Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 260 seconds) |
| 04:22:33 | <lechner> | Hi, did the wiki always have such a weird, dark gray half-footer? https://wiki.haskell.org/Cookbook/Pattern_matching |
| 04:23:02 | <__celeste> | it doesn't look that weird to me |
| 04:23:19 | <__celeste> | i might be alone |
| 04:23:33 | ← | theproffesor parts (~theproffe@user/theproffesor) (Leaving) |
| 04:23:38 | → | wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae) |
| 04:23:41 | → | arkanoid joins (~arkanoid@2-238-151-49.ip244.fastwebnet.it) |
| 04:23:47 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
| 04:23:49 | <lechner> | me too |
| 04:23:51 | → | jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae) |
| 04:24:04 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 04:24:09 | → | kar1 joins (~kar1@2001:470:69fc:105::c308) |
| 04:24:16 | → | jaror[m] joins (~jaror@2001:470:69fc:105::265) |
| 04:24:34 | <lechner> | do you see a bright white square in the bottom left? |
| 04:24:44 | → | SimonWeiss[m] joins (~weiss-dma@2001:470:69fc:105::bebd) |
| 04:25:18 | → | rednaZ[m] joins (~r3dnazmat@2001:470:69fc:105::ba70) |
| 04:27:30 | → | benin03693230 joins (~benin@183.82.24.227) |
| 04:27:37 | → | maralorn joins (~maralorn@2001:470:69fc:105::251) |
| 04:30:48 | → | afotgkmnzj7asv3r joins (~afotgkmnz@2001:470:69fc:105::c24b) |
| 04:31:17 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 04:31:19 | → | Teohehim[m] joins (~teocmatri@2001:470:69fc:105::d327) |
| 04:31:19 | → | Ollie[m] joins (~ollieocha@2001:470:69fc:105::41a5) |
| 04:31:20 | → | monadfritz[m] joins (~ahdytmatr@2001:470:69fc:105::e1f1) |
| 04:41:37 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 04:41:46 | × | benin03693230 quits (~benin@183.82.24.227) (Ping timeout: 268 seconds) |
| 04:42:38 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 04:45:06 | → | nicbk joins (~nicbk@user/nicbk) |
| 04:45:11 | × | roboguy_ quits (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) () |
| 04:46:01 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 252 seconds) |
| 04:47:12 | → | mikoto-chan joins (~mikoto-ch@83.137.2.250) |
| 04:53:39 | → | shailangsa joins (~shailangs@host86-186-132-44.range86-186.btcentralplus.com) |
| 04:57:41 | pony | is now known as lua |
| 05:02:55 | lua | is now known as pony |
| 05:04:52 | <ldlework> | Applicatives are weird |
| 05:05:21 | <Axman6> | Applicatives turn up everywhere in programming and are extremely useful |
| 05:06:24 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 05:06:25 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 05:09:25 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 05:10:36 | <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 |
| 05:12:18 | × | __celeste quits (~celeste@2600:8803:9403:b600::b6f) (Ping timeout: 260 seconds) |
| 05:13:17 | <Axman6> | and, like, a lot of other things. for loops are just applicatives in many cases |
| 05:13:24 | <Axman6> | nested for loops* |
| 05:13:58 | <Axman6> | so is "gather all these maybe null values and if none of them are null, do something with them, otherwise return null" |
| 05:19:27 | <dmj`> | still weird tho |
| 05:20:20 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
| 05:27:44 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 05:28:35 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 05:29:30 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 05:33:13 | <dibblego> | yeah but what about enterprise null |
| 05:34:19 | <dmj`> | enterprise null keeps us employed |
| 05:39:05 | → | Gurkenglas joins (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de) |
| 05:39:32 | <dsal> | Maybe |
| 05:39:40 | × | mikoto-chan quits (~mikoto-ch@83.137.2.250) (Ping timeout: 240 seconds) |
| 05:39:50 | <Axman6> | heh |
| 05:41:42 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 05:45:25 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 05:46:02 | × | falafel_ quits (~falafel@2603-8000-d801-2d68-d829-f87a-f631-a582.res6.spectrum.com) (Remote host closed the connection) |
| 05:46:17 | → | falafel_ joins (~falafel@2603-8000-d801-2d68-d829-f87a-f631-a582.res6.spectrum.com) |
| 05:49:49 | <nitrix> | That what Haskell made sure to also have _|_. |
| 05:50:18 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 265 seconds) |
| 05:51:10 | → | falafel__ joins (~falafel@cpe-76-168-195-162.socal.res.rr.com) |
| 05:54:45 | × | falafel_ quits (~falafel@2603-8000-d801-2d68-d829-f87a-f631-a582.res6.spectrum.com) (Ping timeout: 268 seconds) |
| 05:54:55 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 05:55:08 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 05:55:08 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
| 05:55:14 | <Axman6> | "Avoid success at all costs, by learning from most of the mistakes of the past" |
| 05:55:18 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 05:55:21 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
| 05:55:28 | → | daylily joins (~daylily@104.225.146.73.16clouds.com) |
| 05:55:35 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 05:57:40 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:00:56 | × | daylily quits (~daylily@104.225.146.73.16clouds.com) (Ping timeout: 265 seconds) |
| 06:02:29 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan) |
| 06:03:13 | → | fendor joins (~fendor@178.165.199.123.wireless.dyn.drei.com) |
| 06:03:29 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 06:05:41 | → | Pickchea joins (~private@user/pickchea) |
| 06:10:52 | → | Akronymus joins (~Akronymus@85.31.8.180) |
| 06:10:54 | × | cjb quits (~cjbayliss@user/cjb) () |
| 06:12:41 | → | michalz joins (~michalz@185.246.204.57) |
| 06:14:26 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 06:15:01 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 06:18:57 | → | binape joins (~binape@154.197.27.149) |
| 06:25:57 | <dmj`> | Got a couple bottoms, but a couple ain't enough. |
| 06:26:49 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
| 06:26:56 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 06:39:03 | × | welterde quits (welterde@thinkbase.srv.welterde.de) (Quit: WeeChat 3.0.1) |
| 06:39:09 | × | falafel__ quits (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 268 seconds) |
| 06:39:11 | → | welterde joins (welterde@thinkbase.srv.welterde.de) |
| 06:40:50 | AndrewIRC | is now known as AndrewYu |
| 06:41:24 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
| 06:41:41 | → | max22- joins (~maxime@2a01cb0883359800d694c3dbfe2877e7.ipv6.abo.wanadoo.fr) |
| 06:47:05 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 06:51:57 | × | sleblanc quits (~sleblanc@user/sleblanc) (Quit: Leaving) |
| 06:55:23 | × | peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 07:02:20 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 07:07:53 | [exa]_ | is now known as [exa] |
| 07:08:04 | × | [exa] quits (exa@srv3.blesmrt.net) (Changing host) |
| 07:08:04 | → | [exa] joins (exa@user/exa/x-3587197) |
| 07:11:59 | × | nctcf^ quits (~nctcf@68.101.54.227) (Remote host closed the connection) |
| 07:14:08 | → | on^ joins (~on@68.101.54.227) |
| 07:15:41 | → | chomwitt joins (~chomwitt@2a02:587:dc14:5d00:12c3:7bff:fe6d:d374) |
| 07:16:19 | → | lavaman joins (~lavaman@98.38.249.169) |
| 07:16:21 | × | nicbk quits (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
| 07:18:11 | → | acidjnk_new joins (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) |
| 07:18:28 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:21:05 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 07:21:57 | × | binape quits (~binape@154.197.27.149) (Quit: Client closed) |
| 07:23:05 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:25:24 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 07:29:29 | × | Guest4308 quits (~yorick@pennyworth.yori.cc) (Changing host) |
| 07:29:29 | → | Guest4308 joins (~yorick@user/yorick) |
| 07:29:34 | Guest4308 | is now known as yorick |
| 07:35:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:35:34 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 260 seconds) |
| 07:39:36 | × | kimjetwav quits (~user@2607:fea8:235f:9730:2829:edb2:f2b7:f87c) (Remote host closed the connection) |
| 07:40:09 | → | hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) |
| 07:43:15 | → | benin03693230 joins (~benin@183.82.24.227) |
| 07:45:54 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 07:52:01 | <dminuoso> | Axman6: Im not convinced this is truly an applicative thing. |
| 07:52:35 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 07:53:20 | <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. |
| 07:54:11 | <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. |
| 07:55:10 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
| 07:55:44 | <Axman6> | it is part of the language of _some_ applicatives |
| 07:56:06 | <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. |
| 07:58:24 | <dminuoso> | With some signature method `parallel :: Applicative f => f a -> f b -> f (a, b)` |
| 07:58:52 | <dminuoso> | And a trivial `unit :: Applicative f => f ()` that acts as unit wrt to parallel. |
| 07:59:31 | <dminuoso> | Axman6: Is this still matching the "first this, then that", if that thing trivially sequences the second after the first for some instances? |
| 07:59:48 | dminuoso | is not sure |
| 08:01:32 | → | __monty__ joins (~toonn@user/toonn) |
| 08:04:47 | → | kayprish joins (~kayprish@46.240.130.158) |
| 08:06:18 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:06:50 | → | neurocyte joins (~neurocyte@92.119.10.38) |
| 08:06:50 | × | neurocyte quits (~neurocyte@92.119.10.38) (Changing host) |
| 08:06:50 | → | neurocyte joins (~neurocyte@user/neurocyte) |
| 08:08:31 | → | Chai-T-Rex joins (~ChaiTRex@user/chaitrex) |
| 08:09:00 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 08:09:11 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 08:11:48 | <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 |
| 08:12:25 | <awpr> | and that's no coincidence, since `Applicative` is a (lax) monoidal functor |
| 08:13:31 | <dminuoso> | Sure. |
| 08:17:44 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 08:17:44 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 08:17:47 | allbery_b | is now known as geekosaur |
| 08:28:18 | × | azeem quits (~azeem@2a00:801:3c7:c672:c46:3e15:33ac:e08b) (Read error: Connection reset by peer) |
| 08:28:32 | → | azeem joins (~azeem@emp-91-123.eduroam.uu.se) |
| 08:30:25 | → | Lycurgus joins (~juan@98.4.112.204) |
| 08:30:45 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:32:25 | × | on^ quits (~on@68.101.54.227) (Remote host closed the connection) |
| 08:33:24 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 08:33:52 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 08:36:17 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 08:37:22 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: Lost terminal) |
| 08:37:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection) |
| 08:39:35 | × | max22- quits (~maxime@2a01cb0883359800d694c3dbfe2877e7.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 08:39:59 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:40:29 | → | max22- joins (~maxime@2a01cb08833598005158d0acd05c15c9.ipv6.abo.wanadoo.fr) |
| 08:43:07 | <mniip> | Cale, that really made me think. Is abstraction (function introduction) an effect? |
| 08:44:43 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 08:44:43 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:45:10 | → | nctcf^ joins (~nctcf@68.101.54.227) |
| 08:49:53 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 08:50:40 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 08:50:53 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 08:53:00 | × | pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 265 seconds) |
| 08:53:13 | → | pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee) |
| 08:55:31 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 08:56:37 | × | shailangsa quits (~shailangs@host86-186-132-44.range86-186.btcentralplus.com) () |
| 09:00:08 | × | jkachmar quits (~jkachmar@2001:470:69fc:105::c72d) (Quit: You have been kicked for being idle) |
| 09:04:52 | × | Flow quits (~none@salem.informatik.uni-erlangen.de) (Quit: WeeChat 3.2) |
| 09:05:07 | → | Flow joins (~none@gentoo/developer/flow) |
| 09:09:22 | × | xff0x quits (~xff0x@2001:1a81:53ae:3300:dc85:5fb:77a4:62d3) (Ping timeout: 260 seconds) |
| 09:18:38 | × | xsperry quits (~as@user/xsperry) () |
| 09:19:38 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 260 seconds) |
| 09:21:32 | → | xsperry joins (~as@user/xsperry) |
| 09:23:53 | → | burnsidesLlama joins (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
| 09:26:08 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 09:28:08 | → | tfeb joins (~tfb@host81-129-8-142.range81-129.btcentralplus.com) |
| 09:28:10 | × | burnsidesLlama quits (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 09:28:44 | → | zmt01 joins (~zmt00@user/zmt00) |
| 09:29:02 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:29:05 | → | burnsidesLlama joins (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
| 09:29:14 | → | sheddow joins (~sheddow@84-52-255.245.3p.ntebredband.no) |
| 09:30:50 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
| 09:30:54 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 09:31:09 | → | shailangsa joins (~shailangs@host86-186-132-44.range86-186.btcentralplus.com) |
| 09:32:11 | × | tfeb quits (~tfb@host81-129-8-142.range81-129.btcentralplus.com) (Read error: Connection reset by peer) |
| 09:32:37 | → | favonia joins (~favonia@user/favonia) |
| 09:33:40 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 09:35:23 | × | phma quits (~phma@host-67-44-209-52.hnremote.net) (Read error: Connection reset by peer) |
| 09:36:58 | → | phma joins (~phma@host-67-44-208-7.hnremote.net) |
| 09:38:10 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) |
| 09:38:36 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 09:39:25 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:41:21 | → | xff0x joins (~xff0x@2001:1a81:53ae:3300:dc85:5fb:77a4:62d3) |
| 09:42:42 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Ping timeout: 268 seconds) |
| 09:45:26 | → | badwoman joins (~badwoman@221.239.55.46) |
| 09:48:29 | × | burnsidesLlama quits (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Remote host closed the connection) |
| 09:50:19 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 09:50:43 | × | acidjnk_new quits (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 09:51:00 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 09:51:13 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 09:52:44 | → | euandreh joins (~euandreh@2804:14c:33:9fe5:44da:bf98:4cf1:2d8d) |
| 10:07:02 | → | pmk joins (~user@2a02:587:9416:c4cd:a38a:dea2:e28e:646d) |
| 10:12:55 | × | azeem quits (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 268 seconds) |
| 10:13:17 | → | azeem joins (~azeem@2a00:801:230:bf5f:d20c:8e6b:10b9:3ab2) |
| 10:13:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:15:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:16:57 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:20:19 | × | azeem quits (~azeem@2a00:801:230:bf5f:d20c:8e6b:10b9:3ab2) (Read error: Connection reset by peer) |
| 10:20:45 | → | azeem joins (~azeem@emp-91-123.eduroam.uu.se) |
| 10:23:38 | × | davetapley quits (sid666@id-666.highgate.irccloud.com) () |
| 10:23:53 | → | davetapley joins (sid666@id-666.uxbridge.irccloud.com) |
| 10:24:16 | × | etrepum quits (sid763@id-763.highgate.irccloud.com) () |
| 10:24:32 | → | etrepum joins (sid763@id-763.uxbridge.irccloud.com) |
| 10:24:34 | → | burnsidesLlama joins (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
| 10:24:47 | → | spruit11_ joins (~quassel@2a02:a467:ccd6:1:bdee:99d8:9af:602f) |
| 10:25:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:26:39 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:28:16 | × | spruit11 quits (~quassel@2a02:a467:ccd6:1:a09c:5ae1:45f8:7ffe) (Ping timeout: 252 seconds) |
| 10:29:29 | × | vito quits (sid1962@user/vito) () |
| 10:29:45 | → | vito joins (sid1962@user/vito) |
| 10:31:28 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds) |
| 10:31:38 | × | burnsidesLlama quits (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
| 10:32:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:32:27 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:41:29 | × | SrPx quits (sid108780@id-108780.highgate.irccloud.com) () |
| 10:41:43 | → | SrPx joins (sid108780@id-108780.uxbridge.irccloud.com) |
| 10:42:44 | × | alanz quits (sid110616@id-110616.highgate.irccloud.com) () |
| 10:43:00 | → | alanz joins (sid110616@id-110616.uxbridge.irccloud.com) |
| 10:43:08 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:44:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:47:29 | × | favonia quits (~favonia@user/favonia) (Remote host closed the connection) |
| 10:47:45 | × | b20n quits (sid115913@id-115913.highgate.irccloud.com) () |
| 10:47:50 | → | favonia joins (~favonia@user/favonia) |
| 10:48:01 | → | b20n joins (sid115913@id-115913.uxbridge.irccloud.com) |
| 10:49:55 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:50:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:55:04 | × | azeem quits (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 252 seconds) |
| 10:55:41 | → | ubert joins (~Thunderbi@178.115.54.21.wireless.dyn.drei.com) |
| 10:56:10 | → | pretty_d1 joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 10:56:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 10:56:28 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:56:41 | → | azeem joins (~azeem@2a00:801:230:bf5f:d20c:8e6b:10b9:3ab2) |
| 10:57:05 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Remote host closed the connection) |
| 10:57:39 | × | azeem quits (~azeem@2a00:801:230:bf5f:d20c:8e6b:10b9:3ab2) (Read error: Connection reset by peer) |
| 10:58:11 | × | Lycurgus quits (~juan@98.4.112.204) (Quit: Exeunt) |
| 10:58:12 | → | azeem joins (~azeem@emp-91-123.eduroam.uu.se) |
| 11:00:55 | → | alx741 joins (~alx741@181.196.69.212) |
| 11:01:14 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
| 11:07:51 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 11:08:28 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:10:16 | × | azeem quits (~azeem@emp-91-123.eduroam.uu.se) (Read error: Connection reset by peer) |
| 11:10:33 | → | azeem joins (~azeem@emp-91-123.eduroam.uu.se) |
| 11:11:31 | → | hololeap_ joins (~hololeap@user/hololeap) |
| 11:12:36 | × | pony quits (~ed@101.53.218.157) (Quit: WeeChat 2.8) |
| 11:13:36 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
| 11:13:59 | × | stevenxl quits (sid133530@id-133530.highgate.irccloud.com) () |
| 11:14:14 | → | stevenxl joins (sid133530@id-133530.uxbridge.irccloud.com) |
| 11:14:54 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 11:15:14 | → | cheater joins (~Username@user/cheater) |
| 11:18:07 | → | lavaman joins (~lavaman@98.38.249.169) |
| 11:18:31 | → | Guest89 joins (~Guest89@45.33.134.45) |
| 11:19:56 | × | ByronJohnson quits (~bairyn@mail.digitalkingdom.org) (Ping timeout: 265 seconds) |
| 11:20:24 | × | Guest89 quits (~Guest89@45.33.134.45) (Client Quit) |
| 11:20:40 | → | ph88 joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) |
| 11:21:49 | → | ByronJohnson joins (~bairyn@mail.digitalkingdom.org) |
| 11:22:35 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:22:50 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 11:25:53 | → | fendor_ joins (~fendor@178.165.201.14.wireless.dyn.drei.com) |
| 11:27:50 | × | kayprish quits (~kayprish@46.240.130.158) (Remote host closed the connection) |
| 11:28:59 | × | fendor quits (~fendor@178.165.199.123.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
| 11:31:09 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 11:31:15 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 11:31:51 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 11:32:45 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 11:34:05 | → | burnsidesLlama joins (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
| 11:37:58 | fendor_ | is now known as fendor |
| 11:39:37 | × | burnsidesLlama quits (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 11:40:04 | <badwoman> | q |
| 11:40:10 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:40:20 | × | badwoman quits (~badwoman@221.239.55.46) (Quit: leaving) |
| 11:41:45 | → | Pickchea joins (~private@user/pickchea) |
| 11:44:34 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 11:46:34 | <Akronymus> | ⪒ someone suggested that haskellers are bound to use this as a operator at some point. |
| 11:46:47 | <Akronymus> | I personally don't see how. |
| 11:47:20 | <merijn> | Easy |
| 11:47:37 | <merijn> | > let x ⪒ y = x^2 + y^2 in 3 ⪒ 5 |
| 11:47:39 | <lambdabot> | 34 |
| 11:47:43 | bah_ | is now known as bah |
| 11:47:48 | <merijn> | Like, how would that even be a challenge? |
| 11:48:30 | <Akronymus> | But that doesn't really make much sense to use that symbol specifically. |
| 11:48:42 | <Akronymus> | I meant it more as in where that is the most appropriate symbol. |
| 11:48:48 | <int-e> | let (⪒) = compare in ... |
| 11:49:00 | <merijn> | I mean any unicode symbol can be used as operator |
| 11:49:06 | <Akronymus> | Well, duh. |
| 11:49:11 | <merijn> | > generalCategory '⪒' |
| 11:49:13 | <lambdabot> | MathSymbol |
| 11:49:39 | <merijn> | Akronymus: arahael was just joking about the number of custom operators defined |
| 11:50:00 | <arahael> | Ha. |
| 11:50:01 | <Akronymus> | I just don't really see a use for `greater than above less than above equals` as an operator |
| 11:50:13 | <Akronymus> | arahael you are seemingly everywhere |
| 11:50:28 | <int-e> | > let ꙮ = 6 in ꙮ * (ꙮ + 1) |
| 11:50:29 | <lambdabot> | 42 |
| 11:50:36 | <arahael> | Akronymus: And on 5 chat networks. |
| 11:50:42 | <Akronymus> | Oh, nice. |
| 11:50:52 | <merijn> | > generalCategory 'ꙮ' |
| 11:50:53 | <Akronymus> | Not on #fsharp though |
| 11:50:53 | <lambdabot> | OtherLetter |
| 11:50:55 | <merijn> | hah |
| 11:51:17 | <Akronymus> | > generalCategory '' |
| 11:51:18 | <lambdabot> | <hint>:1:18: error: |
| 11:51:18 | <lambdabot> | lexical error in string/character literal at character '\6158' |
| 11:51:32 | <Akronymus> | > generalCategory '' |
| 11:51:33 | <lambdabot> | <hint>:1:17: error: |
| 11:51:33 | <lambdabot> | Parser error on `''` |
| 11:51:33 | <lambdabot> | Character literals may not be empty |
| 11:51:40 | <Akronymus> | HAHAHAHA |
| 11:51:46 | <Akronymus> | I broke it. |
| 11:51:49 | <int-e> | > generalCategory '\6158' |
| 11:51:50 | <lambdabot> | Format |
| 11:52:04 | <Akronymus> | Mongolian vowel separator |
| 11:52:17 | <arahael> | Akronymus: I got tired of that language years ago. |
| 11:52:24 | <arahael> | Got fed up with .NET in general. |
| 11:52:32 | <Akronymus> | Fair nuff |
| 11:52:37 | <merijn> | F# <- you mispelled "Business OCaml" ;) |
| 11:52:49 | Akronymus | goes back to lithping |
| 11:53:16 | <Akronymus> | Which I somehow like |
| 11:54:58 | <arahael> | To be fair, I started with F# back when they were still figuring out this "null" detail. |
| 11:55:20 | <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. |
| 11:55:21 | <Akronymus> | Ewww, naked nulls. |
| 11:58:07 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 11:59:36 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:00:21 | → | arjun joins (~Srain@user/arjun) |
| 12:00:36 | <arjun> | i can't (x:xs) pattern match on Text values right? |
| 12:00:37 | × | max22- quits (~maxime@2a01cb08833598005158d0acd05c15c9.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:00:43 | <arjun> | like i can on String |
| 12:01:03 | × | nckx quits (~nckx@tobias.gr) (Quit: Updating my Guix System <https://guix.gnu.org>) |
| 12:01:17 | <arjun> | how do we do that for Text, if we have to? |
| 12:01:51 | <Hecate> | arjun: uncosn |
| 12:01:54 | <Hecate> | *uncons sorry |
| 12:02:23 | <merijn> | That's the technically correct, but probably also wrong answer >.> |
| 12:02:33 | <merijn> | What kinda matching do you want to do? |
| 12:03:04 | <arjun> | 1. if it's empty, i can probably do a null check there |
| 12:03:11 | → | nckx joins (~nckx@tobias.gr) |
| 12:03:16 | <arjun> | 2. get the first letter of a Text string |
| 12:03:20 | <merijn> | If you wanna check for empty, use T.null yes |
| 12:03:22 | <arjun> | in a variable |
| 12:03:43 | <arjun> | basically a safe `head` for Text |
| 12:04:09 | <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 |
| 12:04:55 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 12:05:07 | <arjun> | there's a head for Text, i just saw, is it infamous like the list head? |
| 12:06:22 | <arjun> | Hecate: huh, seems that way, i didn't knew about uncons |
| 12:06:28 | × | bradparker quits (sid262931@id-262931.highgate.irccloud.com) () |
| 12:06:44 | → | bradparker joins (sid262931@id-262931.uxbridge.irccloud.com) |
| 12:07:03 | × | nckx quits (~nckx@tobias.gr) (Quit: Updating my Guix System <https://guix.gnu.org>) |
| 12:07:13 | × | systemfault quits (sid267009@id-267009.highgate.irccloud.com) () |
| 12:07:29 | → | systemfault joins (sid267009@id-267009.uxbridge.irccloud.com) |
| 12:08:41 | → | max22- joins (~maxime@2a01cb08833598008d61d5f6a7875e9a.ipv6.abo.wanadoo.fr) |
| 12:09:43 | × | td_ quits (~td@94.134.91.246) (Ping timeout: 265 seconds) |
| 12:11:00 | × | yaroot quits (~yaroot@125.30.3.6) (Quit: The Lounge - https://thelounge.chat) |
| 12:11:13 | → | nckx joins (~nckx@tobias.gr) |
| 12:11:46 | → | yaroot joins (~yaroot@6.3.30.125.dy.iij4u.or.jp) |
| 12:13:59 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 12:21:51 | × | nckx quits (~nckx@tobias.gr) (Quit: Updating my Guix System <https://guix.gnu.org>) |
| 12:26:44 | × | ByronJohnson quits (~bairyn@mail.digitalkingdom.org) (Ping timeout: 268 seconds) |
| 12:27:56 | × | fendor quits (~fendor@178.165.201.14.wireless.dyn.drei.com) (Remote host closed the connection) |
| 12:29:30 | → | ByronJohnson joins (~bairyn@mail.digitalkingdom.org) |
| 12:30:26 | × | arjun quits (~Srain@user/arjun) (Ping timeout: 268 seconds) |
| 12:31:13 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 12:34:18 | × | m5zs7k quits (aquares@web10.mydevil.net) (Remote host closed the connection) |
| 12:34:54 | → | m5zs7k joins (aquares@web10.mydevil.net) |
| 12:35:19 | → | nckx joins (~nckx@tobias.gr) |
| 12:38:21 | → | arjun joins (~Srain@user/arjun) |
| 12:38:41 | → | maxime_ joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
| 12:40:04 | <sshine> | arjun, Text don't have the (:) constructor, no. |
| 12:40:18 | × | max22- quits (~maxime@2a01cb08833598008d61d5f6a7875e9a.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
| 12:40:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
| 12:45:32 | → | ystael joins (~ystael@user/ystael) |
| 12:45:51 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Ping timeout: 268 seconds) |
| 12:46:47 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 12:47:20 | <Hecate> | arjun: maybe use of the offered folds in Text if you feel like your manual recursion can be implemented as a fold :) |
| 12:48:00 | <arjun> | im just writing a simple parser by hand (for the first time) |
| 12:48:01 | × | azeem quits (~azeem@emp-91-123.eduroam.uu.se) (Read error: Connection reset by peer) |
| 12:48:10 | <Hecate> | :) |
| 12:48:12 | <Hecate> | congratulations |
| 12:48:14 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 12:48:27 | → | cheater joins (~Username@user/cheater) |
| 12:48:39 | → | azeem joins (~azeem@emp-91-123.eduroam.uu.se) |
| 12:48:52 | <arjun> | learn haskell the `idk how this works, but how hard can it be` way |
| 12:48:59 | <Hecate> | :D |
| 12:50:06 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 12:51:17 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 265 seconds) |
| 12:54:42 | × | totbwf__ quits (sid402332@highgate.irccloud.com) () |
| 12:54:51 | → | pbrisbin joins (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net) |
| 12:54:57 | → | totbwf__ joins (sid402332@id-402332.uxbridge.irccloud.com) |
| 12:55:09 | × | pretty_d1 quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 265 seconds) |
| 12:55:42 | × | betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Ping timeout: 260 seconds) |
| 12:55:52 | → | pretty_d1 joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 12:57:10 | <maerwald> | arjun: you can use patternsynonyms |
| 12:57:15 | → | betelgeuse joins (~betelgeus@94-225-47-8.access.telenet.be) |
| 12:57:42 | <arjun> | oh, hey maerwald \o |
| 12:57:54 | <arjun> | hang on, let me google that |
| 12:58:11 | <maerwald> | https://stackoverflow.com/a/66162066 |
| 12:59:29 | <arjun> | maerwald: those would fit right in |
| 12:59:34 | <arjun> | lovely |
| 13:01:16 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
| 13:01:50 | → | burnsidesLlama joins (~burnsides@client-8-90.eduroam.oxuni.org.uk) |
| 13:02:45 | → | peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
| 13:02:51 | × | burnsidesLlama quits (~burnsides@client-8-90.eduroam.oxuni.org.uk) (Read error: Connection reset by peer) |
| 13:03:17 | → | burnsidesLlama joins (~burnsides@client-8-90.eduroam.oxuni.org.uk) |
| 13:03:20 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds) |
| 13:05:37 | × | obviyus quits (sid415299@user/obviyus) () |
| 13:05:53 | → | obviyus joins (sid415299@user/obviyus) |
| 13:06:39 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 13:06:57 | → | aman joins (~aman@user/aman) |
| 13:20:05 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:21:19 | → | td_ joins (~td@94.134.91.92) |
| 13:23:32 | → | nicbk joins (~nicbk@user/nicbk) |
| 13:24:42 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 13:25:43 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 13:28:17 | → | acidjnk_new joins (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) |
| 13:28:48 | × | nicbk quits (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
| 13:29:49 | × | aman quits (~aman@user/aman) (Quit: aman) |
| 13:36:19 | × | aarchi quits (sid486183@id-486183.highgate.irccloud.com) () |
| 13:36:35 | → | aarchi joins (sid486183@id-486183.uxbridge.irccloud.com) |
| 13:37:58 | → | Pickchea joins (~private@user/pickchea) |
| 13:40:03 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 13:40:03 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 13:40:03 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:40:24 | → | slack1256 joins (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) |
| 13:41:20 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 13:41:33 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 13:49:23 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2.1) |
| 13:49:46 | × | ubert quits (~Thunderbi@178.115.54.21.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
| 14:00:55 | → | ubert joins (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) |
| 14:01:45 | → | rekahsoft joins (~rekahsoft@52.129.35.150) |
| 14:02:49 | × | rekahsoft quits (~rekahsoft@52.129.35.150) (Remote host closed the connection) |
| 14:03:31 | → | rekahsoft joins (~rekahsoft@52.129.35.150) |
| 14:05:43 | × | rekahsoft quits (~rekahsoft@52.129.35.150) (Remote host closed the connection) |
| 14:07:54 | × | ubert quits (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) (Remote host closed the connection) |
| 14:08:11 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 14:08:12 | → | ubert joins (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) |
| 14:13:56 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
| 14:14:06 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 14:15:30 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:19:10 | → | bin_ joins (~bin@user/bin/x-1583188) |
| 14:19:43 | × | _bin quits (~bin@user/bin/x-1583188) (Ping timeout: 252 seconds) |
| 14:20:28 | × | qbt quits (~edun@user/edun) (Quit: WeeChat 3.2) |
| 14:21:16 | → | kilolympus joins (~kilolympu@31.205.200.235) |
| 14:22:08 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 14:29:42 | × | T_S_ quits (sid501726@id-501726.highgate.irccloud.com) () |
| 14:30:01 | → | T_S_ joins (sid501726@id-501726.uxbridge.irccloud.com) |
| 14:30:53 | → | jcat joins (~jeicher@102.132.229.54) |
| 14:31:17 | × | Akronymus quits (~Akronymus@85.31.8.180) (Quit: getting ready for night school.) |
| 14:31:32 | ← | jcat parts (~jeicher@102.132.229.54) () |
| 14:36:40 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 14:36:54 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 14:42:17 | × | nctcf^ quits (~nctcf@68.101.54.227) (Remote host closed the connection) |
| 14:42:42 | → | Ariakenom joins (~Ariakenom@h-81-170-208-30.A163.corp.bahnhof.se) |
| 14:45:27 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:45:33 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 14:47:00 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 14:47:03 | → | nvmd joins (~nvmd@user/nvmd) |
| 14:47:16 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 14:47:28 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 14:48:40 | <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}" |
| 14:48:40 | <adamCS> | with someTill_ but that didn't work either. |
| 14:50:27 | <adamCS> | The parseAtEnd thing fails the same way, "unexpected space, expecting end of input" after any parenthesized thing before the final one. |
| 14:51:15 | → | favonia joins (~favonia@user/favonia) |
| 14:52:16 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 14:55:14 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 14:55:24 | × | Ariakenom quits (~Ariakenom@h-81-170-208-30.A163.corp.bahnhof.se) (Read error: Connection reset by peer) |
| 14:55:55 | × | burnsidesLlama quits (~burnsides@client-8-90.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 14:57:00 | × | ubert quits (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) (Quit: ubert) |
| 14:57:14 | → | ubert joins (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) |
| 14:57:54 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 14:58:27 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
| 15:00:05 | <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. |
| 15:00:46 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 15:00:53 | <adamCS> | dminuoso: Huh. I think I just got it to work by adding "try" to "parseAtEnd p" but now you have me worried... |
| 15:00:54 | <dminuoso> | Or you try and do an earlier lexing pass that split along that line |
| 15:01:12 | <merijn> | tbh it just sounds like incorrect backtracking? |
| 15:01:36 | <adamCS> | What do you mean? I am new to parsing so I am guessing a lot... |
| 15:02:20 | × | ubert quits (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 15:02:20 | <dminuoso> | If you try the naive approach, this will cause high amounts of backtracking |
| 15:02:33 | <merijn> | adamCS: Well, the "correct" final parens are followed by a newline, yes? |
| 15:02:37 | → | ubert joins (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) |
| 15:02:49 | <merijn> | And presumably newlines are not allowed in the preceding part? |
| 15:02:53 | <adamCS> | merijn: end of input, but yes. |
| 15:03:07 | <dminuoso> | If its eof, that might be even worse. |
| 15:03:23 | <adamCS> | I'm only parsing "YYYYYYYYYYYYYYYYY (XXX)" where the Y can each be anything as can the X |
| 15:03:24 | <merijn> | actually, rewind |
| 15:03:36 | <merijn> | pastebin minimal parser + input + error |
| 15:03:48 | <dminuoso> | I would simply strip off 4 characters at the end, and deal with it separately. :p |
| 15:04:02 | <dminuoso> | rather than backtracking the hell out of this |
| 15:04:53 | <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. |
| 15:05:31 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 15:06:10 | <sshine> | adamCS, if this were regex, would /^.* \(.*\)$/ match your string? |
| 15:06:46 | <adamCS> | sshine: yes |
| 15:07:41 | × | ubert quits (~Thunderbi@77.119.166.250.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
| 15:08:48 | → | pfurla_ joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 15:09:24 | <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. |
| 15:09:26 | <myShoggoth> | HF Office Hours in 50 minutes: https://www.twitch.tv/myshoggoth |
| 15:10:12 | → | fendor joins (~fendor@178.165.201.14.wireless.dyn.drei.com) |
| 15:10:26 | <adamCS> | merijn: https://pastebin.com/cKUgZ1qj |
| 15:11:10 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 15:12:02 | <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. |
| 15:12:28 | <sshine> | adamCS, it'd be "everything until the '(', then either a last "(YYY)" or a '(' and a recursive call to one-self"... or something. |
| 15:15:50 | <raehik> | Troubleshooting a C FFI bug that only shows up on Windows. Thinking it's down to integer type sizing differences |
| 15:16:07 | <raehik> | %sizeOf @CLong undefined |
| 15:16:33 | <raehik> | > sizeOf @CLong undefined |
| 15:16:35 | <lambdabot> | error: |
| 15:16:35 | <lambdabot> | Pattern syntax in expression context: sizeOf@CLong |
| 15:16:35 | <lambdabot> | Did you mean to enable TypeApplications? |
| 15:16:47 | <raehik> | > sizeOf (undefined :: CLong) |
| 15:16:48 | <lambdabot> | error: |
| 15:16:48 | <lambdabot> | Not in scope: type constructor or class ‘CLong’ |
| 15:16:56 | <merijn> | Querying CLong in lambdabot isn't gonna do much useful, tbh |
| 15:17:04 | <merijn> | raehik: Are you using the right foreign calling convention? |
| 15:17:12 | <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) |
| 15:17:12 | <merijn> | Windows has, like, 3 doesn't it? |
| 15:17:16 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:17:16 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 15:17:16 | → | wroathe joins (~wroathe@user/wroathe) |
| 15:17:48 | <raehik> | merijn: is that not something the GHC runtime handles? it's the same C library on both Windows and Linux |
| 15:18:10 | <merijn> | raehik: foreign imports specify calling convention |
| 15:18:37 | <merijn> | raehik: GHC can't magically handle that for you, because it's not psychic |
| 15:18:48 | <merijn> | Can you link to the relevant foreign imports? |
| 15:20:27 | <raehik> | of course ty for help https://github.com/camfort/camfort/blob/f7241ebcc6ab9c8721ebdb6c283a3fea0ea08940/src/Camfort/Specification/Units/InferenceBackendFlint.hs#L69 |
| 15:20:54 | <raehik> | I've only ever seen `foreign import ccall unsafe` (and successfully used it in crossplatform libs) |
| 15:21:13 | <merijn> | ok, first off |
| 15:21:21 | <merijn> | Find out whoever added "unsafe" and hit them for me |
| 15:21:38 | <raehik> | hahaha dang he's not in the channel xD |
| 15:22:05 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 15:22:11 | → | waleee joins (~waleee@student-223-182.eduroam.uu.se) |
| 15:22:23 | <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 |
| 15:22:45 | <merijn> | Also, pretty sure ccall is always wrong on windows |
| 15:23:27 | <raehik> | ooer. well, it compiles and successfully calls the linked lib. but runtime errors |
| 15:23:38 | → | proofofkeags_ joins (~proofofke@205.209.28.54) |
| 15:24:09 | <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 |
| 15:24:59 | × | sheddow quits (~sheddow@84-52-255.245.3p.ntebredband.no) (Ping timeout: 256 seconds) |
| 15:25:00 | <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? |
| 15:25:25 | <merijn> | Well, is your GHC built with MinGW? |
| 15:25:45 | <merijn> | Using a different toolchain for GHC and C code is a recipe for sadness |
| 15:25:51 | <raehik> | tentative yes -- I used ghcup |
| 15:26:18 | <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 |
| 15:26:19 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
| 15:26:22 | <merijn> | Then there's also the difference between stdcall and ccall on Windows |
| 15:27:36 | <merijn> | raehik: GHC determines sizes of CLong, etc. at compile time and pretty sure that depends on the C toolchain used during GHC build |
| 15:28:05 | → | asivitz joins (uid178348@id-178348.tinside.irccloud.com) |
| 15:28:06 | <sshine> | adamCS, could X and Y be parentheses? |
| 15:28:36 | × | dajoer quits (~david@user/gvx) (Quit: leaving) |
| 15:28:50 | <raehik> | merijn: great, that helps a lot |
| 15:31:46 | <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 |
| 15:32:21 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 15:32:21 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 15:32:25 | → | cheater1__ joins (~Username@user/cheater) |
| 15:32:29 | cheater1__ | is now known as cheater |
| 15:32:34 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 15:37:59 | <sshine> | adamCS, I'm probably missing some detail: https://gist.github.com/sshine/1a62e4225dc9df9612ffb908b1898310 |
| 15:42:03 | × | Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds) |
| 15:42:46 | × | waleee quits (~waleee@student-223-182.eduroam.uu.se) (Ping timeout: 260 seconds) |
| 15:42:52 | → | ph88^ joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) |
| 15:43:48 | → | Chai-T-Rex joins (~ChaiTRex@user/chaitrex) |
| 15:44:48 | → | waleee joins (~waleee@student-223-182.eduroam.uu.se) |
| 15:46:08 | × | ph88 quits (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
| 15:48:53 | → | doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net) |
| 15:49:20 | × | jespada quits (~jespada@90.254.245.194) (Quit: Textual IRC Client: www.textualapp.com) |
| 15:49:46 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
| 15:50:35 | × | ehamberg quits (sid18208@stonehaven.irccloud.com) () |
| 15:50:51 | → | ehamberg joins (sid18208@id-18208.hampstead.irccloud.com) |
| 15:53:32 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 268 seconds) |
| 15:54:07 | × | amir quits (sid22336@user/amir) () |
| 15:54:23 | → | amir joins (sid22336@user/amir) |
| 15:55:11 | → | pzanco joins (~pzanco@2804:14c:3ba1:42d:2204:fff:feff:44a0) |
| 15:57:30 | × | pzanco quits (~pzanco@2804:14c:3ba1:42d:2204:fff:feff:44a0) (Client Quit) |
| 16:00:11 | × | boxscape quits (~boxscape@user/boxscape) (Quit: You have been kicked for being idle) |
| 16:00:53 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 16:02:08 | × | jakesyl quits (sid56879@id-56879.stonehaven.irccloud.com) () |
| 16:02:31 | oats | is now known as germaneZed |
| 16:02:41 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 16:02:42 | → | jakesyl joins (sid56879@id-56879.hampstead.irccloud.com) |
| 16:02:54 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 16:03:02 | germaneZed | is now known as oats |
| 16:03:19 | × | tritlo quits (sid58727@user/tritlo) () |
| 16:03:34 | → | tritlo joins (sid58727@user/tritlo) |
| 16:05:55 | → | fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
| 16:07:47 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
| 16:08:03 | → | Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr) |
| 16:09:17 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:09:25 | × | arjun quits (~Srain@user/arjun) (Remote host closed the connection) |
| 16:09:44 | × | dmj` quits (sid72307@stonehaven.irccloud.com) () |
| 16:09:59 | → | dmj` joins (sid72307@id-72307.hampstead.irccloud.com) |
| 16:23:06 | × | fendor quits (~fendor@178.165.201.14.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 16:25:55 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 16:27:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 16:28:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:30:44 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:31:09 | × | waleee quits (~waleee@student-223-182.eduroam.uu.se) (Ping timeout: 268 seconds) |
| 16:31:53 | → | fendor joins (~fendor@178.165.201.14.wireless.dyn.drei.com) |
| 16:34:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 16:34:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:35:28 | × | xff0x quits (~xff0x@2001:1a81:53ae:3300:dc85:5fb:77a4:62d3) (Ping timeout: 268 seconds) |
| 16:35:55 | → | xff0x joins (~xff0x@2001:1a81:53ae:3300:c6aa:b7ee:2ee7:d7f8) |
| 16:40:23 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 16:41:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:45:56 | × | abrar_ quits (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (Quit: WeeChat 2.9) |
| 16:46:23 | → | abrar joins (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) |
| 16:46:34 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 16:47:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:48:21 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 16:52:31 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 16:52:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:52:52 | → | maxime__ joins (~maxime@2a01cb0883359800e03cdee15bbb1cbf.ipv6.abo.wanadoo.fr) |
| 16:53:21 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 16:54:47 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 16:55:51 | × | maxime_ quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 265 seconds) |
| 16:57:13 | → | econo joins (uid147250@user/econo) |
| 16:58:17 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 16:59:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:00:30 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
| 17:03:14 | → | nicbk joins (~nicbk@user/nicbk) |
| 17:04:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 17:05:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:08:01 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 17:08:15 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 17:10:30 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 17:10:57 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:11:18 | → | pavonia joins (~user@user/siracusa) |
| 17:11:35 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:11:51 | × | acidjnk_new quits (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 17:13:30 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 17:15:35 | → | ubert joins (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) |
| 17:16:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 17:16:57 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:19:02 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds) |
| 17:19:33 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 17:22:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 17:22:39 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:24:06 | × | nicbk quits (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
| 17:24:41 | × | Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Quit: ran away) |
| 17:27:11 | <adamCS> | sshine: Yes, X could be parentheses. |
| 17:27:31 | → | mikoto-chan joins (~mikoto-ch@83.137.2.243) |
| 17:28:22 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 17:28:35 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 17:28:35 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
| 17:28:38 | <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. |
| 17:28:42 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 17:28:57 | <adamCS> | (Not the version I pasted, but that with "try" before "atEnd") |
| 17:31:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 17:32:43 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
| 17:33:00 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 17:33:00 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 17:33:00 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:33:13 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 17:34:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:35:38 | → | Pickchea joins (~private@user/pickchea) |
| 17:36:41 | → | nctcf^ joins (~nctcf@68.101.54.227) |
| 17:39:24 | × | ikex quits (ash@user/ikex) (Quit: ZNC - https://znc.in) |
| 17:39:44 | → | ikex joins (~ash@user/ikex) |
| 17:40:33 | <Franciman> | how can I enable the Strict pragma? |
| 17:40:38 | <Franciman> | it does not seem to work |
| 17:40:47 | <Franciman> | because when I mark {-# UNPACK #-} the fields of my record |
| 17:40:51 | <Franciman> | ghc cries |
| 17:40:54 | <Franciman> | saying it is unusable |
| 17:41:00 | <Franciman> | what am I doing wrong, ziocan? |
| 17:41:17 | × | arahael quits (~arahael@203.221.121.242) (Ping timeout: 245 seconds) |
| 17:41:32 | <Franciman> | https://bpa.st/XK3A |
| 17:41:34 | <Franciman> | here is my code |
| 17:41:37 | → | pony joins (~ed@101.53.218.157) |
| 17:44:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 17:44:49 | × | nctcf^ quits (~nctcf@68.101.54.227) (Remote host closed the connection) |
| 17:45:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:46:55 | × | Cajun quits (~Cajun@user/cajun) (Quit: Client closed) |
| 17:48:07 | × | mikoto-chan quits (~mikoto-ch@83.137.2.243) (Ping timeout: 252 seconds) |
| 17:48:49 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 17:49:00 | × | pjlsergeant quits (sid143467@id-143467.stonehaven.irccloud.com) () |
| 17:49:03 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 17:49:16 | → | pjlsergeant joins (sid143467@id-143467.hampstead.irccloud.com) |
| 17:50:29 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 17:50:50 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:52:03 | → | cemerick joins (sid54985@id-54985.uxbridge.irccloud.com) |
| 17:52:14 | ← | cemerick parts (sid54985@id-54985.uxbridge.irccloud.com) () |
| 17:53:47 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 17:54:09 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 17:54:26 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 17:55:01 | × | bin_ quits (~bin@user/bin/x-1583188) (Ping timeout: 268 seconds) |
| 17:56:44 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
| 18:00:08 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
| 18:01:07 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 18:02:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:03:53 | <geekosaur> | IIRC you cannot UNPACK an ADT with multiple alternatives like that |
| 18:04:26 | <geekosaur> | also I think LANGUAGE Strict is going to make you very unhappy with that Y combinator |
| 18:04:53 | × | azeem quits (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 268 seconds) |
| 18:05:29 | <Franciman> | geekosaur: i don't care |
| 18:05:32 | <Franciman> | I don't use it |
| 18:06:05 | <Franciman> | if I could get a more understandable performance, I'd be happy |
| 18:06:14 | <Franciman> | probably haskell is not the right language for my task I know |
| 18:06:20 | <Franciman> | but it makes for excellent prototyping ^^ |
| 18:07:42 | × | rubin55 quits (sid175221@id-175221.stonehaven.irccloud.com) () |
| 18:07:58 | → | rubin55 joins (sid175221@id-175221.hampstead.irccloud.com) |
| 18:08:45 | → | arahael joins (~arahael@203.221.121.242) |
| 18:09:16 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
| 18:12:17 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 18:12:51 | → | sheddow joins (~sheddow@84-52-255.245.3p.ntebredband.no) |
| 18:13:18 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:13:43 | → | azeem joins (~azeem@2a00:801:3c7:fe55:ef64:2dcc:d00c:3ee5) |
| 18:16:27 | → | awschnap joins (~lavaman@98.38.249.169) |
| 18:16:27 | × | lavaman quits (~lavaman@98.38.249.169) (Read error: Connection reset by peer) |
| 18:17:09 | → | nicbk joins (~nicbk@user/nicbk) |
| 18:18:59 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 18:19:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:20:50 | × | amk quits (~amk@109.255.169.126) (Remote host closed the connection) |
| 18:21:50 | × | bjobjo quits (~bjobjo@user/bjobjo) (Quit: moar hardware) |
| 18:22:12 | <Franciman> | help |
| 18:22:16 | <Franciman> | cabal is trying to kill me |
| 18:22:31 | <Franciman> | it says that my .cabal file says base >=^4.14.2.0 |
| 18:22:32 | <Franciman> | but it is false |
| 18:22:35 | <Franciman> | it won't compile |
| 18:22:42 | <Franciman> | what di I do? |
| 18:22:48 | <Franciman> | I just tried enable profiling |
| 18:22:52 | <Franciman> | and it got crazy |
| 18:22:59 | <Franciman> | https://bpa.st/D7JQ |
| 18:23:01 | <Franciman> | first this |
| 18:23:08 | <Franciman> | now the |
| 18:26:14 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Ping timeout: 265 seconds) |
| 18:28:24 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 18:28:44 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 18:29:22 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 18:30:24 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:32:23 | → | amk joins (~amk@109.255.169.126) |
| 18:33:58 | × | awschnap quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 18:34:17 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
| 18:35:43 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 18:36:20 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:38:23 | → | kenran joins (~kenran@200116b82bd65b0032a5b04a485f27fe.dip.versatel-1u1.de) |
| 18:40:31 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 18:41:10 | → | hexfive joins (~eric@50.35.83.177) |
| 18:41:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 18:41:54 | × | hexfive quits (~eric@50.35.83.177) (Client Quit) |
| 18:42:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:42:51 | × | astra` quits (sid289983@user/amish) () |
| 18:43:10 | → | astra` joins (sid289983@user/amish) |
| 18:46:19 | → | renzhi joins (~xp@2607:fa49:6500:b100::5845) |
| 18:47:30 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 18:47:42 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:48:36 | × | nicbk quits (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
| 18:49:23 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 18:50:49 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds) |
| 18:54:00 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 18:56:49 | × | Firedancer quits (sid336191@id-336191.stonehaven.irccloud.com) () |
| 18:57:04 | → | Firedancer joins (sid336191@id-336191.hampstead.irccloud.com) |
| 18:57:39 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 18:58:16 | <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 |
| 18:59:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:00:35 | → | sneedsfeed joins (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) |
| 19:01:10 | × | retroid_ quits (~retro@176.255.22.194) (Read error: Connection reset by peer) |
| 19:02:54 | → | mikoto-chan joins (~mikoto-ch@83.137.2.243) |
| 19:03:19 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 19:05:41 | × | mikoto-chan quits (~mikoto-ch@83.137.2.243) (Client Quit) |
| 19:06:37 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 19:09:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 19:10:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:11:32 | × | fresheyeball quits (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
| 19:15:31 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
| 19:15:34 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 19:16:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:17:36 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 19:18:51 | <sneedsfeed> | Is there a way to pattern match literals in a lambda? |
| 19:19:18 | <maerwald> | You mean LambdaCase? |
| 19:19:24 | <sneedsfeed> | yea |
| 19:19:29 | <sneedsfeed> | that sounds right |
| 19:19:32 | <maerwald> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/lambda_case.html |
| 19:20:05 | <sneedsfeed> | neat |
| 19:21:04 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 19:21:33 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 19:21:57 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:22:09 | × | hamishmack quits (sid389057@stonehaven.irccloud.com) () |
| 19:22:24 | → | hamishmack joins (sid389057@id-389057.hampstead.irccloud.com) |
| 19:29:26 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:29:27 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 19:29:27 | → | wroathe joins (~wroathe@user/wroathe) |
| 19:31:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 19:33:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:41:25 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) () |
| 19:41:49 | → | hnOsmium0001 joins (uid453710@id-453710.hampstead.irccloud.com) |
| 19:43:34 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 19:45:11 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:49:06 | × | fendor quits (~fendor@178.165.201.14.wireless.dyn.drei.com) (Remote host closed the connection) |
| 19:50:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 19:51:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:51:44 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 19:52:28 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 19:53:49 | × | nvmd quits (~nvmd@user/nvmd) (Ping timeout: 268 seconds) |
| 19:55:33 | → | nvmd joins (~nvmd@user/nvmd) |
| 19:56:06 | wrengr_away | is now known as wrengr |
| 19:56:17 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 19:56:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:57:35 | × | acertain quits (sid470584@id-470584.stonehaven.irccloud.com) () |
| 19:57:50 | → | acertain joins (sid470584@id-470584.hampstead.irccloud.com) |
| 19:59:15 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 19:59:22 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
| 20:00:46 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 20:02:24 | × | SanchayanMaity quits (sid478177@id-478177.stonehaven.irccloud.com) () |
| 20:02:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 20:02:35 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:02:39 | → | SanchayanMaity joins (sid478177@id-478177.hampstead.irccloud.com) |
| 20:02:47 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
| 20:05:02 | × | juhp quits (~juhp@128.106.188.220) (Ping timeout: 260 seconds) |
| 20:05:22 | → | acidjnk_new joins (~acidjnk@p200300d0c720309498f6e7a7a92d4c02.dip0.t-ipconnect.de) |
| 20:06:47 | → | juhp joins (~juhp@128.106.188.220) |
| 20:08:27 | → | System12_ joins (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) |
| 20:11:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 20:11:35 | × | pmk quits (~user@2a02:587:9416:c4cd:a38a:dea2:e28e:646d) (Remote host closed the connection) |
| 20:11:40 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:12:19 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 20:14:37 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:21:16 | × | mustafa quits (sid502723@rockylinux/releng/mustafa) () |
| 20:21:32 | → | mustafa joins (sid502723@rockylinux/releng/mustafa) |
| 20:27:37 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 20:30:46 | × | maxime__ quits (~maxime@2a01cb0883359800e03cdee15bbb1cbf.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 20:30:55 | × | chomwitt quits (~chomwitt@2a02:587:dc14:5d00:12c3:7bff:fe6d:d374) (Remote host closed the connection) |
| 20:31:54 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 20:33:04 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:33:05 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 20:33:05 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:33:53 | → | zebrag joins (~chris@user/zebrag) |
| 20:34:32 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 20:34:45 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 20:35:13 | → | Cajun joins (~Cajun@user/cajun) |
| 20:38:12 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:38:18 | → | max22- joins (~maxime@2a01cb0883359800c3e0f756754ec9b4.ipv6.abo.wanadoo.fr) |
| 20:39:01 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
| 20:42:52 | <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? |
| 20:43:21 | <ldlework> | In otherwords, by combining <$> and <*> you can lift a binary function |
| 20:43:22 | × | doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 268 seconds) |
| 20:43:46 | × | peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 260 seconds) |
| 20:45:05 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
| 20:45:27 | <dibblego> | pretty much right; just remember that all functions take one argument, always |
| 20:46:32 | <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? |
| 20:47:02 | <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 |
| 20:47:22 | <awpr> | re the initial question, that is |
| 20:47:55 | <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) |
| 20:47:58 | <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" |
| 20:48:48 | <ldlework> | that's what i was thinking at the time, i haven't forgotten what actually happens |
| 20:48:56 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:49:01 | <ldlework> | i figured maybe others would be reminded though |
| 20:49:12 | <dibblego> | in fp-course, we don't use it as a shorthand until it is fully understood, by exactly this exercise |
| 20:50:56 | <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 |
| 20:51:31 | <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 |
| 20:52:06 | <ldlework> | understanding `f` as "Maybe" (in cases where it's Maybe, and friends) has been confusing. |
| 20:52:09 | <dibblego> | yes, I agree this can cause issues in explanation |
| 20:52:32 | <ldlework> | "Provided the 𝑓 is a type with a Monoid instance.." |
| 20:52:33 | <awpr> | sadly I don't know of a better syntax. sometimes I use uppercased standin type names |
| 20:52:55 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:52:56 | <ldlework> | It took me a while to realize they meant `Maybe` |
| 20:53:00 | <ldlework> | And not some function |
| 20:53:14 | <ldlework> | But to HFFP's credit this is all explained in meticulous detail in previous chapters |
| 20:53:18 | × | tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Read error: Connection reset by peer) |
| 20:53:32 | <ldlework> | It's just that at some point you move on in a book not having perfectly internalized every notion along the way |
| 20:53:51 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 20:53:54 | → | tabemann joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
| 20:54:46 | <ldlework> | `f a` really means, "some wrapped value" rather than, "the result of some function f applied to a" |
| 20:57:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 20:58:34 | × | tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 268 seconds) |
| 20:58:59 | <geekosaur> | so you don't like type level using the syntax as term level |
| 20:59:06 | × | psilospore quits (uid517704@id-517704.stonehaven.irccloud.com) () |
| 20:59:20 | <geekosaur> | where `f a` means a type level function applied to the type a |
| 20:59:26 | → | psilospore joins (uid517704@id-517704.hampstead.irccloud.com) |
| 20:59:33 | <geekosaur> | (`Maybe` being such a function) |
| 21:00:24 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 21:00:59 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 21:01:46 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 21:03:42 | Lord_of_Life_ | is now known as Lord_of_Life |
| 21:03:54 | <ldlework> | geekosaur: I get it now just conveying my confusion along the way :P |
| 21:05:11 | <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) |
| 21:05:36 | <dibblego> | we do that in fp-course |
| 21:05:45 | <awpr> | awesome |
| 21:06:45 | × | kenran quits (~kenran@200116b82bd65b0032a5b04a485f27fe.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 21:09:03 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
| 21:10:12 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 21:12:30 | × | michalz quits (~michalz@185.246.204.57) (Remote host closed the connection) |
| 21:24:52 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 21:25:07 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 21:25:42 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
| 21:26:00 | <ldlework> | Another benefit to this applicative stuff, is that it can shortcircuit right? |
| 21:26:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:26:20 | <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 |
| 21:27:30 | <dibblego> | for Maybe yeah |
| 21:27:38 | <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. |
| 21:27:46 | × | xff0x quits (~xff0x@2001:1a81:53ae:3300:c6aa:b7ee:2ee7:d7f8) (Ping timeout: 268 seconds) |
| 21:28:06 | → | xff0x joins (~xff0x@2001:1a81:53ae:3300:503:d23a:62d3:e8da) |
| 21:28:47 | <janus> | infinity0: why do you suggest using IO to seed the hash function for unordered-containers? why can't it be RandomGen? |
| 21:29:10 | ldlework | takes a guess |
| 21:29:22 | <ldlework> | Because it wont really be random unless you use some actual randomness from outside the program? |
| 21:29:31 | <ldlework> | "really be random" you know what I mean |
| 21:30:11 | <c_wraith> | does it need to be? |
| 21:30:46 | <ldlework> | dunno. i thought it was actually pretty cool that graphics program always did the same thing |
| 21:30:58 | <ldlework> | but I could see for a game or something you might want a random seed |
| 21:31:11 | <ldlework> | that graphics program I made* |
| 21:31:13 | <sshine> | RandomGen is a class, so I suppose the instance decides where the (pseudo-/actual) randomness comes from? |
| 21:31:15 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 21:31:50 | <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. |
| 21:32:24 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 21:32:37 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:33:19 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
| 21:35:34 | × | slack1256 quits (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) (Ping timeout: 268 seconds) |
| 21:35:39 | <ldlework> | Why does <*> produce a product? |
| 21:36:19 | <dibblego> | it doesn't though |
| 21:37:23 | <ldlework> | > (,) <$> [1, 2] <*> [10, 20] |
| 21:37:24 | <lambdabot> | [(1,10),(1,20),(2,10),(2,20)] |
| 21:37:45 | <dibblego> | that is (,) producing a product |
| 21:37:59 | <dibblego> | or maybe you mean the [] Applicative producing a product |
| 21:38:07 | <ldlework> | So it's the instance's implementation |
| 21:38:19 | <ldlework> | that decides the behavior |
| 21:38:25 | <ldlework> | because of course it is |
| 21:38:26 | <dibblego> | Yes. |
| 21:38:27 | <ldlework> | ok |
| 21:38:57 | <sshine> | > [(+1), (+2)] <*> [0, 5, 10] |
| 21:38:59 | <lambdabot> | [1,6,11,2,7,12] |
| 21:39:23 | <ldlework> | ok that's confusing |
| 21:39:27 | <ldlework> | wait no it's not |
| 21:39:29 | <ldlework> | ok |
| 21:39:33 | <sshine> | kinda looks like a product |
| 21:39:35 | <dibblego> | yeah it is |
| 21:39:48 | <ldlework> | it's still the [] Applicative at play |
| 21:40:12 | <dibblego> | you may approximately think of the [] Applicative as "loops within loops" where the total number of loops is the number of (<*>) + 1 |
| 21:40:20 | <ldlework> | soon i will be able to mold my brain into an arm chair and recline upon it |
| 21:40:36 | <dibblego> | (,) means: "make a tuple within the inner loop" |
| 21:40:40 | <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 |
| 21:40:46 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 21:40:46 | <janus> | wanna use |
| 21:40:49 | × | jonatan quits (~nate@h85-8-60-194.cust.a3fiber.se) (Ping timeout: 252 seconds) |
| 21:41:04 | <sshine> | ldlework, your brain already did that to itself; it's called a spine :-D |
| 21:42:05 | <janus> | i was wondering, is it maybe some dependency graph problem? can't unordered containers depend on the 'random' package? |
| 21:42:34 | × | xff0x quits (~xff0x@2001:1a81:53ae:3300:503:d23a:62d3:e8da) (Ping timeout: 268 seconds) |
| 21:43:06 | <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 |
| 21:43:16 | → | xff0x joins (~xff0x@2001:1a81:53ae:3300:d2cc:9d43:abd1:db1a) |
| 21:43:59 | <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 |
| 21:44:05 | <awpr> | likewise with unordered-containers. I guess the existing API could stay in place unchanged and a salted API could be added alongside it |
| 21:44:25 | × | System12_ quits (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) (Ping timeout: 268 seconds) |
| 21:44:45 | <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 |
| 21:44:48 | <awpr> | but that doesn't fix anyone, and would result in most users still using the vulnerable version by default |
| 21:44:53 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 21:44:54 | <awpr> | I mean my suggestion |
| 21:45:39 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 21:45:46 | <awpr> | yeah, if we're allowed to break backwards compat, there are lots of ways to avoid it |
| 21:46:25 | <janus> | i really hope we won't give up on values like referential transparency just because people can't be bothered to upgrade |
| 21:47:27 | <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! |
| 21:47:32 | <awpr> | I doubt anyone's willing to break referential transparency. |
| 21:47:59 | <janus> | awpr: wouldn't it be amounting to that if you read the seed from the unix env? |
| 21:48:14 | <sshine> | :t System.IO.Unsafe.unsafePerformIO |
| 21:48:15 | <lambdabot> | IO a -> a |
| 21:48:29 | <awpr> | if the program explicitly reads in in `main` and plumbs it around, no |
| 21:48:42 | <sshine> | I think that's perfectly agreeable, if we just prefix every combinator with 'unsafe'. :-D |
| 21:48:50 | <awpr> | if it's implicitly read by a pure function inside unsafePerformIO, then yes, mostly |
| 21:49:38 | <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 |
| 21:51:12 | <janus> | awpr: hashable has a function called "hash :: a -> Int". the function will give you a different number based on the environment variable, right? |
| 21:51:19 | <sshine> | awpr, you'd have programs that behave differently depending on the iteration in which you run them. |
| 21:51:27 | → | _bin joins (~bin@user/bin/x-1583188) |
| 21:51:31 | <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 |
| 21:51:46 | <awpr> | janus: no, there should be a hashWithSalt function (there is, isn't there?) |
| 21:52:05 | <awpr> | sshine: yes, that seems like a bad thing, but I'm not sure referential transparency is exactly what it breaks |
| 21:54:41 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
| 21:54:41 | <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? |
| 21:54:50 | <awpr> | I didn't propose using an environment variable. |
| 21:55:31 | <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 |
| 21:55:36 | <[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 |
| 21:55:43 | <janus> | so i am just trying to understand how it would not constitute breaking referential transparency |
| 21:56:31 | <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. :) |
| 21:57:22 | <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 |
| 21:58:10 | <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 |
| 21:58:37 | <janus> | ok, i guess sshine is right |
| 21:59:42 | <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 :) |
| 22:00:19 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
| 22:01:26 | <sshine> | janus, which one do you have in mind? |
| 22:01:29 | <[exa]> | man is there really no alternative of kinda-better-than-hashtable performance? no reasonable array-packed tries or some other stuff? |
| 22:02:00 | <sshine> | [exa], bloom filters? >;) |
| 22:02:25 | <janus> | sshine: i think it sounds reasonable to 1. make Object in opaque in aeson, release breaking new version that uses Map internally and requires Ord |
| 22:02:56 | <janus> | 2. add newHashMapWithSalt :: RandomGen m => m (HashMap a b) to unordered-containers |
| 22:03:00 | <[exa]> | sshine: bloom filters are kinda constant by default, no need to break referential transparency there |
| 22:04:12 | <sshine> | janus, yeah, I suppose. but I don't know how subscribers feel about it. it's either that or changing the way you inject a seed, which is gonna be super messy because there isn't one effect system to rule them all. |
| 22:04:22 | → | acidjnk_new3 joins (~acidjnk@p200300d0c7203094152b258e26158264.dip0.t-ipconnect.de) |
| 22:04:39 | hololeap_ | is now known as hololeap |
| 22:04:44 | <awpr> | `Word64 -> HashMap a b`? |
| 22:04:45 | <sshine> | janus, right |
| 22:05:15 | → | wroathe joins (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) |
| 22:05:16 | × | wroathe quits (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host) |
| 22:05:16 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:05:20 | <awpr> | no need to bake the random number generation into unordered-containers, as far as I can tell, just let callers choose how to get their salt |
| 22:05:23 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 268 seconds) |
| 22:05:41 | <sshine> | awpr, right. |
| 22:05:46 | <janus> | awpr: yeah that one too, sure, but RandomGen is an interface, you can make your own randomGen that always returns 4 ;) so not strictly needed. |
| 22:06:19 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 22:06:23 | <awpr> | not a fan of needing to define fake random number generators to pass in a number |
| 22:06:31 | <sshine> | awpr, it's not a fake one. |
| 22:06:44 | <awpr> | it sure violates the concept of the class, though |
| 22:07:02 | <janus> | awpr: what is your use case? reproducability? there is loads of infrastructure already that let's you reproduce easily |
| 22:07:10 | <awpr> | what the hash map needs to be constructed isn't a random number generator, it's a number |
| 22:07:20 | <sshine> | awpr, no. randomness with a known seed is still pseudo-random. |
| 22:07:31 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:07:52 | <awpr> | all of the randomness we're talking about is pseudo-random |
| 22:08:01 | <ldlework> | generated randomness from an unknown seed is still pseudo-ranom |
| 22:08:03 | <ldlework> | heh yeah |
| 22:08:15 | × | acidjnk_new quits (~acidjnk@p200300d0c720309498f6e7a7a92d4c02.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 22:08:23 | <janus> | well i just fear that people talking about IO do that because they think that IO is somehow 'more random' than a PRNG |
| 22:08:24 | <sshine> | I suppose having a basic data type with a big, fat disclaimer that says "don't put 'user' data into this one" isn't so good. :) so that warrants breaking the module API. |
| 22:08:24 | <ldlework> | i mean we can get philosophical and say randomness is epistemological, but heh |
| 22:08:34 | <hpc> | even /dev/random uses seeded prng values |
| 22:08:38 | <janus> | similar to how people used /dev/random because they were afraid that /dev/urandom wasn't enough |
| 22:09:43 | <janus> | hpc: only does that because people coded against random when they didn't really need it , right? |
| 22:09:48 | <hpc> | janus: the thing that ultimately snapped me out of it was "we're afraid of using less than one bit of entropy per one bit of randomness, but not afraid of using 2048 bits of entropy to secure unknown gigs of https traffic" |
| 22:10:44 | <hpc> | janus: as of i-forget-when, /dev/random is the same as /dev/urandom iirc |
| 22:10:54 | <janus> | right, only because people were irrationally afraid |
| 22:11:03 | <sshine> | I recall that, too |
| 22:11:27 | <janus> | doesn't make sense to work around kernel bugs, futile endavour.... i respect defence in depth, but come on... |
| 22:11:31 | <hpc> | anyhoo that was more at awpr's notion of "fake randomness" |
| 22:11:47 | <sshine> | I somehow, in my brain, always defaulted to /dev/urandom unless I had a reason not to, and I never did have a reason not to. |
| 22:12:06 | <awpr> | the thing I called "fake randomness" is `newtype UseThisSalt = UseThisSalt Word64; instance RandomGen UseThisSalt` |
| 22:12:31 | <hpc> | i had an alias to force entropy by doing wc -l recursively over / |
| 22:12:49 | <hpc> | for when something was using /dev/random and being slow about it |
| 22:13:09 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 22:14:11 | <[exa]> | oh fun, I remmeber when taking stuff from /dev/random actually blocked |
| 22:14:24 | × | max22- quits (~maxime@2a01cb0883359800c3e0f756754ec9b4.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 22:15:01 | <sshine> | I recently generated a GPG key. it went sadly fast. |
| 22:15:39 | <hpc> | somehow it's more satisfying when it takes forever lol |
| 22:16:03 | <sshine> | yes, it gave a perception of fortitude. |
| 22:16:15 | <janus> | i saw my tormented childhood in the ascii art of my gpg key. so i hacked my kernel to disable its randomness, now i feel better. |
| 22:17:00 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 22:17:12 | <hpc> | go full xkcd, make /dev/random a pipe to $(yes 4) |
| 22:17:13 | <hpc> | :D |
| 22:17:37 | <hpc> | this is rapidly getting -offtopic |
| 22:18:36 | × | ubert quits (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) (Quit: ubert) |
| 22:18:52 | → | ubert joins (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) |
| 22:19:22 | → | VoidNoir0 joins (~VoidNoir0@72.80.203.52) |
| 22:19:36 | → | acidjnk_new joins (~acidjnk@p200300d0c7203094152b258e26158264.dip0.t-ipconnect.de) |
| 22:23:16 | × | acidjnk_new3 quits (~acidjnk@p200300d0c7203094152b258e26158264.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 22:23:25 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) |
| 22:23:42 | → | cjb joins (~cjbayliss@user/cjb) |
| 22:23:52 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:23:53 | × | ubert quits (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
| 22:25:54 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 22:26:37 | × | xsperry quits (~as@user/xsperry) (Remote host closed the connection) |
| 22:27:47 | → | sm2n_ joins (~sm2n@user/sm2n) |
| 22:28:09 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 22:29:06 | → | ubert joins (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) |
| 22:29:20 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
| 22:30:10 | × | sm2n quits (~sm2n@user/sm2n) (Ping timeout: 260 seconds) |
| 22:32:30 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 260 seconds) |
| 22:34:19 | → | mentAI joins (~mentAI@2001:67c:2628:647:12::3c2) |
| 22:38:43 | × | sm2n_ quits (~sm2n@user/sm2n) (Remote host closed the connection) |
| 22:39:09 | → | sm2n_ joins (~sm2n@user/sm2n) |
| 22:40:13 | × | sm2n_ quits (~sm2n@user/sm2n) (Remote host closed the connection) |
| 22:40:46 | → | sm2n_ joins (~sm2n@user/sm2n) |
| 22:41:43 | × | sm2n_ quits (~sm2n@user/sm2n) (Remote host closed the connection) |
| 22:41:58 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 22:42:58 | → | hendursaga joins (~weechat@user/hendursaga) |
| 22:43:12 | × | Cajun quits (~Cajun@user/cajun) (Quit: Client closed) |
| 22:43:34 | × | TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
| 22:48:22 | × | ubert quits (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) (Remote host closed the connection) |
| 22:54:06 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds) |
| 22:57:18 | → | aerona joins (~aerona@2600:6c54:4600:f300:d963:2c18:9947:74cf) |
| 22:57:48 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
| 23:01:26 | → | nicbk joins (~nicbk@user/nicbk) |
| 23:02:13 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
| 23:02:57 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:04:41 | → | xsperry joins (~as@user/xsperry) |
| 23:08:07 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:13:57 | → | slack1256 joins (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) |
| 23:17:56 | × | acidjnk_new quits (~acidjnk@p200300d0c7203094152b258e26158264.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 23:20:29 | → | jacks2 joins (~bc8165b6@217.29.117.252) |
| 23:20:30 | × | sheddow quits (~sheddow@84-52-255.245.3p.ntebredband.no) (Quit: Client closed) |
| 23:21:50 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 23:24:56 | × | slack1256 quits (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) (Ping timeout: 268 seconds) |
| 23:26:44 | → | Cajun joins (~Cajun@user/cajun) |
| 23:27:21 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 23:31:31 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:31:40 | × | pretty_d1 quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2.1) |
| 23:36:26 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 23:38:37 | × | m4lvin quits (~m4lvin@w4eg.de) (Ping timeout: 252 seconds) |
| 23:38:44 | → | m4lvin joins (~m4lvin@w4eg.de) |
| 23:40:03 | hololeap | mashes the keyboard like a monkey |
| 23:41:13 | × | Gurkenglas quits (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 23:41:30 | <monochrom> | Ah, so you use Shakespeare's works for passwords! |
| 23:41:40 | <haskl> | What are the advantages of using groundhog over simply persistent and vice versa? |
| 23:43:13 | → | aplainze1akind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 23:46:42 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 260 seconds) |
| 23:48:07 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:49:05 | × | pony quits (~ed@101.53.218.157) (Quit: WeeChat 2.8) |
| 23:53:20 | × | brettgilio quits (~brettgili@137.184.3.255) (Ping timeout: 256 seconds) |
| 23:56:08 | × | dave_uy quits (~dave_uy@108.61.193.26) (Quit: The Lounge - https://thelounge.chat) |
| 23:57:24 | × | aplainze1akind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 268 seconds) |
All times are in UTC on 2021-09-13.