2020-10-13 00:02:51 +0200 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2020-10-13 00:05:07 +0200 | Rudd0 | (~Rudd0@185.189.115.103) |
2020-10-13 00:05:17 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:6879:a475:4735:6434) |
2020-10-13 00:08:20 +0200 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
2020-10-13 00:08:50 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-10-13 00:09:09 +0200 | <dminuoso> | I have the desire to write some `f :: proxy (s :: Symbol) -> T (TyFam s)`, but the ergonomics looks annoying. Is there something that lets me write `f "foo"` rather than `f (Proxy @"foo")`? |
2020-10-13 00:09:50 +0200 | <dminuoso> | Maybe through some extension? |
2020-10-13 00:10:59 +0200 | dhouthoo | (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9) |
2020-10-13 00:11:20 +0200 | <newhoggy> | Axman6: Did you send me a message? I think can't find it anymore. |
2020-10-13 00:13:20 +0200 | <dminuoso> | Mmm. I think OverloadedLabels is what Im after.. |
2020-10-13 00:14:55 +0200 | <dolio> | Oh, I wasn't aware of that. |
2020-10-13 00:15:32 +0200 | ambiso | (~ambiso@209.182.239.205) (Quit: Ping timeout (120 seconds)) |
2020-10-13 00:15:40 +0200 | ambiso9 | (~ambiso@209.182.239.205) |
2020-10-13 00:15:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-10-13 00:16:32 +0200 | <dolio> | So that lets you write `f ?field`? |
2020-10-13 00:16:46 +0200 | <dminuoso> | f #field |
2020-10-13 00:16:47 +0200 | oisdk | (~oisdk@2001:bb6:3329:d100:7c51:293a:6844:5080) (Quit: oisdk) |
2020-10-13 00:17:05 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds) |
2020-10-13 00:17:16 +0200 | <dminuoso> | not sure how to deal with spaces or special characters |
2020-10-13 00:17:24 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) |
2020-10-13 00:17:24 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
2020-10-13 00:17:24 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 00:17:27 +0200 | hackage | little-rio 0.2.2 - When you need just the RIO monad https://hackage.haskell.org/package/little-rio-0.2.2 (ejconlon) |
2020-10-13 00:17:38 +0200 | <dolio> | Oh yeah, I was reading the 'digression'. |
2020-10-13 00:17:46 +0200 | <dminuoso> | Perhaps parens could be used? |
2020-10-13 00:18:01 +0200 | <dminuoso> | % instance IsLabel "x y" Int where fromLabel = 42 |
2020-10-13 00:18:01 +0200 | <yahb> | dminuoso: |
2020-10-13 00:18:08 +0200 | <dminuoso> | % (#x y) |
2020-10-13 00:18:09 +0200 | <yahb> | dminuoso: ; <interactive>:114:6: error: parse error on input `)' |
2020-10-13 00:18:11 +0200 | <dminuoso> | Mmm |
2020-10-13 00:18:21 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 244 seconds) |
2020-10-13 00:19:42 +0200 | <dminuoso> | Yeah, this is going to be a tough one. At the very least I need hyphens to be there. |
2020-10-13 00:20:57 +0200 | <dminuoso> | Perhaps this is the point where replacing the Proxy with forall + TypeApplications is sensible |
2020-10-13 00:21:07 +0200 | <dminuoso> | Then I could just say `f @"foo-bar" ...` |
2020-10-13 00:21:21 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) |
2020-10-13 00:21:24 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 00:21:27 +0200 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 244 seconds) |
2020-10-13 00:21:53 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 00:22:18 +0200 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-10-13 00:23:22 +0200 | mdunnio | (~mdunnio@208.59.170.5) (Remote host closed the connection) |
2020-10-13 00:25:24 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) |
2020-10-13 00:26:01 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 246 seconds) |
2020-10-13 00:26:08 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2020-10-13 00:26:20 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 00:27:40 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 00:30:54 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 256 seconds) |
2020-10-13 00:32:54 +0200 | hekkaidekapus} | hekkaidekapus |
2020-10-13 00:35:23 +0200 | <hekkaidekapus> | <circa 20:30 UTC> dminuoso In particular, Im trying to understand how instance methods of classes with superclass constraints are type checked. |
2020-10-13 00:35:43 +0200 | <hekkaidekapus> | dminuoso: I don’t have a quotation from the report/manual, but there is <https://www.microsoft.com/en-us/research/publication/type-inference-as-constraint-solving-how-ghcs…>. |
2020-10-13 00:36:08 +0200 | Habib | (~Habib@178.239.161.88) () |
2020-10-13 00:36:25 +0200 | <hekkaidekapus> | I managed to dig out the slides if you are not into videos: <https://drive.google.com/file/d/1NRkP0hz-0Yo49Rto70b2nUwxjPiGD9Ci/view>. |
2020-10-13 00:37:06 +0200 | <hekkaidekapus> | In short, you might be interested in constraint generation and the solving after that. |
2020-10-13 00:37:09 +0200 | <dminuoso> | hekkaidekapus: Ah I dived into parts of that video a while ago, sadly it was cut off right in the interesting part I cared about. |
2020-10-13 00:37:31 +0200 | zaquest | (~notzaques@5.128.210.178) |
2020-10-13 00:37:57 +0200 | <dminuoso> | Thanks for the slides, this is really helpful for other reasons already. :) |
2020-10-13 00:38:00 +0200 | <hekkaidekapus> | hmm… Did not check if the video is whole, but the slides are good. |
2020-10-13 00:38:22 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-10-13 00:38:25 +0200 | renzhi | (~renzhi@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 240 seconds) |
2020-10-13 00:38:28 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 00:38:44 +0200 | <hekkaidekapus> | Enjoy! |
2020-10-13 00:38:46 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 00:39:13 +0200 | <dminuoso> | Ill give the video a look from the beginning |
2020-10-13 00:40:52 +0200 | <hekkaidekapus> | Yeah, better so rewatch to refresh your mind. There is also commentary pages on the ghc/wiki, there you can dive deeper into specific parts. |
2020-10-13 00:41:16 +0200 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2020-10-13 00:41:24 +0200 | <hekkaidekapus> | (Which will eventually lead you into Notes.) |
2020-10-13 00:42:15 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2020-10-13 00:45:41 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 00:48:22 +0200 | dcoutts_ | (~duncan@33.14.75.194.dyn.plus.net) |
2020-10-13 00:50:55 +0200 | oisdk | (~oisdk@2001:bb6:3329:d100:7c51:293a:6844:5080) |
2020-10-13 00:51:12 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-10-13 00:52:25 +0200 | bliminse | (~bliminse@host217-42-95-37.range217-42.btcentralplus.com) (Quit: leaving) |
2020-10-13 00:53:14 +0200 | chaosmasttter | (~chaosmast@p200300c4a72cce01992392edfb5baa55.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
2020-10-13 00:54:28 +0200 | kelanu_ | (~kelanu@2600:1700:9750:cf20:84af:84e5:5767:cbf0) (Quit: Konversation terminated!) |
2020-10-13 00:55:25 +0200 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-10-13 00:56:23 +0200 | sfvm | (~sfvm@37.228.215.148) |
2020-10-13 01:03:50 +0200 | mdunnio | (~mdunnio@208.59.170.5) |
2020-10-13 01:06:10 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 01:06:27 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:6879:a475:4735:6434) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 01:07:16 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025) |
2020-10-13 01:08:36 +0200 | wroathe_ | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-10-13 01:08:43 +0200 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 246 seconds) |
2020-10-13 01:08:50 +0200 | untseac | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving) |
2020-10-13 01:08:56 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2020-10-13 01:09:04 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:6879:a475:4735:6434) |
2020-10-13 01:10:08 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-10-13 01:12:11 +0200 | <Axman6> | newhoggy: "If you haven't seen it, you might enjoy https://liuliu.me/eyes/loading-csv-file-at-the-speed-limit-of-the-nvme-storage/" |
2020-10-13 01:12:44 +0200 | <newhoggy> | Thanks! |
2020-10-13 01:12:45 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Quit: WeeChat 2.9) |
2020-10-13 01:13:47 +0200 | jedws | (~jedws@121.209.161.98) |
2020-10-13 01:14:05 +0200 | wroathe_ | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-10-13 01:14:28 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-10-13 01:14:35 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-10-13 01:16:45 +0200 | Jeanne-Kamikaze | (~Jeanne-Ka@68.235.43.110) (Ping timeout: 240 seconds) |
2020-10-13 01:16:45 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Client Quit) |
2020-10-13 01:18:38 +0200 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-10-13 01:20:10 +0200 | z0 | (~z0@bl15-161-239.dsl.telepac.pt) (Quit: Lost terminal) |
2020-10-13 01:20:23 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-10-13 01:21:29 +0200 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ) |
2020-10-13 01:21:37 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Client Quit) |
2020-10-13 01:21:54 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 01:24:56 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Remote host closed the connection) |
2020-10-13 01:25:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 01:25:28 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) |
2020-10-13 01:25:31 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:5cf1:c22d:8d13:ca36) (Ping timeout: 244 seconds) |
2020-10-13 01:26:39 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds) |
2020-10-13 01:27:01 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2020-10-13 01:29:50 +0200 | dcoutts_ | (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 272 seconds) |
2020-10-13 01:30:47 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 01:31:30 +0200 | <dminuoso> | hekkaidekapus: Alright, the video didn't give me too many insights, and it was rather focused on the implementation of the constraint solver. |
2020-10-13 01:31:37 +0200 | <dminuoso> | But it was a good refresher nevertheless. |
2020-10-13 01:32:48 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 01:34:22 +0200 | <hekkaidekapus> | Right. It’s only a video after all. :) |
2020-10-13 01:34:48 +0200 | <hekkaidekapus> | dminuoso: Are you familiar with OutsideIn(X)? |
2020-10-13 01:34:49 +0200 | danvet_ | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 244 seconds) |
2020-10-13 01:35:05 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-10-13 01:35:17 +0200 | pera | (~pera@unaffiliated/pera) (Quit: leaving) |
2020-10-13 01:35:34 +0200 | darjeeli1 | (~darjeelin@122.245.210.138) (Ping timeout: 256 seconds) |
2020-10-13 01:38:14 +0200 | darjeeli1 | (~darjeelin@122.245.210.138) |
2020-10-13 01:38:28 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 01:38:29 +0200 | <dminuoso> | No, but Im looking at the paper right now |
2020-10-13 01:38:33 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:fd7f:2256:81b3:b295) |
2020-10-13 01:41:13 +0200 | <hekkaidekapus> | Okay. It is substantial and will be a long step further the Zurihac talk. I am not sure the current implementation is following it closely, still, but the exposition is really thorough. |
2020-10-13 01:41:28 +0200 | m0rphism | (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds) |
2020-10-13 01:42:08 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 01:42:50 +0200 | renzhi | (~renzhi@modemcable070.17-177-173.mc.videotron.ca) |
2020-10-13 01:43:12 +0200 | m1000 | (~Boss@2a02:8108:96bf:b068:9dab:a091:4eab:df71) |
2020-10-13 01:44:01 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds) |
2020-10-13 01:45:54 +0200 | polyrain_ | (~polyrain@2001:8003:e501:6901:39c5:19e3:cc60:4fe5) |
2020-10-13 01:47:55 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:6879:a475:4735:6434) (Ping timeout: 240 seconds) |
2020-10-13 01:48:35 +0200 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) |
2020-10-13 01:49:21 +0200 | Amras | (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
2020-10-13 01:49:53 +0200 | <Axman6> | newhoggy: I'd be interested to hear if you find anything you could use in hw-dsv in there |
2020-10-13 01:51:20 +0200 | <newhoggy> | Yep. I had a skim and would like to look into it in more detail later. |
2020-10-13 01:51:23 +0200 | m1000 | (~Boss@2a02:8108:96bf:b068:9dab:a091:4eab:df71) () |
2020-10-13 01:51:45 +0200 | <gentauro> | .NET also have number separators like -> https://twitter.com/denicmarko/status/1314198060117884928 |
2020-10-13 01:51:54 +0200 | <gentauro> | will it ever come to Haskell for better readability? |
2020-10-13 01:52:15 +0200 | <Axman6> | GHC already has that |
2020-10-13 01:52:40 +0200 | <gentauro> | Axman6: `Use NumericUnderscores to allow underscores in integer literals` :o |
2020-10-13 01:52:44 +0200 | <gentauro> | I didn't knew that |
2020-10-13 01:52:48 +0200 | <Axman6> | yes |
2020-10-13 01:53:21 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2020-10-13 01:53:31 +0200 | <Axman6> | not sure if Ada came up with that, but it's one of the features of Ada I always liked. great for binary literals: 0b1101_0101_1100_1010 |
2020-10-13 01:53:32 +0200 | <gentauro> | I like it !!! |
2020-10-13 01:53:56 +0200 | <gentauro> | Axman6: `great for binary literals: 0b1101_0101_1100_1010` exactly |
2020-10-13 01:54:01 +0200 | st8less | (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c) |
2020-10-13 01:54:08 +0200 | <no-n> | it's in perl and C# too |
2020-10-13 01:54:10 +0200 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-10-13 01:54:10 +0200 | <gentauro> | but also big numbers: 42_000_000_000 |
2020-10-13 01:54:34 +0200 | <Axman6> | except when you confuse people by doing 42_000_000_0000 =) |
2020-10-13 01:54:39 +0200 | <newhoggy> | Axman6: One of the design choices I made was to load the CVS via a lazy ByteString. I suspect there is a performance penalty for doing that and the method is not easily parrallelisable. There is an option to `mmap` to increase parallelism but in this case there is the down side the process will clock up a lot of memory usage which may not be suitable for some kinds of jobs. |
2020-10-13 01:55:28 +0200 | <Axman6> | do you know if the chunks of the lazy bytestring are mmapped? |
2020-10-13 01:55:34 +0200 | <hekkaidekapus> | dminuoso: “We do not discuss overlapping instances, implicit parameters, superclasses, or functional dependencies, although our implementation deals with all of these.” — (Emphasis is mine) Hmm… The paper may not be what you want if the implementation has changed in recent years. I would love to continue the digging, alas bed is calling. See you later. |
2020-10-13 01:55:51 +0200 | <gentauro> | 01:54 < Axman6> except when you confuse people by doing 42_000_000_0000 =) |
2020-10-13 01:55:56 +0200 | <newhoggy> | The kinds of jobs I'm thinking of are those that run in typical memory constrained VMs in where virtual memory is usually turned off (like in AWS) |
2020-10-13 01:56:04 +0200 | <gentauro> | people doing that should loose at least a finger :) |
2020-10-13 01:56:12 +0200 | <int-e> | Yeah with {-# LANGUAGE BinaryLiterals, NumericUnderscores #-} you can have 0b1000_000 or maybe 0b_1000_0000 |
2020-10-13 01:56:28 +0200 | <Axman6> | sine it is mmapped the memory usage isn't real memory usage right? the OS can page them out if needed since it's loaded read only |
2020-10-13 01:56:56 +0200 | <justsomeguy> | gentauro: Seems like an easy typo to make. Maybe it should be checked by the compiler. |
2020-10-13 01:57:21 +0200 | <newhoggy> | Swap gets turned off a lot on AWS because of the higher latency to disk of most machine types. |
2020-10-13 01:57:22 +0200 | <int-e> | (Hmm, the first one came out short :) ) |
2020-10-13 01:57:28 +0200 | <Axman6> | newhoggy: I would be surprised if you can't mmap a huge file read only even if there isn't enough ram |
2020-10-13 01:58:45 +0200 | <newhoggy> | I haven't tested it, but you may be right in that an mmapped file will function as expected even if swap is disabled. |
2020-10-13 01:59:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-10-13 02:00:01 +0200 | CrystalNice | (~CrystalNi@s91904426.blix.com) () |
2020-10-13 02:00:02 +0200 | <newhoggy> | I think the danger is if a page you're not done with gets evicted because you're aggressively pulling in new pages and you are forced to pay to reload it. On AWS, that's likely to be more expensive. |
2020-10-13 02:00:50 +0200 | <newhoggy> | The other reason streaming is prefferrably is the CSV files *usually* come from S3 in compressed form rather than from local disk. |
2020-10-13 02:00:58 +0200 | <newhoggy> | preferrable* |
2020-10-13 02:01:16 +0200 | <ski> | % 0x10_10.10_10 |
2020-10-13 02:01:16 +0200 | <yahb> | ski: 4112.062744140625 |
2020-10-13 02:01:30 +0200 | <ski> | % 0b10_10.10_10 |
2020-10-13 02:01:31 +0200 | <yahb> | ski: ; <interactive>:151:1: error:; * Could not deduce (Num (b0 -> c)); (maybe you haven't applied a function to enough arguments?); from the context: (Num (b -> c), Num (a -> b)); bound by the inferred type for `it':; forall b c a. (Num (b -> c), Num (a -> b)) => a -> c; at <interactive>:151:1-13; The type variable `b0' is ambiguous; * In the ambig |
2020-10-13 02:02:05 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds) |
2020-10-13 02:02:24 +0200 | jedws | (~jedws@121.209.161.98) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 02:03:31 +0200 | <Axman6> | newhoggy: sure, though my take on this is that if you _do_ have a single strict bytestring, you should be abble to process it efficiently |
2020-10-13 02:03:38 +0200 | <newhoggy> | Most likely use case is outside the cloud. Either locally or custom hardware. |
2020-10-13 02:03:57 +0200 | <Axman6> | I would be interested to see the benchmark comparing both |
2020-10-13 02:04:21 +0200 | <newhoggy> | Yeah. `hw-dsv` does have a strict mode which uses `mmap` |
2020-10-13 02:05:34 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:6800:17f1:f8ae:fc06) |
2020-10-13 02:05:35 +0200 | <newhoggy> | I think it ends up slower in general because it has to build a `cspoppy` index. |
2020-10-13 02:05:36 +0200 | <Axman6> | great - I couldn't remember from looking at the code yesterday |
2020-10-13 02:06:25 +0200 | <newhoggy> | I don't have a data parallel version of the index building code :D |
2020-10-13 02:06:45 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2020-10-13 02:07:03 +0200 | <newhoggy> | I wonder if that is possible? |
2020-10-13 02:07:21 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:6800:17f1:f8ae:fc06) (Client Quit) |
2020-10-13 02:07:33 +0200 | <newhoggy> | Definitely interested in what the article does. |
2020-10-13 02:07:36 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 02:09:45 +0200 | ahab | (483206cb@adsl-72-50-6-203.prtc.net) |
2020-10-13 02:09:50 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 02:09:59 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 02:10:00 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:842d:ee09:f1b5:9acd) |
2020-10-13 02:11:27 +0200 | ahab | mgs |
2020-10-13 02:11:40 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-10-13 02:12:36 +0200 | sep2 | (49dc4892@c-73-220-72-146.hsd1.ca.comcast.net) |
2020-10-13 02:14:43 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-10-13 02:15:52 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 260 seconds) |
2020-10-13 02:17:50 +0200 | <sep2> | https://dpaste.org/V12z I want to go through entire list and see if they are all proper. On union |
2020-10-13 02:18:22 +0200 | <sep2> | From what you see here, how can I just get my list? |
2020-10-13 02:21:39 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 02:22:03 +0200 | ccallahan1 | (~ccallahan@185.204.1.185) |
2020-10-13 02:22:33 +0200 | jedws | (~jedws@121.209.161.98) |
2020-10-13 02:23:54 +0200 | recon_- | (~quassel@2602:febc:0:b6::6ca2) (Ping timeout: 244 seconds) |
2020-10-13 02:24:49 +0200 | st8less | (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c) (Ping timeout: 272 seconds) |
2020-10-13 02:26:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 02:28:19 +0200 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-10-13 02:28:27 +0200 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-10-13 02:30:32 +0200 | ystael | (~ystael@209.6.50.55) (Ping timeout: 256 seconds) |
2020-10-13 02:30:35 +0200 | jedws | (~jedws@121.209.161.98) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 02:31:30 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2020-10-13 02:31:46 +0200 | Tario | (~Tario@201.192.165.173) |
2020-10-13 02:32:21 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 02:33:01 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 02:33:50 +0200 | jedws | (~jedws@121.209.161.98) |
2020-10-13 02:33:55 +0200 | <lemmih_> | sep2: That link is 404. |
2020-10-13 02:34:27 +0200 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
2020-10-13 02:34:30 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:f7f9) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2020-10-13 02:34:34 +0200 | bjobjo | (~bjobjo@2a01:79c:cebf:d688::9e6) (Ping timeout: 244 seconds) |
2020-10-13 02:34:57 +0200 | sep2 | (49dc4892@c-73-220-72-146.hsd1.ca.comcast.net) (Remote host closed the connection) |
2020-10-13 02:35:45 +0200 | hyiltiz | (~quassel@2601:14d:4100:112c:cff4:7114:bc84:3722) |
2020-10-13 02:35:45 +0200 | hyiltiz | (~quassel@2601:14d:4100:112c:cff4:7114:bc84:3722) (Changing host) |
2020-10-13 02:35:45 +0200 | hyiltiz | (~quassel@unaffiliated/hyiltiz) |
2020-10-13 02:35:59 +0200 | hyiltiz | (~quassel@unaffiliated/hyiltiz) (Client Quit) |
2020-10-13 02:37:19 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 260 seconds) |
2020-10-13 02:39:39 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) |
2020-10-13 02:39:55 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 02:41:27 +0200 | bjobjo | (~bjobjo@2a01:79c:cebf:d688::9e6) |
2020-10-13 02:41:32 +0200 | mgs | (483206cb@adsl-72-50-6-203.prtc.net) (Remote host closed the connection) |
2020-10-13 02:42:13 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-10-13 02:42:47 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 02:44:55 +0200 | recon_- | (~quassel@2602:febc:0:b6::6ca2) |
2020-10-13 02:45:16 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:f7f9) |
2020-10-13 02:46:12 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 02:46:19 +0200 | hyiltiz | (~quassel@82.118.227.47) |
2020-10-13 02:46:20 +0200 | hyiltiz | (~quassel@82.118.227.47) (Changing host) |
2020-10-13 02:46:20 +0200 | hyiltiz | (~quassel@unaffiliated/hyiltiz) |
2020-10-13 02:47:02 +0200 | oisdk | (~oisdk@2001:bb6:3329:d100:7c51:293a:6844:5080) (Quit: oisdk) |
2020-10-13 02:47:42 +0200 | laxask | (~lax@unaffiliated/laxask) |
2020-10-13 02:50:52 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 02:51:32 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2020-10-13 02:54:29 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 02:55:55 +0200 | jedws | (~jedws@121.209.161.98) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 02:59:05 +0200 | blacklight | (~blackligh@d94186.upc-d.chello.nl) |
2020-10-13 02:59:19 +0200 | blacklight | (~blackligh@d94186.upc-d.chello.nl) () |
2020-10-13 03:00:33 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 03:00:41 +0200 | jedws | (~jedws@121.209.161.98) |
2020-10-13 03:01:28 +0200 | jedws | (~jedws@121.209.161.98) (Client Quit) |
2020-10-13 03:04:36 +0200 | Nolrai | (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) |
2020-10-13 03:04:58 +0200 | toorevitimirp | (~tooreviti@117.182.180.0) |
2020-10-13 03:05:35 +0200 | <Nolrai> | So whats the name for Functor like things where you need both `a -> b` and `b -> a` to get `f a -> f b`? |
2020-10-13 03:06:18 +0200 | <Nolrai> | One second..I need to reboot. |
2020-10-13 03:06:22 +0200 | Nolrai | (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) (Remote host closed the connection) |
2020-10-13 03:07:55 +0200 | xff0x | (~fox@2001:1a81:52ad:5800:a0c7:cc77:f7d4:2372) (Ping timeout: 240 seconds) |
2020-10-13 03:10:09 +0200 | xff0x | (~fox@2001:1a81:52e4:2a00:a0c7:cc77:f7d4:2372) |
2020-10-13 03:10:51 +0200 | wei2912 | (~wei2912@unaffiliated/wei2912) |
2020-10-13 03:10:58 +0200 | nolrai | (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) |
2020-10-13 03:10:59 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 258 seconds) |
2020-10-13 03:11:08 +0200 | <nolrai> | Sorry about that. |
2020-10-13 03:11:33 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-10-13 03:13:00 +0200 | raehik | (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
2020-10-13 03:13:46 +0200 | <jackdk> | nolrai: try the `invariant` package? |
2020-10-13 03:18:38 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:f7f9) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2020-10-13 03:22:51 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 03:23:32 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
2020-10-13 03:25:10 +0200 | nyaomi | (~naomi@cpe-74-75-6-125.maine.res.rr.com) (Quit: meow) |
2020-10-13 03:25:38 +0200 | Aquazi | (uid312403@gateway/web/irccloud.com/x-upzgdjixzxbjunfz) (Quit: Connection closed for inactivity) |
2020-10-13 03:26:32 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2020-10-13 03:27:38 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds) |
2020-10-13 03:27:58 +0200 | <gentauro> | justsomeguy: I guess that would be difficult to do |
2020-10-13 03:28:29 +0200 | <gentauro> | in Axman6 example he uses four digits cos binary while I use three cos of thousand, million, billion, … |
2020-10-13 03:30:56 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:842d:ee09:f1b5:9acd) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 03:34:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-10-13 03:35:43 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:842d:ee09:f1b5:9acd) |
2020-10-13 03:36:46 +0200 | darjeeli1 | (~darjeelin@122.245.210.138) (Ping timeout: 256 seconds) |
2020-10-13 03:39:10 +0200 | jedws | (~jedws@121.209.161.98) |
2020-10-13 03:42:20 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 03:44:01 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-10-13 03:48:25 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-10-13 03:48:59 +0200 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) (Ping timeout: 240 seconds) |
2020-10-13 03:52:24 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-10-13 03:54:28 +0200 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-10-13 03:57:23 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2020-10-13 03:57:25 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-10-13 03:58:01 +0200 | darjeeli1 | (~darjeelin@122.245.210.138) |
2020-10-13 03:58:02 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 03:58:38 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 03:58:55 +0200 | <ski> | @type dimap -- nolrai |
2020-10-13 03:58:56 +0200 | <lambdabot> | Profunctor p => (a -> b) -> (c -> d) -> p b c -> p a d |
2020-10-13 03:59:16 +0200 | <ski> | oh, i suppose that's not quite what you were looking for |
2020-10-13 04:00:55 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 240 seconds) |
2020-10-13 04:01:35 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) |
2020-10-13 04:01:46 +0200 | nolrai | (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Ping timeout (120 seconds)) |
2020-10-13 04:02:43 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-10-13 04:04:05 +0200 | danso | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 04:04:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 04:04:55 +0200 | <Buntspecht> | It's like functor plus cofunctor |
2020-10-13 04:06:29 +0200 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) |
2020-10-13 04:07:47 +0200 | <ski> | (no such thing as "cofunctor". itym "contravariant functor") |
2020-10-13 04:08:06 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 258 seconds) |
2020-10-13 04:08:38 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 04:08:38 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 04:08:38 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 04:08:46 +0200 | <Buntspecht> | Yeah |
2020-10-13 04:09:12 +0200 | <dolio> | But it's also not a covariant nor contravariant functor. |
2020-10-13 04:09:49 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-10-13 04:10:20 +0200 | <dolio> | Oh, well, profunctors are, but things that tie together both arguments aren't. |
2020-10-13 04:10:52 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-10-13 04:11:55 +0200 | <Buntspecht> | Meh, they already left ... |
2020-10-13 04:13:26 +0200 | mdunnio | (~mdunnio@208.59.170.5) |
2020-10-13 04:13:32 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2020-10-13 04:13:43 +0200 | lagothrix | Guest26381 |
2020-10-13 04:13:43 +0200 | Guest26381 | (~lagothrix@unaffiliated/lagothrix) (Killed (barjavel.freenode.net (Nickname regained by services))) |
2020-10-13 04:13:49 +0200 | lagothrix | (~lagothrix@unaffiliated/lagothrix) |
2020-10-13 04:13:53 +0200 | aarvar | (~foewfoiew@50.35.43.33) () |
2020-10-13 04:13:54 +0200 | bcmiller | (~bm3719@66.42.95.185) (Ping timeout: 265 seconds) |
2020-10-13 04:14:18 +0200 | dave_uy | (~david@108.61.193.26) (Ping timeout: 260 seconds) |
2020-10-13 04:14:23 +0200 | byorgey | (~byorgey@155.138.238.211) (Ping timeout: 265 seconds) |
2020-10-13 04:14:38 +0200 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2020-10-13 04:15:48 +0200 | <fresheyeball> | hey out there |
2020-10-13 04:15:57 +0200 | <fresheyeball> | anyone know how to debug hie with vscode? |
2020-10-13 04:16:06 +0200 | <fresheyeball> | I moved to vscode for hie, and it was working amazing |
2020-10-13 04:16:11 +0200 | <fresheyeball> | but I still have some issues |
2020-10-13 04:16:26 +0200 | <fresheyeball> | Failed to parse result of calling cabal |
2020-10-13 04:16:28 +0200 | <fresheyeball> | Warning: cannot determine version of /run/user/1000/bios-wrapper29062-0 : |
2020-10-13 04:16:30 +0200 | <fresheyeball> | "" |
2020-10-13 04:16:32 +0200 | <fresheyeball> | cabal: The program 'ghc' version >=7.0.1 is required but the version of |
2020-10-13 04:16:34 +0200 | <fresheyeball> | /run/user/1000/bios-wrapper29062-0 could not be determined. |
2020-10-13 04:16:36 +0200 | <fresheyeball> | this is it right now |
2020-10-13 04:17:45 +0200 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
2020-10-13 04:19:03 +0200 | sand_dull | (~theuser@104.140.53.43) |
2020-10-13 04:19:49 +0200 | solonarv | (~solonarv@adijon-655-1-70-207.w90-13.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
2020-10-13 04:21:17 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 260 seconds) |
2020-10-13 04:21:47 +0200 | solonarv | (~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) |
2020-10-13 04:26:20 +0200 | Saukk | (~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) |
2020-10-13 04:27:05 +0200 | theDon | (~td@muedsl-82-207-238-192.citykom.de) (Ping timeout: 240 seconds) |
2020-10-13 04:28:59 +0200 | vicfred_ | (~vicfred@unaffiliated/vicfred) |
2020-10-13 04:29:02 +0200 | theDon | (~td@muedsl-82-207-238-211.citykom.de) |
2020-10-13 04:29:34 +0200 | solonarv | (~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) (Ping timeout: 258 seconds) |
2020-10-13 04:31:36 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) (Ping timeout: 272 seconds) |
2020-10-13 04:35:39 +0200 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
2020-10-13 04:36:24 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2020-10-13 04:36:29 +0200 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-10-13 04:39:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 04:46:07 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2020-10-13 04:46:25 +0200 | <koz_> | ski: I think they meant an invariant functor. |
2020-10-13 04:47:38 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 04:48:22 +0200 | dyeplexer | (~lol@unaffiliated/terpin) |
2020-10-13 04:51:55 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-10-13 04:53:25 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1) |
2020-10-13 04:53:57 +0200 | topos | (sid467876@gateway/web/irccloud.com/x-gyqsqvcawuyxkhnv) |
2020-10-13 05:00:01 +0200 | ccallahan1 | (~ccallahan@185.204.1.185) () |
2020-10-13 05:03:28 +0200 | darjeeli1 | (~darjeelin@122.245.210.138) (Ping timeout: 256 seconds) |
2020-10-13 05:04:52 +0200 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-10-13 05:05:10 +0200 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) (Ping timeout: 272 seconds) |
2020-10-13 05:05:14 +0200 | SupaYoshii | (~supayoshi@213-10-140-13.fixed.kpn.net) |
2020-10-13 05:09:07 +0200 | <Axman6> | gentauro, justsomeguy: IIRC Indian numbers are often divided in a way similar to what I did, I don't remember the details but think it was something like four digits and then the rest are grouped by two digits |
2020-10-13 05:10:33 +0200 | <Axman6> | looks like it's three, then twos |
2020-10-13 05:11:50 +0200 | <Axman6> | Crore => 1,00,00,000, Lakh Crore => 10,00,00,00,00,000 |
2020-10-13 05:13:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-10-13 05:15:56 +0200 | nyaomi | (~naomi@cpe-74-75-6-125.maine.res.rr.com) |
2020-10-13 05:16:25 +0200 | darjeeli1 | (~darjeelin@122.245.216.36) |
2020-10-13 05:21:09 +0200 | vincenz | (~chris@104-1-91-5.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 05:21:15 +0200 | vincenz | waves |
2020-10-13 05:23:20 +0200 | <Axman6> | o/ |
2020-10-13 05:23:37 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 05:25:23 +0200 | <jackdk> | Is there a library which provides a convenient function of this type: `HashMap k1 (HashMap k2 v) -> HashMap k2 (HashMap k1 v)`? It felt like `distributive`, but that package doesn't seem to do instances for things in `containers` and I may have misunderstood its theory |
2020-10-13 05:25:53 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:fd7f:2256:81b3:b295) (Ping timeout: 246 seconds) |
2020-10-13 05:26:10 +0200 | <ski> | yea, i realized, koz_ |
2020-10-13 05:26:22 +0200 | <vincenz> | Hi ski |
2020-10-13 05:26:29 +0200 | <ski> | hello vincenz |
2020-10-13 05:27:25 +0200 | Tario | (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
2020-10-13 05:27:27 +0200 | <ski> | jackdk : looks like a kind of "transposition". perhaps you can find one that first goes to `HashMap (k1,k2) v' ? |
2020-10-13 05:29:01 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds) |
2020-10-13 05:29:22 +0200 | dave_uy | (~david@108.61.193.26) |
2020-10-13 05:30:36 +0200 | bcmiller | (~bm3719@66.42.95.185) |
2020-10-13 05:30:40 +0200 | byorgey | (~byorgey@155.138.238.211) |
2020-10-13 05:34:15 +0200 | <vincenz> | ski been a while |
2020-10-13 05:35:04 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
2020-10-13 05:36:23 +0200 | <jackdk> | ski: well sure: I can `fmap toList`, then toList, then rebuild the table. But that might not be quite what you're asking? |
2020-10-13 05:37:05 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 05:38:30 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:9db:d3a4:6a7a:3b95) |
2020-10-13 05:38:54 +0200 | <Axman6> | :t Map.toList . fmap Map.toList |
2020-10-13 05:38:55 +0200 | <lambdabot> | error: |
2020-10-13 05:38:55 +0200 | <lambdabot> | Not in scope: ‘Map.toList’ |
2020-10-13 05:38:55 +0200 | <lambdabot> | Perhaps you meant one of these: |
2020-10-13 05:39:01 +0200 | <Axman6> | :t M.toList . fmap M.toList |
2020-10-13 05:39:03 +0200 | <lambdabot> | M.Map k1 (M.Map k2 a) -> [(k1, [(k2, a)])] |
2020-10-13 05:39:20 +0200 | drbean | (~drbean@TC210-63-209-59.static.apol.com.tw) |
2020-10-13 05:40:39 +0200 | <Axman6> | jackdk: this feels like a thing that reflex would have implemented somewhere (with efficient observations n' stuff) |
2020-10-13 05:41:04 +0200 | <ski> | vincenz : yep |
2020-10-13 05:43:18 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) |
2020-10-13 05:43:30 +0200 | <jackdk> | so the reason we can't have Distributive and (and therefore not Representable either) is that you need an isomorphism to `(->) x` for some x. Which we don't have; we have like an isomorphism `HashMap k <-> Compose ((->) k) Maybe` or something |
2020-10-13 05:47:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 05:49:54 +0200 | <vincenz> | Is there a type for a vector of N values? |
2020-10-13 05:49:59 +0200 | <vincenz> | Where N is fixed |
2020-10-13 05:50:17 +0200 | Tario | (~Tario@201.192.165.173) |
2020-10-13 05:51:33 +0200 | <jackdk> | https://hackage.haskell.org/package/vector-sized |
2020-10-13 05:51:35 +0200 | <jackdk> | maybe? |
2020-10-13 05:51:47 +0200 | polyrain_ | (~polyrain@2001:8003:e501:6901:39c5:19e3:cc60:4fe5) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 05:51:59 +0200 | <jackdk> | the `linear` package also has some short vectors useful for 3D sort of work |
2020-10-13 05:52:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-10-13 05:52:57 +0200 | <vincenz> | I'm trying to define a partial order on a pareto space |
2020-10-13 05:53:57 +0200 | <vincenz> | Thanks! jackdk, that seems better than the one I was looking ato |
2020-10-13 05:56:58 +0200 | <jackdk> | I don't know those mathswords but good luck |
2020-10-13 05:57:51 +0200 | <Axman6> | he's talking about the birds space pirates have |
2020-10-13 05:57:53 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 05:59:21 +0200 | <jackdk> | rawk |
2020-10-13 06:02:09 +0200 | <jackdk> | so there's not a map-specialised transposition function I'm aware of. Has anyone seen one like it for lists? `[(a,[(b,c)])] -> [(b,[(a,c)])]`? |
2020-10-13 06:02:41 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 272 seconds) |
2020-10-13 06:03:48 +0200 | Volt_ | (~Volt_@c-73-145-164-70.hsd1.mi.comcast.net) |
2020-10-13 06:05:42 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 260 seconds) |
2020-10-13 06:08:37 +0200 | balbirs | (~balbirs__@ozlabs.org) (Ping timeout: 260 seconds) |
2020-10-13 06:10:38 +0200 | Jeanne-Kamikaze | (~Jeanne-Ka@68.235.43.86) |
2020-10-13 06:10:39 +0200 | <Axman6> | should be pretty simple with a list comprehension |
2020-10-13 06:12:13 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds) |
2020-10-13 06:14:08 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-10-13 06:14:40 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 06:15:08 +0200 | <dibblego> | https://github.com/qfpl/separated/blob/master/src/Data/Separated.hs#L902 |
2020-10-13 06:15:50 +0200 | <Axman6> | "[5,'x',6]" I beg your pardon what is this nonsense |
2020-10-13 06:16:19 +0200 | <jackdk> | I do not understand what I am looking at |
2020-10-13 06:16:29 +0200 | <Axman6> | :aliens: |
2020-10-13 06:16:35 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:842d:ee09:f1b5:9acd) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 06:17:04 +0200 | <dibblego> | actually it's a bit different to what you wrote |
2020-10-13 06:17:37 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 06:18:22 +0200 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-10-13 06:18:47 +0200 | <Axman6> | :t lef f mmp = fold [ (k2,M.singleton k1 v) | (k1,vs) <- M.toList mmp, (k2,v) <- M.toList vs in f |
2020-10-13 06:18:49 +0200 | <lambdabot> | error: parse error on input ‘=’ |
2020-10-13 06:18:59 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Ping timeout: 260 seconds) |
2020-10-13 06:19:05 +0200 | <Axman6> | :t let f mmp = fold [ (k2,M.singleton k1 v) | (k1,vs) <- M.toList mmp, (k2,v) <- M.toList vs] in f |
2020-10-13 06:19:07 +0200 | <lambdabot> | (Monoid a1, Ord k) => M.Map k (M.Map a1 a2) -> (a1, M.Map k a2) |
2020-10-13 06:19:37 +0200 | <Axman6> | :t let f mmp = M.fromListWith M.union [ (k2,M.singleton k1 v) | (k1,vs) <- M.toList mmp, (k2,v) <- M.toList vs] in f |
2020-10-13 06:19:39 +0200 | <lambdabot> | (Ord k1, Ord k2) => M.Map k2 (M.Map k1 a) -> M.Map k1 (M.Map k2 a) |
2020-10-13 06:19:40 +0200 | vicfred_ | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
2020-10-13 06:19:48 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:80e8) |
2020-10-13 06:20:26 +0200 | <Axman6> | technically there's optimisations to be had from the uniqueness of the keys but yolo |
2020-10-13 06:20:38 +0200 | <Axman6> | jackdk: happy? |
2020-10-13 06:20:38 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 06:22:45 +0200 | dyeplexer | (~lol@unaffiliated/terpin) (Ping timeout: 240 seconds) |
2020-10-13 06:23:08 +0200 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-10-13 06:24:48 +0200 | <jackdk> | axman6: I broke out the monoidal-containers hammer https://www.irccloud.com/pastebin/atKmxOH8/Transpose.hs |
2020-10-13 06:24:50 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 06:24:51 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 06:25:01 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 06:25:02 +0200 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-10-13 06:25:21 +0200 | <jackdk> | I think I like yours better |
2020-10-13 06:25:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 06:25:56 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) |
2020-10-13 06:26:17 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 06:26:37 +0200 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-10-13 06:27:00 +0200 | <Axman6> | :t let f mmp = M.fromListWith M.union $ do { (k1,vs) <- M.toList mmp; (k2,v) <- M.toList vs; pure (k2,M.singleton k1 v) } in f |
2020-10-13 06:27:01 +0200 | <lambdabot> | (Ord k1, Ord k2) => M.Map k2 (M.Map k1 a) -> M.Map k1 (M.Map k2 a) |
2020-10-13 06:28:03 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 06:28:14 +0200 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-10-13 06:28:15 +0200 | <jackdk> | yeah I thnk donotation is clearer |
2020-10-13 06:30:09 +0200 | day_ | (~Unknown@unaffiliated/day) |
2020-10-13 06:30:18 +0200 | dyeplexer | (~lol@unaffiliated/terpin) |
2020-10-13 06:30:49 +0200 | ironmarx | (~ironmarx@184.75.221.179) |
2020-10-13 06:31:15 +0200 | <Axman6> | @ :t let f mmp = M.fromListWith M.union $ do { (k1,vs) <- M.toList mmp; (k2,v) <- M.toList vs; [(k2,[(k1, v)])] } in f |
2020-10-13 06:31:27 +0200 | <Axman6> | % :t let f mmp = M.fromListWith M.union $ do { (k1,vs) <- M.toList mmp; (k2,v) <- M.toList vs; [(k2,[(k1, v)])] } in f |
2020-10-13 06:31:27 +0200 | <yahb> | Axman6: ; <interactive>:1:97: error:; * Couldn't match expected type `Map k3 a3' with actual type `[(a2, b1)]'; * In the expression: [(k1, v)]; In the expression: (k2, [(k1, v)]); In a stmt of a 'do' block: [(k2, [(k1, v)])]; * Relevant bindings include; v :: b1 (bound at <interactive>:1:73); vs :: Map k2 b1 (bound at <interactive>:1:48); k1 :: a2 (bound at <interact |
2020-10-13 06:31:41 +0200 | <Axman6> | % :set -XOverloadedLists |
2020-10-13 06:31:41 +0200 | <yahb> | Axman6: |
2020-10-13 06:31:44 +0200 | <Axman6> | % :t let f mmp = M.fromListWith M.union $ do { (k1,vs) <- M.toList mmp; (k2,v) <- M.toList vs; [(k2,[(k1, v)])] } in f |
2020-10-13 06:31:44 +0200 | <yahb> | Axman6: (Ord k1, Ord k2) => Map k2 (Map k1 a) -> Map k1 (Map k2 a) |
2020-10-13 06:31:49 +0200 | <Axman6> | awww yiss |
2020-10-13 06:32:45 +0200 | danvet_ | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2020-10-13 06:32:48 +0200 | <vincenz> | How do I do something like: |
2020-10-13 06:33:08 +0200 | <vincenz> | for all n: instance PartialOrd a => PartialOrd (Vector n a) |
2020-10-13 06:33:10 +0200 | day | (~Unknown@unaffiliated/day) (Ping timeout: 246 seconds) |
2020-10-13 06:33:10 +0200 | day_ | day |
2020-10-13 06:33:45 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) |
2020-10-13 06:34:45 +0200 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 240 seconds) |
2020-10-13 06:35:40 +0200 | dan64 | (~dan64@dannyadam.com) |
2020-10-13 06:36:47 +0200 | <Axman6> | instance (KnownNat n, PartialOrd a) => PArtialOrd (Vector n a)? |
2020-10-13 06:37:24 +0200 | <vincenz> | Thanks, I'll try tat! |
2020-10-13 06:41:34 +0200 | ddellacosta | (~dd@86.106.121.168) (Ping timeout: 256 seconds) |
2020-10-13 06:41:44 +0200 | <vincenz> | I'll go without fixed size for now to simplify, then I can always add it later I guess |
2020-10-13 06:42:25 +0200 | alp | (~alp@2a01:e0a:58b:4920:2ccf:c5eb:4256:63a6) |
2020-10-13 06:45:11 +0200 | danso | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-10-13 06:45:11 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-10-13 06:45:51 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 06:46:25 +0200 | danso | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 06:46:56 +0200 | <vincenz> | How do I qualify an operator in binding position? |
2020-10-13 06:47:09 +0200 | <vincenz> | instnace ... where .... x PartialOrd.<= y = ... |
2020-10-13 06:49:51 +0200 | <vincenz> | Found it, I import only what I want from prelude and thus mask the <= in prelude |
2020-10-13 06:52:44 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2020-10-13 06:53:59 +0200 | aqd | (~aqd@87-92-145-87.rev.dnainternet.fi) |
2020-10-13 06:58:38 +0200 | balbirs | (~balbirs__@ozlabs.org) |
2020-10-13 06:59:38 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-10-13 07:00:59 +0200 | sand_dull | (~theuser@104.140.53.43) (Ping timeout: 258 seconds) |
2020-10-13 07:02:53 +0200 | toorevitimirp | (~tooreviti@117.182.180.0) (Ping timeout: 260 seconds) |
2020-10-13 07:04:25 +0200 | renzhi | (~renzhi@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 264 seconds) |
2020-10-13 07:06:31 +0200 | plutoniix | (~q@node-unw.pool-125-24.dynamic.totinternet.net) |
2020-10-13 07:09:22 +0200 | toorevitimirp | (~tooreviti@117.182.180.0) |
2020-10-13 07:09:25 +0200 | jespada | (~jespada@90.254.245.15) (Ping timeout: 240 seconds) |
2020-10-13 07:12:04 +0200 | jespada | (~jespada@90.254.245.15) |
2020-10-13 07:12:10 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-10-13 07:13:09 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 07:13:27 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 07:13:28 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 07:13:28 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 07:16:47 +0200 | alp | (~alp@2a01:e0a:58b:4920:2ccf:c5eb:4256:63a6) (Ping timeout: 272 seconds) |
2020-10-13 07:17:03 +0200 | bitmagie | (~Thunderbi@200116b806cb540040a9783a9ea970a9.dip.versatel-1u1.de) |
2020-10-13 07:17:14 +0200 | bitmagie | (~Thunderbi@200116b806cb540040a9783a9ea970a9.dip.versatel-1u1.de) (Client Quit) |
2020-10-13 07:18:23 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 07:18:37 +0200 | ironmarx | (~ironmarx@184.75.221.179) (Remote host closed the connection) |
2020-10-13 07:19:59 +0200 | darjeeli1 | (~darjeelin@122.245.216.36) (Ping timeout: 265 seconds) |
2020-10-13 07:19:59 +0200 | ishutin_ | (~Ishutin@178-164-207-98.pool.digikabel.hu) |
2020-10-13 07:21:25 +0200 | darjeeli1 | (~darjeelin@122.245.216.36) |
2020-10-13 07:23:05 +0200 | ishutin | (~Ishutin@193-110-63-54.cable-modem.hdsnet.hu) (Ping timeout: 240 seconds) |
2020-10-13 07:23:18 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-10-13 07:24:28 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 07:28:47 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) |
2020-10-13 07:29:21 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:80e8) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2020-10-13 07:29:43 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds) |
2020-10-13 07:30:57 +0200 | nyd | (~lpy@unaffiliated/elysian) |
2020-10-13 07:33:10 +0200 | chele | (~chele@5.53.222.202) |
2020-10-13 07:33:23 +0200 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 244 seconds) |
2020-10-13 07:33:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 07:34:40 +0200 | romtam | (~romtam@s91904426.blix.com) |
2020-10-13 07:35:18 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 07:38:12 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 07:38:23 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) |
2020-10-13 07:38:23 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
2020-10-13 07:38:23 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 07:38:44 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-10-13 07:45:00 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-10-13 07:45:23 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 07:45:45 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) (Ping timeout: 256 seconds) |
2020-10-13 07:46:17 +0200 | bliminse | (~bliminse@host217-42-95-37.range217-42.btcentralplus.com) |
2020-10-13 07:47:16 +0200 | lep-delete | Guest88073 |
2020-10-13 07:49:05 +0200 | sapek | (1812cc74@c-24-18-204-116.hsd1.wa.comcast.net) |
2020-10-13 07:49:33 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1) |
2020-10-13 07:51:28 +0200 | sapek | (1812cc74@c-24-18-204-116.hsd1.wa.comcast.net) (Remote host closed the connection) |
2020-10-13 07:54:47 +0200 | plutoniix | (~q@node-unw.pool-125-24.dynamic.totinternet.net) (Ping timeout: 265 seconds) |
2020-10-13 07:58:44 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 07:59:12 +0200 | GyroW_ | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 07:59:12 +0200 | GyroW_ | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 07:59:12 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) |
2020-10-13 08:00:01 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 258 seconds) |
2020-10-13 08:00:01 +0200 | romtam | (~romtam@s91904426.blix.com) () |
2020-10-13 08:00:40 +0200 | Jeanne-Kamikaze | (~Jeanne-Ka@68.235.43.86) (Ping timeout: 246 seconds) |
2020-10-13 08:03:10 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 244 seconds) |
2020-10-13 08:08:57 +0200 | plutoniix | (~q@ppp-27-55-89-214.revip3.asianet.co.th) |
2020-10-13 08:09:21 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:9db:d3a4:6a7a:3b95) (Ping timeout: 272 seconds) |
2020-10-13 08:12:02 +0200 | plutoniix | (~q@ppp-27-55-89-214.revip3.asianet.co.th) (Excess Flood) |
2020-10-13 08:12:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 08:12:36 +0200 | plutoniix | (~q@ppp-27-55-89-214.revip3.asianet.co.th) |
2020-10-13 08:18:11 +0200 | vonfry | (~user@38.94.109.36) |
2020-10-13 08:18:19 +0200 | plutoniix | (~q@ppp-27-55-89-214.revip3.asianet.co.th) (Read error: Connection reset by peer) |
2020-10-13 08:19:38 +0200 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2020-10-13 08:20:27 +0200 | Saukk | (~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) (Ping timeout: 260 seconds) |
2020-10-13 08:21:35 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:38c4:6bae:c9c7:c00b) |
2020-10-13 08:21:48 +0200 | Wayno | (~Wayno@185.163.110.116) |
2020-10-13 08:22:57 +0200 | hackage | hurl 1.4.2.0 - Haskell URL resolver https://hackage.haskell.org/package/hurl-1.4.2.0 (alcinnz) |
2020-10-13 08:23:04 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 08:23:14 +0200 | GyroW | (~GyroW@d54c03e98.access.telenet.be) |
2020-10-13 08:23:14 +0200 | GyroW | (~GyroW@d54c03e98.access.telenet.be) (Changing host) |
2020-10-13 08:23:14 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 08:23:37 +0200 | sword865 | (uid208942@gateway/web/irccloud.com/x-sxotpuupdfwwcwxa) |
2020-10-13 08:27:24 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 08:27:39 +0200 | lucid_0x80 | (~lucid_0x8@188.253.234.30) |
2020-10-13 08:27:49 +0200 | sfvm | (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine) |
2020-10-13 08:28:02 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:38c4:6bae:c9c7:c00b) (Ping timeout: 260 seconds) |
2020-10-13 08:29:22 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 246 seconds) |
2020-10-13 08:30:13 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 08:30:47 +0200 | mystfox | (~myst@focks.pw) (Max SendQ exceeded) |
2020-10-13 08:31:02 +0200 | mozzarella | (~sam@unaffiliated/sam113101) (Remote host closed the connection) |
2020-10-13 08:31:08 +0200 | mystfox | (~myst@focks.pw) |
2020-10-13 08:33:00 +0200 | mozzarella | (~sam@unaffiliated/sam113101) |
2020-10-13 08:33:00 +0200 | mozzarella | (~sam@unaffiliated/sam113101) (Remote host closed the connection) |
2020-10-13 08:34:22 +0200 | mozzarella | (~sam@unaffiliated/sam113101) |
2020-10-13 08:35:01 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 264 seconds) |
2020-10-13 08:35:01 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2020-10-13 08:37:16 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-10-13 08:40:50 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:85d4:43d9:8dee:59a0) |
2020-10-13 08:46:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-10-13 08:48:21 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 08:48:52 +0200 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2020-10-13 08:48:57 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 08:51:29 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds) |
2020-10-13 08:52:18 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) |
2020-10-13 08:52:18 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
2020-10-13 08:52:18 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 08:53:42 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 08:54:05 +0200 | toorevitimirp | (~tooreviti@117.182.180.0) (Remote host closed the connection) |
2020-10-13 08:54:52 +0200 | falafel | (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 260 seconds) |
2020-10-13 08:55:47 +0200 | GyroW_ | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 08:55:47 +0200 | GyroW_ | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 08:55:47 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) |
2020-10-13 08:56:37 +0200 | JordiGH | (jordi@octave/developer/JordiGH) (Ping timeout: 260 seconds) |
2020-10-13 08:57:09 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds) |
2020-10-13 08:58:07 +0200 | <gentauro> | 05:11 < Axman6> Crore => 1,00,00,000, Lakh Crore => 10,00,00,00,00,000 |
2020-10-13 08:58:12 +0200 | <gentauro> | first time I see this :o |
2020-10-13 08:59:49 +0200 | fbm | (5ddb33d0@p5ddb33d0.dip0.t-ipconnect.de) |
2020-10-13 09:02:18 +0200 | fbm | (5ddb33d0@p5ddb33d0.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-10-13 09:04:34 +0200 | John20 | (~John@82.46.59.122) |
2020-10-13 09:04:47 +0200 | xff0x | (~fox@2001:1a81:52e4:2a00:a0c7:cc77:f7d4:2372) (Ping timeout: 260 seconds) |
2020-10-13 09:06:20 +0200 | toorevitimirp | (~tooreviti@117.182.180.0) |
2020-10-13 09:08:19 +0200 | alp | (~alp@2a01:e0a:58b:4920:e472:4844:3c7b:eb57) |
2020-10-13 09:09:13 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Ping timeout: 265 seconds) |
2020-10-13 09:09:49 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-10-13 09:15:58 +0200 | danso | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-10-13 09:15:58 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-10-13 09:16:00 +0200 | coot | (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl) |
2020-10-13 09:16:31 +0200 | akegalj | (~akegalj@93-138-183-8.adsl.net.t-com.hr) |
2020-10-13 09:16:44 +0200 | danso | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 09:16:49 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 09:16:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 09:17:15 +0200 | vonfry | (~user@38.94.109.36) (Remote host closed the connection) |
2020-10-13 09:17:39 +0200 | vonfry | (~user@116.236.75.229) |
2020-10-13 09:17:42 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) () |
2020-10-13 09:18:45 +0200 | vonfry` | (~user@38.94.109.36) |
2020-10-13 09:19:08 +0200 | howdoi | (uid224@gateway/web/irccloud.com/x-yqmynplgqpklanea) (Quit: Connection closed for inactivity) |
2020-10-13 09:20:59 +0200 | vonfry` | (~user@38.94.109.36) (Remote host closed the connection) |
2020-10-13 09:21:21 +0200 | vonfry`` | (~user@38.94.109.36) |
2020-10-13 09:22:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-10-13 09:22:26 +0200 | vonfry | (~user@116.236.75.229) (Ping timeout: 256 seconds) |
2020-10-13 09:24:31 +0200 | thc202 | (~thc202@unaffiliated/thc202) |
2020-10-13 09:28:58 +0200 | chaosmasttter | (~chaosmast@p200300c4a711b00135524723c22b3f52.dip0.t-ipconnect.de) |
2020-10-13 09:29:02 +0200 | danso | (~dan@107-190-41-58.cpe.teksavvy.com) (Quit: WeeChat 2.9) |
2020-10-13 09:30:09 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 09:33:09 +0200 | oxide | (~lambda@unaffiliated/mclaren) |
2020-10-13 09:37:58 +0200 | hackage | pandoc-crossref 0.3.8.2 - Pandoc filter for cross-references https://hackage.haskell.org/package/pandoc-crossref-0.3.8.2 (lierdakil) |
2020-10-13 09:38:20 +0200 | raichoo | (~raichoo@213.240.178.58) |
2020-10-13 09:38:20 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2020-10-13 09:38:21 +0200 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-10-13 09:39:00 +0200 | Volt_ | (~Volt_@c-73-145-164-70.hsd1.mi.comcast.net) (Quit: ) |
2020-10-13 09:40:52 +0200 | vonfry`` | (~user@38.94.109.36) (Remote host closed the connection) |
2020-10-13 09:41:07 +0200 | vonfry`` | (~user@116.236.75.229) |
2020-10-13 09:44:15 +0200 | vonfry``` | (~user@38.94.109.36) |
2020-10-13 09:45:00 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-10-13 09:45:21 +0200 | vonfry``` | (~user@38.94.109.36) () |
2020-10-13 09:46:41 +0200 | shafox | (~shafox@106.51.234.111) |
2020-10-13 09:48:04 +0200 | vonfry`` | (~user@116.236.75.229) (Ping timeout: 260 seconds) |
2020-10-13 09:50:18 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
2020-10-13 09:50:50 +0200 | dhouthoo | (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) |
2020-10-13 09:52:07 +0200 | xff0x | (~fox@217.110.198.158) |
2020-10-13 09:54:23 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-10-13 09:55:31 +0200 | nyd | (~lpy@unaffiliated/elysian) (Ping timeout: 256 seconds) |
2020-10-13 09:55:56 +0200 | nyd | (~lpy@unaffiliated/elysian) |
2020-10-13 09:59:33 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 09:59:55 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-10-13 10:00:32 +0200 | ghoulguy | (x@freenode/staff/haskell.developer.glguy) (Ping timeout: 615 seconds) |
2020-10-13 10:02:11 +0200 | m0rphism | (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) |
2020-10-13 10:02:14 +0200 | carldd102 | (~carldd@90-224-49-113-no56.tbcn.telia.com) |
2020-10-13 10:02:41 +0200 | toorevitimirp | (~tooreviti@117.182.180.0) (Quit: Konversation terminated!) |
2020-10-13 10:02:48 +0200 | carldd10 | (~carldd@90-224-49-113-no56.tbcn.telia.com) (Read error: Connection reset by peer) |
2020-10-13 10:04:37 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 272 seconds) |
2020-10-13 10:04:37 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 10:04:40 +0200 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-ycssaquegccjnbcx) (Quit: Connection closed for inactivity) |
2020-10-13 10:05:00 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 10:06:56 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Read error: Connection reset by peer) |
2020-10-13 10:06:56 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 10:08:23 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2020-10-13 10:08:57 +0200 | glguy | (x@freenode/staff/haskell.developer.glguy) |
2020-10-13 10:09:59 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 10:13:05 +0200 | <gentauro> | so it looks like I got `lsp` to work with `emacs`. But is there a way to disable the "clippy a like boxes"? I mean, as a colorblind person, they don't do anything for me :D https://postimg.cc/QBPhSSM9 |
2020-10-13 10:13:59 +0200 | akegalj | (~akegalj@93-138-183-8.adsl.net.t-com.hr) (Ping timeout: 265 seconds) |
2020-10-13 10:13:59 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 10:14:25 +0200 | <gentauro> | btw, this is how I got it to work -> https://pastebin.ubuntu.com/p/WTqKCSNJYS/ |
2020-10-13 10:14:34 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 10:14:42 +0200 | <gentauro> | it seems like the `install.hs` doesn't really play nice with stack :( |
2020-10-13 10:14:58 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 10:15:15 +0200 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Quit: Off to see the wizard.) |
2020-10-13 10:16:06 +0200 | Buntspecht | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2020-10-13 10:16:06 +0200 | gentauro | I would <3 to update https://github.com/haskell/haskell-language-server/issues/171#issue-643008760 with this comment, but sadly I "wiped" my GH account when M$ overtook the platform … |
2020-10-13 10:16:11 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) |
2020-10-13 10:16:37 +0200 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) |
2020-10-13 10:16:38 +0200 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-10-13 10:18:17 +0200 | dhouthoo | (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Ping timeout: 260 seconds) |
2020-10-13 10:18:18 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 10:19:35 +0200 | <gentauro> | oh, so if I remove `lsp-ui` from `emacs`, then "clippy msgs" go away. Good to know :) |
2020-10-13 10:19:59 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 10:21:27 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2020-10-13 10:23:16 +0200 | <gentauro> | I guess it's fair to say that `lsp-haskell` is pretty fast compared to `intero`. Hmmm |
2020-10-13 10:23:29 +0200 | alp | (~alp@2a01:e0a:58b:4920:e472:4844:3c7b:eb57) (Remote host closed the connection) |
2020-10-13 10:23:46 +0200 | oxide | (~lambda@unaffiliated/mclaren) (Ping timeout: 258 seconds) |
2020-10-13 10:23:50 +0200 | alp | (~alp@2a01:e0a:58b:4920:1dcd:3fff:5840:1f3a) |
2020-10-13 10:24:41 +0200 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-10-13 10:24:41 +0200 | Ariakenom | (~Ariakenom@193.254.193.1) |
2020-10-13 10:25:29 +0200 | oxide | (~lambda@unaffiliated/mclaren) |
2020-10-13 10:28:19 +0200 | kindaro | (1f08ec14@h31-8-236-20.dyn.bashtel.ru) |
2020-10-13 10:28:43 +0200 | <kindaro> | Is there an introduction to Object Oriented Programming for a functional programmer? |
2020-10-13 10:30:27 +0200 | <kindaro> | I would like to have basic concepts and motivation explained to me, but so far I have not been able to locate a clear introduction. |
2020-10-13 10:32:08 +0200 | <gentauro> | kindaro: at KU they teach the three paradigsm: imperative, FP and OO under the same umbrella (F#) for newcomers to CS |
2020-10-13 10:32:18 +0200 | <kindaro> | KU? |
2020-10-13 10:32:34 +0200 | drbean | (~drbean@TC210-63-209-59.static.apol.com.tw) (Ping timeout: 246 seconds) |
2020-10-13 10:32:39 +0200 | <gentauro> | that way it's easier to see the differences between these paradigms (same language/syntax) and not get lost in translation |
2020-10-13 10:33:07 +0200 | <gentauro> | kindaro: KU = København Universitet (in English: University of Copenhagen) |
2020-10-13 10:33:28 +0200 | <gentauro> | maybe the teaching material is available openly? You might reach out to Athas for that |
2020-10-13 10:34:58 +0200 | <kindaro> | This looks like the thing: https://studier.ku.dk/bachelor/datalogi/faq/livet-paa-uddannelsen/Eksempel_p__en_tekst_fra_datalog… |
2020-10-13 10:35:44 +0200 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) () |
2020-10-13 10:38:43 +0200 | <gentauro> | kindaro: might be. I would have hoped for `Torben Ægidius Mogensen` material :) |
2020-10-13 10:39:34 +0200 | glguy | (x@freenode/staff/haskell.developer.glguy) (Ping timeout: 606 seconds) |
2020-10-13 10:40:30 +0200 | <gentauro> | kindaro: I'm asking him on FB |
2020-10-13 10:42:56 +0200 | eedgit2 | (~chat.free@95.179.237.21) (Remote host closed the connection) |
2020-10-13 10:43:06 +0200 | cpressey | (~cpressey@88.144.68.224) |
2020-10-13 10:43:17 +0200 | eedgit2 | (~chat.free@95.179.237.21) |
2020-10-13 10:47:56 +0200 | guest35 | (d537f42e@213.55.244.46) |
2020-10-13 10:54:57 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 10:55:34 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:3d18:f8b0:5f22:3669) |
2020-10-13 10:59:28 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-10-13 11:00:01 +0200 | glguy | (x@freenode/staff/haskell.developer.glguy) |
2020-10-13 11:00:02 +0200 | Wayno | (~Wayno@185.163.110.116) () |
2020-10-13 11:02:45 +0200 | <merijn> | When (which GHC) did Monoid move to prelude? |
2020-10-13 11:03:42 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 11:04:10 +0200 | polyrain_ | (~polyrain@2001:8003:e501:6901:8a4:c02:960d:e633) |
2020-10-13 11:06:11 +0200 | lucid_0x80 | (~lucid_0x8@188.253.234.30) (Ping timeout: 265 seconds) |
2020-10-13 11:06:22 +0200 | <Taneb> | merijn: 7.10 |
2020-10-13 11:06:35 +0200 | <Taneb> | base has a pretty useful changelog |
2020-10-13 11:07:15 +0200 | <kindaro> | gentauro, I value your help. I have to go presently. If you have any more information about that F# teaching material, please write to me offline _(I can check the public log)_ or ask the bot to deliver a message. |
2020-10-13 11:07:17 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:3d18:f8b0:5f22:3669) (Ping timeout: 260 seconds) |
2020-10-13 11:07:27 +0200 | kindaro | (1f08ec14@h31-8-236-20.dyn.bashtel.ru) (Remote host closed the connection) |
2020-10-13 11:07:53 +0200 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9) |
2020-10-13 11:08:24 +0200 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) |
2020-10-13 11:10:49 +0200 | <merijn> | Taneb: Yeah, that just occurred to me |
2020-10-13 11:11:07 +0200 | shutdown_-h_now | (~arjan@2001:1c06:2d0b:2312:fc55:7103:1b55:f700) (Ping timeout: 272 seconds) |
2020-10-13 11:12:10 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2020-10-13 11:12:48 +0200 | <jonathanx> | So I want to create a typeable representation of a GADT tagged with datakind based phantom types. I run into issues which I think is due to datakind based types not having Typeable instances (as opposed to to ordinary types). This is a bit annoying, seeing as a typeable instance for datakind is a simple "demotion" from type->value. So my question is: is there a convenient way to create typeable instances for GADTs that have DataKinds |
2020-10-13 11:12:49 +0200 | <jonathanx> | phantom types? |
2020-10-13 11:14:27 +0200 | <merijn> | jonathanx: Eh, out of curiousity, why do you wanna do that? |
2020-10-13 11:15:52 +0200 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection) |
2020-10-13 11:16:55 +0200 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) |
2020-10-13 11:18:27 +0200 | shutdown_-h_now | (~arjan@2001:1c06:2d0b:2312:613f:c21f:11b3:bc2c) |
2020-10-13 11:19:29 +0200 | ClaudiusMaximus | (~claude@198.123.199.146.dyn.plus.net) |
2020-10-13 11:19:40 +0200 | ClaudiusMaximus | (~claude@198.123.199.146.dyn.plus.net) (Changing host) |
2020-10-13 11:19:40 +0200 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2020-10-13 11:23:14 +0200 | <jonathanx> | I'm working with a domain similar to dataflow languages (such as labview), where the nodes have various invariants in the way they connect together/the outputs relate to the inputs. I'm prototyping encoding these invariant in GADTS decorated with datakind based phantom types. When constructing this/connecting the nodes together, I'm planning to first create a rose-tree representing all wanted connections, where the invariant-enforcing |
2020-10-13 11:23:14 +0200 | <jonathanx> | phantom types are "boxed" into a GADT such as "data Any where Any :: Specific phantomType -> Any". Then I want to fold that tree, "unboxing" the data as I go, and connect all children to each tree-node with phantom type based type security. When "unboxing", I want to use typeReps to help the compiler validate that the type "boxed" can be used as a parameter to the node it's connecting to |
2020-10-13 11:23:56 +0200 | __monty__ | (~toonn@unaffiliated/toonn) |
2020-10-13 11:25:25 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 264 seconds) |
2020-10-13 11:25:28 +0200 | <merijn> | eh, all I can say is "good luck" >.> |
2020-10-13 11:27:00 +0200 | <jonathanx> | Thank you! |
2020-10-13 11:29:37 +0200 | <sshine> | I'd probably go with JSON. :-D |
2020-10-13 11:30:03 +0200 | <dminuoso> | JSON is webscale. |
2020-10-13 11:30:12 +0200 | <sshine> | what does webscale mean? |
2020-10-13 11:30:35 +0200 | <dminuoso> | sshine: https://www.youtube.com/watch?v=b2F-DItXtZs |
2020-10-13 11:30:42 +0200 | <sshine> | I see JSON more like a common serializable format. short path between two command-line programs to share structured data. |
2020-10-13 11:31:46 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) |
2020-10-13 11:32:17 +0200 | <dminuoso> | Superficially, JSON only solves the "how do I serialize numbers (that's a funny bit, btw), strings, dictionaries, lists and bools" part. |
2020-10-13 11:32:28 +0200 | dhouthoo_ | (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) |
2020-10-13 11:32:28 +0200 | <sshine> | dminuoso, it sounds like tacking "web scale" onto something means you disapprove of it because of premature scaling concerns. :) |
2020-10-13 11:32:40 +0200 | <sshine> | s/only // and I'm with you. |
2020-10-13 11:32:48 +0200 | <dminuoso> | sshine: There's a lot of tongue-in-cheek in the webscale remark, above. |
2020-10-13 11:32:53 +0200 | <sshine> | yeah |
2020-10-13 11:33:02 +0200 | <sshine> | I think JSON is quite unambitious, which is a good thing. |
2020-10-13 11:33:16 +0200 | <dminuoso> | The thing is, when you're getting a deserialized JSON, you still have to parse the structure of it. |
2020-10-13 11:33:28 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Ping timeout: 246 seconds) |
2020-10-13 11:33:34 +0200 | <dminuoso> | Much of Python code is more adhoc, and destructures the data all over the place. |
2020-10-13 11:34:14 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
2020-10-13 11:34:26 +0200 | <dminuoso> | Since JSON types can be mapped into equally unstructured Python data. |
2020-10-13 11:34:36 +0200 | <sshine> | so, my idea is, you have a bunch of ADTs, you derive Aeson encode/decode, and you save your configs to disk. if you need to interact with them in *any other way*, serialization is given. if not, you can post-pone deriving Aeson. |
2020-10-13 11:34:54 +0200 | <sshine> | so no web scale ambition here. :) |
2020-10-13 11:35:18 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 260 seconds) |
2020-10-13 11:36:50 +0200 | <sshine> | they're not as safe as GADTs with phantom types, but they serialize nicely, which is something I'd probably appreciate sooner. :) |
2020-10-13 11:42:28 +0200 | karolus | (~karolus@static.32.230.217.95.clients.your-server.de) (Ping timeout: 256 seconds) |
2020-10-13 11:42:37 +0200 | <gentauro> | jonathanx: why not just to `show` / `read`? |
2020-10-13 11:43:12 +0200 | <gentauro> | jonathanx: I have started to use that (with pretty-print) instead of `JSON` |
2020-10-13 11:43:33 +0200 | <gentauro> | It's more readable and it's easily save/load -able |
2020-10-13 11:43:34 +0200 | <Uniaika> | hey folks, I'm having a bit of an issue with Aeson. Do you know how I can write a `ToJSON MySumType` instance that would write the two members of the sum type as separate keys in the top-most object? |
2020-10-13 11:43:44 +0200 | <Uniaika> | because I could write them in a sub-object |
2020-10-13 11:44:01 +0200 | <Uniaika> | but due to reasons like backward compatibility, this is hardly an option :/ |
2020-10-13 11:44:30 +0200 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2020-10-13 11:46:09 +0200 | <jonathanx> | Well, if I were to use json, then I'd have to somehow serialize the phantom types (representing them in the json), and validate them on deserialization. This would leave me open to pretty mauch the same range of errors I'd get if I just enforced the invariants using runtime checks |
2020-10-13 11:46:29 +0200 | <gentauro> | dminuoso: that `webscale` video made my day. It's actually a documentary, cos that moment (2:35) I had far to many times … (it's like they are "quoting me") :o |
2020-10-13 11:48:08 +0200 | <jonathanx> | which would turn the entire phantom type based invariant forcing into just a piece of redundant bloat/an excessive roundtrip |
2020-10-13 11:48:20 +0200 | <gentauro> | Uniaika: I tend to use `set <|> bin` (`Control.Applicative` Alternate) for that |
2020-10-13 11:48:59 +0200 | <gentauro> | I can post code that does exactly what you are asking for, but I'm working on the proejct at this exact moment :) |
2020-10-13 11:49:07 +0200 | <gentauro> | s/I can/I can't/ |
2020-10-13 11:51:27 +0200 | <gentauro> | kindaro: `please write to me offline` Roger that |
2020-10-13 11:51:37 +0200 | acidjnk_new | (~acidjnk@p200300d0c723782835a5fda97218b164.dip0.t-ipconnect.de) |
2020-10-13 11:53:27 +0200 | <Uniaika> | gentauro: oh, thank you :) |
2020-10-13 11:56:45 +0200 | shatriff_ | (~vitaliish@176.52.219.10) |
2020-10-13 11:56:45 +0200 | shatriff | (~vitaliish@176.52.219.10) (Read error: Connection reset by peer) |
2020-10-13 11:56:46 +0200 | <dminuoso> | Uniaika: You could always just write the object out by hand `object ["foo" .= foo, "bar" .= bar]`, Ive grown quite fond of that. |
2020-10-13 11:56:51 +0200 | supercoven | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
2020-10-13 11:57:27 +0200 | <dminuoso> | Too often I found, relying on generics, generics with options, and things like the Alternative, is trying very hard to take indirect control over the encoder/decoder |
2020-10-13 11:57:35 +0200 | <kuribas> | Uniaika: do you need to rewrite the Aeson? |
2020-10-13 11:57:47 +0200 | <kuribas> | Uniaika: I actually just wrote code to do that. |
2020-10-13 11:57:58 +0200 | <kuribas> | Uniaika: and you can still use generics after it. |
2020-10-13 11:59:23 +0200 | <dminuoso> | Also, with generics you're tying external representation directly to your data types. To get around that, you might start having a separate data type, where you rename fields particularly to control the representation, and then you need a sort of `fromRep/toRep` functions, which is the exact boilerplate you tried to avoid in the first place.. |
2020-10-13 11:59:29 +0200 | <kuribas> | Uniaika: https://gist.github.com/kuribas/5c617ecf025ccb37467a23556cbe963e |
2020-10-13 11:59:35 +0200 | <dminuoso> | Every time I stare at aeson, I dont think generics are a good idea. :( |
2020-10-13 11:59:40 +0200 | <dminuoso> | Or typeclasses at all |
2020-10-13 12:00:06 +0200 | <kuribas> | there are many times where generics are actually desirable. |
2020-10-13 12:00:17 +0200 | <Uniaika> | thanks to you all :) |
2020-10-13 12:00:24 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 12:00:30 +0200 | <kuribas> | because you know it will still be consistent when you add a field. |
2020-10-13 12:00:41 +0200 | <kuribas> | while manual instance don't garantee that your instances are consistent. |
2020-10-13 12:01:00 +0200 | <Uniaika> | kuribas: I have a roundtrip test for that |
2020-10-13 12:01:11 +0200 | <Uniaika> | always with manual instances for Aeson and pg-simple |
2020-10-13 12:01:14 +0200 | <kuribas> | Uniaika: with my code it is actually garanteed |
2020-10-13 12:01:16 +0200 | akegalj | (~akegalj@93-138-183-8.adsl.net.t-com.hr) |
2020-10-13 12:01:34 +0200 | <kuribas> | Uniaika: as long as you use the same options of course. |
2020-10-13 12:01:49 +0200 | <Uniaika> | kuribas: I'm waiting for a blog post to introduce that AesonTrans :) |
2020-10-13 12:01:52 +0200 | dhouthoo_ | (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Ping timeout: 244 seconds) |
2020-10-13 12:01:58 +0200 | <Uniaika> | it really looks interesting :) |
2020-10-13 12:01:58 +0200 | <kuribas> | Uniaika: I should make a library for it... |
2020-10-13 12:02:03 +0200 | <Uniaika> | also! :D |
2020-10-13 12:03:09 +0200 | <kuribas> | Uniaika: the disadvantage is that it rewrites the Value, so it is less efficient than a direct toEncoding. |
2020-10-13 12:04:27 +0200 | hackage | Z-IO 0.1.5.1 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.5.1 (winterland) |
2020-10-13 12:04:35 +0200 | dhouthoo_ | (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) |
2020-10-13 12:04:57 +0200 | <kuribas> | Uniaika: fromField (Proxy @"field") ["a", "b"] "c", pulls in field c, for example {"a": {"b": {"c" = 2 }}} => {"field" => 2} |
2020-10-13 12:05:02 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 260 seconds) |
2020-10-13 12:06:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-10-13 12:06:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 12:07:02 +0200 | <kuribas> | Uniaika: maybeFromField does the same, but can be empty. |
2020-10-13 12:07:44 +0200 | <kuribas> | Uniaika: you can compose the AesonTrans with monoid, use postTransJSON and preTransJSON to translate the JSON. That's it basically. |
2020-10-13 12:07:52 +0200 | guest35 | (d537f42e@213.55.244.46) (Remote host closed the connection) |
2020-10-13 12:08:14 +0200 | <kuribas> | Uniaika: and don't forget to set the fieldModifier using transFieldModifier if you have one. |
2020-10-13 12:09:06 +0200 | lemmih_ | (~lemmih@218.186.157.57) (Remote host closed the connection) |
2020-10-13 12:09:34 +0200 | lemmih_ | (~lemmih@2406:3003:2072:44:9dc:f2e9:a002:8d1a) |
2020-10-13 12:09:55 +0200 | <Uniaika> | kuribas: I doubt I'll be able to pull this off for the current project, but I will definitely think about it for any next project I'm bootstrapping |
2020-10-13 12:10:08 +0200 | <Uniaika> | (but again, I'll need some kind of blog post to introduce the lib and its usage :P) |
2020-10-13 12:10:33 +0200 | <kuribas> | Uniaika: yeah, a hackage library with some docs would be a good idea :) |
2020-10-13 12:10:44 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-10-13 12:10:46 +0200 | <Uniaika> | <3 |
2020-10-13 12:13:18 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 272 seconds) |
2020-10-13 12:13:53 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) |
2020-10-13 12:15:30 +0200 | karolus | (~karolus@static.32.230.217.95.clients.your-server.de) |
2020-10-13 12:16:50 +0200 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection) |
2020-10-13 12:17:50 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-10-13 12:18:49 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 264 seconds) |
2020-10-13 12:21:27 +0200 | oisdk | (~oisdk@2001:bb6:3329:d100:7c51:293a:6844:5080) |
2020-10-13 12:21:47 +0200 | polyrain_ | (~polyrain@2001:8003:e501:6901:8a4:c02:960d:e633) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 12:22:15 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) |
2020-10-13 12:22:52 +0200 | phillip | (~phillip@178.162.204.214) |
2020-10-13 12:23:46 +0200 | wei2912 | (~wei2912@unaffiliated/wei2912) (Quit: Lost terminal) |
2020-10-13 12:24:06 +0200 | lemmih_ | (~lemmih@2406:3003:2072:44:9dc:f2e9:a002:8d1a) (Remote host closed the connection) |
2020-10-13 12:24:08 +0200 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-10-13 12:24:20 +0200 | iteratee | (~kyle@162.211.154.4) |
2020-10-13 12:24:31 +0200 | petersen | (~petersen@redhat/juhp) (Remote host closed the connection) |
2020-10-13 12:24:35 +0200 | alp | (~alp@2a01:e0a:58b:4920:1dcd:3fff:5840:1f3a) (Ping timeout: 272 seconds) |
2020-10-13 12:24:42 +0200 | lemmih_ | (~lemmih@2406:3003:2072:44:9dc:f2e9:a002:8d1a) |
2020-10-13 12:24:53 +0200 | noctux | (~noctux@unaffiliated/noctux) (Ping timeout: 260 seconds) |
2020-10-13 12:25:27 +0200 | noctux | (~noctux@unaffiliated/noctux) |
2020-10-13 12:26:14 +0200 | petersen | (~petersen@redhat/juhp) |
2020-10-13 12:26:31 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-10-13 12:26:38 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 260 seconds) |
2020-10-13 12:27:45 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:85d4:43d9:8dee:59a0) (Ping timeout: 272 seconds) |
2020-10-13 12:28:55 +0200 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 244 seconds) |
2020-10-13 12:29:36 +0200 | berberman | (~berberman@unaffiliated/berberman) |
2020-10-13 12:30:10 +0200 | lucid_0x80 | (~lucid_0x8@85.132.73.6) |
2020-10-13 12:32:57 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 258 seconds) |
2020-10-13 12:33:52 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-10-13 12:33:54 +0200 | dcoutts_ | (~duncan@33.14.75.194.dyn.plus.net) |
2020-10-13 12:35:34 +0200 | solonarv | (~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) |
2020-10-13 12:37:57 +0200 | hackage | matchable-th 0.1.1.1 - Generates Matchable instances using TemplateHaskell https://hackage.haskell.org/package/matchable-th-0.1.1.1 (viercc) |
2020-10-13 12:38:19 +0200 | lucid_0x80 | (~lucid_0x8@85.132.73.6) (Ping timeout: 258 seconds) |
2020-10-13 12:38:24 +0200 | ggole | (~ggole@2001:8003:8119:7200:dcc4:683f:59f7:9d48) |
2020-10-13 12:39:54 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:dca2:e278:5c94:78bf) |
2020-10-13 12:41:58 +0200 | bliminse | (~bliminse@host217-42-95-37.range217-42.btcentralplus.com) (Ping timeout: 256 seconds) |
2020-10-13 12:42:17 +0200 | bliminse | (~bliminse@host217-42-95-37.range217-42.btcentralplus.com) |
2020-10-13 12:42:27 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) |
2020-10-13 12:42:41 +0200 | <Uniaika> | god damnit |
2020-10-13 12:43:34 +0200 | <Uniaika> | I'm having this JSON format to parse and I can't seem to make sense of what to do |
2020-10-13 12:43:49 +0200 | <Uniaika> | I have *two* top-level field, that are to be unified in a sum type in Haskell-land |
2020-10-13 12:45:44 +0200 | <Uniaika> | so naturally I'm writing such an instance https://ghostbin.co/paste/r64hne2 |
2020-10-13 12:46:30 +0200 | <Uniaika> | (surprise, doesn't compile) |
2020-10-13 12:47:00 +0200 | bliminse | (~bliminse@host217-42-95-37.range217-42.btcentralplus.com) (Ping timeout: 256 seconds) |
2020-10-13 12:47:30 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 272 seconds) |
2020-10-13 12:47:44 +0200 | bliminse | (~bliminse@host217-42-95-37.range217-42.btcentralplus.com) |
2020-10-13 12:49:13 +0200 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2020-10-13 12:49:25 +0200 | Stanley00 | (~stanley00@unaffiliated/stanley00) () |
2020-10-13 12:49:58 +0200 | p8m_ | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds) |
2020-10-13 12:50:25 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 12:52:43 +0200 | <fendor> | Uniaika, in the example, aren't you missing the unifying sum type? |
2020-10-13 12:55:05 +0200 | <Uniaika> | >_> sorry, I'll edit the snippet |
2020-10-13 12:55:12 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 12:55:40 +0200 | <Uniaika> | fendor: reload, it's been added |
2020-10-13 12:55:54 +0200 | rprije | (~rprije@203.214.95.251) (Ping timeout: 265 seconds) |
2020-10-13 12:56:48 +0200 | <fendor> | Uniaika, and why doesn't it compile? Code-snippet looks roughly good to me |
2020-10-13 12:58:38 +0200 | John20 | (~John@82.46.59.122) (Ping timeout: 258 seconds) |
2020-10-13 13:01:08 +0200 | <merijn> | heh |
2020-10-13 13:01:21 +0200 | <Uniaika> | fendor: https://ghostbin.co/paste/r64hne2 |
2020-10-13 13:01:24 +0200 | <Uniaika> | here is the error |
2020-10-13 13:01:25 +0200 | <merijn> | "maybe" is exported from Prelude? |
2020-10-13 13:01:31 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-10-13 13:01:38 +0200 | <Uniaika> | merijn: yes, I think so |
2020-10-13 13:01:56 +0200 | <Uniaika> | fendor: also, I think I have a hard time expressing the fact that they may be null, but not at the same time? |
2020-10-13 13:02:17 +0200 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
2020-10-13 13:02:24 +0200 | <Uniaika> | I mean, if it were an object, I'd use (.:?) |
2020-10-13 13:02:31 +0200 | <nshepperd> | this looks like a job for Alternative |
2020-10-13 13:02:50 +0200 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2020-10-13 13:03:00 +0200 | <Uniaika> | hmm |
2020-10-13 13:03:04 +0200 | <Uniaika> | sounds like it yeah |
2020-10-13 13:03:30 +0200 | <Uniaika> | but every tutorial under the sun seems to be operating on an object, and not with top-level values, so I don't know how much they apply? |
2020-10-13 13:03:33 +0200 | lemmih__ | (~lemmih@218.186.157.57) |
2020-10-13 13:03:34 +0200 | <Uniaika> | hmm. |
2020-10-13 13:03:41 +0200 | <Uniaika> | I'll try something |
2020-10-13 13:03:58 +0200 | <Uniaika> | (thanks for being rubber ducks, it's incredibly helpful to be able to lay down my thoughts) |
2020-10-13 13:04:28 +0200 | <fendor> | Uniaika, I think the type for field2 is wrong, too. Don't you need Data.UUID.fromText ? |
2020-10-13 13:04:57 +0200 | <Uniaika> | fendor: well, since there is already a FromJSON instance for UUID, I thought it would work out-of-the-box? |
2020-10-13 13:05:07 +0200 | chaosmasttter | (~chaosmast@p200300c4a711b00135524723c22b3f52.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 13:05:13 +0200 | <nshepperd> | what exactly do you mean by a top level field |
2020-10-13 13:05:37 +0200 | <nshepperd> | value, whatever |
2020-10-13 13:05:41 +0200 | <Uniaika> | I'll add the desired JSON representation to the snippet |
2020-10-13 13:05:55 +0200 | lemmih_ | (~lemmih@2406:3003:2072:44:9dc:f2e9:a002:8d1a) (Ping timeout: 240 seconds) |
2020-10-13 13:06:28 +0200 | hackage | git-mediate 1.0.8.1 - Tool to help resolving git conflicts https://hackage.haskell.org/package/git-mediate-1.0.8.1 (EyalLotem) |
2020-10-13 13:06:32 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds) |
2020-10-13 13:06:34 +0200 | <fendor> | Uniaika, I don't think `withText` gives you a text and then you have to specify a value parser for that text. Doesnt use the instance automatically |
2020-10-13 13:07:04 +0200 | <nshepperd> | that usage of withText doesn't look right anyhow |
2020-10-13 13:07:12 +0200 | <fendor> | indeed |
2020-10-13 13:07:27 +0200 | <nshepperd> | The first argument is only used for the error message |
2020-10-13 13:08:50 +0200 | <Uniaika> | fendor, nshepperd : https://ghostbin.co/paste/r64hne2 |
2020-10-13 13:09:04 +0200 | <merijn> | Uniaika: I recommend using a different pastebin, that one is terrible |
2020-10-13 13:09:09 +0200 | <Uniaika> | ah shit |
2020-10-13 13:09:10 +0200 | <Uniaika> | sorry |
2020-10-13 13:09:15 +0200 | <Uniaika> | dpaste? |
2020-10-13 13:09:19 +0200 | <merijn> | It apparently requires me enabling cookies AND solving a captcha to read things |
2020-10-13 13:09:21 +0200 | <merijn> | screw that |
2020-10-13 13:09:23 +0200 | <Uniaika> | I think hpaste is dead now, right? |
2020-10-13 13:09:25 +0200 | <dminuoso> | https://paste.tomsmeding.com/ |
2020-10-13 13:09:32 +0200 | <dminuoso> | Is the spiritual hpaste successor |
2020-10-13 13:09:41 +0200 | <Uniaika> | https://paste.tomsmeding.com/QMFidUu1 |
2020-10-13 13:09:45 +0200 | <Uniaika> | dminuoso: thx |
2020-10-13 13:09:49 +0200 | <fendor> | well, for Foo, it could be something like: `parseJSON v = Field1 <$> v .: "field1" <|> Field2 <$> v .: "field2"` |
2020-10-13 13:09:52 +0200 | <merijn> | tomsmeding is the hero #haskell needed ;) |
2020-10-13 13:10:04 +0200 | John20 | (~John@82.46.59.122) |
2020-10-13 13:10:10 +0200 | <merijn> | He resurrected ircbrowse too, so now I can be self-concious about how much time I spend here :p |
2020-10-13 13:10:18 +0200 | <Uniaika> | fendor: ooooh |
2020-10-13 13:10:30 +0200 | <merijn> | tomsmeding: oh, maybe you should send a mail to Haskell Weekly to publicize those two? |
2020-10-13 13:10:36 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-10-13 13:11:27 +0200 | hackage | http-conduit-downloader 1.1.0 - HTTP downloader tailored for web-crawler needs. https://hackage.haskell.org/package/http-conduit-downloader-1.1.0 (VladimirShabanov) |
2020-10-13 13:11:49 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) |
2020-10-13 13:12:04 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) (Client Quit) |
2020-10-13 13:12:14 +0200 | <Uniaika> | fendor: but (.:) is expecting a HashMap right? |
2020-10-13 13:12:25 +0200 | <tomsmeding> | merijn: I'm not sure it would be a good idea to publicise ircbrowse that way, given that it's not my project... :p |
2020-10-13 13:12:53 +0200 | <dminuoso> | Uniaika: No. |
2020-10-13 13:12:56 +0200 | <merijn> | tomsmeding: It's open source, you just forked/maintained it |
2020-10-13 13:13:05 +0200 | <dminuoso> | (.:) :: FromJSON a => Object -> Text -> Parser a |
2020-10-13 13:13:06 +0200 | <tomsmeding> | true |
2020-10-13 13:13:13 +0200 | <merijn> | tomsmeding: I don't think Chris would mind, but you could always ping him over email and ask |
2020-10-13 13:13:13 +0200 | <dminuoso> | Uniaika: The interface is usually like this: |
2020-10-13 13:13:18 +0200 | <fendor> | Uniaika, Then you would need: `parseJSON obj = withObject "TopLevel Object" $ \v -> Field1 <$> v .: "field1" <|> Field2 <$> v .: "field2"` |
2020-10-13 13:13:36 +0200 | <dminuoso> | Uniaika: withObject "foo" $ \o -> F <$> o .: "some" <*> o .: "other" |
2020-10-13 13:13:41 +0200 | guest35 | (d537f42e@213.55.244.46) |
2020-10-13 13:13:58 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) |
2020-10-13 13:14:10 +0200 | <dminuoso> | Or, as I prefer, with RecordWildcards: |
2020-10-13 13:14:27 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) (Client Quit) |
2020-10-13 13:14:43 +0200 | <dminuoso> | withObject "foo" $ \o -> do { field1 <- o .: "field1"; field2 <- o .: "field2"; pure F{..} } |
2020-10-13 13:14:43 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 13:14:47 +0200 | <fendor> | Personally, I found my library to go now is aeson-combinators. Json decoders and encoders is one thing elm got right |
2020-10-13 13:15:09 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 13:15:16 +0200 | <cpressey> | May I humbly propose replacing 'https://gist.github.com/' in the topic of this channel with 'https://paste.tomsmeding.com/'? :) |
2020-10-13 13:15:23 +0200 | <dminuoso> | fendor: waargonaut addresses most issues well |
2020-10-13 13:15:34 +0200 | <dminuoso> | it has a much better and flexible interface |
2020-10-13 13:15:42 +0200 | <Uniaika> | dminuoso: but wouldn't that mean that the expected JSON has this "foo" sub-object then? |
2020-10-13 13:15:42 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 13:15:59 +0200 | <dminuoso> | Uniaika: No, that's just a name that is used for debugging |
2020-10-13 13:16:13 +0200 | <dminuoso> | Uniaika: So when the parser fail, it will call the object (it was looking for) "foo" |
2020-10-13 13:16:13 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-10-13 13:16:23 +0200 | <fendor> | dminuoso, too complex for my taste |
2020-10-13 13:16:33 +0200 | <dminuoso> | fendor: Dunno, I find it rather simple. |
2020-10-13 13:16:38 +0200 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 272 seconds) |
2020-10-13 13:16:46 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 13:16:54 +0200 | <dminuoso> | Uniaika: https://hackage.haskell.org/package/aeson-1.5.4.1/docs/src/Data.Aeson.Types.FromJSON.html#withObject |
2020-10-13 13:17:13 +0200 | <merijn> | dminuoso: waargonaut's API is a Lovecraftian mess I wouldn't wish upon my worst enemy |
2020-10-13 13:17:41 +0200 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2020-10-13 13:18:02 +0200 | raehik | (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) |
2020-10-13 13:18:25 +0200 | <dminuoso> | merijn: It's not any less offending than say megaparsec. |
2020-10-13 13:18:48 +0200 | <dminuoso> | And zippers! |
2020-10-13 13:19:05 +0200 | <dminuoso> | When you have to deal with other peoples formats, zippers are really a blessing. |
2020-10-13 13:19:32 +0200 | lucid_0x80 | (~lucid_0x8@85.132.73.6) |
2020-10-13 13:19:44 +0200 | jollygood2 | (~bc8165ab@217.29.117.252) |
2020-10-13 13:19:49 +0200 | <fendor> | aeson-combinators is much less offending. But I have to admit, Currently I only have rather trivial json formats to maintain |
2020-10-13 13:19:50 +0200 | <dminuoso> | And waargonaut handles JSON better, since it can deal with multiple "overlapping" attributes in objects |
2020-10-13 13:19:54 +0200 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
2020-10-13 13:19:59 +0200 | <merijn> | dminuoso: tbh, I think megaparsec has regressed *a lot* in that regard |
2020-10-13 13:20:10 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 13:20:18 +0200 | <merijn> | And it's a bad thing for Haskell and the ability to promote megaparsec to beginners |
2020-10-13 13:21:01 +0200 | <dminuoso> | merijn: The rudimentary interface of waargonaut is simpler than aeson by far. |
2020-10-13 13:21:04 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 13:21:42 +0200 | <merijn> | dminuoso: Then they need to package/document it better to hide away the clutter from the "main" user facing UI |
2020-10-13 13:21:53 +0200 | <dminuoso> | I agree, the documentation could be improved. |
2020-10-13 13:22:05 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 13:23:07 +0200 | <nshepperd> | Uniaika: the top level json you're looking at there _is_ an object, that's what withObject is for |
2020-10-13 13:23:15 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) |
2020-10-13 13:23:27 +0200 | <nshepperd> | field1 and field2 being text fields of it |
2020-10-13 13:23:52 +0200 | <Uniaika> | nshepperd: okay, I was afraid that since I'm writing an instance for what is a secondary object, it would try and mimic that structure in the JSON, which is a flat object |
2020-10-13 13:23:53 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) (Client Quit) |
2020-10-13 13:24:23 +0200 | <dminuoso> | merijn: https://github.com/qfpl/waargonaut#example if you consider these examples, the ergonomics is quite good. :) |
2020-10-13 13:24:57 +0200 | <merijn> | dminuoso: the Haddocks are just 15 pages of type gobbledy-gook, though |
2020-10-13 13:24:58 +0200 | hackage | imm 2.0.0.0 - Execute arbitrary actions for each item from RSS/Atom feeds https://hackage.haskell.org/package/imm-2.0.0.0 (koral) |
2020-10-13 13:25:50 +0200 | <dminuoso> | merijn: Bringing me back to my original point, we should get rid of all that JSON nonsense. |
2020-10-13 13:25:57 +0200 | <fendor> | dminuoso, also, why are they using fromKey instead of atKey? atKey seems to be simpler |
2020-10-13 13:26:07 +0200 | <dminuoso> | Just specify and write wire protocols, like programmers have done for the past 30 years. |
2020-10-13 13:26:25 +0200 | <dminuoso> | a bit of `binary` works wonders |
2020-10-13 13:26:28 +0200 | <merijn> | dminuoso: Or use dhall :) |
2020-10-13 13:26:39 +0200 | <dminuoso> | Oh, for configuration sure. |
2020-10-13 13:26:46 +0200 | lucid_0x80 | (~lucid_0x8@85.132.73.6) (Ping timeout: 272 seconds) |
2020-10-13 13:27:00 +0200 | <dminuoso> | For data exchange, if I had to pick a premade serialization format again, I'd go cbor. |
2020-10-13 13:27:07 +0200 | <merijn> | but yeah, a good BNF + wire protocol >> poorly implemented shit on top of JSON |
2020-10-13 13:27:25 +0200 | <dminuoso> | Indeed. |
2020-10-13 13:27:44 +0200 | <nshepperd> | @hackage serialize |
2020-10-13 13:27:44 +0200 | <lambdabot> | https://hackage.haskell.org/package/serialize |
2020-10-13 13:28:06 +0200 | <dminuoso> | nshepperd: I think you were looking for cereal? |
2020-10-13 13:28:06 +0200 | <merijn> | binary has pretty much obsoleted serialise, tbh |
2020-10-13 13:28:12 +0200 | <nshepperd> | oop misspelt |
2020-10-13 13:28:14 +0200 | <merijn> | eh, yeah cereal I mean |
2020-10-13 13:28:29 +0200 | <nshepperd> | @hackage serialise |
2020-10-13 13:28:29 +0200 | <lambdabot> | https://hackage.haskell.org/package/serialise |
2020-10-13 13:28:34 +0200 | <dminuoso> | I mean, cereal was made because binary was lacking support for strict bytestrings? |
2020-10-13 13:28:43 +0200 | <dminuoso> | binary supports both lazy and strict bytestrings now |
2020-10-13 13:28:53 +0200 | <dminuoso> | has good support for adding contexts |
2020-10-13 13:29:04 +0200 | <nshepperd> | serialise is cbor based, very nice imo |
2020-10-13 13:30:26 +0200 | <dminuoso> | nshepperd: serialise seems great if you want to do data exchange between two haskell systems over the network. |
2020-10-13 13:30:52 +0200 | <merijn> | template-haskell versions are tied to specific GHCs, right? |
2020-10-13 13:31:08 +0200 | <dminuoso> | https://hackage.haskell.org/package/template-haskell |
2020-10-13 13:31:13 +0200 | <dminuoso> | merijn: Judging from the bounds, Id say now |
2020-10-13 13:31:16 +0200 | <dminuoso> | *no |
2020-10-13 13:31:21 +0200 | <dminuoso> | base (>=4.11 && <4.15), ghc-boot-th (==8.10.1), ghc-prim, pretty (==1.1.*) [details] |
2020-10-13 13:31:25 +0200 | <nshepperd> | i also use it for serialising cached stuff to disk between runs of the same program |
2020-10-13 13:33:06 +0200 | chele | (~chele@5.53.222.202) (Ping timeout: 272 seconds) |
2020-10-13 13:33:08 +0200 | Tario | (~Tario@201.192.165.173) (Ping timeout: 258 seconds) |
2020-10-13 13:33:19 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 13:33:25 +0200 | Tario | (~Tario@201.192.165.173) |
2020-10-13 13:33:42 +0200 | <tomjaguarpaw> | I can't help thinking that what's important is the logical structure of the wire format rather than its concrete structure. |
2020-10-13 13:34:56 +0200 | <tomsmeding> | merijn: https://github.com/haskellweekly/haskellweekly/pull/52 |
2020-10-13 13:37:01 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2020-10-13 13:37:06 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:8a4:c02:960d:e633) |
2020-10-13 13:38:17 +0200 | seanvert | (~user@177.84.244.242) |
2020-10-13 13:38:46 +0200 | alp | (~alp@2a01:e0a:58b:4920:2586:865a:4e94:a66b) |
2020-10-13 13:39:25 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-10-13 13:39:32 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-10-13 13:41:51 +0200 | <kuribas> | Uniaika: don't you need (.:?) ? |
2020-10-13 13:42:07 +0200 | <kuribas> | Uniaika: it returns a Maybe for a field that can be possibly null. |
2020-10-13 13:42:23 +0200 | <Uniaika> | I found a way, actually |
2020-10-13 13:42:50 +0200 | <Uniaika> | solving the issue upstream, and not deriving the instance for the type, but taking care of serde in the upstream type |
2020-10-13 13:43:00 +0200 | <Uniaika> | (it does work) |
2020-10-13 13:43:02 +0200 | <kuribas> | that's even better :) |
2020-10-13 13:43:16 +0200 | <Uniaika> | thank you all for your time, I love you all, you're incredible <3 |
2020-10-13 13:43:48 +0200 | <kuribas> | Uniaika: although I think your case match is a good way BTW... |
2020-10-13 13:44:00 +0200 | <kuribas> | because it clearly shows you want exclusive or. |
2020-10-13 13:44:05 +0200 | <merijn> | Anyone know how to avoid "redundant import" warnings for "Data.Monoid ((<>))" on GHC >8.2 in a way that doesn't break GHC 8.0-8.2 |
2020-10-13 13:44:22 +0200 | <Uniaika> | merijn: I'm going to say the bad word but… |
2020-10-13 13:44:23 +0200 | <Uniaika> | CPP? |
2020-10-13 13:44:30 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 272 seconds) |
2020-10-13 13:45:28 +0200 | Buntspecht | (~user@unaffiliated/siracusa) |
2020-10-13 13:48:52 +0200 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus) |
2020-10-13 13:49:02 +0200 | <kuribas> | CPP :) |
2020-10-13 13:50:39 +0200 | cpressey | (~cpressey@88.144.68.224) (Quit: wvw /o/ /o/ /o/) |
2020-10-13 13:51:15 +0200 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-10-13 13:51:21 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) |
2020-10-13 13:51:50 +0200 | raehik | (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Remote host closed the connection) |
2020-10-13 13:54:51 +0200 | raehik | (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) |
2020-10-13 14:00:01 +0200 | phillip | (~phillip@178.162.204.214) () |
2020-10-13 14:00:27 +0200 | Wuzzy | (~Wuzzy@p549c9d2d.dip0.t-ipconnect.de) |
2020-10-13 14:01:14 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 14:02:59 +0200 | totbwf | (sid402332@gateway/web/irccloud.com/x-auttreoigxuilyba) (Ping timeout: 240 seconds) |
2020-10-13 14:03:37 +0200 | bradparker | (sid262931@gateway/web/irccloud.com/x-dvycqqnustcjicgg) (Ping timeout: 246 seconds) |
2020-10-13 14:03:39 +0200 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) |
2020-10-13 14:03:47 +0200 | ebutleriv | (sid217783@gateway/web/irccloud.com/x-zcpyidnqxtmhuisv) (Ping timeout: 240 seconds) |
2020-10-13 14:03:56 +0200 | bradparker | (sid262931@gateway/web/irccloud.com/x-kzdpaybrmmwnrdgh) |
2020-10-13 14:03:58 +0200 | ebutleriv | (sid217783@gateway/web/irccloud.com/x-cvawhvfjdshsscgr) |
2020-10-13 14:03:58 +0200 | totbwf | (sid402332@gateway/web/irccloud.com/x-ymdhjktodciveoos) |
2020-10-13 14:03:59 +0200 | lally_ | (sid388228@gateway/web/irccloud.com/x-gjvzovhllmqfgnqi) |
2020-10-13 14:03:59 +0200 | wpcarro_ | (sid397589@gateway/web/irccloud.com/x-ycncefjlbxwjrjeb) |
2020-10-13 14:04:01 +0200 | natim87_ | (sid286962@gateway/web/irccloud.com/x-hbpjyobuzuhwywke) |
2020-10-13 14:04:07 +0200 | davetapley_ | (sid666@gateway/web/irccloud.com/x-cretwjqzdceozsvl) |
2020-10-13 14:04:30 +0200 | urodna | (~urodna@unaffiliated/urodna) |
2020-10-13 14:04:57 +0200 | lally | (sid388228@gateway/web/irccloud.com/x-lstpiuaiwaadwufc) (Ping timeout: 258 seconds) |
2020-10-13 14:04:57 +0200 | lally_ | lally |
2020-10-13 14:05:12 +0200 | davetapley | (sid666@gateway/web/irccloud.com/x-djoktstvzubeecxm) (Ping timeout: 260 seconds) |
2020-10-13 14:05:13 +0200 | wpcarro | (sid397589@gateway/web/irccloud.com/x-dhrgdbgzbcfpxeys) (Ping timeout: 260 seconds) |
2020-10-13 14:05:13 +0200 | natim87 | (sid286962@gateway/web/irccloud.com/x-uvpnvingawevahjl) (Ping timeout: 260 seconds) |
2020-10-13 14:05:13 +0200 | davetapley_ | davetapley |
2020-10-13 14:05:13 +0200 | natim87_ | natim87 |
2020-10-13 14:05:13 +0200 | wpcarro_ | wpcarro |
2020-10-13 14:05:55 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 272 seconds) |
2020-10-13 14:06:58 +0200 | hackage | termonad 4.0.1.1 - Terminal emulator configurable in Haskell https://hackage.haskell.org/package/termonad-4.0.1.1 (cdepillabout) |
2020-10-13 14:06:59 +0200 | Shun131 | (sid377723@gateway/web/irccloud.com/x-qfflzmcznnjkrwrn) (Quit: Connection closed for inactivity) |
2020-10-13 14:07:09 +0200 | drbean | (~drbean@TC210-63-209-63.static.apol.com.tw) |
2020-10-13 14:08:17 +0200 | Kaivo | (~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com) |
2020-10-13 14:09:20 +0200 | <merijn> | I just got rid of all the CPP :( |
2020-10-13 14:10:47 +0200 | <Uniaika> | I know, I know… |
2020-10-13 14:10:51 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 14:11:29 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-10-13 14:13:36 +0200 | lemmih__ | (~lemmih@218.186.157.57) (Remote host closed the connection) |
2020-10-13 14:13:43 +0200 | <merijn> | hmm, a change in examples probably doesn't warrant a new release |
2020-10-13 14:14:04 +0200 | lemmih__ | (~lemmih@2406:3003:2072:44:9dc:f2e9:a002:8d1a) |
2020-10-13 14:14:20 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 256 seconds) |
2020-10-13 14:15:24 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) |
2020-10-13 14:15:46 +0200 | bitmagie | (~Thunderbi@200116b806d3630091dfc145cf082aaa.dip.versatel-1u1.de) |
2020-10-13 14:16:51 +0200 | <kuribas> | merijn: do you know a better way to deal with breaking changes? |
2020-10-13 14:16:56 +0200 | <kuribas> | like the semigroup stuff |
2020-10-13 14:17:08 +0200 | <merijn> | kuribas: There's usually a migration guide with GHC |
2020-10-13 14:17:19 +0200 | <kuribas> | merijn: which recommends cpp... |
2020-10-13 14:17:36 +0200 | <merijn> | And the rule is that backwards compat for 3 releases should be possible without CPP |
2020-10-13 14:20:08 +0200 | John20 | (~John@82.46.59.122) (Ping timeout: 260 seconds) |
2020-10-13 14:22:56 +0200 | <hekkaidekapus> | dminuoso: After some light sleuthing, the OutsideIn algorithm seems to be implemented as described in the paper, more or less. I would succinctly answer this to your original question: no matter how involved a method’s constraints are, the solving will boil down to generating implicits and using them as evidence. |
2020-10-13 14:24:49 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-10-13 14:25:38 +0200 | <dminuoso> | hekkaidekapus: Fair enough, the reason Im asking is, Ive been staring at a mail on haskell-cafe for so long, Im starting to think there's a bug in the instance selection algorithm. |
2020-10-13 14:26:19 +0200 | <dminuoso> | Where GHC selects an instance despite overlapping instances existing. |
2020-10-13 14:26:53 +0200 | <dminuoso> | The video though I think helped, since it explained roughly how the constraint checking on instances with context works. |
2020-10-13 14:27:00 +0200 | <tomjaguarpaw> | dminuoso: The Wrapper (Maybe a) mail? |
2020-10-13 14:27:03 +0200 | <dminuoso> | tomjaguarpaw: Yeah. |
2020-10-13 14:27:09 +0200 | <tomjaguarpaw> | I was also puzzled by that. |
2020-10-13 14:27:27 +0200 | <hekkaidekapus> | dminuoso, tomjaguarpaw: link? |
2020-10-13 14:28:21 +0200 | <tomjaguarpaw> | https://mail.haskell.org/pipermail/haskell-cafe/2020-October/132815.html |
2020-10-13 14:28:28 +0200 | <hekkaidekapus> | Thanks. |
2020-10-13 14:28:58 +0200 | hackage | hwk 0.5 - Commandline text processing with Haskell functions https://hackage.haskell.org/package/hwk-0.5 (JensPetersen) |
2020-10-13 14:29:17 +0200 | JordiGH | (jordi@octave/developer/JordiGH) |
2020-10-13 14:30:39 +0200 | st8less | (~st8less@2603:a060:11fd:0:8a9:7e3f:adb9:77d2) |
2020-10-13 14:31:43 +0200 | st8less | (~st8less@2603:a060:11fd:0:8a9:7e3f:adb9:77d2) (Client Quit) |
2020-10-13 14:32:02 +0200 | <dminuoso> | % newtype Foo = Foo Int; instance {-# OVERLAPS #-} Show (Maybe Foo) where show _ = "foo" |
2020-10-13 14:32:03 +0200 | <yahb> | dminuoso: |
2020-10-13 14:32:10 +0200 | <dminuoso> | % newtype W a = W (Maybe a); instance Show a => Show (W a) where show (W a) = show a |
2020-10-13 14:32:11 +0200 | <yahb> | dminuoso: |
2020-10-13 14:32:14 +0200 | <dminuoso> | % foo :: Show a => W a -> String; foo a = show a |
2020-10-13 14:32:14 +0200 | <yahb> | dminuoso: |
2020-10-13 14:32:16 +0200 | <dminuoso> | This should be rejected. |
2020-10-13 14:32:28 +0200 | <dminuoso> | (Unless IncoherentInstances was enabled) |
2020-10-13 14:32:49 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:842d:ee09:f1b5:9acd) |
2020-10-13 14:33:42 +0200 | <dminuoso> | % foo' :: Show a => Maybe a -> String; foo' a = show a |
2020-10-13 14:33:43 +0200 | <yahb> | dminuoso: ; <interactive>:9:47: error:; * Overlapping instances for Show (Maybe a) arising from a use of `show'; Matching instances:; instance Show a => Show (Maybe a) -- Defined in `GHC.Show'; instance [overlap ok] [safe] Show (Maybe Foo) -- Defined at <interactive>:5:50; instance [overlap ok] [safe] Show (Maybe Ghci4.Foo) -- Defined at <interactive>:1:50; (The choice depen |
2020-10-13 14:33:47 +0200 | JordiGH | (jordi@octave/developer/JordiGH) () |
2020-10-13 14:34:01 +0200 | <ClaudiusMaximus> | % foo (W Nothing) -- just checking what happens at point of use |
2020-10-13 14:34:01 +0200 | <yahb> | ClaudiusMaximus: "Nothing" |
2020-10-13 14:35:37 +0200 | <ClaudiusMaximus> | % foo (W (Just (Foo 1))) -- just checking what happens at point of use |
2020-10-13 14:35:38 +0200 | <yahb> | ClaudiusMaximus: ; <interactive>:11:1: error:; * No instance for (Show Foo) arising from a use of `foo'; * In the expression: foo (W (Just (Foo 1))); In an equation for `it': it = foo (W (Just (Foo 1))) |
2020-10-13 14:35:45 +0200 | <dminuoso> | It seems, that the deferring the constraint `Show (Maybe a)` changes how instance is selected. |
2020-10-13 14:36:32 +0200 | <dminuoso> | If that was the case, it could imply that GHC falsely generates incoherent code. |
2020-10-13 14:37:12 +0200 | <dminuoso> | I tried debugging the type checker with a minimal program, but -ddump-tc-trace generated 5k lines of output.. |
2020-10-13 14:37:20 +0200 | <dminuoso> | The manual did *not* lie when it said it would be real chatty. |
2020-10-13 14:37:35 +0200 | bitmagie | (~Thunderbi@200116b806d3630091dfc145cf082aaa.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-10-13 14:37:42 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-10-13 14:38:23 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:842d:ee09:f1b5:9acd) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 14:38:30 +0200 | <dminuoso> | I think, if nobody else does it, Ill file a bug report. Either the GHC manual is incorrect, or GHC is buggy. One has to be the case here. |
2020-10-13 14:38:57 +0200 | <merijn> | Time for everyone's daily reminder of the invaluable service of packdeps having an RSS feed when you need to bump your package bounds ;) |
2020-10-13 14:39:38 +0200 | <merijn> | dminuoso: pfft, you're missing an alternative |
2020-10-13 14:39:43 +0200 | <merijn> | dminuoso: They could *both* be wrong :p |
2020-10-13 14:40:10 +0200 | <dminuoso> | merijn: Im confident that its not the case, the instance selection algorithm descriped in the overlapping instances section seems rather clear. |
2020-10-13 14:40:29 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) |
2020-10-13 14:42:30 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 14:42:45 +0200 | <hekkaidekapus> | dminuoso: I’m looking at the corresponding Core before drawing conclusion. <https://paste.tomsmeding.com/aHILkhin> |
2020-10-13 14:42:48 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 14:42:58 +0200 | <hekkaidekapus> | *conclusions |
2020-10-13 14:43:40 +0200 | Amras | (~Amras@unaffiliated/amras0000) |
2020-10-13 14:43:42 +0200 | <dminuoso> | hekkaidekapus: Mind my asking, what is Core gonna tell you? |
2020-10-13 14:44:00 +0200 | <hekkaidekapus> | The dictionary passing. |
2020-10-13 14:44:52 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 14:45:16 +0200 | ralejs | (~ralejs@163.114.131.1) |
2020-10-13 14:45:40 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:8576:1536:5132:aae7) |
2020-10-13 14:46:19 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) (Quit: I quit (╯°□°)╯︵ ┻━┻) |
2020-10-13 14:47:08 +0200 | <dminuoso> | $cshow1_rX8 |
2020-10-13 14:47:56 +0200 | <dminuoso> | Internally, it picked dShow2_aV5 = $fShowMaybe $dShow1_aUS |
2020-10-13 14:49:02 +0200 | <dminuoso> | Despite another, equally good, dictionary, existing: $cshow_rWA |
2020-10-13 14:49:10 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) |
2020-10-13 14:49:27 +0200 | perdent | (~blah@101.175.82.233) (Ping timeout: 244 seconds) |
2020-10-13 14:49:28 +0200 | <hekkaidekapus> | Yeah, file a bug report! |
2020-10-13 14:50:01 +0200 | <hekkaidekapus> | Overlapping instances considered harmful anyway :0 |
2020-10-13 14:50:32 +0200 | perdent | (~blah@101.175.147.239) |
2020-10-13 14:52:07 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-nkhvkoypuffdqqdu) (Quit: Connection closed for inactivity) |
2020-10-13 14:52:53 +0200 | oisdk | (~oisdk@2001:bb6:3329:d100:7c51:293a:6844:5080) (Quit: oisdk) |
2020-10-13 14:53:23 +0200 | sword865 | (uid208942@gateway/web/irccloud.com/x-sxotpuupdfwwcwxa) (Quit: Connection closed for inactivity) |
2020-10-13 14:53:26 +0200 | chaosmasttter | (~chaosmast@p200300c4a711b0018861c787729f3b81.dip0.t-ipconnect.de) |
2020-10-13 14:53:36 +0200 | ralejs | (~ralejs@163.114.131.1) (Read error: Connection reset by peer) |
2020-10-13 14:53:58 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 14:55:27 +0200 | John20 | (~John@82.46.59.122) |
2020-10-13 14:56:08 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2020-10-13 14:57:08 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2020-10-13 14:58:55 +0200 | <dminuoso> | hekkaidekapus: The one thing Im not quite sold on, is this: |
2020-10-13 14:58:59 +0200 | <dminuoso> | https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#instance-overlap |
2020-10-13 14:59:25 +0200 | <dminuoso> | At the bottom it does mention that FlexibleInstances can lead to incoherent instance selection, but Im not immediately seeing whether this is related |
2020-10-13 15:01:31 +0200 | solonarv | (~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
2020-10-13 15:06:31 +0200 | <hekkaidekapus> | dminuoso: The bulb seems pretty related, but I would file the report still. It might be a short-lived ticket but we will have an up-to-date explanation as to “An alternative possible behaviour, not currently implemented…”. |
2020-10-13 15:07:01 +0200 | Rudd0 | (~Rudd0@185.189.115.103) (Remote host closed the connection) |
2020-10-13 15:08:13 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds) |
2020-10-13 15:08:30 +0200 | <dminuoso> | hekkaidekapus: Well, it's not really related because the incoherence arises from making a *more* specific instance in another module, and then run an instance selection in both modules. |
2020-10-13 15:09:34 +0200 | <dminuoso> | But yeah, I filed a bug report. At the very least the GHC manual should be improved if this is not an instance selection bug. |
2020-10-13 15:10:03 +0200 | <hekkaidekapus> | 👍 |
2020-10-13 15:10:13 +0200 | Nik05 | (~Nik05@85.150.134.175) (Quit: leaving) |
2020-10-13 15:15:23 +0200 | ocaml427 | (506d8558@gateway/web/cgi-irc/kiwiirc.com/ip.80.109.133.88) |
2020-10-13 15:15:32 +0200 | ocaml427 | (506d8558@gateway/web/cgi-irc/kiwiirc.com/ip.80.109.133.88) () |
2020-10-13 15:15:45 +0200 | xff0x | (~fox@217.110.198.158) (Ping timeout: 240 seconds) |
2020-10-13 15:16:40 +0200 | Nik05 | (~Nik05@85.150.134.175) |
2020-10-13 15:19:50 +0200 | ruffy | (~jonas@2a03:b0c0:3:d0::162e:a001) |
2020-10-13 15:20:39 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) (Quit: I quit (╯°□°)╯︵ ┻━┻) |
2020-10-13 15:22:05 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 15:23:52 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 15:24:10 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 15:24:10 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 15:24:10 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 15:24:34 +0200 | rihards_ | (~rihards@vpnlv.tilde.com) (Remote host closed the connection) |
2020-10-13 15:25:30 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2020-10-13 15:26:11 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-10-13 15:26:59 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 272 seconds) |
2020-10-13 15:29:36 +0200 | Tops2 | (~Tobias@dyndsl-095-033-027-027.ewe-ip-backbone.de) |
2020-10-13 15:30:01 +0200 | ruffy | ruffy_ |
2020-10-13 15:32:00 +0200 | Nik05 | (~Nik05@85.150.134.175) (Changing host) |
2020-10-13 15:32:00 +0200 | Nik05 | (~Nik05@unaffiliated/nik05) |
2020-10-13 15:32:37 +0200 | nomeata | (~jojo@dslb-088-064-028-148.088.064.pools.vodafone-ip.de) |
2020-10-13 15:33:42 +0200 | ruffy_ | (~jonas@2a03:b0c0:3:d0::162e:a001) (Quit: WeeChat 2.9) |
2020-10-13 15:34:00 +0200 | ruffy | (~jonas@2a03:b0c0:3:d0::162e:a001) |
2020-10-13 15:34:15 +0200 | ruffy | ruffy_ |
2020-10-13 15:35:24 +0200 | ystael | (~ystael@209.6.50.55) |
2020-10-13 15:37:40 +0200 | lowryder | (~djlowry@web603.webfaction.com) |
2020-10-13 15:38:41 +0200 | ruffy_ | (~jonas@2a03:b0c0:3:d0::162e:a001) (Client Quit) |
2020-10-13 15:40:55 +0200 | alp | (~alp@2a01:e0a:58b:4920:2586:865a:4e94:a66b) (Ping timeout: 272 seconds) |
2020-10-13 15:41:31 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 15:42:04 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 15:42:55 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 15:43:11 +0200 | knupfer | (~Thunderbi@200116b82c814300c0110b68686b9a3e.dip.versatel-1u1.de) |
2020-10-13 15:43:14 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) (Ping timeout: 256 seconds) |
2020-10-13 15:43:43 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-10-13 15:43:50 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) |
2020-10-13 15:44:29 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) (Max SendQ exceeded) |
2020-10-13 15:45:08 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) |
2020-10-13 15:45:44 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) (Max SendQ exceeded) |
2020-10-13 15:46:10 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 246 seconds) |
2020-10-13 15:46:14 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) |
2020-10-13 15:46:54 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) (Max SendQ exceeded) |
2020-10-13 15:47:30 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) |
2020-10-13 15:48:08 +0200 | lemmih__ | lemmih |
2020-10-13 15:48:10 +0200 | Sanchayan | (~Sanchayan@106.201.37.251) (Max SendQ exceeded) |
2020-10-13 15:50:50 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) |
2020-10-13 15:51:56 +0200 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) |
2020-10-13 15:52:27 +0200 | hackage | Z-IO 0.1.5.2 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.5.2 (winterland) |
2020-10-13 15:53:46 +0200 | ralejs_ | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 15:53:46 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 15:55:20 +0200 | drbean | (~drbean@TC210-63-209-63.static.apol.com.tw) (Ping timeout: 260 seconds) |
2020-10-13 15:55:21 +0200 | ralejs_ | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 15:55:22 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 15:55:34 +0200 | cpressey | (~cpressey@88.144.70.115) |
2020-10-13 15:57:15 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 15:57:31 +0200 | mdunnio | (~mdunnio@208.59.170.5) |
2020-10-13 15:59:45 +0200 | <merijn> | btw, does anyone know of any working human cloning programs? >.> |
2020-10-13 15:59:46 +0200 | p-core | (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
2020-10-13 16:01:44 +0200 | <merijn> | I was clicking through some dependencies and I'd like to order some backup phadej's ahead of time so the ecosystem doesn't grind to a halt without him >.> |
2020-10-13 16:02:59 +0200 | <dminuoso> | merijn: Well, we should get an ekmett along side. They could grow up together. |
2020-10-13 16:03:14 +0200 | <phadej> | dminuoso: ekmett is cloned already: RyanGlScott |
2020-10-13 16:03:28 +0200 | <dminuoso> | Haha. :) |
2020-10-13 16:03:29 +0200 | <juri_> | merijn: i've spent almost 7 years working on 3d printing in haskell. unfortunately, i'm falling apart faster than i can print. |
2020-10-13 16:03:47 +0200 | <dminuoso> | juri_: Hold on, 3d printing in haskell? |
2020-10-13 16:03:49 +0200 | <dminuoso> | tell me more. |
2020-10-13 16:04:04 +0200 | <merijn> | Ah, but see, edwardk is just inventing cool new stuff, plenty of volunteers for that |
2020-10-13 16:04:15 +0200 | <phadej> | merijn: order two copies (hopefully you can a discount) of hvr too |
2020-10-13 16:04:29 +0200 | <juri_> | dminuoso: implicitcad. hslice. modeling and slicing natively in haskell. badly, because there is only one of me. |
2020-10-13 16:04:29 +0200 | <phadej> | could get a discount* |
2020-10-13 16:04:42 +0200 | <merijn> | Less volunteers for turning duct tape and string into semi-solid engineering foundations :p |
2020-10-13 16:04:49 +0200 | <dminuoso> | juri_: How good is your slicing of human models? |
2020-10-13 16:04:52 +0200 | <juri_> | I don't have hslice on hackage yet. |
2020-10-13 16:05:07 +0200 | <juri_> | dminuoso: poor. i'm still working on simple geometric shapes. |
2020-10-13 16:05:32 +0200 | <merijn> | phadej: And maybe an SPJ ;) |
2020-10-13 16:05:39 +0200 | alp | (~alp@2a01:e0a:58b:4920:e961:3e4f:cf0f:6182) |
2020-10-13 16:05:43 +0200 | <juri_> | worse, i decided halfway through to change everything to projective geometric algebra, so hslice has a PGA engine embedded in it. |
2020-10-13 16:06:05 +0200 | shafox | (~shafox@106.51.234.111) (Ping timeout: 240 seconds) |
2020-10-13 16:06:07 +0200 | xff0x | (~fox@217.110.198.158) |
2020-10-13 16:06:15 +0200 | <dminuoso> | merijn: Soon we're gonna need a clone of Stephanie Weirich as well to keep the cogs in dependent haskell going. |
2020-10-13 16:06:31 +0200 | <merijn> | I'm not sure I'm happy with those cogs :p |
2020-10-13 16:06:37 +0200 | <phadej> | isn't Richard kind of a mixture of both? |
2020-10-13 16:07:07 +0200 | <dminuoso> | 16:05:32 merijn | phadej: And maybe an SPJ ;) |
2020-10-13 16:07:18 +0200 | <dminuoso> | Luckily for us, SPJ did reproduce already. |
2020-10-13 16:08:12 +0200 | <dminuoso> | juri_: What is PGA? |
2020-10-13 16:08:15 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 16:08:33 +0200 | <tomjaguarpaw> | projective geometric algebra, presumably |
2020-10-13 16:08:33 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 16:08:33 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 16:08:33 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 16:09:11 +0200 | <akegalj> | &quit |
2020-10-13 16:09:18 +0200 | <juri_> | it's a high performance / high precision algebra system for doing geometry in. takes less operations to do stuff, and uses pure forms of objects, rather than approximations. |
2020-10-13 16:09:53 +0200 | <akegalj> | ;'\[] |
2020-10-13 16:09:58 +0200 | <dminuoso> | Does that require the input to be in some PGA format as well? |
2020-10-13 16:10:07 +0200 | <dminuoso> | Or can an arbitrary CAD output be fed into that? |
2020-10-13 16:10:10 +0200 | akegalj | (~akegalj@93-138-183-8.adsl.net.t-com.hr) (Quit: leaving) |
2020-10-13 16:11:02 +0200 | lemmih_ | (~lemmih@218.186.157.57) |
2020-10-13 16:11:02 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) (Quit: I quit (╯°□°)╯︵ ┻━┻) |
2020-10-13 16:11:42 +0200 | <juri_> | it uses STLs. |
2020-10-13 16:11:57 +0200 | <juri_> | which coincidentally are what implicitcad outputs. |
2020-10-13 16:13:32 +0200 | lemmih | (~lemmih@2406:3003:2072:44:9dc:f2e9:a002:8d1a) (Ping timeout: 260 seconds) |
2020-10-13 16:13:42 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) |
2020-10-13 16:15:40 +0200 | ruffy_ | (~jonas@2a03:b0c0:3:d0::162e:a001) |
2020-10-13 16:17:47 +0200 | <fendor> | can I generate a module graph with some tool? |
2020-10-13 16:17:48 +0200 | ddellacosta | (~dd@86.106.121.168) |
2020-10-13 16:17:48 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds) |
2020-10-13 16:17:55 +0200 | <merijn> | "yes" |
2020-10-13 16:18:04 +0200 | <merijn> | But now you're gonna ask which one, aren't you? >.> |
2020-10-13 16:18:06 +0200 | <dminuoso> | fendor: `cabal-plan dot --tred` |
2020-10-13 16:18:16 +0200 | knupfer | (~Thunderbi@200116b82c814300c0110b68686b9a3e.dip.versatel-1u1.de) (Quit: knupfer) |
2020-10-13 16:18:17 +0200 | <dminuoso> | (the --tred is not required, but probably desirable) |
2020-10-13 16:18:26 +0200 | knupfer | (~Thunderbi@200116b82c814300c0110b68686b9a3e.dip.versatel-1u1.de) |
2020-10-13 16:18:30 +0200 | <dminuoso> | And then the usual graphviz tools. :) |
2020-10-13 16:18:45 +0200 | <dminuoso> | Oh wait. module graph |
2020-10-13 16:18:47 +0200 | <dminuoso> | mmm |
2020-10-13 16:18:49 +0200 | Noldorin | (~noldorin@unaffiliated/noldorin) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2020-10-13 16:18:57 +0200 | <dminuoso> | graphmod? |
2020-10-13 16:19:15 +0200 | <fendor> | merijn, :P well, preferably |
2020-10-13 16:19:40 +0200 | <fendor> | dminuoso, looks good |
2020-10-13 16:21:19 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 265 seconds) |
2020-10-13 16:21:43 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-10-13 16:22:28 +0200 | hackage | effet 0.3.0.0 - An Effect System based on Type Classes https://hackage.haskell.org/package/effet-0.3.0.0 (MichaelSzvetits) |
2020-10-13 16:23:55 +0200 | <fendor> | dammit, I have multiple Types modules that almost everyone depends on |
2020-10-13 16:24:09 +0200 | <merijn> | fendor: As always :p |
2020-10-13 16:24:11 +0200 | <fendor> | dminuoso, thanks, beautiful tool! |
2020-10-13 16:24:19 +0200 | <merijn> | I wish GHC would just get proper cyclic imports |
2020-10-13 16:25:14 +0200 | <dminuoso> | merijn: I recall a length discussion at dinner with a few of the GHC folks. |
2020-10-13 16:25:50 +0200 | <dminuoso> | Dont think it's ever gonna happen. :p |
2020-10-13 16:26:00 +0200 | <merijn> | Which is a travesty! |
2020-10-13 16:26:44 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) (Quit: Ping timeout (120 seconds)) |
2020-10-13 16:27:06 +0200 | <merijn> | I demand my convenience! :( |
2020-10-13 16:27:27 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) |
2020-10-13 16:28:34 +0200 | seawalk | (~seawalk@185.163.110.116) |
2020-10-13 16:30:28 +0200 | hackage | gi-gtksheet 4.0.1 - GtkSheet bindings https://hackage.haskell.org/package/gi-gtksheet-4.0.1 (ivanbakel) |
2020-10-13 16:34:36 +0200 | spew | (uid195861@gateway/web/irccloud.com/x-fetxtksdzgfjvjwb) |
2020-10-13 16:36:19 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-10-13 16:37:14 +0200 | kupi | (uid212005@gateway/web/irccloud.com/x-zkqelsktmjuyhxgl) |
2020-10-13 16:38:39 +0200 | lowryder | (~djlowry@web603.webfaction.com) (Read error: Connection reset by peer) |
2020-10-13 16:40:24 +0200 | nomeata | (~jojo@dslb-088-064-028-148.088.064.pools.vodafone-ip.de) (Quit: Client exiting) |
2020-10-13 16:42:14 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 16:42:19 +0200 | ralejs_ | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 16:44:27 +0200 | ralejs_ | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 16:44:51 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 16:44:53 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:dca2:e278:5c94:78bf) (Ping timeout: 272 seconds) |
2020-10-13 16:45:05 +0200 | Gerula | (~Gerula@unaffiliated/gerula) (Ping timeout: 240 seconds) |
2020-10-13 16:45:16 +0200 | fendor | (~fendor@77.119.130.38.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-10-13 16:45:35 +0200 | chaosmasttter | (~chaosmast@p200300c4a711b0018861c787729f3b81.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2020-10-13 16:46:49 +0200 | blip | (58823d9e@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.61.158) |
2020-10-13 16:47:45 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 16:48:52 +0200 | <blip> | Is it possible to have enum on the type level? data X = A | B | C | D; foo :: Proxy [A..D] |
2020-10-13 16:49:03 +0200 | <merijn> | blip: Yes! |
2020-10-13 16:49:23 +0200 | <blip> | I've got a quite large datatype and I'd like to avoid TH and copy pasting |
2020-10-13 16:49:25 +0200 | <merijn> | blip: Although this is a path that *can* lead to incredibly painful code in the long term, so be warned :p |
2020-10-13 16:49:33 +0200 | <merijn> | oh, wait |
2020-10-13 16:49:37 +0200 | <ocharles> | Does anyone know if `build-tool-depends` should be putting executables in PATH for the relavant components when I use Cabal with Distribution.Simple.defaultMain? Because I'm not seeing that |
2020-10-13 16:49:37 +0200 | <merijn> | You mean the syntax |
2020-10-13 16:49:42 +0200 | mmohammadi981266 | (~mmohammad@188.210.103.147) (Read error: Connection reset by peer) |
2020-10-13 16:49:58 +0200 | <ocharles> | The documentation for build-tool-depends writes: Cabal tries to make sure that all specified programs are atomically built and prepended on the $PATH shell variable before building the component in question, but can only do so for Nix-style builds |
2020-10-13 16:50:09 +0200 | <merijn> | blip: You could write a type family that computes that list? |
2020-10-13 16:50:10 +0200 | <ocharles> | But I don't know if a Setup.hs counts as Nix-style or old style |
2020-10-13 16:50:23 +0200 | <merijn> | ocharles: Setup.hs is lower level |
2020-10-13 16:50:33 +0200 | <merijn> | Setup.hs is Cabal (not cabal-install) |
2020-10-13 16:50:50 +0200 | <blip> | merjin: how would that work without writing explicitly every inhabitant? |
2020-10-13 16:51:04 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 16:51:14 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) |
2020-10-13 16:51:14 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
2020-10-13 16:51:14 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 16:51:15 +0200 | <blip> | my data has about ~100 promoted constructors |
2020-10-13 16:51:22 +0200 | <merijn> | ocharles: And most likely no one knows the answer :p |
2020-10-13 16:51:49 +0200 | chaosmasttter | (~chaosmast@p200300c4a711b0018861c787729f3b81.dip0.t-ipconnect.de) |
2020-10-13 16:51:51 +0200 | <merijn> | blip: eh...I'd probably recommend "not doing that", but that's not very constructive :) |
2020-10-13 16:51:58 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 16:52:07 +0200 | <merijn> | blip: And now you know why the original paper was called Hasochism ;) |
2020-10-13 16:52:17 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2020-10-13 16:52:22 +0200 | <merijn> | blip: Maybe you can do something horrific using singletons? |
2020-10-13 16:52:33 +0200 | <bahamas> | ocharles: if I remember right, the nix builder for cabal relies on Setup.hs. but it's been a while |
2020-10-13 16:52:50 +0200 | <merijn> | <MS Clippy>Did you mean to use Idris?</MS Clippy> |
2020-10-13 16:53:15 +0200 | avdb | (~avdb@ip-62-235-189-198.dsl.scarlet.be) |
2020-10-13 16:53:22 +0200 | <blip> | merijn: I already contemplated screwing kind-safety and convert my constructors in a bunch of Symbol |
2020-10-13 16:53:37 +0200 | Ariakenom | (~Ariakenom@193.254.193.1) (Ping timeout: 264 seconds) |
2020-10-13 16:53:52 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds) |
2020-10-13 16:54:01 +0200 | <merijn> | blip: Once your type-safety involves "100s of type level constructors" I don't think it passes any sensible "cost-benefit analysis" |
2020-10-13 16:54:14 +0200 | <merijn> | Compile times will be a massive pain, as will refactoring >.> |
2020-10-13 16:54:14 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 16:55:05 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 16:55:23 +0200 | <blip> | merijn: Yeah, it's quite a bit excessive |
2020-10-13 16:55:35 +0200 | <blip> | mirijn: 1000LOC type-level https://github.com/knupfer/type-of-html/blob/master/src/Html/Type/Internal.hs |
2020-10-13 16:55:57 +0200 | <merijn> | For *HTML*? >.> |
2020-10-13 16:55:57 +0200 | hackage | ad 4.4.1 - Automatic Differentiation https://hackage.haskell.org/package/ad-4.4.1 (ryanglscott) |
2020-10-13 16:56:08 +0200 | <blip> | merijn: better safe than sorry :) |
2020-10-13 16:56:14 +0200 | <ocharles> | merijn: I feared that might be the case >.< |
2020-10-13 16:56:21 +0200 | <merijn> | Jesus Christ |
2020-10-13 16:56:23 +0200 | <ocharles> | bahamas: well, it will write its own if there isn't one |
2020-10-13 16:56:25 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-10-13 16:56:35 +0200 | <merijn> | That module probably takes 5 million years to compile |
2020-10-13 16:56:48 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:cc83:1c32:310e:946e) |
2020-10-13 16:57:03 +0200 | <blip> | It's actually not bad |
2020-10-13 16:57:30 +0200 | <blip> | But using the library gives ghc a sweat |
2020-10-13 16:57:39 +0200 | <merijn> | I wonder why >.> |
2020-10-13 16:57:58 +0200 | <blip> | not because of the type checker |
2020-10-13 16:58:09 +0200 | <blip> | the simplifier goes absolutely nuts |
2020-10-13 16:59:44 +0200 | oisdk | (~oisdk@2001:bb6:3329:d100:a9e4:32d1:231e:16a5) |
2020-10-13 16:59:44 +0200 | <blip> | Or is there a type level function which does something like type family ToSymbol x where ToSymbol Banana = "Banana" |
2020-10-13 16:59:55 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 17:00:01 +0200 | seawalk | (~seawalk@185.163.110.116) () |
2020-10-13 17:00:16 +0200 | <blip> | Like show, but with symbols |
2020-10-13 17:03:49 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2020-10-13 17:04:29 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-10-13 17:04:40 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-10-13 17:06:09 +0200 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) |
2020-10-13 17:08:20 +0200 | ralejs_ | (~ralejs@2620:10d:c093:400::5:c80) |
2020-10-13 17:08:21 +0200 | ralejs | (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer) |
2020-10-13 17:09:08 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-ezaxzpcxhniaxecp) |
2020-10-13 17:09:23 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-10-13 17:09:46 +0200 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) |
2020-10-13 17:09:54 +0200 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-aprzkzvsxxeylcyp) |
2020-10-13 17:10:00 +0200 | <blip> | Perhaps it would be possible with generics? I'm recalling vaguely that it's possible to retrieve the constructors at the type level |
2020-10-13 17:10:01 +0200 | aqd | (~aqd@87-92-145-87.rev.dnainternet.fi) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 17:10:12 +0200 | <blip> | constructor names |
2020-10-13 17:10:40 +0200 | <merijn> | blip: Out of curiosity, have you ever read any Lovecraft novels/stories? |
2020-10-13 17:11:00 +0200 | <blip> | merijn: No, why do you ask? |
2020-10-13 17:11:08 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 17:11:29 +0200 | <merijn> | Because this path will lead you to the same fate as any of his protoganists :p |
2020-10-13 17:11:56 +0200 | <merijn> | i.e. gibberingly mad and insane after staring into the Eldritch horrors of the universe :) |
2020-10-13 17:12:08 +0200 | <Taneb> | merijn: sometimes that can be very fun |
2020-10-13 17:12:44 +0200 | <blip> | Well, considering that haskell is just a little hobby of mine I can only gibber mad and insane in my free time |
2020-10-13 17:13:02 +0200 | <blip> | At work, I'm at the receiving end (music teacher) |
2020-10-13 17:13:19 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 17:13:41 +0200 | <merijn> | Sounds like "The Music of Erich Zann" would be an appropriate recommendation :p |
2020-10-13 17:14:11 +0200 | <blip> | I like Dr Faustus and The Expanse |
2020-10-13 17:14:25 +0200 | acidjnk_new | (~acidjnk@p200300d0c723782835a5fda97218b164.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-10-13 17:14:27 +0200 | CindyLinz | (~cindy_utf@112.121.78.20) (Ping timeout: 240 seconds) |
2020-10-13 17:14:27 +0200 | <blip> | And mediaeval treaties about music theory |
2020-10-13 17:15:46 +0200 | <blip> | I.E. : (3/2)^12 /= 2^7 ==> modern music sucks |
2020-10-13 17:16:32 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 17:17:24 +0200 | supaplex1 | (~supaplex1@185.163.110.116) |
2020-10-13 17:17:26 +0200 | Bakun | (~bakun@51.15.0.88) |
2020-10-13 17:17:34 +0200 | cpressey | (~cpressey@88.144.70.115) (Quit: WeeChat 1.9.1) |
2020-10-13 17:17:43 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds) |
2020-10-13 17:19:17 +0200 | <c_wraith> | of course, for m, n > 0, (3/2)^m /= 2^n |
2020-10-13 17:19:38 +0200 | <blip> | yeah, but these numbers are quite special |
2020-10-13 17:19:47 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 17:19:49 +0200 | <c_wraith> | You can't have perfect fifths and perfect octaves uniformly across the scale. You have to decide what to give up. |
2020-10-13 17:20:17 +0200 | <blip> | yes, that's the point |
2020-10-13 17:20:28 +0200 | <c_wraith> | that's not "modern music sucks" that's math. |
2020-10-13 17:20:57 +0200 | CindyLinz | (~cindy_utf@112.121.78.20) |
2020-10-13 17:21:03 +0200 | <blip> | Well, Pythagoras at least claims that beautiful interval are simple rationals |
2020-10-13 17:21:35 +0200 | <blip> | so the modern fith (2^(5/12)) wouldn't please him |
2020-10-13 17:21:52 +0200 | <merijn> | But Pythagoras is dead, so we win! |
2020-10-13 17:22:26 +0200 | <blip> | I don't claim that I use exclusively Pythagoras taste to determine my taste |
2020-10-13 17:22:45 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-10-13 17:22:46 +0200 | <blip> | But it's interesting to change ones point of view |
2020-10-13 17:22:56 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 17:22:58 +0200 | xff0x | (~fox@217.110.198.158) (Ping timeout: 260 seconds) |
2020-10-13 17:23:04 +0200 | Ariakenom | (~Ariakenom@h-155-4-221-50.NA.cust.bahnhof.se) |
2020-10-13 17:23:12 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-10-13 17:23:24 +0200 | <blip> | oops: not 2^(5/12), it's 2^(7/12) |
2020-10-13 17:24:24 +0200 | jil | (~user@45.86.162.6) |
2020-10-13 17:24:26 +0200 | <jil> | hi |
2020-10-13 17:24:43 +0200 | <blip> | hi jil |
2020-10-13 17:25:18 +0200 | <blip> | jil: do you prefer perfect fiths or equidistant semitones? |
2020-10-13 17:25:22 +0200 | <blip> | :) |
2020-10-13 17:25:55 +0200 | <monochrom> | 2^(1/2) wouldn't please him either. It's still irrational. |
2020-10-13 17:25:56 +0200 | <jil> | I'm learning Haskell with "Programming in Haskell" 2nd edition.. |
2020-10-13 17:26:16 +0200 | <blip> | Nice, can we help you? |
2020-10-13 17:26:39 +0200 | <blip> | monochrom: Yes |
2020-10-13 17:26:41 +0200 | <monochrom> | You know what, s/It's still/He's/ >:) |
2020-10-13 17:26:42 +0200 | <jil> | what a perfect fith or an equidistant semitone ? |
2020-10-13 17:26:43 +0200 | Bakun | (~bakun@51.15.0.88) (Read error: Connection reset by peer) |
2020-10-13 17:27:25 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 240 seconds) |
2020-10-13 17:27:39 +0200 | <jil> | It would bother me If I was rational, not you ? |
2020-10-13 17:27:49 +0200 | <blip> | monochrom: He'd use (3/2)^7 minus some octaves for a semitone |
2020-10-13 17:29:28 +0200 | <blip> | jil: that is a quite modern stance |
2020-10-13 17:30:19 +0200 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
2020-10-13 17:30:35 +0200 | <blip> | jil: don't be confused, we're just smalltalking about historic music theory |
2020-10-13 17:30:56 +0200 | <gentauro> | kindaro: Torben wrote back and it is Jon Sporing who currently is wrote/maintain the material. Torben say that you should write Jon an e-mail and ask (nicely) if you can have a copy :-) |
2020-10-13 17:31:49 +0200 | Bakun | (~bakun@51.15.0.88) |
2020-10-13 17:32:08 +0200 | <jil> | blip: I was confused. Thank you. |
2020-10-13 17:33:11 +0200 | <blip> | jil: So, can we help you on your journey to enlightenment? |
2020-10-13 17:33:32 +0200 | <blip> | (regarding haskell) |
2020-10-13 17:34:23 +0200 | <blip> | merijn: Thanks for the recommendation, that's quite intresting |
2020-10-13 17:34:45 +0200 | CindyLinz | (~cindy_utf@112.121.78.20) (Ping timeout: 240 seconds) |
2020-10-13 17:34:49 +0200 | Bakun | (~bakun@51.15.0.88) (Read error: Connection reset by peer) |
2020-10-13 17:34:53 +0200 | <blip> | merijn: The descriptions of this literature reminds me of Kafka |
2020-10-13 17:37:45 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds) |
2020-10-13 17:37:57 +0200 | mdunnio_ | (~mdunnio@208.59.170.5) |
2020-10-13 17:38:17 +0200 | Bakun | (~bakun@51.15.0.88) |
2020-10-13 17:39:42 +0200 | fendor | (~fendor@e237-037.eduroam.tuwien.ac.at) |
2020-10-13 17:39:58 +0200 | jgt | (~jgt@77-255-14-254.adsl.inetia.pl) |
2020-10-13 17:40:16 +0200 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 246 seconds) |
2020-10-13 17:40:27 +0200 | <jil> | I think listing your smalltalking is already helping me a lot. But I was also wondering if the construct `add x = x :: Int` with the type coercing at the end, was recent because I don't see it in my manual (from 2016) but it work in GHCi 8.6.5 |
2020-10-13 17:40:52 +0200 | kritzefitz | (~kritzefit@212.86.56.80) |
2020-10-13 17:40:56 +0200 | <ski> | it's not a coercion, but a type ascription |
2020-10-13 17:41:10 +0200 | <blip> | Ah, yes. In the MetaData of Generic Rep are the constructor names as Symbols. All I need now, is a type level function which converts camel case Symbols into hyphenated lowercase Symbols. That's a challenge but possible :) |
2020-10-13 17:41:13 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:8a4:c02:960d:e633) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 17:41:18 +0200 | <ski> | (it doesn't change the type of anything, it just specifies (pins down) what the type should be) |
2020-10-13 17:41:18 +0200 | <monochrom> | It is not recent. Just unidiomatic. |
2020-10-13 17:41:30 +0200 | <ski> | and yes, it's standard Haskell. was in Haskell98 already |
2020-10-13 17:41:38 +0200 | <jil> | thank you for the correction ski I wasn't sure about the vocabulary indeed. |
2020-10-13 17:42:22 +0200 | <blip> | jil: normally, you would write: |
2020-10-13 17:42:30 +0200 | <ski> | no worry, clearing up terminological (and sometimes conceptual) misalignments can often be useful, when communicating |
2020-10-13 17:42:37 +0200 | <blip> | `add x :: Int -> Int` |
2020-10-13 17:42:47 +0200 | <ski> | (without the `x') |
2020-10-13 17:42:58 +0200 | <blip> | oops |
2020-10-13 17:43:28 +0200 | <blip> | and propably `add :: Int -> Int -> Int`, magmas are cool |
2020-10-13 17:43:54 +0200 | <jil> | what are magmas ? |
2020-10-13 17:44:04 +0200 | <ski> | jil : it can sometimes be useful to have them, if there's a type ambiguity problem (the system has trouble figuring out which specific type you intend, somewhere in your code) |
2020-10-13 17:44:17 +0200 | <blip> | all functions which take two arguments of the same type and return something of that type |
2020-10-13 17:44:25 +0200 | <blip> | `magma :: a -> a -> a` |
2020-10-13 17:44:35 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 17:44:36 +0200 | <blip> | addition or multiplication for example |
2020-10-13 17:44:41 +0200 | <ski> | "magma" is a concept in math (abstract algebra) for a binary operation on a set/type |
2020-10-13 17:45:58 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-10-13 17:46:00 +0200 | <ski> | blip : why're they cool ? |
2020-10-13 17:46:23 +0200 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Client Quit) |
2020-10-13 17:46:50 +0200 | <jil> | I see. |
2020-10-13 17:46:52 +0200 | <blip> | ski: I like them a lot; you can define nice operators and a lot of things are magmas |
2020-10-13 17:47:08 +0200 | <blip> | ski: Or would you prefer them described as hot? |
2020-10-13 17:47:14 +0200 | <blip> | :) |
2020-10-13 17:47:15 +0200 | <ski> | usually you'd want a few laws, i think |
2020-10-13 17:47:41 +0200 | LKoen | (~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) |
2020-10-13 17:47:47 +0200 | <ski> | sure, if you have a magma, you automatically gets an operation taking a binary tree with leaves being elements in the magma, to an element in the magma |
2020-10-13 17:47:49 +0200 | LKoen | (~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) (Read error: Connection reset by peer) |
2020-10-13 17:48:02 +0200 | <blip> | and that is nice |
2020-10-13 17:48:10 +0200 | LKoen | (~LKoen@81.255.219.130) |
2020-10-13 17:48:49 +0200 | <blip> | for example (<>) is quite nice, obviously it's even a monoid, but a lot of the niceness comes from the magma part |
2020-10-13 17:48:53 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2020-10-13 17:49:01 +0200 | <blip> | or semigroup |
2020-10-13 17:50:10 +0200 | knupfer | (~Thunderbi@200116b82c814300c0110b68686b9a3e.dip.versatel-1u1.de) (Quit: knupfer) |
2020-10-13 17:50:18 +0200 | knupfer | (~Thunderbi@200116b82c814300159e9cdeac30c350.dip.versatel-1u1.de) |
2020-10-13 17:50:20 +0200 | blip | (58823d9e@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.61.158) (Quit: Connection closed) |
2020-10-13 17:50:27 +0200 | Bakun | (~bakun@51.15.0.88) (Read error: Connection reset by peer) |
2020-10-13 17:50:38 +0200 | blip | (58823d9e@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.61.158) |
2020-10-13 17:50:44 +0200 | xff0x | (~fox@217.110.198.158) |
2020-10-13 17:50:58 +0200 | CindyLinz | (~cindy_utf@112.121.78.20) |
2020-10-13 17:51:09 +0200 | <ski> | with semigroup, you have associativity, so you can combine a sequence of elements into a single element, and get the same result, regardless of how you group the elements in the sequence |
2020-10-13 17:51:46 +0200 | <monochrom> | That means magmas are freer than semigroups. :) |
2020-10-13 17:52:10 +0200 | <blip> | jil: How would you implement this signature: `slurp :: (a, b) -> a` |
2020-10-13 17:52:24 +0200 | <blip> | monochrom: :) |
2020-10-13 17:52:34 +0200 | <ski> | i guess you have a free functor from magmas to semigroups |
2020-10-13 17:52:36 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Quit: ubert) |
2020-10-13 17:52:39 +0200 | alp | (~alp@2a01:e0a:58b:4920:e961:3e4f:cf0f:6182) (Ping timeout: 272 seconds) |
2020-10-13 17:54:21 +0200 | <jil> | as `slurp (x,y) = x` blip |
2020-10-13 17:54:45 +0200 | <blip> | jil: cool, and what about: barf :: a -> (a, b) |
2020-10-13 17:54:50 +0200 | Bakun | (~bakun@51.15.0.88) |
2020-10-13 17:55:11 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 17:55:19 +0200 | GyroW_ | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 17:55:20 +0200 | GyroW_ | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 17:55:20 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) |
2020-10-13 17:56:34 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 272 seconds) |
2020-10-13 17:57:47 +0200 | <jil> | I'm looking for a definition with the flowing type `add :: Int -> Int -> Int -> Int` and I come up with this https://paste.debian.net/1166987 but I feel something is correct. |
2020-10-13 17:57:53 +0200 | <jil> | or not necessary |
2020-10-13 17:59:10 +0200 | <ski> | what do you mean by "flowing type" ? |
2020-10-13 17:59:13 +0200 | knupfer | (~Thunderbi@200116b82c814300159e9cdeac30c350.dip.versatel-1u1.de) (Read error: Connection reset by peer) |
2020-10-13 17:59:16 +0200 | <jil> | more precisely I don't understand why removing the first `:: Int` make a fucntion returning `Num a` also I have x, y z Ints |
2020-10-13 17:59:17 +0200 | <ski> | @type let add x y z = x+y+z::Int where x :: Int; y :: Int; z :: Int in add |
2020-10-13 17:59:17 +0200 | <monochrom> | Write "add :: Int -> Int -> Int -> Int" instead of the "where x::Int etc" block. That block means something else. |
2020-10-13 17:59:19 +0200 | <lambdabot> | error: |
2020-10-13 17:59:19 +0200 | <lambdabot> | The type signature for ‘x’ lacks an accompanying binding |
2020-10-13 17:59:19 +0200 | <lambdabot> | (The type signature must be given where ‘x’ is declared) |
2020-10-13 17:59:20 +0200 | knupfer | (~Thunderbi@200116b82c814300f1e41d34f9bff3a4.dip.versatel-1u1.de) |
2020-10-13 17:59:22 +0200 | blip | (58823d9e@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.61.158) (Quit: Connection closed) |
2020-10-13 17:59:29 +0200 | blip | (58823d9e@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.61.158) |
2020-10-13 17:59:40 +0200 | <blip> | jil: it's correct, albeit unusual |
2020-10-13 17:59:45 +0200 | <monochrom> | ski, I think s/flowing/following/ |
2020-10-13 17:59:51 +0200 | <ski> | oh |
2020-10-13 18:00:01 +0200 | ski | sometimes fails to read typo :/ |
2020-10-13 18:00:15 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2020-10-13 18:00:25 +0200 | <blip> | jil: you'd need only the top level type signature, all the other types are infered |
2020-10-13 18:00:27 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:1dbd) |
2020-10-13 18:00:46 +0200 | is_null | (~jpic@pdpc/supporter/professional/is-null) (Read error: Connection reset by peer) |
2020-10-13 18:00:54 +0200 | <ski> | @let add x y z = (x :: Int) + (y :: Int) + (z :: Int) :: Int |
2020-10-13 18:00:55 +0200 | <jil> | sorry ski, I'm unfortunately very good at writting typos. |
2020-10-13 18:00:57 +0200 | <lambdabot> | Defined. |
2020-10-13 18:01:08 +0200 | <monochrom> | I trained myself to guess meanings from very large contexts when I was a child. Because I was too lazy to look up a word in a dictionary, I would rather guess an approximation from context. |
2020-10-13 18:01:18 +0200 | <ski> | is possible, if you really want to write it like that (but it's not idiomatic, as noted) |
2020-10-13 18:01:18 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-10-13 18:01:21 +0200 | Rudd0 | (~Rudd0@185.189.115.103) |
2020-10-13 18:01:34 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:1dbd) (Client Quit) |
2020-10-13 18:01:53 +0200 | <jil> | ok. Thank you. |
2020-10-13 18:02:04 +0200 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 18:02:06 +0200 | <ski> | @let add (x :: Int) (y :: Int) (z :: Int) = x + y + z :: Int |
2020-10-13 18:02:08 +0200 | <lambdabot> | Defined. |
2020-10-13 18:02:09 +0200 | <merijn> | blip: Eh, the top level is inferred too |
2020-10-13 18:02:13 +0200 | <merijn> | blip: Everything is inferred |
2020-10-13 18:02:35 +0200 | <merijn> | You'll just get lynched by angry programmers if you don't annotate the top level :p |
2020-10-13 18:02:40 +0200 | <ski> | is another, similar, way (imho looks better). but it's still unidiomatic. and this one requires a language extension (`ScopedTypeVariables') |
2020-10-13 18:02:54 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-10-13 18:03:06 +0200 | <ski> | add :: Int -> Int -> Int -> Int |
2020-10-13 18:03:10 +0200 | <ski> | add x y z = x + y + z |
2020-10-13 18:03:12 +0200 | <jil> | @let add (x :: Int) (y :: Int) = x + y |
2020-10-13 18:03:14 +0200 | <lambdabot> | .L.hs:157:1: error: |
2020-10-13 18:03:14 +0200 | <lambdabot> | Equations for ‘add’ have different numbers of arguments |
2020-10-13 18:03:14 +0200 | <lambdabot> | .L.hs:157:1-55 |
2020-10-13 18:03:15 +0200 | <ski> | is the usual way to write it |
2020-10-13 18:03:26 +0200 | <blip> | @pl \x y z -> x + y + z |
2020-10-13 18:03:26 +0200 | <lambdabot> | ((+) .) . (+) |
2020-10-13 18:03:32 +0200 | <dolio> | If you don't annotate the top level you're probably going to end up hating yourself, eventually. |
2020-10-13 18:03:33 +0200 | <ski> | sorry, let me remove the earlier definition for you |
2020-10-13 18:03:36 +0200 | <ski> | @undefine |
2020-10-13 18:03:37 +0200 | <lambdabot> | Undefined. |
2020-10-13 18:03:45 +0200 | <ski> | @let add (x :: Int) (y :: Int) = x + y |
2020-10-13 18:03:46 +0200 | <lambdabot> | Defined. |
2020-10-13 18:03:48 +0200 | <ski> | @type add |
2020-10-13 18:03:49 +0200 | <lambdabot> | Int -> Int -> Int |
2020-10-13 18:04:14 +0200 | <blip> | add = ((+) .) . (+) :: Int -> Int -> Int -> Int |
2020-10-13 18:04:16 +0200 | <blip> | :P |
2020-10-13 18:04:17 +0200 | <jil> | I see. It's clearer like that. Thank you. |
2020-10-13 18:04:38 +0200 | <dolio> | At least if you write anything non-trivial. |
2020-10-13 18:04:45 +0200 | <jil> | :) |
2020-10-13 18:05:28 +0200 | nyd | (~lpy@unaffiliated/elysian) (Ping timeout: 256 seconds) |
2020-10-13 18:06:01 +0200 | <ski> | @let add (x :: Int) (y :: Int) (z :: Int) :: Int = x + y + z -- too bad this doesn't work, anymore .. |
2020-10-13 18:06:01 +0200 | <lambdabot> | Parse failed: Cannot give an explicit type signature to a function binding |
2020-10-13 18:06:40 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-10-13 18:07:51 +0200 | <ski> | jil : "more precisely I don't understand why removing the first `:: Int` make a fucntion returning `Num a` also I have x, y z Ints" -- i suppose you mean the (first) `:: Int', in the paste |
2020-10-13 18:09:00 +0200 | <jil> | yes |
2020-10-13 18:09:04 +0200 | <ski> | if you just say `add x y z = x + y + z', then it infers that `x',`y',`z' (and the result `x+y+z') must be of "numeric type", meaning some type that supports `+' (and a few other operations). that is what the `Num a =>' part means : works for all types `a', provided that `a' supports the `Num' operations |
2020-10-13 18:09:20 +0200 | <ski> | @src Num |
2020-10-13 18:09:20 +0200 | <lambdabot> | class Num a where |
2020-10-13 18:09:20 +0200 | <lambdabot> | (+), (-), (*) :: a -> a -> a |
2020-10-13 18:09:20 +0200 | <lambdabot> | negate, abs, signum :: a -> a |
2020-10-13 18:09:20 +0200 | <lambdabot> | fromInteger :: Integer -> a |
2020-10-13 18:10:15 +0200 | aaaaaa | (~ArthurStr@host-91-90-11-13.soborka.net) |
2020-10-13 18:10:33 +0200 | <jil> | sure but I was understanding the `where x :: Int...` as a restriction or condition on my arguments' type |
2020-10-13 18:10:34 +0200 | <ski> | (note that this doesn't include division. if you (also) want division, you'll have to say whether you want integral (with remainder) division, or fractional division. instead of `Num', you'd then use `Integral' or `Fractional') |
2020-10-13 18:11:25 +0200 | <blip> | these arguments are restricted by the top level type signature |
2020-10-13 18:11:37 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 264 seconds) |
2020-10-13 18:11:38 +0200 | pera | (~pera@unaffiliated/pera) |
2020-10-13 18:11:54 +0200 | <blip> | or by the return type, because the (+) forces the same type on both sides and for the result |
2020-10-13 18:11:54 +0200 | lucid_0x80 | (~lucid_0x8@188.253.234.40) |
2020-10-13 18:12:15 +0200 | aaaaaa | (~ArthurStr@host-91-90-11-13.soborka.net) () |
2020-10-13 18:12:18 +0200 | <ski> | jil : when i try the first section of code in the paste (inbetween the `{:' and the `:}'), i get errors for missing bindings (definitions) for `x',`y',`z' |
2020-10-13 18:12:31 +0200 | glguy | ghoulguy |
2020-10-13 18:12:37 +0200 | <ski> | (i'm not sure how you're trying this piece of code, without getting errors) |
2020-10-13 18:13:22 +0200 | <kuribas> | is there an applicative for records? Positional arguments can be come quite unwieldy and unreadable... |
2020-10-13 18:13:30 +0200 | <jil> | I evaluate in from org-mode in emacs that sends it to ghci |
2020-10-13 18:13:38 +0200 | <ski> | jil : generally, if you put `someName :: SomeType', e.g. in a `where'-clause attaching to a definition, there should also be a definition of `someName' in there |
2020-10-13 18:13:48 +0200 | <kuribas> | hmm, maybe applicative-do... |
2020-10-13 18:13:49 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 18:14:01 +0200 | alp | (~alp@2a01:e0a:58b:4920:c582:5c02:4169:5973) |
2020-10-13 18:14:14 +0200 | <blip> | kuribas: perhaps you'd like to use lensesd |
2020-10-13 18:14:17 +0200 | <blip> | lenses? |
2020-10-13 18:14:29 +0200 | <kuribas> | blip: how do lenses help with applicative? |
2020-10-13 18:14:39 +0200 | <ski> | so, i'm getting complaints, because there's no definition of `x',`y',`z', accompanying those type signatures for them, inside that `where' |
2020-10-13 18:15:05 +0200 | <blip> | blip: to select which part of the record you'd like to act upon |
2020-10-13 18:15:08 +0200 | <ski> | (since `x',`y',`z' are not bound in the `where', but rather in the patterns / formal parameters, to the left of the `=', in the defining equation) |
2020-10-13 18:15:13 +0200 | geekosaur | (82659a0e@host154-014.vpn.uakron.edu) |
2020-10-13 18:15:26 +0200 | <kuribas> | blip: but I need to act on all parts |
2020-10-13 18:15:36 +0200 | <ski> | jil : hm. maybe it does something unexpected, not sure |
2020-10-13 18:15:50 +0200 | <blip> | kuribas: well, if they are all of the same type, you can derive a functor instance |
2020-10-13 18:15:57 +0200 | <ski> | (it being `org-mode', or perhaps some more particular mechanism invoked by it) |
2020-10-13 18:16:00 +0200 | <kuribas> | blip: like MyRecord <$> field1 <*> field2 <*> field3 |
2020-10-13 18:16:07 +0200 | <kuribas> | but with field names instead of positions |
2020-10-13 18:16:18 +0200 | xff0x | (~fox@217.110.198.158) (Ping timeout: 256 seconds) |
2020-10-13 18:16:43 +0200 | <blip> | kuribas: well, what about record updates? |
2020-10-13 18:16:53 +0200 | <kuribas> | perhaps applicative do: do a <- field1; b <- field2; c <- field3; MyRecord {..} |
2020-10-13 18:17:15 +0200 | <kuribas> | blip: record updates aren't a problem |
2020-10-13 18:17:37 +0200 | <kuribas> | blip: my question isn't about record updates. |
2020-10-13 18:17:50 +0200 | <kuribas> | it's about doing an applicative on a record. |
2020-10-13 18:18:01 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 18:18:25 +0200 | <blip> | well, what you propose would work (adding a pure to the last line) |
2020-10-13 18:18:30 +0200 | <kuribas> | yeah |
2020-10-13 18:18:34 +0200 | <ski> | jil : in any case, the normal way to specify the types of function arguments is to provide a type signature for the whole function (normally before the function definition), like `add :: Int -> Int -> Int -> Int' (also specifying the result type) |
2020-10-13 18:18:48 +0200 | <jil> | also when I :load a script with `add (x :: Int) (y :: Int) (z :: Int) = x + y + z :: Int` directly from ghci I get an error. https://paste.debian.net/1166990/ illegal type signature 'Int' |
2020-10-13 18:19:38 +0200 | <geekosaur> | because it's trying to do a pattern signature which is an extension (it should have said something about ScopedTypeVariables) |
2020-10-13 18:19:39 +0200 | <jil> | why is that ? |
2020-10-13 18:19:46 +0200 | <blip> | kuribas: but also quite dangerous, you can easily construct an incomplete record |
2020-10-13 18:19:47 +0200 | <ski> | jil : yes. as i mentioned (in brief) above, using that style (having `:: Int' in the formal parameters / patterns) is a language extension. try placing the following line as the first line in your script : |
2020-10-13 18:19:48 +0200 | <jil> | yes it does. |
2020-10-13 18:19:56 +0200 | <ski> | {-# LANGUAGE ScopedTypeVariables #-} |
2020-10-13 18:19:59 +0200 | <geekosaur> | ski just told you the correct way to specify a function signature |
2020-10-13 18:20:10 +0200 | <jil> | ok. |
2020-10-13 18:20:13 +0200 | <kuribas> | blip: wouldn't that generate a warning? |
2020-10-13 18:20:36 +0200 | <ski> | (if you want to play around with this style of ascribing types also to patterns, not just to expressions, that is) |
2020-10-13 18:20:40 +0200 | <blip> | kuribas: I think yes with -Wall |
2020-10-13 18:21:20 +0200 | <kuribas> | blip: I can turn a warning in an error, can't I? |
2020-10-13 18:21:20 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-10-13 18:21:34 +0200 | <blip> | kuribas: yes, -Werr |
2020-10-13 18:21:47 +0200 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-10-13 18:22:15 +0200 | <kuribas> | ah -Werror=⟨wflag⟩ |
2020-10-13 18:22:27 +0200 | <blip> | yep |
2020-10-13 18:22:30 +0200 | <jil> | ski geekosaur ok. I had not understood what you meant by `a language extension`. It's clear know and my script works. |
2020-10-13 18:22:53 +0200 | <kuribas> | strange haskell is so loose with undefined fields |
2020-10-13 18:23:00 +0200 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-10-13 18:23:02 +0200 | <kuribas> | IMO it should be an error |
2020-10-13 18:23:24 +0200 | fendor_ | (~fendor@t204-126.demo.tuwien.ac.at) |
2020-10-13 18:23:24 +0200 | <ski> | ditto for missing methods ? |
2020-10-13 18:23:29 +0200 | <blip> | there is a lot of undefined |
2020-10-13 18:23:35 +0200 | <blip> | what about head? |
2020-10-13 18:23:39 +0200 | <kuribas> | ski: that's an error right? |
2020-10-13 18:23:41 +0200 | nyd | (~lpy@unaffiliated/elysian) |
2020-10-13 18:23:46 +0200 | <dolio> | No. |
2020-10-13 18:23:52 +0200 | <ski> | @let data Foo = MkFoo; instance Num Foo |
2020-10-13 18:23:54 +0200 | <lambdabot> | .L.hs:160:10: error: [-Wmissing-methods, -Werror=missing-methods] |
2020-10-13 18:23:54 +0200 | <lambdabot> | • No explicit implementation for |
2020-10-13 18:23:54 +0200 | <lambdabot> | ‘+’, ‘*’, ‘abs’, ‘signum’, ‘fromInteger’, and (either ‘negate’ |
2020-10-13 18:24:06 +0200 | <blip> | :) |
2020-10-13 18:24:07 +0200 | <monochrom> | missing methods and undefined values are dynamic errors, not static errors. |
2020-10-13 18:24:16 +0200 | <ski> | lambdabot doesn't like it, since it has `-Werror=missing-methods' |
2020-10-13 18:24:17 +0200 | <kuribas> | ah you mean missing instance methods... |
2020-10-13 18:24:29 +0200 | <kuribas> | indeed, that should be an error IMO |
2020-10-13 18:24:50 +0200 | <blip> | > head [] |
2020-10-13 18:24:52 +0200 | <lambdabot> | *Exception: Prelude.head: empty list |
2020-10-13 18:25:48 +0200 | Reiser2 | (~0a2a0001@static.210.242.216.95.clients.your-server.de) |
2020-10-13 18:25:52 +0200 | <blip> | we need `-Werror=undefined` |
2020-10-13 18:25:57 +0200 | <ski> | jil : you understand how to "line up" the arguments in `add x y z = x + y + z' with the types in `add :: Int -> Int -> Int -> Int' (or even `add :: Num a => a -> a -> a -> a'), yes ? |
2020-10-13 18:26:01 +0200 | dustinm- | (~dustinm@static.38.6.217.95.clients.your-server.de) (Ping timeout: 264 seconds) |
2020-10-13 18:26:23 +0200 | fendor | (~fendor@e237-037.eduroam.tuwien.ac.at) (Ping timeout: 258 seconds) |
2020-10-13 18:26:43 +0200 | <kuribas> | I find partial functions are always a mistake, because you don't get a good error message. |
2020-10-13 18:26:49 +0200 | Reiser | (~0a2a0001@unaffiliated/reisen) (Ping timeout: 246 seconds) |
2020-10-13 18:26:55 +0200 | lowryder | (~djlowry@web603.webfaction.com) |
2020-10-13 18:26:59 +0200 | <blip> | like (/) |
2020-10-13 18:27:25 +0200 | chrpape | (~user@2a01:4f9:c010:632d::1) (Ping timeout: 240 seconds) |
2020-10-13 18:27:28 +0200 | <blip> | :: Rational |
2020-10-13 18:27:53 +0200 | noteness_ | (noteness@unaffiliated/nessessary129) |
2020-10-13 18:27:59 +0200 | jhuizy3 | (~jhuizy@static.241.188.216.95.clients.your-server.de) |
2020-10-13 18:28:02 +0200 | fl0_id | (~fl0_id@2a01:4f8:171:4de::40:2) (Quit: ZNC) |
2020-10-13 18:28:02 +0200 | <kuribas> | yeah |
2020-10-13 18:28:03 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds) |
2020-10-13 18:28:07 +0200 | M2tias | (m2@seri.fi) (Ping timeout: 240 seconds) |
2020-10-13 18:28:19 +0200 | uwap_ | (~uwap@genja.uwap.name) |
2020-10-13 18:28:33 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2020-10-13 18:28:34 +0200 | fl0_id | (~fl0_id@claudia.s7t.de) |
2020-10-13 18:29:06 +0200 | <monochrom> | Perhaps you can accept a compromise? Partial functions/values with the HasCallStack constraint are not static errors; without, are static errors. |
2020-10-13 18:29:12 +0200 | uwap | (~uwap@genja.uwap.name) (Read error: Connection reset by peer) |
2020-10-13 18:29:21 +0200 | M2tias | (m2@seri.fi) |
2020-10-13 18:29:47 +0200 | jhuizy | (~jhuizy@static.241.188.216.95.clients.your-server.de) (Ping timeout: 260 seconds) |
2020-10-13 18:29:47 +0200 | jhuizy3 | jhuizy |
2020-10-13 18:29:55 +0200 | Lycurgus | (~niemand@98.4.96.235) |
2020-10-13 18:30:06 +0200 | <blip> | I have to go, the abyss of promoted constructors is calling my name |
2020-10-13 18:30:29 +0200 | <dolio> | I write good errors in my partial functions. :) |
2020-10-13 18:30:35 +0200 | noteness | (~noteness@unaffiliated/nessessary129) (Ping timeout: 244 seconds) |
2020-10-13 18:30:57 +0200 | dustinm | (~dustinm@static.38.6.217.95.clients.your-server.de) |
2020-10-13 18:32:00 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-10-13 18:32:05 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) |
2020-10-13 18:34:20 +0200 | howdoi | (uid224@gateway/web/irccloud.com/x-llljiaghhgnypdze) |
2020-10-13 18:35:09 +0200 | blip | (58823d9e@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.61.158) (Quit: Connection closed) |
2020-10-13 18:35:27 +0200 | hackage | prolens 0.0.0.0 - Profunctor-based lightweight implementation of optics https://hackage.haskell.org/package/prolens-0.0.0.0 (shersh) |
2020-10-13 18:40:43 +0200 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) |
2020-10-13 18:41:22 +0200 | uwap_ | (~uwap@genja.uwap.name) (Remote host closed the connection) |
2020-10-13 18:41:34 +0200 | uwap | (~uwap@genja.uwap.name) |
2020-10-13 18:42:05 +0200 | pgib | (~textual@lmms/pgib) (Ping timeout: 240 seconds) |
2020-10-13 18:43:51 +0200 | <maerwald> | A language with no partial functions seems like a pain in the *ss. You don't really care about partial functions, you care about your program being total. |
2020-10-13 18:45:28 +0200 | ski | . o O ( preconditions & postconditions ) |
2020-10-13 18:46:14 +0200 | <monochrom> | inb4 Sapir-Whorf |
2020-10-13 18:46:16 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 256 seconds) |
2020-10-13 18:47:09 +0200 | nineonin_ | (~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection) |
2020-10-13 18:49:56 +0200 | jollygood2 | (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
2020-10-13 18:51:17 +0200 | tzh | (~tzh@2601:448:c500:5300::d90) |
2020-10-13 18:53:58 +0200 | fendor_ | (~fendor@t204-126.demo.tuwien.ac.at) (Remote host closed the connection) |
2020-10-13 18:54:45 +0200 | taurux | (~taurux@net-109-115-33-170.cust.vodafonedsl.it) (Ping timeout: 240 seconds) |
2020-10-13 18:55:18 +0200 | taurux | (~taurux@net-109-115-33-211.cust.vodafonedsl.it) |
2020-10-13 18:56:34 +0200 | <Cheery> | bucklescript translates the partial functions away. |
2020-10-13 18:57:48 +0200 | <Cheery> | I'm curious about that because it means that on partial parameters they're constructing a closure that fills in the partial. |
2020-10-13 18:58:53 +0200 | <Cheery> | also if you have function like a → b, if the 'b' turns out to be a function, then the parameters cannot be fused anyway. |
2020-10-13 18:59:42 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-10-13 18:59:54 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 272 seconds) |
2020-10-13 19:00:45 +0200 | <Cheery> | nobody cares as long as they're not exposed in a library interface. That'd be interesting subject on its own. |
2020-10-13 19:00:58 +0200 | Bakun | (~bakun@51.15.0.88) (Ping timeout: 260 seconds) |
2020-10-13 19:01:00 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-10-13 19:01:26 +0200 | nineonine | (~nineonine@216.81.48.202) |
2020-10-13 19:01:51 +0200 | nineonine | (~nineonine@216.81.48.202) (Remote host closed the connection) |
2020-10-13 19:02:03 +0200 | nineonine | (~nineonine@216.81.48.202) |
2020-10-13 19:02:54 +0200 | Bakun | (~bakun@51.15.0.88) |
2020-10-13 19:05:52 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 258 seconds) |
2020-10-13 19:05:54 +0200 | guest35 | (d537f42e@213.55.244.46) (Remote host closed the connection) |
2020-10-13 19:08:56 +0200 | <monochrom> | That sounds like you mistook partial function for partial application. |
2020-10-13 19:09:29 +0200 | <Cheery> | you're right. |
2020-10-13 19:12:08 +0200 | <Cheery> | But then got opinion on that as well. I think I like the approach where you tag the partial functions. |
2020-10-13 19:12:31 +0200 | mdunnio | (~mdunnio@208.59.170.5) |
2020-10-13 19:14:33 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 19:14:46 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 19:14:46 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 19:14:46 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 19:15:05 +0200 | mdunnio_ | (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
2020-10-13 19:15:38 +0200 | Gerula | (~Gerula@unaffiliated/gerula) |
2020-10-13 19:16:04 +0200 | <Cheery> | I might also do that for recursive functions. |
2020-10-13 19:16:32 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 19:16:52 +0200 | xff0x | (~fox@2001:1a81:52e4:2a00:a0c7:cc77:f7d4:2372) |
2020-10-13 19:18:11 +0200 | GyroW_ | (~GyroW@d54C03E98.access.telenet.be) |
2020-10-13 19:18:11 +0200 | GyroW_ | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
2020-10-13 19:18:11 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) |
2020-10-13 19:19:25 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds) |
2020-10-13 19:20:38 +0200 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) (Ping timeout: 265 seconds) |
2020-10-13 19:21:31 +0200 | mdunnio_ | (~mdunnio@208.59.170.5) |
2020-10-13 19:22:24 +0200 | <Cheery> | fix :: Fix a => (a → a) → a |
2020-10-13 19:22:32 +0200 | xff0x | (~fox@2001:1a81:52e4:2a00:a0c7:cc77:f7d4:2372) (Ping timeout: 260 seconds) |
2020-10-13 19:22:48 +0200 | raichoo | (~raichoo@213.240.178.58) (Quit: Lost terminal) |
2020-10-13 19:23:49 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 19:24:24 +0200 | xff0x | (~fox@2001:1a81:52e4:2a00:a0c7:cc77:f7d4:2372) |
2020-10-13 19:24:45 +0200 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
2020-10-13 19:24:47 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-10-13 19:25:51 +0200 | p-core | (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection) |
2020-10-13 19:26:07 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 19:26:20 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 19:27:21 +0200 | dopplergange | (~dop@titan.pathogen.is) |
2020-10-13 19:27:53 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2020-10-13 19:28:22 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 260 seconds) |
2020-10-13 19:29:07 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 19:29:17 +0200 | oisdk | (~oisdk@2001:bb6:3329:d100:a9e4:32d1:231e:16a5) (Quit: oisdk) |
2020-10-13 19:32:21 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:1dbd) |
2020-10-13 19:32:35 +0200 | amx | (amx@percival.namespace.at) |
2020-10-13 19:34:16 +0200 | sand_dull | (~theuser@104.140.53.43) |
2020-10-13 19:34:52 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
2020-10-13 19:35:27 +0200 | hackage | matterhorn 50200.10.3 - Terminal client for the Mattermost chat system https://hackage.haskell.org/package/matterhorn-50200.10.3 (JonathanDaugherty) |
2020-10-13 19:35:47 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-10-13 19:38:07 +0200 | pera | (~pera@unaffiliated/pera) (Quit: leaving) |
2020-10-13 19:38:48 +0200 | isovector1 | (~isovector@172.103.216.166.cable.tpia.cipherkey.com) |
2020-10-13 19:44:00 +0200 | winircuser-559 | (~winircuse@208.65.191.38) |
2020-10-13 19:44:30 +0200 | leungbk | (~user@2605:e000:1315:706:cc8c:f2b3:1a5a:360) |
2020-10-13 19:46:10 +0200 | kupi | (uid212005@gateway/web/irccloud.com/x-zkqelsktmjuyhxgl) (Quit: Connection closed for inactivity) |
2020-10-13 19:48:16 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-10-13 19:48:32 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 19:49:58 +0200 | John20 | (~John@82.46.59.122) (Ping timeout: 260 seconds) |
2020-10-13 19:52:52 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:1dbd) (Ping timeout: 260 seconds) |
2020-10-13 19:53:05 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds) |
2020-10-13 19:53:44 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 272 seconds) |
2020-10-13 19:56:20 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) |
2020-10-13 19:58:52 +0200 | elliott_ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-10-13 19:59:14 +0200 | ashbreeze | (~mark@72-161-254-60.dyn.centurytel.net) |
2020-10-13 20:00:01 +0200 | supaplex1 | (~supaplex1@185.163.110.116) () |
2020-10-13 20:00:04 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-10-13 20:00:07 +0200 | dyeplexer | (~lol@unaffiliated/terpin) (Remote host closed the connection) |
2020-10-13 20:00:15 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 20:00:25 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 240 seconds) |
2020-10-13 20:00:25 +0200 | knupfer | (~Thunderbi@200116b82c814300f1e41d34f9bff3a4.dip.versatel-1u1.de) (Remote host closed the connection) |
2020-10-13 20:00:34 +0200 | knupfer | (~Thunderbi@200116b82c81430000cc9ce4231ed805.dip.versatel-1u1.de) |
2020-10-13 20:00:52 +0200 | avdb | (~avdb@ip-62-235-189-198.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-10-13 20:01:31 +0200 | Zetagon | (~leo@c151-177-52-233.bredband.comhem.se) |
2020-10-13 20:01:42 +0200 | _ashbreeze_ | (~mark@72-161-254-60.dyn.centurytel.net) (Ping timeout: 256 seconds) |
2020-10-13 20:02:09 +0200 | lowryder | (~djlowry@web603.webfaction.com) (Remote host closed the connection) |
2020-10-13 20:02:27 +0200 | hackage | rescue 0.3.0 - More understandable exceptions https://hackage.haskell.org/package/rescue-0.3.0 (expede) |
2020-10-13 20:03:49 +0200 | geekosaur | (82659a0e@host154-014.vpn.uakron.edu) (Ping timeout: 245 seconds) |
2020-10-13 20:04:24 +0200 | L29Ah | (~L29Ah@unaffiliated/l29ah) |
2020-10-13 20:05:08 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-10-13 20:08:37 +0200 | chaosmasttter | (~chaosmast@p200300c4a711b0018861c787729f3b81.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 20:08:40 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
2020-10-13 20:08:52 +0200 | mdickens | (~mdickens@2600:1700:100:6510:a0bd:f978:b47f:a64d) |
2020-10-13 20:09:23 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 20:10:23 +0200 | elliott_ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2020-10-13 20:11:47 +0200 | alp | (~alp@2a01:e0a:58b:4920:c582:5c02:4169:5973) (Remote host closed the connection) |
2020-10-13 20:12:25 +0200 | alp | (~alp@2a01:e0a:58b:4920:5926:20e4:5d7e:7879) |
2020-10-13 20:13:27 +0200 | alp | (~alp@2a01:e0a:58b:4920:5926:20e4:5d7e:7879) (Remote host closed the connection) |
2020-10-13 20:14:03 +0200 | alp | (~alp@2a01:e0a:58b:4920:ed0b:3d12:34d1:634d) |
2020-10-13 20:15:08 +0200 | alp | (~alp@2a01:e0a:58b:4920:ed0b:3d12:34d1:634d) (Remote host closed the connection) |
2020-10-13 20:15:28 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 20:15:45 +0200 | alp | (~alp@2a01:e0a:58b:4920:8d39:25bb:b9fc:ab4b) |
2020-10-13 20:16:32 +0200 | sand_dull | (~theuser@104.140.53.43) (Ping timeout: 272 seconds) |
2020-10-13 20:16:48 +0200 | alp | (~alp@2a01:e0a:58b:4920:8d39:25bb:b9fc:ab4b) (Remote host closed the connection) |
2020-10-13 20:17:26 +0200 | alp | (~alp@2a01:e0a:58b:4920:b0eb:85d7:8e70:cf02) |
2020-10-13 20:17:35 +0200 | pera | (~pera@unaffiliated/pera) |
2020-10-13 20:17:36 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-10-13 20:18:07 +0200 | Mouse34 | (8137c814@LLPROXY.LL.MIT.EDU) |
2020-10-13 20:18:29 +0200 | alp | (~alp@2a01:e0a:58b:4920:b0eb:85d7:8e70:cf02) (Remote host closed the connection) |
2020-10-13 20:19:04 +0200 | alp | (~alp@2a01:e0a:58b:4920:8c3b:f2ef:189e:7b1f) |
2020-10-13 20:19:51 +0200 | _ashbreeze_ | (~mark@72-161-254-60.dyn.centurytel.net) |
2020-10-13 20:20:10 +0200 | Ahmuck | (~Ahmuck@178.162.204.214) |
2020-10-13 20:20:43 +0200 | alp | (~alp@2a01:e0a:58b:4920:8c3b:f2ef:189e:7b1f) (Remote host closed the connection) |
2020-10-13 20:21:07 +0200 | ashbreeze | (~mark@72-161-254-60.dyn.centurytel.net) (Ping timeout: 256 seconds) |
2020-10-13 20:22:20 +0200 | alp | (~alp@2a01:e0a:58b:4920:6ddd:c2d0:4761:63bc) |
2020-10-13 20:23:00 +0200 | romildo | (~Romildo@ip-187-73-5-249.isp.valenet.com.br) |
2020-10-13 20:23:59 +0200 | elliott_ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-10-13 20:24:02 +0200 | <romildo> | Is there an irc channel for haskell-mode/lsp-haskell with emacs? |
2020-10-13 20:24:04 +0200 | alp | (~alp@2a01:e0a:58b:4920:6ddd:c2d0:4761:63bc) (Remote host closed the connection) |
2020-10-13 20:24:04 +0200 | geekosaur | (82659a0e@host154-014.vpn.uakron.edu) |
2020-10-13 20:24:39 +0200 | alp | (~alp@2a01:e0a:58b:4920:45ee:7400:a0c1:b755) |
2020-10-13 20:25:59 +0200 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) |
2020-10-13 20:26:13 +0200 | raehik | (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2020-10-13 20:26:18 +0200 | alp | (~alp@2a01:e0a:58b:4920:45ee:7400:a0c1:b755) (Remote host closed the connection) |
2020-10-13 20:26:34 +0200 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection) |
2020-10-13 20:26:47 +0200 | Zetagon | (~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 256 seconds) |
2020-10-13 20:26:56 +0200 | alp | (~alp@2a01:e0a:58b:4920:2979:fa8:1325:3fdc) |
2020-10-13 20:27:34 +0200 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) |
2020-10-13 20:27:45 +0200 | Zetagon | (~leo@c151-177-52-233.bredband.comhem.se) |
2020-10-13 20:28:29 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-10-13 20:28:32 +0200 | alp | (~alp@2a01:e0a:58b:4920:2979:fa8:1325:3fdc) (Remote host closed the connection) |
2020-10-13 20:28:48 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2020-10-13 20:29:13 +0200 | alp | (~alp@2a01:e0a:58b:4920:b89e:6fed:34a9:922c) |
2020-10-13 20:29:49 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-10-13 20:30:01 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 20:30:07 +0200 | chaosmasttter | (~chaosmast@p200300c4a711b0018861c787729f3b81.dip0.t-ipconnect.de) |
2020-10-13 20:30:46 +0200 | alp | (~alp@2a01:e0a:58b:4920:b89e:6fed:34a9:922c) (Remote host closed the connection) |
2020-10-13 20:31:04 +0200 | alp | (~alp@2a01:e0a:58b:4920:e5d4:e452:52c9:d16a) |
2020-10-13 20:31:35 +0200 | <ski> | romildo : try here or maybe in #emacs ? |
2020-10-13 20:32:18 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-10-13 20:32:42 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-10-13 20:33:26 +0200 | <romildo> | Is there a key binding to insert in the text the inferred type of a variable in a equation? |
2020-10-13 20:34:16 +0200 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection) |
2020-10-13 20:34:25 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-10-13 20:34:37 +0200 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) |
2020-10-13 20:36:30 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 20:36:33 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 20:36:33 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 20:36:41 +0200 | alp | (~alp@2a01:e0a:58b:4920:e5d4:e452:52c9:d16a) (Ping timeout: 272 seconds) |
2020-10-13 20:37:26 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) (Ping timeout: 272 seconds) |
2020-10-13 20:38:16 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-10-13 20:41:53 +0200 | jespada | (~jespada@90.254.245.15) (Ping timeout: 260 seconds) |
2020-10-13 20:43:35 +0200 | jespada | (~jespada@90.254.245.15) |
2020-10-13 20:44:45 +0200 | sand_dull | (~theuser@104.140.53.43) |
2020-10-13 20:46:38 +0200 | raehik | (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) |
2020-10-13 20:47:45 +0200 | clog | (~nef@bespin.org) (Ping timeout: 240 seconds) |
2020-10-13 20:51:09 +0200 | sand_dull | (~theuser@104.140.53.43) (Ping timeout: 256 seconds) |
2020-10-13 20:52:39 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) (Quit: Bye) |
2020-10-13 20:54:24 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 265 seconds) |
2020-10-13 20:56:12 +0200 | mdickens | (~mdickens@2600:1700:100:6510:a0bd:f978:b47f:a64d) () |
2020-10-13 20:56:39 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 258 seconds) |
2020-10-13 20:56:41 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 20:59:15 +0200 | <koz_> | Am I right in that the kind of f here is Type -> Type? https://hackage.haskell.org/package/free-5.1.4/docs/Control-Monad-Free-Church.html#t:F |
2020-10-13 20:59:44 +0200 | Lycurgus | (~niemand@98.4.96.235) (Quit: Exeunt) |
2020-10-13 21:00:00 +0200 | <ghoulguy> | koz_: no |
2020-10-13 21:00:02 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 21:00:08 +0200 | <ghoulguy> | Look at runF :: forall r. (a -> r) -> (f r -> r) -> r |
2020-10-13 21:00:19 +0200 | <koz_> | Ah, so k -> Type? |
2020-10-13 21:00:21 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
2020-10-13 21:00:21 +0200 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
2020-10-13 21:00:21 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 21:00:25 +0200 | <ghoulguy> | nuh uh |
2020-10-13 21:00:28 +0200 | winircuser-559 | (~winircuse@208.65.191.38) (Read error: Connection reset by peer) |
2020-10-13 21:00:35 +0200 | <ghoulguy> | OOH, |
2020-10-13 21:00:40 +0200 | <ghoulguy> | sorry, let me reassess |
2020-10-13 21:00:41 +0200 | <ski> | `f' vs. `F' ? |
2020-10-13 21:00:44 +0200 | <ghoulguy> | I thought you asked the kind of F |
2020-10-13 21:00:53 +0200 | <koz_> | ski: I meant the type parameter 'f'. |
2020-10-13 21:00:58 +0200 | <ski> | yes, i assumed so |
2020-10-13 21:01:03 +0200 | <ghoulguy> | yeah, Type -> Type then |
2020-10-13 21:01:11 +0200 | <koz_> | OK, good to know. |
2020-10-13 21:01:13 +0200 | <ghoulguy> | f is applied to r, and r has to have kind Type |
2020-10-13 21:02:21 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-10-13 21:03:33 +0200 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-10-13 21:03:59 +0200 | lowryder | (~djlowry@web603.webfaction.com) |
2020-10-13 21:04:02 +0200 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2020-10-13 21:05:13 +0200 | ggole | (~ggole@2001:8003:8119:7200:dcc4:683f:59f7:9d48) (Quit: Leaving) |
2020-10-13 21:06:14 +0200 | supercoven | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Ping timeout: 258 seconds) |
2020-10-13 21:06:27 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 21:07:13 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) |
2020-10-13 21:08:45 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-10-13 21:08:58 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 21:09:13 +0200 | lucid_0x80 | (~lucid_0x8@188.253.234.40) (Ping timeout: 264 seconds) |
2020-10-13 21:09:20 +0200 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) (Remote host closed the connection) |
2020-10-13 21:10:21 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-10-13 21:12:20 +0200 | romildo | (~Romildo@ip-187-73-5-249.isp.valenet.com.br) (Quit: Leaving) |
2020-10-13 21:13:32 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 21:14:40 +0200 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-10-13 21:15:07 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 21:16:03 +0200 | oisdk | (~oisdk@2001:bb6:3329:d100:a9e4:32d1:231e:16a5) |
2020-10-13 21:23:46 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 21:24:39 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 21:24:45 +0200 | acidjnk_new | (~acidjnk@p200300d0c723782849be01692612d250.dip0.t-ipconnect.de) |
2020-10-13 21:26:34 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 21:27:36 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Quit: leaving) |
2020-10-13 21:28:39 +0200 | <Zetagon> | Is there a difference between algebraic effects and extensible effects? |
2020-10-13 21:29:41 +0200 | <dolio> | Maybe. |
2020-10-13 21:29:42 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Ping timeout: 260 seconds) |
2020-10-13 21:29:56 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-10-13 21:30:15 +0200 | <monochrom> | :) |
2020-10-13 21:30:25 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-10-13 21:30:58 +0200 | styledash | (~styledash@157.230.173.136) (Quit: The Lounge - https://thelounge.chat) |
2020-10-13 21:31:34 +0200 | styledash | (~styledash@157.230.173.136) |
2020-10-13 21:32:30 +0200 | <Zetagon> | I guess they are similar enough that I can say they are basically the same |
2020-10-13 21:33:22 +0200 | Bakun | (~bakun@51.15.0.88) (Ping timeout: 246 seconds) |
2020-10-13 21:33:32 +0200 | <dminuoso> | Zetagon: You'd have to say what the terms precisely refer to. |
2020-10-13 21:33:42 +0200 | <dminuoso> | Or, where you picked them up. |
2020-10-13 21:34:16 +0200 | <dolio> | Well, I would technically say they are two different things. "Algebraic" is about what things count as 'effects', and "extensible" is about tracking and combining individual effect specifications. |
2020-10-13 21:35:31 +0200 | Bakun | (~bakun@51.15.0.88) |
2020-10-13 21:35:38 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-10-13 21:35:39 +0200 | <dolio> | However, any effect system that isn't "extensible" will probably be rejected immediately as not being practical. |
2020-10-13 21:36:20 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 21:36:46 +0200 | <Zetagon> | Things like polysemy and fused effects, or things like Microsoft Research's Koka |
2020-10-13 21:37:10 +0200 | <Zetagon> | I just stumbled upon these stuff and thought they sound very interesting but don't know what to call them |
2020-10-13 21:37:13 +0200 | bahamas | (~lucian@188.24.181.166) |
2020-10-13 21:37:13 +0200 | bahamas | (~lucian@188.24.181.166) (Changing host) |
2020-10-13 21:37:13 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-10-13 21:37:20 +0200 | <dolio> | Because you'd have to manually write the State effect and the State+Exception effect, and the Exception effect and mediate between them by hand. |
2020-10-13 21:37:43 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 21:41:59 +0200 | untseac | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2020-10-13 21:42:30 +0200 | <untseac> | regarding yesterday questions, looks like mongodb yesod template is the one that is archaic. the default sqlite is okay. |
2020-10-13 21:42:50 +0200 | <dolio> | I guess I could be wrong about that, though, because people actually work that way in Haskell sometimes. |
2020-10-13 21:43:24 +0200 | <dolio> | Although not to quite that extreme a degree. |
2020-10-13 21:46:23 +0200 | Bakun | (~bakun@51.15.0.88) (Read error: Connection reset by peer) |
2020-10-13 21:47:09 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-10-13 21:49:26 +0200 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
2020-10-13 21:49:40 +0200 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-10-13 21:51:06 +0200 | Bakun | (~bakun@51.15.0.88) |
2020-10-13 21:51:53 +0200 | oxide | (~lambda@unaffiliated/mclaren) (Ping timeout: 260 seconds) |
2020-10-13 21:52:39 +0200 | m0rphism | (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.7.1) |
2020-10-13 21:52:48 +0200 | nyd | (~lpy@unaffiliated/elysian) (Ping timeout: 260 seconds) |
2020-10-13 21:53:24 +0200 | oxide | (~lambda@unaffiliated/mclaren) |
2020-10-13 21:58:22 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds) |
2020-10-13 22:05:13 +0200 | winircuser-559 | (~winircuse@208.65.191.38) |
2020-10-13 22:05:18 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
2020-10-13 22:06:47 +0200 | winircuser-559 | (~winircuse@208.65.191.38) (Client Quit) |
2020-10-13 22:06:52 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 256 seconds) |
2020-10-13 22:08:15 +0200 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) |
2020-10-13 22:09:36 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Quit: leaving) |
2020-10-13 22:18:08 +0200 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) () |
2020-10-13 22:18:13 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
2020-10-13 22:18:23 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) |
2020-10-13 22:18:23 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
2020-10-13 22:18:23 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 22:18:37 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 22:19:16 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 22:21:21 +0200 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-10-13 22:23:55 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 22:25:05 +0200 | elliott_ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2020-10-13 22:27:14 +0200 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-10-13 22:27:23 +0200 | rprije | (~rprije@203.214.95.251) |
2020-10-13 22:29:32 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
2020-10-13 22:29:54 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-10-13 22:30:36 +0200 | Bakun | (~bakun@51.15.0.88) (Read error: Connection reset by peer) |
2020-10-13 22:30:37 +0200 | daenth | (~daenth@136.36.157.210) |
2020-10-13 22:31:07 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 22:34:27 +0200 | knupfer | (~Thunderbi@200116b82c81430000cc9ce4231ed805.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-10-13 22:35:37 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 22:36:50 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 22:37:29 +0200 | geekosaur | (82659a0e@host154-014.vpn.uakron.edu) (Remote host closed the connection) |
2020-10-13 22:39:42 +0200 | ashbreeze | (~mark@72-161-254-60.dyn.centurytel.net) |
2020-10-13 22:41:58 +0200 | _ashbreeze_ | (~mark@72-161-254-60.dyn.centurytel.net) (Ping timeout: 246 seconds) |
2020-10-13 22:42:02 +0200 | leungbk | (~user@2605:e000:1315:706:cc8c:f2b3:1a5a:360) (Ping timeout: 260 seconds) |
2020-10-13 22:43:16 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2020-10-13 22:43:25 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 264 seconds) |
2020-10-13 22:43:33 +0200 | GyroW_ | (~GyroW@d54C03E98.access.telenet.be) |
2020-10-13 22:43:33 +0200 | GyroW_ | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
2020-10-13 22:43:33 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) |
2020-10-13 22:44:29 +0200 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) |
2020-10-13 22:45:08 +0200 | ashbreeze | (~mark@72-161-254-60.dyn.centurytel.net) (Ping timeout: 258 seconds) |
2020-10-13 22:46:26 +0200 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) () |
2020-10-13 22:53:33 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2020-10-13 22:55:12 +0200 | lowryder | (~djlowry@web603.webfaction.com) (Remote host closed the connection) |
2020-10-13 22:58:47 +0200 | kritzefitz | (~kritzefit@212.86.56.80) (Remote host closed the connection) |
2020-10-13 23:00:01 +0200 | Ahmuck | (~Ahmuck@178.162.204.214) () |
2020-10-13 23:00:17 +0200 | ensyde | (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) |
2020-10-13 23:00:53 +0200 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...) |
2020-10-13 23:02:42 +0200 | coot | (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-10-13 23:02:58 +0200 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-10-13 23:03:46 +0200 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2020-10-13 23:05:03 +0200 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2020-10-13 23:05:40 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) |
2020-10-13 23:06:18 +0200 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
2020-10-13 23:06:43 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2020-10-13 23:06:44 +0200 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-10-13 23:07:39 +0200 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-10-13 23:09:33 +0200 | conal | (~conal@64.71.133.70) |
2020-10-13 23:10:02 +0200 | thir | (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-10-13 23:11:31 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-10-13 23:12:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-10-13 23:17:44 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2020-10-13 23:18:16 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-10-13 23:19:02 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) |
2020-10-13 23:19:02 +0200 | GyroW | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
2020-10-13 23:19:02 +0200 | GyroW | (~GyroW@unaffiliated/gyrow) |
2020-10-13 23:19:20 +0200 | solonarv | (~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) |
2020-10-13 23:19:34 +0200 | GyroW_ | (~GyroW@unaffiliated/gyrow) (Ping timeout: 272 seconds) |
2020-10-13 23:21:24 +0200 | BusError1 | (~BusError@185.163.110.116) |
2020-10-13 23:24:52 +0200 | chaosmasttter | (~chaosmast@p200300c4a711b0018861c787729f3b81.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
2020-10-13 23:26:42 +0200 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) |
2020-10-13 23:30:36 +0200 | LKoen | (~LKoen@81.255.219.130) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2020-10-13 23:30:37 +0200 | <proofofme> | Can you define types from operations done on other types? For example, there's `data Financial = Financial double -- units in '$'`, `data Rate = Rate double --units in '$/lb'`, and `data Weight = Weight double -- units in lbs`. Can you do something like `amount (a Financial type) = rate * weight`? I am getting some mismatched type errors from this. |
2020-10-13 23:33:13 +0200 | <ski> | the normal `*' only takes two things of the same type |
2020-10-13 23:38:04 +0200 | snakemas1 | (~snakemast@213.100.206.23) |
2020-10-13 23:38:25 +0200 | hseg | (~gesh@185.120.126.55) |
2020-10-13 23:38:50 +0200 | <monochrom> | If you bothered to use types to distinguish between money, weight, and money-per-weight, it stands to reason to also define your own Rate -> Weight -> Financial so you don't accidentally do "multiply money money-per-weight" |
2020-10-13 23:39:03 +0200 | <hseg> | is there a way to use @-patterns along with view patterns to bind intermediate values? |
2020-10-13 23:39:23 +0200 | <hseg> | i.e. would like sth like (map Just -> ls@(pad n -> pls)) |
2020-10-13 23:39:49 +0200 | m0rphism | (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) |
2020-10-13 23:41:57 +0200 | <ski> | > let (negate -> x@((^ 2) -> y)) = 2 in (x,y) |
2020-10-13 23:42:00 +0200 | <lambdabot> | (-2,4) |
2020-10-13 23:42:17 +0200 | <hseg> | huh. it works |
2020-10-13 23:42:26 +0200 | <hseg> | happy surprise |
2020-10-13 23:42:56 +0200 | snakemas1 | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-10-13 23:43:22 +0200 | Gerula | (~Gerula@unaffiliated/gerula) (Remote host closed the connection) |
2020-10-13 23:43:35 +0200 | xintron | (~xintron@unaffiliated/xintron) (Quit: Ping timeout (120 seconds)) |
2020-10-13 23:43:56 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-10-13 23:44:01 +0200 | xintron | (~xintron@unaffiliated/xintron) |
2020-10-13 23:44:37 +0200 | Zetagon | (~leo@c151-177-52-233.bredband.comhem.se) (Remote host closed the connection) |
2020-10-13 23:45:23 +0200 | <hseg> | hrmph. unfortunately, i can't use where-bound variables in view patterns. |
2020-10-13 23:45:31 +0200 | <hseg> | meh. was a bit of golfing anyway |
2020-10-13 23:45:46 +0200 | Sheilong | (uid293653@gateway/web/irccloud.com/x-ufuazzkmfwuyelkh) |
2020-10-13 23:46:28 +0200 | <hseg> | (use case was c (map Just -> ls@(pad n -> pls)) (map Just -> ms@(pad n -> pms)) (map Just -> sort -> ns) = ... where n = length ns) |
2020-10-13 23:49:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-10-13 23:49:17 +0200 | mdunnio | (~mdunnio@208.59.170.5) |
2020-10-13 23:49:30 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:8576:1536:5132:aae7) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-10-13 23:52:21 +0200 | eedgit2 | (~chat.free@95.179.237.21) (Remote host closed the connection) |
2020-10-13 23:52:41 +0200 | eedgit2 | (~chat.free@95.179.237.21) |
2020-10-13 23:52:45 +0200 | mdunnio_ | (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
2020-10-13 23:56:00 +0200 | mdunnio | (~mdunnio@208.59.170.5) (Read error: Connection reset by peer) |
2020-10-13 23:56:37 +0200 | mdunnio | (~mdunnio@208.59.170.5) |
2020-10-13 23:57:13 +0200 | mav1 | (~mav@ipservice-092-217-043-250.092.217.pools.vodafone-ip.de) |
2020-10-13 23:58:20 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
2020-10-13 23:58:44 +0200 | mav1 | (~mav@ipservice-092-217-043-250.092.217.pools.vodafone-ip.de) (Client Quit) |