| 2020-10-17 00:00:02 +0000 | netsoundW1 | (~netsoundW@84.39.116.180) () |
| 2020-10-17 00:01:18 +0000 | karanlikmadde | (~karanlikm@2a01:c23:6037:1800:955:6189:d72:9daf) (Quit: karanlikmadde) |
| 2020-10-17 00:04:38 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 260 seconds) |
| 2020-10-17 00:08:08 +0000 | unlink2 | (~unlink2@p57b852f3.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-10-17 00:08:20 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 00:09:57 +0000 | hackage | minio-hs 1.5.3 - A MinIO Haskell Library for Amazon S3 compatible cloudstorage. https://hackage.haskell.org/package/minio-hs-1.5.3 (AdityaManthramurthy) |
| 2020-10-17 00:11:55 +0000 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 258 seconds) |
| 2020-10-17 00:15:11 +0000 | <larou> | hmm, it seems like it works! |
| 2020-10-17 00:15:19 +0000 | <larou> | thats quite interesting |
| 2020-10-17 00:15:27 +0000 | <larou> | i didnt think constraints at type level would work |
| 2020-10-17 00:15:37 +0000 | <larou> | but apparently this is a workaround! woop! |
| 2020-10-17 00:15:56 +0000 | <larou> | https://pastebin.com/raw/R1YH9J7e |
| 2020-10-17 00:16:20 +0000 | <larou> | so apparently, you can provide constraints at type level using smart constructors |
| 2020-10-17 00:17:00 +0000 | <larou> | this gives the "place in syntax" where the constraint goes, since it would be an error if it appeared in a kind... |
| 2020-10-17 00:17:17 +0000 | <larou> | i think... unless some recent extension like standalone kind signatures enables this |
| 2020-10-17 00:17:20 +0000 | mirrorbird | (~psutcliff@m83-187-163-53.cust.tele2.se) (Quit: Leaving) |
| 2020-10-17 00:17:28 +0000 | <larou> | anyone know if it does? |
| 2020-10-17 00:19:07 +0000 | Aquazi | (uid312403@gateway/web/irccloud.com/x-vrmickywrfnlobks) (Quit: Connection closed for inactivity) |
| 2020-10-17 00:20:15 +0000 | halogenandtoast | (~halogenan@072-176-116-031.res.spectrum.com) |
| 2020-10-17 00:20:31 +0000 | <halogenandtoast> | If I have an instance like this deriving anyclass instance (IsInvestigator investigator) => HasModifiersFor env investigator Asset is there anyway to have another instance with a different constraint? |
| 2020-10-17 00:20:44 +0000 | jedws | (~jedws@121.209.161.98) |
| 2020-10-17 00:21:00 +0000 | <halogenandtoast> | Just changing the constraint will give a duplicate instance error. |
| 2020-10-17 00:22:35 +0000 | isovector1 | (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Remote host closed the connection) |
| 2020-10-17 00:23:39 +0000 | polyrain | (~polyrain@130.102.13.188) |
| 2020-10-17 00:26:36 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 00:27:03 +0000 | DirefulSalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 2020-10-17 00:27:37 +0000 | DirefulSalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 2020-10-17 00:28:00 +0000 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9) |
| 2020-10-17 00:29:51 +0000 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-10-17 00:31:00 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 00:32:58 +0000 | thir | (~thir@p200300f27f02580074cf2a3fa9ab5ee7.dip0.t-ipconnect.de) |
| 2020-10-17 00:33:38 +0000 | <larou> | halogenandtoast: would it be possible to provide an extra parameter that could "label" these instances? |
| 2020-10-17 00:34:14 +0000 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 2020-10-17 00:34:24 +0000 | <larou> | your essentially trying to match on constraints |
| 2020-10-17 00:37:52 +0000 | thir | (~thir@p200300f27f02580074cf2a3fa9ab5ee7.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-10-17 00:37:53 +0000 | dmwit | (~dmwit@pool-108-18-228-100.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 2020-10-17 00:39:58 +0000 | klardotsh | (~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net) (Quit: WeeChat 2.8) |
| 2020-10-17 00:40:56 +0000 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 272 seconds) |
| 2020-10-17 00:41:37 +0000 | dmwit | (~dmwit@pool-108-18-228-100.washdc.fios.verizon.net) |
| 2020-10-17 00:43:44 +0000 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 2020-10-17 00:44:26 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 00:45:06 +0000 | <halogenandtoast> | larou: ooh interesting, the answer is assuredly yes, I could |
| 2020-10-17 00:45:31 +0000 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-17 00:45:31 +0000 | <larou> | i think thats the best way to do that |
| 2020-10-17 00:46:07 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 00:46:38 +0000 | conal | (~conal@64.71.133.70) (Client Quit) |
| 2020-10-17 00:46:56 +0000 | <halogenandtoast> | larou: thanks, I may try that if my current route (just removing the polymorphism) doesn't work out for me. |
| 2020-10-17 00:47:48 +0000 | <larou> | if you do, you can create a sum datatype with constructors that dont take arguments (like Bool) |
| 2020-10-17 00:48:09 +0000 | <larou> | with one of each of these "labels" to disambiguate the instances |
| 2020-10-17 00:48:25 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:8c10:5fbc:1459:e068) (Ping timeout: 272 seconds) |
| 2020-10-17 00:49:00 +0000 | klardotsh | (~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net) |
| 2020-10-17 00:49:51 +0000 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 2020-10-17 00:49:57 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 00:50:18 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:c99f:20b5:4775:2afa) |
| 2020-10-17 00:52:28 +0000 | slack1256 | (~slack1256@181.203.95.77) (Ping timeout: 260 seconds) |
| 2020-10-17 00:54:33 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:c99f:20b5:4775:2afa) (Client Quit) |
| 2020-10-17 00:55:14 +0000 | slack1256 | (~slack1256@191.125.41.183) |
| 2020-10-17 00:55:38 +0000 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-17 00:57:10 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 00:57:33 +0000 | conal | (~conal@64.71.133.70) (Client Quit) |
| 2020-10-17 00:58:32 +0000 | <monochrom> | Today I begin to learn the Yoneda lemma. Interesting. |
| 2020-10-17 00:59:01 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 00:59:07 +0000 | conal | (~conal@64.71.133.70) (Client Quit) |
| 2020-10-17 00:59:56 +0000 | <monochrom> | It currently feels like setting up a lot of machinery to conclude very little. But I haven't applied it to really interesting things. |
| 2020-10-17 01:01:26 +0000 | polyrain | (~polyrain@130.102.13.188) (Quit: Textual IRC Client: www.textualapp.com) |
| 2020-10-17 01:01:29 +0000 | <monochrom> | (Namely, I have only tried applying it to forgetful functors. Yeah I know, lame, heh.) |
| 2020-10-17 01:01:30 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 01:01:30 +0000 | conal | (~conal@64.71.133.70) (Client Quit) |
| 2020-10-17 01:01:39 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
| 2020-10-17 01:01:54 +0000 | <koz_> | monochrom: Or, should we say, _forgettable_? :P |
| 2020-10-17 01:02:48 +0000 | <monochrom> | Unfortunately forgetful functors are needed to define "free", so one must not forget them. |
| 2020-10-17 01:03:13 +0000 | <EvanR> | category theory: a lot of machinery to conclude very little |
| 2020-10-17 01:04:34 +0000 | <monochrom> | I think it feels limiting because Yoneda lemma's premise is "you can pick your category C, but you must pick a functor F from C to Set". The "to Set" part is a bit disappointing. It's why I could only thought up forgetful functors for now. |
| 2020-10-17 01:04:38 +0000 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 2020-10-17 01:04:40 +0000 | <dolio> | There are probably dozens of examples where some discipline has a 'cool theorem' that is the Yoneda lemma applied to a relevant category. |
| 2020-10-17 01:05:16 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2020-10-17 01:05:17 +0000 | acidjnk_new2 | (~acidjnk@p200300d0c723787058597087ca157dd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-10-17 01:05:23 +0000 | <monochrom> | However! I see that if F is a homset functor, you can get some really useful theorems. |
| 2020-10-17 01:06:30 +0000 | acidjnk_new2 | (~acidjnk@p200300d0c7237854351719f4ac22c63a.dip0.t-ipconnect.de) |
| 2020-10-17 01:06:31 +0000 | <dolio> | It doesn't have to be Set. The reason Set is special is because all ordinary categories are constructed out of sets. |
| 2020-10-17 01:06:54 +0000 | <dolio> | When you do V-enriched category theory, then V is special instead. |
| 2020-10-17 01:08:36 +0000 | <dolio> | Or specifically, it's because categories have hom-sets. |
| 2020-10-17 01:09:37 +0000 | kipras | (~Kipras@78-56-235-39.static.zebra.lt) |
| 2020-10-17 01:09:55 +0000 | Swing_Couple | (~Swing_Cou@88.230.101.23) |
| 2020-10-17 01:10:25 +0000 | perdent | (~blah@101.175.98.122) (Ping timeout: 264 seconds) |
| 2020-10-17 01:10:36 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 01:10:38 +0000 | ComaGrayce[m] | (commagrays@gateway/shell/matrix.org/x-judmpjaakotiswoi) |
| 2020-10-17 01:10:39 +0000 | <monochrom> | For example, let G be an endofunctor so you can talk about G-algebras. (No further restriction on G.) Then Yoneda's lemma gives you the natural isomorphism between algebras GA->A and polymorphic functions "forall t. (t->A) -> (G t -> A)" |
| 2020-10-17 01:11:07 +0000 | jedws | (~jedws@121.209.161.98) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 01:11:20 +0000 | carlomagno1 | (~cararell@inet-hqmc02-o.oracle.com) (Ping timeout: 272 seconds) |
| 2020-10-17 01:11:55 +0000 | xff0x | (~fox@2001:1a81:5391:7900:1d93:24cf:d0e0:8889) (Ping timeout: 240 seconds) |
| 2020-10-17 01:12:04 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 01:12:18 +0000 | drbean | (~drbean@TC210-63-209-162.static.apol.com.tw) |
| 2020-10-17 01:12:48 +0000 | <monochrom> | I learned this today when I read again the Hinze paper I mentioned earlier today. Hinze gave a proof specific to that statement about GA->A, but he also mentioned how to use the Yoneda lemma on a suitable homset functor to get the same conclusion in two steps. |
| 2020-10-17 01:13:06 +0000 | Swing_Couple | (~Swing_Cou@88.230.101.23) (Remote host closed the connection) |
| 2020-10-17 01:13:12 +0000 | xff0x | (~fox@2001:1a81:5391:7900:9543:bc08:f6aa:e535) |
| 2020-10-17 01:14:18 +0000 | carlomagno | (~cararell@inet-hqmc01-o.oracle.com) |
| 2020-10-17 01:16:17 +0000 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
| 2020-10-17 01:17:22 +0000 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 2020-10-17 01:20:35 +0000 | iqubic | (~user@2601:602:9500:4870:dc23:22a3:8a0d:b5e6) |
| 2020-10-17 01:21:20 +0000 | <dolio> | For instance, if you consider proposition 'enriched' categories where every arrow has an inverse, then C -> Prop is special instead; predicates on C. |
| 2020-10-17 01:21:53 +0000 | DeadComaGrayce[m | (commagra1@gateway/shell/matrix.org/x-mbzrorwyrzsyvzxq) |
| 2020-10-17 01:22:55 +0000 | <dolio> | Then the Yoneda lemma says that P(x) ≃ (x ≃ y) → P(y), so it's telling you about Leibniz' notion of equality. |
| 2020-10-17 01:25:52 +0000 | dmwit | (~dmwit@pool-108-18-228-100.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 2020-10-17 01:26:17 +0000 | m0rphism | (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 258 seconds) |
| 2020-10-17 01:27:45 +0000 | delYsid | (~user@84-115-55-45.cable.dynamic.surfer.at) (Remote host closed the connection) |
| 2020-10-17 01:27:55 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 01:28:19 +0000 | chris | Guest85855 |
| 2020-10-17 01:28:19 +0000 | mirrorbird | (~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) |
| 2020-10-17 01:30:03 +0000 | jedws | (~jedws@121.209.161.98) |
| 2020-10-17 01:31:28 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 246 seconds) |
| 2020-10-17 01:32:20 +0000 | Tario | (~Tario@201.192.165.173) |
| 2020-10-17 01:32:27 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 01:32:54 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 01:33:25 +0000 | <larou> | dolio: how do you read that line in spoken words? |
| 2020-10-17 01:37:58 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2020-10-17 01:39:19 +0000 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
| 2020-10-17 01:42:22 +0000 | nbloomf | (~nbloomf@104-183-67-6.lightspeed.fyvlar.sbcglobal.net) |
| 2020-10-17 01:44:23 +0000 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 01:45:25 +0000 | <sshine> | Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn |
| 2020-10-17 01:45:39 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 256 seconds) |
| 2020-10-17 01:45:41 +0000 | <koz_> | sshine: I see you too have found Nyarlathotep, our lord and saviour. |
| 2020-10-17 01:46:03 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 01:46:13 +0000 | Zus | (~Zushauque@d67-193-170-251.home3.cgocable.net) (Read error: Connection reset by peer) |
| 2020-10-17 01:47:48 +0000 | Guest85855 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 01:48:30 +0000 | nineonine | (~nineonine@50.216.62.2) |
| 2020-10-17 01:48:45 +0000 | jchia | (~jchia@58.32.34.43) (Read error: No route to host) |
| 2020-10-17 01:50:27 +0000 | jchia | (~jchia@45.32.62.73) |
| 2020-10-17 01:51:29 +0000 | jchia | (~jchia@45.32.62.73) (Remote host closed the connection) |
| 2020-10-17 01:51:40 +0000 | clmg | (~clmg@2601:1c2:200:720:4114:54ca:ed6a:7bde) |
| 2020-10-17 01:52:22 +0000 | machinedgod | (~machinedg@24.105.81.50) |
| 2020-10-17 01:52:24 +0000 | jchia | (~jchia@45.32.62.73) |
| 2020-10-17 01:52:59 +0000 | <clmg> | How can I add a heading to the bibliography section of my Hakyll blog? I'm generating it this way: https://pastebin.com/6L58eAPU |
| 2020-10-17 01:53:43 +0000 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
| 2020-10-17 01:54:44 +0000 | jchia | (~jchia@45.32.62.73) (Remote host closed the connection) |
| 2020-10-17 01:55:03 +0000 | jchia | (~jchia@58.32.34.43) |
| 2020-10-17 01:58:15 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-10-17 01:59:15 +0000 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) (Ping timeout: 256 seconds) |
| 2020-10-17 01:59:33 +0000 | solonarv | (~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
| 2020-10-17 02:01:15 +0000 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 2020-10-17 02:02:58 +0000 | dmwit | (~dmwit@pool-108-18-228-100.washdc.fios.verizon.net) |
| 2020-10-17 02:02:58 +0000 | carlomagno | (~cararell@inet-hqmc01-o.oracle.com) (Remote host closed the connection) |
| 2020-10-17 02:03:09 +0000 | xff0x | (~fox@2001:1a81:5391:7900:9543:bc08:f6aa:e535) (Ping timeout: 272 seconds) |
| 2020-10-17 02:03:54 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) |
| 2020-10-17 02:04:26 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:9543:bc08:f6aa:e535) |
| 2020-10-17 02:06:14 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 02:11:15 +0000 | fragamus | (~michaelgo@73.93.154.229) |
| 2020-10-17 02:12:13 +0000 | gnumonik | (~gnumonik@c-73-170-91-210.hsd1.ca.comcast.net) |
| 2020-10-17 02:13:39 +0000 | sw1nn | (~sw1nn@2a00:23c6:2385:3a00:842c:7584:d43a:6b01) |
| 2020-10-17 02:21:28 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 02:22:34 +0000 | theDon | (~td@muedsl-82-207-238-153.citykom.de) (Ping timeout: 260 seconds) |
| 2020-10-17 02:22:45 +0000 | falafel | (~falafel@ip70-173-59-40.lv.lv.cox.net) |
| 2020-10-17 02:24:08 +0000 | theDon | (~td@muedsl-82-207-238-039.citykom.de) |
| 2020-10-17 02:24:38 +0000 | anik | (~anik@103.23.207.151) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 2020-10-17 02:25:25 +0000 | <ddellacosta> | can anyone help me understand the definition for forever? It's hurting my brain |
| 2020-10-17 02:25:27 +0000 | <ddellacosta> | forever a = let a' = a *> a' in a' |
| 2020-10-17 02:25:44 +0000 | <koz_> | :t forever |
| 2020-10-17 02:25:45 +0000 | <lambdabot> | Applicative f => f a -> f b |
| 2020-10-17 02:25:57 +0000 | <koz_> | The key is that forever doesn't actually return a value at any point. |
| 2020-10-17 02:25:57 +0000 | <ghoulguy> | ddellacosta: Is something about it confusing in particular? |
| 2020-10-17 02:26:02 +0000 | <koz_> | It just repeats the effect over and over. |
| 2020-10-17 02:26:11 +0000 | <c_wraith> | ddellacosta: would you be comfortable with the definition forever a = a *> forever a ? |
| 2020-10-17 02:26:17 +0000 | <ddellacosta> | ghoulguy: I think I'm having trouble understanding the order of evaluation |
| 2020-10-17 02:26:26 +0000 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 2020-10-17 02:26:31 +0000 | <ddellacosta> | koz_: yeah that's what's hurting my brain lol |
| 2020-10-17 02:26:42 +0000 | <ddellacosta> | c_wraith: processing |
| 2020-10-17 02:27:04 +0000 | <ddellacosta> | c_wraith: okay yes actually now I see the order |
| 2020-10-17 02:27:20 +0000 | <ddellacosta> | so it just executes a's effect and calls itself again |
| 2020-10-17 02:27:34 +0000 | <c_wraith> | ok. the definition you quoted does the same thing, but with a knot-tying trick in order to reduce potential overhead |
| 2020-10-17 02:27:49 +0000 | <monochrom> | "forever" is most useful if you use it for IO and go something like "forever (putStrLn "Your PC is stoned")" |
| 2020-10-17 02:28:19 +0000 | <ddellacosta> | c_wraith: okay! I get it! Thank you so much |
| 2020-10-17 02:28:20 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 02:28:34 +0000 | <monochrom> | It is clearly useless if you try "forever Nothing" or "forever (Just 4)" |
| 2020-10-17 02:28:37 +0000 | <c_wraith> | you're welcome |
| 2020-10-17 02:29:05 +0000 | <ddellacosta> | monochrom: yeah, actually I have used it a bunch but all of a sudden realized I didn't know how it was defined, so then I went to take a look and got confused |
| 2020-10-17 02:29:26 +0000 | Tario | (~Tario@201.192.165.173) |
| 2020-10-17 02:29:54 +0000 | <c_wraith> | > forever Nothing |
| 2020-10-17 02:29:57 +0000 | <lambdabot> | Nothing |
| 2020-10-17 02:30:03 +0000 | <c_wraith> | that hardly took forever at all! |
| 2020-10-17 02:30:04 +0000 | <monochrom> | So now you're ready for "fix f = let x = f x in x", too. TEE HEE HEE |
| 2020-10-17 02:30:13 +0000 | <iqubic> | > forever (Just 4) |
| 2020-10-17 02:30:17 +0000 | <lambdabot> | *Exception: <<loop>> |
| 2020-10-17 02:30:22 +0000 | lagothrix | Guest94488 |
| 2020-10-17 02:30:30 +0000 | lagothrix | (~lagothrix@unaffiliated/lagothrix) |
| 2020-10-17 02:30:30 +0000 | HarveyPwca | (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) |
| 2020-10-17 02:30:45 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 02:30:46 +0000 | <ddellacosta> | monochrom: you're making me remember when I spent a week learning recursion schemes, and I have mostly forgetten them at this point |
| 2020-10-17 02:30:48 +0000 | <iqubic> | Oh, that's just "Just (Just (Just (Just (Just (Just ...)))))" With a 4 at the bottom of the infinite stack. |
| 2020-10-17 02:30:49 +0000 | <ddellacosta> | forgotten |
| 2020-10-17 02:31:02 +0000 | <ddellacosta> | _sigh_ |
| 2020-10-17 02:31:08 +0000 | <c_wraith> | iqubic: actually it isn't. |
| 2020-10-17 02:31:08 +0000 | chris | Guest78718 |
| 2020-10-17 02:31:15 +0000 | <ddellacosta> | I need to figure out how to retain all the haskell I've forgotten |
| 2020-10-17 02:31:18 +0000 | <iqubic> | Oh? How come? |
| 2020-10-17 02:31:32 +0000 | <c_wraith> | iqubic: it's Just 4 *> (Just 4 *> (Just 4 *> ... |
| 2020-10-17 02:31:36 +0000 | <monochrom> | Age of Empires Infinity: The Forgotton Recursions: Definitive Edition |
| 2020-10-17 02:31:52 +0000 | <c_wraith> | iqubic: Just 4 *> Just 3 |
| 2020-10-17 02:32:01 +0000 | Guest78718 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 02:32:02 +0000 | <iqubic> | Right, but what does (*>) do for Maybe? |
| 2020-10-17 02:32:05 +0000 | <larou> | % Just 4 *> Just 3 |
| 2020-10-17 02:32:06 +0000 | <yahb> | larou: Just 3 |
| 2020-10-17 02:32:08 +0000 | <c_wraith> | > Just 4 *> Just 3 |
| 2020-10-17 02:32:10 +0000 | <lambdabot> | Just 3 |
| 2020-10-17 02:32:33 +0000 | <c_wraith> | :t (*>) |
| 2020-10-17 02:32:33 +0000 | <iqubic> | @src (*>) |
| 2020-10-17 02:32:34 +0000 | <lambdabot> | (*>) = liftA2 (const id) |
| 2020-10-17 02:32:35 +0000 | <lambdabot> | Applicative f => f a -> f b -> f b |
| 2020-10-17 02:32:57 +0000 | <c_wraith> | Notably, it doesn't add a layer of f |
| 2020-10-17 02:33:00 +0000 | <ddellacosta> | monochrom: that definitely sounds like a game that would suck up a lot of time |
| 2020-10-17 02:33:09 +0000 | <iqubic> | I'm so confused by that definition? |
| 2020-10-17 02:33:11 +0000 | <monochrom> | It took me about 3 re-learnings to retain catamorphisms, so don't worry. |
| 2020-10-17 02:33:23 +0000 | Guest94488 | (~lagothrix@unaffiliated/lagothrix) (Ping timeout: 260 seconds) |
| 2020-10-17 02:33:45 +0000 | <larou> | oh, i had a fun thing |
| 2020-10-17 02:33:50 +0000 | <monochrom> | But buy one get one free, retaining catamorphisms implies retaining anamorphisms. |
| 2020-10-17 02:34:10 +0000 | <monochrom> | After that, I simply declared that the rest of recursion schemes are not worth my time. |
| 2020-10-17 02:34:17 +0000 | <larou> | a list of maybe Int, where the Int points to the location of another Int somewhere else in the list |
| 2020-10-17 02:34:18 +0000 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
| 2020-10-17 02:34:28 +0000 | <larou> | and you have to constrain it so the ints "point to each other" |
| 2020-10-17 02:34:36 +0000 | thir | (~thir@p200300f27f02580074cf2a3fa9ab5ee7.dip0.t-ipconnect.de) |
| 2020-10-17 02:34:42 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 260 seconds) |
| 2020-10-17 02:34:42 +0000 | <monochrom> | Instead, Ralf Hinze's "adjoint folds and unfolds" are actually elegant and not ad hoc. |
| 2020-10-17 02:34:51 +0000 | <c_wraith> | iqubic: fa *> fb = (\_ y -> y) <$> fa <*> fb -- is this more comfortable of a definition? |
| 2020-10-17 02:34:57 +0000 | <ddellacosta> | I mean, I think folds are really cool and fundamental and I love how it like turns them inside out |
| 2020-10-17 02:35:00 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 02:35:08 +0000 | <ddellacosta> | monochrom: oh, I'll check it out, thanks |
| 2020-10-17 02:35:23 +0000 | clmg | (~clmg@2601:1c2:200:720:4114:54ca:ed6a:7bde) (Quit: Leaving) |
| 2020-10-17 02:35:26 +0000 | <iqubic> | :t const |
| 2020-10-17 02:35:27 +0000 | <lambdabot> | a -> b -> a |
| 2020-10-17 02:36:02 +0000 | <iqubic> | Wait a minute...? Isn't "const id" just the same as "flip const" |
| 2020-10-17 02:36:08 +0000 | <ddellacosta> | haha "Or: Scything Through the Thicket of Morphisms" |
| 2020-10-17 02:36:59 +0000 | <iqubic> | If my last statement is true, then I fully understand how "liftA2 (const id)" works. |
| 2020-10-17 02:37:38 +0000 | noctux | (~noctux@unaffiliated/noctux) (Ping timeout: 256 seconds) |
| 2020-10-17 02:37:54 +0000 | <iqubic> | Wait... no, not really. Where does the loop get introduced? What causes the infinite recursion there. |
| 2020-10-17 02:38:28 +0000 | <c_wraith> | which "there" do you mean? |
| 2020-10-17 02:39:30 +0000 | <iqubic> | "liftA2 (const id)" creates what is the equivalent of an infinite loop. How does that function introduce infinite recursion? |
| 2020-10-17 02:39:31 +0000 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Read error: Connection reset by peer) |
| 2020-10-17 02:39:52 +0000 | <c_wraith> | I think you've mixed things up. (*>) doesn't introduce recursion, forever does |
| 2020-10-17 02:40:09 +0000 | <iqubic> | Oh. I see. |
| 2020-10-17 02:40:38 +0000 | <iqubic> | "liftA2 (const id)" is the default implementation of (*>). That clears things up. |
| 2020-10-17 02:41:06 +0000 | <iqubic> | Now, does "const id" do the same thing as "flip const"? |
| 2020-10-17 02:41:07 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2020-10-17 02:41:12 +0000 | <iqubic> | :t const id |
| 2020-10-17 02:41:14 +0000 | <lambdabot> | b -> a -> a |
| 2020-10-17 02:41:19 +0000 | <iqubic> | :t flip const |
| 2020-10-17 02:41:20 +0000 | <lambdabot> | b -> c -> c |
| 2020-10-17 02:41:25 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 240 seconds) |
| 2020-10-17 02:43:02 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 02:43:03 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 02:43:11 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 02:43:31 +0000 | <iqubic> | From those very generic and unconstrained type signatures being the same, I conclude that they two different implementations of the same function. |
| 2020-10-17 02:43:42 +0000 | <sshine> | :t liftA2 (const id) |
| 2020-10-17 02:43:43 +0000 | <lambdabot> | Applicative f => f b -> f c -> f c |
| 2020-10-17 02:43:58 +0000 | <sshine> | :t liftA2 (\a b -> b) |
| 2020-10-17 02:44:00 +0000 | <lambdabot> | Applicative f => f a -> f c -> f c |
| 2020-10-17 02:44:22 +0000 | <sshine> | :t (*>) |
| 2020-10-17 02:44:23 +0000 | <lambdabot> | Applicative f => f a -> f b -> f b |
| 2020-10-17 02:44:42 +0000 | <iqubic> | :t liftA2 (flip const) |
| 2020-10-17 02:44:44 +0000 | <lambdabot> | Applicative f => f b -> f c -> f c |
| 2020-10-17 02:44:55 +0000 | nados | (~dan@107-190-41-58.cpe.teksavvy.com) (Quit: Leaving) |
| 2020-10-17 02:45:35 +0000 | albertus11 | (~seb@x4db49541.dyn.telefonica.de) |
| 2020-10-17 02:48:52 +0000 | albertus1 | (~seb@x4db5a1e1.dyn.telefonica.de) (Ping timeout: 272 seconds) |
| 2020-10-17 02:49:43 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) (Ping timeout: 260 seconds) |
| 2020-10-17 02:51:06 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) |
| 2020-10-17 02:55:11 +0000 | noctux | (~noctux@unaffiliated/noctux) |
| 2020-10-17 02:55:25 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 244 seconds) |
| 2020-10-17 02:55:40 +0000 | <sshine> | const id = (\b c -> b) (\a -> a) = (\c -> (\a -> a)) = (\c a -> a) |
| 2020-10-17 02:55:59 +0000 | <sshine> | flip const = (\f y x -> f x y) (\b c -> b) = (\y x -> (\b c -> b) x y) = (\y x -> x) |
| 2020-10-17 02:56:10 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 260 seconds) |
| 2020-10-17 02:56:56 +0000 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Read error: Connection reset by peer) |
| 2020-10-17 02:56:58 +0000 | ericsagnes | (~ericsagne@2405:6580:0:5100:2c71:50df:a168:e256) (Ping timeout: 244 seconds) |
| 2020-10-17 02:57:00 +0000 | Stanley|00 | (~stanley00@unaffiliated/stanley00) |
| 2020-10-17 02:57:17 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 02:57:47 +0000 | crestfallen | (~jvw@135-180-15-188.fiber.dynamic.sonic.net) |
| 2020-10-17 02:59:55 +0000 | thir | (~thir@p200300f27f02580074cf2a3fa9ab5ee7.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2020-10-17 03:00:18 +0000 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 256 seconds) |
| 2020-10-17 03:00:33 +0000 | <crestfallen> | hi re: lines 27-28, are c and d equivalent because of referential transparency? (If they are equivalent, they must return the same (b -> a) , correct? |
| 2020-10-17 03:00:37 +0000 | <crestfallen> | https://github.com/varreli/haskell/blob/master/handEval/unify_f_g_h.txt |
| 2020-10-17 03:00:56 +0000 | <fragamus> | howdy |
| 2020-10-17 03:01:15 +0000 | nineonin_ | (~nineonine@216-19-190-182.dyn.novuscom.net) |
| 2020-10-17 03:02:06 +0000 | <iqubic> | If c and d truely are the same, then you've got a function of the type c -> c, which can only be id. |
| 2020-10-17 03:02:15 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 03:02:39 +0000 | chris | Guest93478 |
| 2020-10-17 03:02:39 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection) |
| 2020-10-17 03:03:32 +0000 | Guest93478 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 03:03:34 +0000 | darjeeli1 | (~darjeelin@122.245.216.36) (Ping timeout: 265 seconds) |
| 2020-10-17 03:03:36 +0000 | <iqubic> | So, yeah, if can prove that c and d are the same type, then you've also proven that g is id. |
| 2020-10-17 03:04:04 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 272 seconds) |
| 2020-10-17 03:04:06 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) |
| 2020-10-17 03:04:06 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection) |
| 2020-10-17 03:04:48 +0000 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 258 seconds) |
| 2020-10-17 03:05:55 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 03:06:32 +0000 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds) |
| 2020-10-17 03:06:37 +0000 | acidjnk_new2 | (~acidjnk@p200300d0c7237854351719f4ac22c63a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-10-17 03:07:23 +0000 | <crestfallen> | iqubic so you would back track, by saying both g's were (c -> c) By backtracking I mean naming them both c .. and then substituting (b -> c) for the id on line 28? |
| 2020-10-17 03:07:25 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) |
| 2020-10-17 03:09:20 +0000 | ericsagnes | (~ericsagne@2405:6580:0:5100:1942:718:5977:178d) |
| 2020-10-17 03:11:07 +0000 | <crestfallen> | iqubic: I mean, if you have c -> (b -> a) and c ~ d, then by the idea of referential transparency, both g's must return (b -> a) |
| 2020-10-17 03:11:34 +0000 | pera | (~pera@unaffiliated/pera) (Ping timeout: 256 seconds) |
| 2020-10-17 03:11:57 +0000 | wrunt[m] | (wruntmatri@gateway/shell/matrix.org/x-lgxhuyewbpjmhgno) |
| 2020-10-17 03:13:43 +0000 | mrchampion | (~mrchampio@216-211-57-41.dynamic.tbaytel.net) (Ping timeout: 265 seconds) |
| 2020-10-17 03:14:23 +0000 | fragamus_ | (~michaelgo@73.93.154.229) |
| 2020-10-17 03:14:28 +0000 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
| 2020-10-17 03:14:49 +0000 | <koz_> | fragamus: Yo. |
| 2020-10-17 03:15:50 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 03:15:55 +0000 | fragamus | (~michaelgo@73.93.154.229) (Ping timeout: 258 seconds) |
| 2020-10-17 03:16:24 +0000 | darjeeli1 | (~darjeelin@122.245.211.155) |
| 2020-10-17 03:16:25 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection) |
| 2020-10-17 03:17:48 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) |
| 2020-10-17 03:18:20 +0000 | <crestfallen> | iqubic: thanks only now saw your post at 20:03:58 |
| 2020-10-17 03:20:31 +0000 | irc_user | (uid423822@gateway/web/irccloud.com/x-juqawwjwttxnnpia) (Quit: Connection closed for inactivity) |
| 2020-10-17 03:20:58 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2020-10-17 03:22:01 +0000 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) |
| 2020-10-17 03:22:53 +0000 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 2020-10-17 03:26:07 +0000 | acidjnk_new2 | (~acidjnk@p200300d0c7237854351719f4ac22c63a.dip0.t-ipconnect.de) |
| 2020-10-17 03:29:05 +0000 | falafel | (~falafel@ip70-173-59-40.lv.lv.cox.net) (Ping timeout: 240 seconds) |
| 2020-10-17 03:29:45 +0000 | slack1256 | (~slack1256@191.125.41.183) (Ping timeout: 240 seconds) |
| 2020-10-17 03:30:49 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 246 seconds) |
| 2020-10-17 03:32:10 +0000 | renzhi | (~renzhi@modemcable070.17-177-173.mc.videotron.ca) (Quit: WeeChat 2.3) |
| 2020-10-17 03:33:34 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 03:45:32 +0000 | crestfallen | (~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Quit: Lost terminal) |
| 2020-10-17 03:48:55 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:9543:bc08:f6aa:e535) (Ping timeout: 272 seconds) |
| 2020-10-17 03:49:40 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:b9db:1021:8997:304) |
| 2020-10-17 03:52:01 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 03:52:39 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 03:53:03 +0000 | chris | Guest72057 |
| 2020-10-17 03:53:25 +0000 | ddellacosta | (~dd@86.106.121.168) (Ping timeout: 240 seconds) |
| 2020-10-17 03:53:59 +0000 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 272 seconds) |
| 2020-10-17 03:54:35 +0000 | pjb | (~t@2a01cb04063ec50091a4fa1f69281349.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 2020-10-17 03:55:01 +0000 | pera | (~pera@unaffiliated/pera) |
| 2020-10-17 03:55:34 +0000 | nbloomf | (~nbloomf@104-183-67-6.lightspeed.fyvlar.sbcglobal.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 03:56:16 +0000 | Guest47631 | (~ccallahan@84.39.117.57) |
| 2020-10-17 03:57:10 +0000 | anik | (~anik@103.23.207.148) |
| 2020-10-17 03:57:55 +0000 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 2020-10-17 03:58:28 +0000 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 258 seconds) |
| 2020-10-17 03:59:39 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:a405:7897:267b:514b) |
| 2020-10-17 04:06:41 +0000 | pera | (~pera@unaffiliated/pera) (Quit: leaving) |
| 2020-10-17 04:07:24 +0000 | shafox | (~shafox@106.51.234.111) (Remote host closed the connection) |
| 2020-10-17 04:10:25 +0000 | fragamus_ | (~michaelgo@73.93.154.229) (Ping timeout: 264 seconds) |
| 2020-10-17 04:12:01 +0000 | fragamus | (~michaelgo@73.93.155.61) |
| 2020-10-17 04:15:03 +0000 | mrchampion | (~mrchampio@216-211-57-41.dynamic.tbaytel.net) |
| 2020-10-17 04:15:10 +0000 | acidjnk_new2 | (~acidjnk@p200300d0c7237854351719f4ac22c63a.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 2020-10-17 04:16:02 +0000 | skami | (~user@24.225.186.176) (Remote host closed the connection) |
| 2020-10-17 04:16:57 +0000 | fragamus | (~michaelgo@73.93.155.61) (Ping timeout: 256 seconds) |
| 2020-10-17 04:18:38 +0000 | fragamus | (~michaelgo@c-24-7-31-19.hsd1.ca.comcast.net) |
| 2020-10-17 04:19:28 +0000 | Guest72057 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 04:20:52 +0000 | howdoi | (uid224@gateway/web/irccloud.com/x-vzqpthvuyxsqigap) (Quit: Connection closed for inactivity) |
| 2020-10-17 04:21:29 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 256 seconds) |
| 2020-10-17 04:23:57 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 04:26:04 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2020-10-17 04:26:37 +0000 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
| 2020-10-17 04:28:04 +0000 | <gnumonik> | Hello. I am trying to write an interpreted DSL that "compiles" to Haskell (i.e. parses to haskell expressions). I would like to implement composable record accessors/setters in the DSL, so I've been trying to marshal strings into Setters/Getters from Control.Lens. I've been at it a month and there seems to be no way to get it to work (without impredicative polymorphism...) Has anyone ever tried to successfully do something like |
| 2020-10-17 04:28:05 +0000 | <gnumonik> | this? |
| 2020-10-17 04:28:25 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 240 seconds) |
| 2020-10-17 04:29:47 +0000 | <larou> | where do you encounter impredictive polymorphism? |
| 2020-10-17 04:30:38 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 04:31:14 +0000 | slack1256 | (~slack1256@191.125.41.183) |
| 2020-10-17 04:38:48 +0000 | fragamus | (~michaelgo@c-24-7-31-19.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 2020-10-17 04:38:52 +0000 | <koz_> | larou: When you try to combine . with runST, for example. |
| 2020-10-17 04:39:15 +0000 | <koz_> | With lenses, there's a nested forall in the representation. |
| 2020-10-17 04:39:37 +0000 | <larou> | can you write that down? |
| 2020-10-17 04:39:39 +0000 | <koz_> | That's why (I think) we have Lens and ALens. |
| 2020-10-17 04:40:09 +0000 | <koz_> | larou: type Lens s t a b = forall f. Functor f => (a -> f b) -> s -> f t |
| 2020-10-17 04:40:09 +0000 | <larou> | how does that fit in with the question about the DSL? |
| 2020-10-17 04:40:16 +0000 | <koz_> | Now try passing that as an argument. |
| 2020-10-17 04:40:26 +0000 | <koz_> | You hit impredicativity issues _very_ fast. |
| 2020-10-17 04:40:32 +0000 | <larou> | ah, ok |
| 2020-10-17 04:40:59 +0000 | <larou> | isnt there the option of using a different representation of lenses? |
| 2020-10-17 04:41:49 +0000 | <koz_> | larou: If by 'different' you mean 'profunctor optics', then I think the issue remains, though I'm not sure. |
| 2020-10-17 04:41:55 +0000 | <larou> | i thought you could exhaustively enumerate Traversables |
| 2020-10-17 04:42:02 +0000 | <koz_> | larou: What does that even _mean_? |
| 2020-10-17 04:42:25 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 240 seconds) |
| 2020-10-17 04:42:25 +0000 | <koz_> | (also, probbo not, since we have type Lens s t a b = forall p. Strong p => Optic p s t a b) |
| 2020-10-17 04:42:40 +0000 | <larou> | isnt there soemthing halfway towards the lenses setup? |
| 2020-10-17 04:43:08 +0000 | <larou> | that instead of abstracting over Traversals, just systematically represents them? |
| 2020-10-17 04:43:33 +0000 | <larou> | im not sure if that would solve the issue |
| 2020-10-17 04:43:44 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 04:43:46 +0000 | shatriff | (~vitaliish@176.52.219.10) |
| 2020-10-17 04:43:59 +0000 | <koz_> | larou: The specifics of the question don't mention Traversals. |
| 2020-10-17 04:44:28 +0000 | <larou> | i cant quite remember how it goes, but it was something to do with biplate |
| 2020-10-17 04:45:03 +0000 | <larou> | i think you can do all the lens stuff when you have arbitrary Traversal instances |
| 2020-10-17 04:45:04 +0000 | <koz_> | larou: You'd have to give me a more specific reference, because nothing like this comes to mind, and I don't think I get it in the abstract. |
| 2020-10-17 04:45:17 +0000 | <koz_> | Traversal? Or Traversable? |
| 2020-10-17 04:45:36 +0000 | <larou> | you avoid Traversal, but enumerating instances of Traversable |
| 2020-10-17 04:45:56 +0000 | <larou> | this gives you the modifiers and insertion/deletion operations |
| 2020-10-17 04:46:09 +0000 | <koz_> | Yeah, I'm not sure I follow. 'Enumerating instances of Traversable' doesn't make much sense to me. |
| 2020-10-17 04:46:23 +0000 | <larou> | i just approach it in terms of Get & Set instances |
| 2020-10-17 04:46:34 +0000 | <larou> | with abstractions to account for "structure" |
| 2020-10-17 04:46:51 +0000 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 2020-10-17 04:47:01 +0000 | <larou> | i think these can basically be formulated into monadic Get/Set varients |
| 2020-10-17 04:47:08 +0000 | day_ | (~Unknown@unaffiliated/day) |
| 2020-10-17 04:47:18 +0000 | <larou> | where the monad is sufficient to capture structure information |
| 2020-10-17 04:47:41 +0000 | <larou> | if its true, that everything Traversable is... |
| 2020-10-17 04:47:49 +0000 | <larou> | oh no, wait, then you get scanners |
| 2020-10-17 04:48:01 +0000 | <larou> | because you cant do monadic traversal properly |
| 2020-10-17 04:48:26 +0000 | <larou> | i think geti&seti get there for the pure varients |
| 2020-10-17 04:48:44 +0000 | <larou> | but the nested states are difficult |
| 2020-10-17 04:48:51 +0000 | <larou> | for the unfolding therof |
| 2020-10-17 04:49:18 +0000 | <larou> | like, imagine trying to unfold a list of lists, you need a depth 2 nested state for the unfold |
| 2020-10-17 04:49:46 +0000 | <larou> | and if your trying to capture all possible Traversal instance, you need a systematic framework for the nested States and Costates |
| 2020-10-17 04:49:56 +0000 | <larou> | for the unfolds and folds respectively |
| 2020-10-17 04:50:04 +0000 | <MarcelineVQ> | bleep borp |
| 2020-10-17 04:50:11 +0000 | <larou> | so the geti&seti setup isnt quite suffiencet |
| 2020-10-17 04:50:28 +0000 | day | (~Unknown@unaffiliated/day) (Ping timeout: 260 seconds) |
| 2020-10-17 04:50:29 +0000 | day_ | day |
| 2020-10-17 04:50:37 +0000 | fragamus | (~michaelgo@73.93.153.121) |
| 2020-10-17 04:51:54 +0000 | <gnumonik> | The problem (as far as I can tell) is that in order to cross the bridge from string land to lens land in a way that lets you compose, you a function with a type like :: forall a c. (forall b. Lens' a b -> c) -> String -> c. I think anyway. This is my first real haskell program so I might be wrong |
| 2020-10-17 04:51:59 +0000 | <larou> | idk if it solves your impredictive polymorphism problem... |
| 2020-10-17 04:52:02 +0000 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 2020-10-17 04:52:07 +0000 | <gnumonik> | And that's an impossible function |
| 2020-10-17 04:52:15 +0000 | Tario | (~Tario@201.192.165.173) |
| 2020-10-17 04:52:44 +0000 | <larou> | seems like an ambitious first program! |
| 2020-10-17 04:53:04 +0000 | cole-h_ | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 2020-10-17 04:53:07 +0000 | <larou> | i cant really follow sorry, idk lenses, but thanks for explaining |
| 2020-10-17 04:53:41 +0000 | <larou> | i have never really seen anything that enamoured me towards them - let alone the documentation! |
| 2020-10-17 04:54:43 +0000 | <gnumonik> | I wrote the rest of it on the assumption that there'd be some easy way to parse strings into lenses... I don't want to give up but right now my best idea for how to make it work is "rewrite the whole thing in clojure" |
| 2020-10-17 04:55:20 +0000 | fragamus | (~michaelgo@73.93.153.121) (Ping timeout: 256 seconds) |
| 2020-10-17 04:55:35 +0000 | fragamus | (~michaelgo@73.93.153.97) |
| 2020-10-17 04:55:38 +0000 | <larou> | does that have impredictive polymorphism? |
| 2020-10-17 04:56:07 +0000 | <gnumonik> | No but I'm pretty sure I could make this work in an impure dynamic language |
| 2020-10-17 04:56:33 +0000 | <larou> | hmm, intersting. |
| 2020-10-17 04:56:37 +0000 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 2020-10-17 04:56:57 +0000 | <gnumonik> | It's either that, or write a type system capable of supporting profunctor optics for a dsl that is (aside from the record accessing stuff) about as a complicated as a calculator |
| 2020-10-17 04:57:34 +0000 | gioyik | (~gioyik@190.67.155.46) |
| 2020-10-17 04:58:02 +0000 | <larou> | ah, your making me wish i knew what you mean |
| 2020-10-17 04:58:15 +0000 | <larou> | the siren song of lenses! |
| 2020-10-17 04:59:06 +0000 | <larou> | i thought your whole problem was writing DSLs in the first place! |
| 2020-10-17 04:59:11 +0000 | <larou> | seems like a catch 22 |
| 2020-10-17 04:59:28 +0000 | Stanley|00 | (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
| 2020-10-17 05:00:03 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 05:01:06 +0000 | <gnumonik> | Well I read that haskell was a good language for embedding a dsl and was like "oh this will be a good first project", but that is apparently only true if you want to use the features of haskell that don't involve higher rank types. Which is kinda disappointing I guess. |
| 2020-10-17 05:01:28 +0000 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2020-10-17 05:02:03 +0000 | <larou> | im still not convinced that its inexpressible in this language |
| 2020-10-17 05:02:39 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-10-17 05:02:40 +0000 | <larou> | either your lens problem is totally profound, or its just a limitation of trying to use that machinery |
| 2020-10-17 05:02:59 +0000 | anik | (~anik@103.23.207.148) (Quit: Textual IRC Client: www.textualapp.com) |
| 2020-10-17 05:03:05 +0000 | <larou> | can you tell if its a revelation or a limitation of lenses? |
| 2020-10-17 05:03:19 +0000 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 2020-10-17 05:04:38 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 05:04:45 +0000 | Tops2 | (~Tobias@dyndsl-091-249-082-055.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 2020-10-17 05:05:10 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2020-10-17 05:06:09 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 05:06:11 +0000 | Amras | (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
| 2020-10-17 05:06:26 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2020-10-17 05:06:27 +0000 | <gnumonik> | as far as i can tell it's a limit of the type system. I mean there is a way to make it work. Actually, there are 2 ways: One is to package the program with Hint (makes the binary 10x as large and isn't suitable for my application cuz it needs to be run as root), and use that as a 100mb parser for the lenses. The other is to write a super rich type system for what amounts to a calculator. I'm probably not smart enough to do the |
| 2020-10-17 05:06:27 +0000 | <gnumonik> | latter :-( |
| 2020-10-17 05:07:28 +0000 | <davean> | gnumonik: do you mean the 'hint' package? |
| 2020-10-17 05:08:24 +0000 | <gnumonik> | yeah |
| 2020-10-17 05:08:30 +0000 | <davean> | ... why would you run that as root? |
| 2020-10-17 05:08:44 +0000 | anik | (~anik@103.23.207.140) |
| 2020-10-17 05:09:08 +0000 | <gnumonik> | You wouldn't. But my DSL is for packet capturing, so you need superuser, so although hint solves the "parse some lenses" problem, it's not suitable |
| 2020-10-17 05:09:18 +0000 | <davean> | No you don't? |
| 2020-10-17 05:09:24 +0000 | <davean> | You can packet capture without root |
| 2020-10-17 05:09:31 +0000 | <davean> | thats what capabilities are for |
| 2020-10-17 05:09:49 +0000 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection) |
| 2020-10-17 05:10:30 +0000 | <davean> | Also, lenses have composition rules |
| 2020-10-17 05:10:36 +0000 | <davean> | so if you just map strings to the lens objects |
| 2020-10-17 05:10:45 +0000 | <davean> | and combine them with the operators, you don't need to use something like 'hint' |
| 2020-10-17 05:10:55 +0000 | <davean> | Haskell is a functional language |
| 2020-10-17 05:11:02 +0000 | slack1256 | (~slack1256@191.125.41.183) (Remote host closed the connection) |
| 2020-10-17 05:11:23 +0000 | jud | (~jud@cpe-70-113-106-222.austin.res.rr.com) |
| 2020-10-17 05:11:23 +0000 | jud | (~jud@cpe-70-113-106-222.austin.res.rr.com) (Changing host) |
| 2020-10-17 05:11:23 +0000 | jud | (~jud@unaffiliated/jud) |
| 2020-10-17 05:11:33 +0000 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) |
| 2020-10-17 05:12:05 +0000 | toorevitimirp | (~tooreviti@117.182.180.0) |
| 2020-10-17 05:12:44 +0000 | <gnumonik> | Yeah you can write a function from "foo" to foo (where foo without quotes is a lens), but as far as I can tell you can't write a function from a string to any given lens for a data type |
| 2020-10-17 05:13:21 +0000 | <davean> | No, you have to enumerate the lenses that exist |
| 2020-10-17 05:13:21 +0000 | <dsal> | You should also be able to test packet capture mechanisms offline. |
| 2020-10-17 05:13:30 +0000 | <davean> | yes, thats what tcpdump helps with |
| 2020-10-17 05:13:35 +0000 | <davean> | or libpcap |
| 2020-10-17 05:13:42 +0000 | <larou> | ah, its to do with matching on record accessor names |
| 2020-10-17 05:13:45 +0000 | <davean> | But you can capture online without root |
| 2020-10-17 05:14:03 +0000 | <larou> | all my datatypes are just like HLists or whatever |
| 2020-10-17 05:14:05 +0000 | <davean> | gnumonik: you can code-gen the tables of names to lenses also |
| 2020-10-17 05:14:19 +0000 | toorevitimirp | (~tooreviti@117.182.180.0) (Client Quit) |
| 2020-10-17 05:14:22 +0000 | <larou> | so you have "positional" data other than "record names" |
| 2020-10-17 05:14:40 +0000 | <larou> | i guess thats actually a pretty serious limitation for most practical uses |
| 2020-10-17 05:14:43 +0000 | <larou> | damn... |
| 2020-10-17 05:14:45 +0000 | <gnumonik> | You can kind of use type classes and higher rank types to pass another function to the String -> Lens function, but to get composition I'm pretty sure you need something like, (again) forall a c. (forall b. Lens' a b -> c) -> String -> c. If I'm wrong about that let me know but I can't think of anything |
| 2020-10-17 05:15:38 +0000 | <larou> | wait, isnt that what the template haskell machinery for autoderiving lesnes is for? |
| 2020-10-17 05:15:45 +0000 | <gnumonik> | And yeah I know about capabilities and was glossing over that, but anyway there has to be something better than lugging around most of GHCI to parse...record selectors |
| 2020-10-17 05:16:18 +0000 | <davean> | I'm confused why you're talking about doing the lenses the way you are - can you restate the problem? Because that signature doesn't make sense for what I understand you want |
| 2020-10-17 05:16:19 +0000 | toorevitimirp | (~tooreviti@117.182.180.0) |
| 2020-10-17 05:16:39 +0000 | <larou> | well, i was doing it for scientific computations, where "locality" on a manifold is basically the end goal |
| 2020-10-17 05:16:45 +0000 | <dsal> | If you're using lens for "record selectors" then that might be the wrong tool for the job, especially if the job is an interactive runtime that behaves like haskell, but isn't haskell. |
| 2020-10-17 05:16:45 +0000 | <larou> | you just have structured access paterns |
| 2020-10-17 05:17:15 +0000 | <larou> | all the data is selected relative to some position, so all this string names stuff just never arises |
| 2020-10-17 05:17:49 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 258 seconds) |
| 2020-10-17 05:17:56 +0000 | <larou> | trying to enumerate all the different names would just be totally pointless! |
| 2020-10-17 05:18:08 +0000 | codedmart | (~codedmart@149.28.9.205) (Quit: ZNC 1.7.5 - https://znc.in) |
| 2020-10-17 05:18:09 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 05:18:13 +0000 | <gnumonik> | Well they're not actually just record selectors, and technically I need prisms too so talking about lenses is a bit wrong (is the general term for lens-ey things 'optics'?). Lemme try to restate the problem, gimme a min |
| 2020-10-17 05:18:25 +0000 | codedmart | (~codedmart@149.28.9.205) |
| 2020-10-17 05:18:31 +0000 | <larou> | i guess i quotient away all the isomorphisms by record renaming as an equivalence class |
| 2020-10-17 05:18:51 +0000 | <davean> | Yah, optics |
| 2020-10-17 05:18:57 +0000 | anik | (~anik@103.23.207.140) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 2020-10-17 05:19:16 +0000 | <larou> | so isnt it just about the "shape" at the end of the day? |
| 2020-10-17 05:20:13 +0000 | pjb | (~t@2a01cb04063ec50040327e18e003ea94.ipv6.abo.wanadoo.fr) |
| 2020-10-17 05:20:45 +0000 | <larou> | and then the logis is something like, lists are good. and then you Fix them and hopefully get graphs at some point |
| 2020-10-17 05:21:04 +0000 | <larou> | again, something to do with isomorphisms |
| 2020-10-17 05:21:30 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 05:21:38 +0000 | <larou> | and then with type hetroginaity you get the most general structure thats isomorphic to everything else |
| 2020-10-17 05:21:55 +0000 | <larou> | ah, that was the problem, the nested states were unfolding type hetroginous things |
| 2020-10-17 05:22:03 +0000 | <larou> | horror |
| 2020-10-17 05:22:41 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-10-17 05:22:59 +0000 | zoran119 | (~zoran119@124-169-31-193.dyn.iinet.net.au) |
| 2020-10-17 05:23:24 +0000 | <larou> | i guess thats the point about product base functors |
| 2020-10-17 05:23:40 +0000 | <gnumonik> | So I have a DSL. Just for elaboration, the DSL is some pretty simple syntactical sugar over Edward KMett's "Machines" library, and the point is to allow for generation/modification/performing side effects with streams of network packets. I wrote the DSL on the assumption that there'd be some way to translate strings into optics in such a way that, if, e.g., _Foo is a prism and bar is a lens, you could type "Foo . bar" in the dsl |
| 2020-10-17 05:23:40 +0000 | <gnumonik> | to access the bar field of a product type inside a sum type "Foo." But.. I can't figure out how to go from string to the optics in a way that lets them compose. |
| 2020-10-17 05:24:03 +0000 | <gnumonik> | Again this is my first real haskell program ever, so I dunno if that was a horrid idea or if there's some obviously better approach |
| 2020-10-17 05:24:37 +0000 | <davean> | mmm, I see |
| 2020-10-17 05:25:01 +0000 | <larou> | wait, i thought lenses composed good |
| 2020-10-17 05:25:23 +0000 | <davean> | larou: he needs to match the type, but he's at runtime, so he has to prove he only composes correct ones ever |
| 2020-10-17 05:25:24 +0000 | bifunc2 | (bifunc2@gateway/vpn/protonvpn/bifunc2) |
| 2020-10-17 05:25:31 +0000 | <davean> | Which is doable |
| 2020-10-17 05:25:33 +0000 | <gnumonik> | they do. as a *library* everything would work fine. but i wanted this to be used by people who won't install ghc |
| 2020-10-17 05:25:45 +0000 | <gnumonik> | er usable at least |
| 2020-10-17 05:25:55 +0000 | <larou> | whaaaat!? |
| 2020-10-17 05:26:01 +0000 | <bifunc2> | Can an integration test be done within an HUnit testCase, or are there more usual ways to do integration tests? |
| 2020-10-17 05:26:03 +0000 | <davean> | A) Thats not what lenses are for, B) I can see how to do it, but I'm not sure how much you'd like it |
| 2020-10-17 05:26:04 +0000 | <larou> | why throw away the compiler!? |
| 2020-10-17 05:26:24 +0000 | <davean> | gnumonik: You'd want a Map for every starting type, and return the result type with it |
| 2020-10-17 05:26:38 +0000 | <larou> | i thought DSLs were supposed to *leverage* the typechecker into their own type systems |
| 2020-10-17 05:26:40 +0000 | <davean> | it'll compose, you can fold them together |
| 2020-10-17 05:26:51 +0000 | <davean> | larou: depends on how deeply embeded they are, for example |
| 2020-10-17 05:27:11 +0000 | <larou> | hmmm |
| 2020-10-17 05:27:32 +0000 | <larou> | like, if they are supposed to do something the haskell typesystem cant? |
| 2020-10-17 05:28:14 +0000 | <davean> | I mean thats exactly one case |
| 2020-10-17 05:28:14 +0000 | <gnumonik> | Wait a Data.Map map? I'm a little confused on how that would work if the data types don't contain fields of all the same type. (Do heteogenous maps exist?) I might not be understanding you |
| 2020-10-17 05:28:31 +0000 | <larou> | in which case wouldnt it be better to compile it to a subset of haskell that *is* expressive enough? |
| 2020-10-17 05:29:04 +0000 | <gnumonik> | Yeah, I was a little ambitious in thinking that "Oh hey lenses are really neat, lemme throw them in my DSL as expressions". Or I didn't know enough to know that that wasn't a good idea |
| 2020-10-17 05:29:08 +0000 | unlink2 | (~unlink2@p200300ebcf17c500f1cd4c5efbdddd1e.dip0.t-ipconnect.de) |
| 2020-10-17 05:29:22 +0000 | <larou> | not really sure how Map is implemented tbh... can you emulate it using list? |
| 2020-10-17 05:29:34 +0000 | <davean> | gnumonik: You can make them hetrogenious, or dependent. I was suggesting sometihng like (data OpticMap s = OMap (Map String (forall r . (Optic s r, r))) |
| 2020-10-17 05:30:11 +0000 | <larou> | and that impredictive right? |
| 2020-10-17 05:30:19 +0000 | <larou> | thats* |
| 2020-10-17 05:30:30 +0000 | <davean> | gnumonik: if you store the tag, you can look up the correct map next time ... etc |
| 2020-10-17 05:30:44 +0000 | <davean> | gnumonik: it'll get ugly, but you can make it work. I'm not sure you want to. |
| 2020-10-17 05:30:59 +0000 | <larou> | is the issue that a HList with a pair with an accessor index would be slow to lookup? |
| 2020-10-17 05:31:19 +0000 | <davean> | gnumonik: to be clear, I hate this approach |
| 2020-10-17 05:31:21 +0000 | <gnumonik> | I've been trying to solve this problem for a month out of sheer anger that I couldn't do it, I don't really care if it's ugly at this point :p |
| 2020-10-17 05:31:24 +0000 | <larou> | i mean, maybe you could use some kind of tree based thing thats faster.. |
| 2020-10-17 05:31:42 +0000 | <davean> | I'm pretty sure it'll work |
| 2020-10-17 05:32:17 +0000 | stree | (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
| 2020-10-17 05:32:25 +0000 | <larou> | i cant tell if vinyl would be helpful... |
| 2020-10-17 05:32:34 +0000 | stree | (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) |
| 2020-10-17 05:33:27 +0000 | <larou> | runtime typechecking sounds off though... never seen that |
| 2020-10-17 05:33:31 +0000 | <davean> | you know the result type because you get a token and look up the next in the map that starts with that by having a top level map like Map 'r (forall s . Map String (forall r . (Optic s r, r)) |
| 2020-10-17 05:33:59 +0000 | <davean> | So your'e chaining through the connecting type |
| 2020-10-17 05:34:01 +0000 | <davean> | but ugh |
| 2020-10-17 05:34:06 +0000 | <davean> | Its *basicly* a type checker |
| 2020-10-17 05:34:14 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 05:34:32 +0000 | <davean> | Just linear chaining |
| 2020-10-17 05:34:54 +0000 | <davean> | er |
| 2020-10-17 05:35:00 +0000 | <larou> | what about parallel? |
| 2020-10-17 05:35:04 +0000 | <davean> | I mixed up an r and s above |
| 2020-10-17 05:35:08 +0000 | <larou> | like zipwith |
| 2020-10-17 05:35:11 +0000 | <gnumonik> | ohhhh I see now. That might work. That might not even be that bad. I have some template haskell that generates type for a data type and its subtypes (I know they aren't real subtypes, components I guess) until it reaches a "primitive" type (relative to the DSL) |
| 2020-10-17 05:35:18 +0000 | <gnumonik> | that I could probably use |
| 2020-10-17 05:35:24 +0000 | <larou> | im sure some mix of those two should be arbitrarily expressive |
| 2020-10-17 05:35:51 +0000 | <larou> | hmm, maybe its the difference between successive flat layers and a lattice like partial order for an arbitrary graph |
| 2020-10-17 05:36:06 +0000 | <larou> | the good thing about layers is they are obviously ordered |
| 2020-10-17 05:36:13 +0000 | <davean> | gnumonik: At least I gave you something to consider. |
| 2020-10-17 05:36:54 +0000 | <zoran119> | is anyone using vscode + haskell-language-server (with haskell.haskell plugin in vscode)? got to definition should work there, right? it doesn't seem to be able to find definition of my modules in other source files (only current source file)... |
| 2020-10-17 05:37:17 +0000 | <larou> | i really wanted something that could represent modern computing architectures so you could compile to bitcode for the virtual version and run it on regular hardware |
| 2020-10-17 05:37:24 +0000 | <gnumonik> | I appreciate it! I've been smashing my face against this for so long that any way of making it work is relieving |
| 2020-10-17 05:37:56 +0000 | <larou> | its the realisation thats the obstacle |
| 2020-10-17 05:38:36 +0000 | <gnumonik> | Though, actually, running into this problem made me dive deep into TH/Generics.SOP and really figure out the lens library at some depth, so I suppose it was a good problem to run into. |
| 2020-10-17 05:38:48 +0000 | <larou> | something about emulating concurrency |
| 2020-10-17 05:38:53 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 05:39:02 +0000 | <gnumonik> | None of those helped me solve it but oh well :p |
| 2020-10-17 05:39:24 +0000 | <davean> | gnumonik: I know how that feels. I do think you more want like a query engine but ... Hey, I'm not here to tell you what to code, just answer questions :) |
| 2020-10-17 05:39:38 +0000 | <davean> | A good problem is very educational |
| 2020-10-17 05:39:51 +0000 | ensyde | (~ensyde@2600:1702:2e30:1a40:584e:1c7e:e97b:16d2) |
| 2020-10-17 05:40:15 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 05:40:35 +0000 | <larou> | modifiable programs represented as scanner nets, anybody? |
| 2020-10-17 05:40:49 +0000 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
| 2020-10-17 05:41:08 +0000 | <larou> | with structured access for implementation on virtual FPGAs... |
| 2020-10-17 05:41:12 +0000 | <larou> | *sigh* |
| 2020-10-17 05:41:38 +0000 | <larou> | autodeploys to skynet... |
| 2020-10-17 05:42:43 +0000 | <larou> | implements nets based on virtual market signal processing. subsumes the finance sector, brings about the rapture... |
| 2020-10-17 05:43:02 +0000 | <larou> | now with 50% more functions! free! |
| 2020-10-17 05:43:06 +0000 | <davean> | gnumonik: Also, if you don't like capabilities, sudo tcpdump and pipe that into your program? Or drop privileges |
| 2020-10-17 05:43:28 +0000 | larou | (5201f2b7@gateway/web/cgi-irc/kiwiirc.com/ip.82.1.242.183) (Quit: Connection closed) |
| 2020-10-17 05:44:11 +0000 | <justsomeguy> | zoran119: I tried it out just now on a stack project, and it gave a warning message about some config file called hie.yaml. Maybe that file needs to be populated so hie can find stuff. |
| 2020-10-17 05:44:36 +0000 | <justsomeguy> | https://github.com/mpickering/hie-bios#hie-bios |
| 2020-10-17 05:44:42 +0000 | ensyde | (~ensyde@2600:1702:2e30:1a40:584e:1c7e:e97b:16d2) (Ping timeout: 260 seconds) |
| 2020-10-17 05:47:04 +0000 | <zoran119> | justsomeguy: thanks for trying it out, i just found this (seems like a new issue): https://github.com/haskell/haskell-language-server/issues/486 |
| 2020-10-17 05:48:46 +0000 | Sanchayan | (~Sanchayan@171.76.92.241) |
| 2020-10-17 05:49:05 +0000 | gioyik | (~gioyik@190.67.155.46) (Read error: Connection reset by peer) |
| 2020-10-17 05:49:31 +0000 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 2020-10-17 05:49:57 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 05:50:08 +0000 | gioyik | (~gioyik@190.67.155.46) |
| 2020-10-17 05:52:48 +0000 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
| 2020-10-17 05:52:48 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:a405:7897:267b:514b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 05:53:21 +0000 | Mathnerd314 | (uid442749@supertux/Mathnerd314) (Quit: Connection closed for inactivity) |
| 2020-10-17 05:53:23 +0000 | Sanchayan | (~Sanchayan@171.76.92.241) (Remote host closed the connection) |
| 2020-10-17 05:54:02 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 05:54:26 +0000 | chris | Guest37509 |
| 2020-10-17 05:54:37 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 2020-10-17 05:55:48 +0000 | Sanchayan | (~Sanchayan@171.76.92.241) |
| 2020-10-17 05:56:58 +0000 | falafel | (~falafel@ip70-173-59-40.lv.lv.cox.net) |
| 2020-10-17 05:58:39 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 260 seconds) |
| 2020-10-17 05:58:57 +0000 | jneira_ | (~jneira@80.30.100.250) |
| 2020-10-17 06:00:02 +0000 | Guest47631 | (~ccallahan@84.39.117.57) () |
| 2020-10-17 06:03:23 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 260 seconds) |
| 2020-10-17 06:03:47 +0000 | jneira_ | (~jneira@80.30.100.250) |
| 2020-10-17 06:05:41 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 06:09:26 +0000 | gioyik | (~gioyik@190.67.155.46) (Quit: WeeChat 2.9) |
| 2020-10-17 06:09:30 +0000 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 2020-10-17 06:10:02 +0000 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection) |
| 2020-10-17 06:10:04 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 2020-10-17 06:13:35 +0000 | falafel | (~falafel@ip70-173-59-40.lv.lv.cox.net) (Ping timeout: 260 seconds) |
| 2020-10-17 06:14:06 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2020-10-17 06:17:52 +0000 | Tario | (~Tario@201.192.165.173) (Ping timeout: 272 seconds) |
| 2020-10-17 06:18:09 +0000 | Tario | (~Tario@201.192.165.173) |
| 2020-10-17 06:19:09 +0000 | agrajag` | (~agrajag`@104.254.90.195) |
| 2020-10-17 06:22:56 +0000 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) |
| 2020-10-17 06:24:48 +0000 | sfvm | (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine) |
| 2020-10-17 06:26:38 +0000 | coot | (~coot@37.30.35.208.nat.umts.dynamic.t-mobile.pl) |
| 2020-10-17 06:27:48 +0000 | Sheilong | (uid293653@gateway/web/irccloud.com/x-ukzmbdoxywbjiwys) (Quit: Connection closed for inactivity) |
| 2020-10-17 06:30:27 +0000 | <proofofme> | can cassava be used for csv parsing without a filepath? like can you just give it a string and it yields a list of elements instead? |
| 2020-10-17 06:31:48 +0000 | <c_wraith> | that... sure seems like what decode does |
| 2020-10-17 06:32:04 +0000 | <koz_> | http://hackage.haskell.org/package/cassava-0.5.2.0/docs/Data-Csv.html#v:decode |
| 2020-10-17 06:32:14 +0000 | <koz_> | Well, aside from it being given a ByteString. |
| 2020-10-17 06:32:55 +0000 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
| 2020-10-17 06:35:00 +0000 | lucid_0x80 | (~lucid_0x8@188.253.235.213) |
| 2020-10-17 06:35:06 +0000 | Guest37509 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 06:35:38 +0000 | lucid_0x80 | (~lucid_0x8@188.253.235.213) (Client Quit) |
| 2020-10-17 06:35:59 +0000 | lucid_0x80 | (~lucid_0x8@188.253.235.213) |
| 2020-10-17 06:36:06 +0000 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
| 2020-10-17 06:36:38 +0000 | <proofofme> | how to convert something like "a,b,c" to a bytestring? |
| 2020-10-17 06:37:07 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 06:41:50 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 06:41:56 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 2020-10-17 06:42:05 +0000 | <dsal> | proofofme: One way is to have it always be a bytestring so you don't have to convert it. |
| 2020-10-17 06:42:21 +0000 | <proofofme> | it's being read from a database where it comes that way |
| 2020-10-17 06:42:42 +0000 | <dsal> | The database doesn't return a ByteString? It probably has one. |
| 2020-10-17 06:43:01 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 06:43:10 +0000 | <dsal> | What database interface is this? |
| 2020-10-17 06:43:27 +0000 | <proofofme> | mysql |
| 2020-10-17 06:43:47 +0000 | <dsal> | AFAIK, that's not an interfae. |
| 2020-10-17 06:44:20 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 06:44:22 +0000 | <dsal> | I guess there is one named that. It looks fairly old, though. |
| 2020-10-17 06:44:24 +0000 | avdb | (~avdb@ip-83-134-26-198.dsl.scarlet.be) |
| 2020-10-17 06:44:40 +0000 | <proofofme> | Database.MySQL.Base |
| 2020-10-17 06:46:07 +0000 | <dsal> | Ah, stackage has docs. It says it returns ByteString. How did you convert it from ByteString? Maybe do the opposite of that. :) |
| 2020-10-17 06:47:00 +0000 | iqubic | (~user@2601:602:9500:4870:dc23:22a3:8a0d:b5e6) ("ERC (IRC client for Emacs 28.0.50)") |
| 2020-10-17 06:47:38 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2020-10-17 06:48:34 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 06:48:57 +0000 | chris | Guest34058 |
| 2020-10-17 06:50:13 +0000 | proofofme | (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection) |
| 2020-10-17 06:56:07 +0000 | Kaeipi | (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2020-10-17 06:57:01 +0000 | thir | (~thir@p200300f27f02580074cf2a3fa9ab5ee7.dip0.t-ipconnect.de) |
| 2020-10-17 06:59:36 +0000 | mirrorbird | (~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Quit: Leaving) |
| 2020-10-17 07:01:42 +0000 | thir | (~thir@p200300f27f02580074cf2a3fa9ab5ee7.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-10-17 07:02:52 +0000 | avdb | (~avdb@ip-83-134-26-198.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 2020-10-17 07:08:16 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 07:11:13 +0000 | Guest34058 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 07:12:25 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 2020-10-17 07:13:26 +0000 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2020-10-17 07:13:57 +0000 | avdb | (~avdb@ip-83-134-26-198.dsl.scarlet.be) |
| 2020-10-17 07:16:06 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 07:17:27 +0000 | hackage | Z-Data 0.1.7.2 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.7.2 (winterland) |
| 2020-10-17 07:18:42 +0000 | cole-h_ | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 2020-10-17 07:24:28 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 07:26:10 +0000 | bitmapper | (uid464869@gateway/web/irccloud.com/x-vecxpakzwaisvdlf) (Quit: Connection closed for inactivity) |
| 2020-10-17 07:28:45 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:7959:9b61:1d77:4ea5) |
| 2020-10-17 07:28:47 +0000 | LKoen | (~LKoen@81.255.219.130) |
| 2020-10-17 07:28:55 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 2020-10-17 07:30:52 +0000 | thir | (~thir@p200300f27f02580074cf2a3fa9ab5ee7.dip0.t-ipconnect.de) |
| 2020-10-17 07:40:01 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 07:42:37 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:7959:9b61:1d77:4ea5) (Ping timeout: 272 seconds) |
| 2020-10-17 07:43:24 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2020-10-17 07:43:55 +0000 | falafel | (~falafel@ip70-173-59-40.lv.lv.cox.net) |
| 2020-10-17 07:44:29 +0000 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...) |
| 2020-10-17 07:44:53 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 07:47:12 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 07:47:28 +0000 | supercoven | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
| 2020-10-17 07:48:27 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 07:49:15 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 07:49:39 +0000 | chris | Guest12530 |
| 2020-10-17 07:50:48 +0000 | avdb | (~avdb@ip-83-134-26-198.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 2020-10-17 07:51:07 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2020-10-17 07:51:21 +0000 | Guest91452 | (~samuel@223.166.32.19) |
| 2020-10-17 07:52:19 +0000 | vicfred | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 2020-10-17 07:56:50 +0000 | avdb_ | (~avdb@ip-83-134-26-198.dsl.scarlet.be) |
| 2020-10-17 07:57:03 +0000 | Guest91452 | (~samuel@223.166.32.19) (Quit: Leaving) |
| 2020-10-17 07:58:18 +0000 | falafel | (~falafel@ip70-173-59-40.lv.lv.cox.net) (Ping timeout: 260 seconds) |
| 2020-10-17 08:00:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 08:00:49 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 2020-10-17 08:04:15 +0000 | _ashbreeze_ | (~mark@72-161-252-240.dyn.centurytel.net) |
| 2020-10-17 08:04:58 +0000 | hackage | Z-IO 0.1.6.0 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.6.0 (winterland) |
| 2020-10-17 08:05:40 +0000 | ashbreeze | (~mark@72-161-252-240.dyn.centurytel.net) (Ping timeout: 256 seconds) |
| 2020-10-17 08:05:58 +0000 | hackage | stm-queue 0.1.2.1 - An implementation of a real-time concurrent queue https://hackage.haskell.org/package/stm-queue-0.1.2.1 (sgschlesinger) |
| 2020-10-17 08:08:52 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 08:10:08 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 08:11:08 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 08:11:11 +0000 | avdb_ | (~avdb@ip-83-134-26-198.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 2020-10-17 08:12:36 +0000 | lep-delete | Guest88073 |
| 2020-10-17 08:15:56 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-10-17 08:17:46 +0000 | Stanley00 | (~stanley00@unaffiliated/stanley00) () |
| 2020-10-17 08:18:35 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-10-17 08:19:58 +0000 | cdepillabout | (~cdepillab@pl35600.ag1001.nttpc.ne.jp) |
| 2020-10-17 08:23:19 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 260 seconds) |
| 2020-10-17 08:23:21 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 2020-10-17 08:23:38 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 08:28:58 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 272 seconds) |
| 2020-10-17 08:29:23 +0000 | fragamus | (~michaelgo@73.93.153.97) (Read error: Connection reset by peer) |
| 2020-10-17 08:30:29 +0000 | SanchayanM | (~Sanchayan@136.185.169.16) |
| 2020-10-17 08:30:58 +0000 | Sanchayan | (~Sanchayan@171.76.92.241) (Ping timeout: 260 seconds) |
| 2020-10-17 08:31:35 +0000 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
| 2020-10-17 08:32:12 +0000 | jneira_ | (~jneira@80.30.100.250) |
| 2020-10-17 08:33:26 +0000 | avdb | (~avdb@ip-83-134-26-198.dsl.scarlet.be) |
| 2020-10-17 08:34:01 +0000 | thir | (~thir@p200300f27f02580074cf2a3fa9ab5ee7.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 2020-10-17 08:34:14 +0000 | fragamus | (~michaelgo@73.93.153.97) |
| 2020-10-17 08:38:29 +0000 | Guest88073 | lep-delete |
| 2020-10-17 08:42:35 +0000 | chaosmasttter | (~chaosmast@p200300c4a710fa0165702c806d7b3e40.dip0.t-ipconnect.de) |
| 2020-10-17 08:43:01 +0000 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) () |
| 2020-10-17 08:43:03 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 08:47:37 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2020-10-17 08:50:26 +0000 | <tomsmeding> | why does ghc, when giving me an error about an ambiguous type variable, not tell me where that type variable occurs? |
| 2020-10-17 08:50:46 +0000 | <tomsmeding> | if that happens in a large expression it's less than helpful :p |
| 2020-10-17 08:52:28 +0000 | drbean | (~drbean@TC210-63-209-162.static.apol.com.tw) (Ping timeout: 246 seconds) |
| 2020-10-17 08:56:28 +0000 | hackage | numhask-space 0.6.1 - numerical spaces https://hackage.haskell.org/package/numhask-space-0.6.1 (tonyday567) |
| 2020-10-17 08:56:45 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-10-17 08:57:03 +0000 | <Rembane> | tomsmeding: Doesn't it? Do you have an example? :) |
| 2020-10-17 08:57:06 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2020-10-17 08:57:19 +0000 | <tomsmeding> | well I have a huge one :p |
| 2020-10-17 08:57:48 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 256 seconds) |
| 2020-10-17 08:59:02 +0000 | <tomsmeding> | Rembane: https://paste.tomsmeding.com/oKOtSj3l |
| 2020-10-17 08:59:56 +0000 | <Rembane> | tomsmeding: Yeah, that's not small, what would GHC say if you had your way? |
| 2020-10-17 09:00:01 +0000 | agrajag` | (~agrajag`@104.254.90.195) () |
| 2020-10-17 09:00:21 +0000 | <tomsmeding> | well presumably it's trying to help me by saying "the constraint (Elt x00)" |
| 2020-10-17 09:01:05 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 2020-10-17 09:01:09 +0000 | <tomsmeding> | if the x00 would occur somewhere else in a larger type too, then I'd like it to print the entire type (just "Elt x00" tells me nothing about where this x00 comes from) |
| 2020-10-17 09:01:17 +0000 | <tomsmeding> | but now I realise that perhaps it _only_ occurs in this constraint |
| 2020-10-17 09:02:09 +0000 | <Rembane> | I think it only exists in this constraint |
| 2020-10-17 09:02:35 +0000 | <tomsmeding> | but in that case it would be nice if it said that this type variable occurs _only_ in a constraint -- because that particular situation is something you never want anyway, I think |
| 2020-10-17 09:02:45 +0000 | <tomsmeding> | also that would be weird |
| 2020-10-17 09:02:53 +0000 | <tomsmeding> | given the code, let me see if I can distill a smaller case |
| 2020-10-17 09:03:10 +0000 | <Rembane> | Sounds like a good approach |
| 2020-10-17 09:03:28 +0000 | hackage | hw-json 1.3.2.2 - Memory efficient JSON parser https://hackage.haskell.org/package/hw-json-1.3.2.2 (haskellworks) |
| 2020-10-17 09:05:00 +0000 | <nshepperd> | arising from a use of zipWith? is this some sort of nontraditional exotic zipWith? not the list one |
| 2020-10-17 09:05:31 +0000 | <tomsmeding> | it certainly is :) |
| 2020-10-17 09:06:17 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 09:06:30 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 09:06:40 +0000 | <nshepperd> | i think you'll find that type variable occurs in the type of your exotic zipWith |
| 2020-10-17 09:06:48 +0000 | <nshepperd> | in that case |
| 2020-10-17 09:07:23 +0000 | tito_04 | (~taurux@net-93-144-13-212.cust.vodafonedsl.it) |
| 2020-10-17 09:07:26 +0000 | taurux | (~taurux@net-93-144-64-237.cust.vodafonedsl.it) (Ping timeout: 256 seconds) |
| 2020-10-17 09:07:38 +0000 | <tomsmeding> | nshepperd: true enough, but it has three Elt constraints: https://hackage.haskell.org/package/accelerate-1.3.0.0/docs/Data-Array-Accelerate.html#v:zipWith |
| 2020-10-17 09:07:49 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 09:07:49 +0000 | <tomsmeding> | so basically my point is: constraint "Elt x00", okay, _WHICH_ Elt :p |
| 2020-10-17 09:10:02 +0000 | <tomsmeding> | ah there is a different case, look at this: https://paste.tomsmeding.com/b8b4SRuW |
| 2020-10-17 09:10:08 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 272 seconds) |
| 2020-10-17 09:10:34 +0000 | <tomsmeding> | look at it giving a _different_ binding than what the problematic type variable occurs in, showing that indeed the variable occurs outside of the constraint |
| 2020-10-17 09:10:42 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) |
| 2020-10-17 09:10:44 +0000 | <tomsmeding> | (note a40f != a40) |
| 2020-10-17 09:11:35 +0000 | <tomsmeding> | now I guess I'd like to see the type of a40f with that type variable x10 shown where it occurs (because it must; a40 is defined fairly trivially in terms of a40f) |
| 2020-10-17 09:12:28 +0000 | <tomsmeding> | (indeed now I know it's that particular tuple element, I know how to solve it :p) |
| 2020-10-17 09:13:23 +0000 | <nshepperd> | yeah i guess it would be nice if it printed the type signature of zipWith with the ambiguous variable highlighted or something |
| 2020-10-17 09:13:46 +0000 | <Rembane> | I wonder if there's an issue on the GHC bug tracker about this, or if it's worth posting one. |
| 2020-10-17 09:13:55 +0000 | <tomsmeding> | precisely (though highlighting is not even the primary concern :p) |
| 2020-10-17 09:14:17 +0000 | plast1k_ | (~plast1k_@196.207.181.246) |
| 2020-10-17 09:14:20 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 09:18:51 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 09:20:36 +0000 | <Rembane> | Yeah, it's an x/y one. :) |
| 2020-10-17 09:23:22 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 256 seconds) |
| 2020-10-17 09:24:57 +0000 | invaser | (~Thunderbi@31.148.23.125) |
| 2020-10-17 09:25:46 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 09:26:19 +0000 | thunderrd | (~thunderrd@183.182.110.178) (Remote host closed the connection) |
| 2020-10-17 09:26:21 +0000 | <tomsmeding> | okay this is a more minimal case: https://paste.tomsmeding.com/jvWCizUj |
| 2020-10-17 09:26:26 +0000 | jespada | (~jespada@90.254.245.15) |
| 2020-10-17 09:26:31 +0000 | <tomsmeding> | no deps |
| 2020-10-17 09:26:59 +0000 | <tomsmeding> | do people agree that error is uninformative? |
| 2020-10-17 09:27:38 +0000 | jespada | (~jespada@90.254.245.15) (Client Quit) |
| 2020-10-17 09:28:24 +0000 | thir | (~thir@pd9e1b01f.dip0.t-ipconnect.de) |
| 2020-10-17 09:28:39 +0000 | <tomsmeding> | in particular: there are two Elt constraints around: one on map' and one on constant'. It's not indicating which is the problem; in this case it doesn't really matter, but in a more complex scenario that may be useful information |
| 2020-10-17 09:29:04 +0000 | lemmih | (~lemmih@2406:3003:2072:44:70c9:d5cf:dc27:2e6a) (Remote host closed the connection) |
| 2020-10-17 09:29:26 +0000 | <tomsmeding> | "a40f = map' (constant' 2.0)" is a better replacement of the last two lines, no need for the "id" indirection |
| 2020-10-17 09:29:29 +0000 | lemmih | (~lemmih@2406:3003:2072:44:70c9:d5cf:dc27:2e6a) |
| 2020-10-17 09:30:18 +0000 | Randy | (randy@freebsd/user/randy) (Quit: Out) |
| 2020-10-17 09:30:34 +0000 | Randy | (randy@freebsd/user/randy) |
| 2020-10-17 09:32:51 +0000 | kenran | (~maier@87.123.205.246) |
| 2020-10-17 09:34:41 +0000 | <Rembane> | tomsmeding: In this case I can manage because I can see everything that creates this error, but in your earlier case I would've loved to have some more help from the compiler. |
| 2020-10-17 09:35:32 +0000 | <Rembane> | tomsmeding: This all boils down to, post in on the issue tracker please. :) |
| 2020-10-17 09:36:02 +0000 | zebrag | (~inkbottle@aaubervilliers-654-1-98-110.w86-212.abo.wanadoo.fr) |
| 2020-10-17 09:36:53 +0000 | inkbottle | (~inkbottle@aaubervilliers-654-1-104-11.w86-212.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
| 2020-10-17 09:38:39 +0000 | <tomsmeding> | I can post it; I feel uncertain whether there is an existing issue about it, given that there are 4k+ issues open :p |
| 2020-10-17 09:38:50 +0000 | knupfer | (~Thunderbi@87.123.206.163) |
| 2020-10-17 09:40:15 +0000 | ensyde | (~ensyde@2600:1702:2e30:1a40:584e:1c7e:e97b:16d2) |
| 2020-10-17 09:40:15 +0000 | <tomsmeding> | this is a feature_request, isn't it? |
| 2020-10-17 09:40:31 +0000 | wei2912 | (~wei2912@unaffiliated/wei2912) |
| 2020-10-17 09:40:32 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) (Read error: Connection reset by peer) |
| 2020-10-17 09:41:20 +0000 | jneira_ | (~jneira@80.30.100.250) |
| 2020-10-17 09:41:42 +0000 | <Rembane> | tomsmeding: I think it is, blame me if it isn't. :) |
| 2020-10-17 09:41:58 +0000 | dcoutts_ | (~duncan@33.14.75.194.dyn.plus.net) |
| 2020-10-17 09:42:42 +0000 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-wfqfiwhdaazevkgj) (Quit: Connection closed for inactivity) |
| 2020-10-17 09:44:09 +0000 | <phadej> | doesn't that error happen because 2.0 is arbitrary Fractional a => a |
| 2020-10-17 09:44:23 +0000 | <phadej> | if you do (2.0 :: Double) it will "go away", or at least say Elt Double cosntraint? |
| 2020-10-17 09:45:11 +0000 | <phadej> | I don't think its uninformative, it's a literal gotcha |
| 2020-10-17 09:45:28 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 09:45:29 +0000 | ensyde | (~ensyde@2600:1702:2e30:1a40:584e:1c7e:e97b:16d2) (Ping timeout: 272 seconds) |
| 2020-10-17 09:45:36 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 272 seconds) |
| 2020-10-17 09:46:50 +0000 | <phadej> | in the minimal example, it's the same `Elt a` which is unsatisfied, i.e. it could come from either map' or constant' |
| 2020-10-17 09:47:07 +0000 | <phadej> | as `a`s are unified |
| 2020-10-17 09:47:21 +0000 | wei2912 | (~wei2912@unaffiliated/wei2912) (Quit: leaving) |
| 2020-10-17 09:47:24 +0000 | <tomsmeding> | phadej: true, it's about the literal, but it could equally be a variable with type Fractional a => a |
| 2020-10-17 09:47:45 +0000 | <phadej> | tomsmeding: more concretely, what you think GHC should say |
| 2020-10-17 09:48:02 +0000 | <tomsmeding> | the point is: what if there were a number of such literals, and most could be inferred based on external information except one. Which one is it? The error message doesn't tell. |
| 2020-10-17 09:48:05 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2020-10-17 09:48:30 +0000 | invaser | (~Thunderbi@31.148.23.125) (Quit: invaser) |
| 2020-10-17 09:49:16 +0000 | <tomsmeding> | phadej: for errors reading "... (mentions type variable a0) ... arising from a use of ‘myFunction’, ...", I'd like to see the type of myFunction, that includes a0 |
| 2020-10-17 09:49:32 +0000 | <tomsmeding> | because presumably a0 is in there :p |
| 2020-10-17 09:49:59 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 2020-10-17 09:50:05 +0000 | kenran | (~maier@87.123.205.246) (Ping timeout: 240 seconds) |
| 2020-10-17 09:50:47 +0000 | invaser | (~Thunderbi@31.148.23.125) |
| 2020-10-17 09:53:14 +0000 | <phadej> | arising from a use of ‘a40f’ at type 'a40f :: (Elt a0, Fractional a0) => (Exp a0 -> Exp a0) -> ()' |
| 2020-10-17 09:53:17 +0000 | <phadej> | ? |
| 2020-10-17 09:53:45 +0000 | <phadej> | yes, that could be reasonable feature request |
| 2020-10-17 09:54:25 +0000 | <tomsmeding> | yes that; I'll see if I can make a more compelling example |
| 2020-10-17 09:54:28 +0000 | <phadej> | this example is a bit too minimal, as `a40f` has only one variable |
| 2020-10-17 09:56:08 +0000 | mterwoord | (~mterwoord@178.162.204.238) |
| 2020-10-17 09:56:28 +0000 | <phadej> | something with (Integral a, Integral b) => ... |
| 2020-10-17 09:56:33 +0000 | <phadej> | and used so you flip arguments |
| 2020-10-17 09:56:43 +0000 | <phadej> | so you aren't sure anymore whether a0 was actually b |
| 2020-10-17 09:57:17 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 09:58:52 +0000 | <phadej> | except integral will be defaulted :( |
| 2020-10-17 09:59:46 +0000 | <tomsmeding> | that can be fixed with a custom class :p |
| 2020-10-17 10:00:12 +0000 | <tomsmeding> | I had an example where the variable got an obscure name from somewhere, let me see if I can resurrect that one |
| 2020-10-17 10:00:52 +0000 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 2020-10-17 10:02:33 +0000 | tito_04 | (~taurux@net-93-144-13-212.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
| 2020-10-17 10:02:43 +0000 | <phadej> | https://gist.github.com/phadej/7b95d1876dd085d28f49bf4ebf349663 |
| 2020-10-17 10:03:02 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 256 seconds) |
| 2020-10-17 10:03:05 +0000 | <phadej> | here it's unclear is "MyIntegral b1" is from 1 or 2 |
| 2020-10-17 10:03:29 +0000 | taurux | (~taurux@net-188-216-43-120.cust.vodafonedsl.it) |
| 2020-10-17 10:03:41 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) |
| 2020-10-17 10:03:46 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 10:03:47 +0000 | <phadej> | in fact, type of plus2 is |
| 2020-10-17 10:03:48 +0000 | <phadej> | plus2 :: (MyIntegral b1, MyIntegral b2) => b2 -> b1 -> b1 |
| 2020-10-17 10:03:55 +0000 | <tomsmeding> | yes that's a neat one |
| 2020-10-17 10:04:19 +0000 | <phadej> | tomsmeding: I have to admit, I have sometimes scratched my head what's wrong in similar-ish examples |
| 2020-10-17 10:04:26 +0000 | <phadej> | and had to add extra type-signatures to figure out what |
| 2020-10-17 10:04:32 +0000 | xerox_ | (~xerox@unaffiliated/xerox) (Quit: leaving) |
| 2020-10-17 10:04:43 +0000 | <phadej> | as here. The obvious solution is to add a type-signature to plus2 |
| 2020-10-17 10:04:52 +0000 | <phadej> | (with better type-variables) |
| 2020-10-17 10:05:10 +0000 | <phadej> | but if you open an issue you have to argue why you cannot or don't want do that in non-minimal example :) |
| 2020-10-17 10:05:14 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 10:05:46 +0000 | <phadej> | I guess saying that "annotating every auxiliary bindingin in accelerate code isn't acceptable, adds too much noise" |
| 2020-10-17 10:06:26 +0000 | <tomsmeding> | that latter statement is certainly the case |
| 2020-10-17 10:06:33 +0000 | <phadej> | in my case, when there are type-variables brought into the scope by pattern matching on GADTs, it was in fact very tricky to just add a type-signatures |
| 2020-10-17 10:06:47 +0000 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2020-10-17 10:06:58 +0000 | <phadej> | as one had to re-arrange code to get this type-variables |
| 2020-10-17 10:08:36 +0000 | <phadej> | (https://github.com/ghc-proposals/ghc-proposals/pull/126 would solve it, but I have no idea if anyone is working on it) |
| 2020-10-17 10:09:51 +0000 | <phadej> | you concinced me there is a problem worth fixing :) |
| 2020-10-17 10:10:01 +0000 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
| 2020-10-17 10:10:02 +0000 | <phadej> | go ahead, open an issue! |
| 2020-10-17 10:10:19 +0000 | <tomsmeding> | :D |
| 2020-10-17 10:10:41 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 258 seconds) |
| 2020-10-17 10:11:47 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 10:13:25 +0000 | plast1k_ | (~plast1k_@196.207.181.246) (Ping timeout: 264 seconds) |
| 2020-10-17 10:13:35 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
| 2020-10-17 10:13:40 +0000 | cdepillabout | (~cdepillab@pl35600.ag1001.nttpc.ne.jp) (Ping timeout: 246 seconds) |
| 2020-10-17 10:13:49 +0000 | thunderrd | (~thunderrd@183.182.110.178) |
| 2020-10-17 10:14:01 +0000 | xerox_ | (~xerox@unaffiliated/xerox) |
| 2020-10-17 10:15:17 +0000 | <tomsmeding> | phadej: https://gitlab.haskell.org/ghc/ghc/-/issues/18860 |
| 2020-10-17 10:15:42 +0000 | <tomsmeding> | probably could be worded better, so if you want to re-word stuff / tell me to re-word stuff, go ahead :p |
| 2020-10-17 10:16:24 +0000 | <phadej> | +1 |
| 2020-10-17 10:16:34 +0000 | <phadej> | IMO it's fine |
| 2020-10-17 10:16:41 +0000 | <phadej> | let see if others see the problem :) |
| 2020-10-17 10:18:39 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 10:19:10 +0000 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 272 seconds) |
| 2020-10-17 10:19:58 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 10:22:19 +0000 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 2020-10-17 10:22:28 +0000 | Rudd0^ | (~Rudd0@185.189.115.98) |
| 2020-10-17 10:24:06 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 10:24:51 +0000 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 265 seconds) |
| 2020-10-17 10:25:04 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: Textual IRC Client: www.textualapp.com) |
| 2020-10-17 10:25:18 +0000 | rprije | (~rprije@203-219-208-42.static.tpgi.com.au) (Ping timeout: 260 seconds) |
| 2020-10-17 10:26:23 +0000 | plast1k_ | (~plast1k_@196.207.181.246) |
| 2020-10-17 10:26:40 +0000 | plast1k_ | (~plast1k_@196.207.181.246) (Max SendQ exceeded) |
| 2020-10-17 10:29:56 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2020-10-17 10:29:58 +0000 | knupfer | (~Thunderbi@87.123.206.163) (Ping timeout: 260 seconds) |
| 2020-10-17 10:32:03 +0000 | utopic_int0x80 | (~lucid_0x8@188.253.235.213) |
| 2020-10-17 10:32:07 +0000 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection) |
| 2020-10-17 10:32:31 +0000 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) |
| 2020-10-17 10:32:35 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 10:33:19 +0000 | utopic_int0x80 | (~lucid_0x8@188.253.235.213) (Read error: Connection reset by peer) |
| 2020-10-17 10:33:25 +0000 | lucid_0x80 | (~lucid_0x8@188.253.235.213) (Ping timeout: 240 seconds) |
| 2020-10-17 10:33:45 +0000 | utopic_int0x80 | (~lucid_0x8@188.253.235.213) |
| 2020-10-17 10:34:01 +0000 | utopic_int0x80 | (~lucid_0x8@188.253.235.213) (Max SendQ exceeded) |
| 2020-10-17 10:34:40 +0000 | gopher---- | (~gopher@2a03:1b20:3:f011::4d) |
| 2020-10-17 10:34:42 +0000 | <gopher----> | hi |
| 2020-10-17 10:34:47 +0000 | <gopher----> | is anyone a dev in here? |
| 2020-10-17 10:34:47 +0000 | utopic_int0x80 | (~lucid_0x8@188.253.235.213) |
| 2020-10-17 10:35:01 +0000 | utopic_int0x80 | (~lucid_0x8@188.253.235.213) (Max SendQ exceeded) |
| 2020-10-17 10:35:41 +0000 | utopic_int0x80 | (~lucid_0x8@188.253.235.213) |
| 2020-10-17 10:35:45 +0000 | <gopher----> | btw |
| 2020-10-17 10:35:53 +0000 | <gopher----> | haskell is absolute gobshite |
| 2020-10-17 10:35:57 +0000 | utopic_int0x80 | (~lucid_0x8@188.253.235.213) (Max SendQ exceeded) |
| 2020-10-17 10:37:26 +0000 | zariuq | (~zar@fw1.ciirc.cvut.cz) |
| 2020-10-17 10:37:33 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 10:37:52 +0000 | <Axman6> | gopher----: yeah it is |
| 2020-10-17 10:38:00 +0000 | <gopher----> | yep |
| 2020-10-17 10:38:07 +0000 | <gopher----> | its horribal |
| 2020-10-17 10:38:15 +0000 | dhil | (~dhil@195.213.192.122) |
| 2020-10-17 10:38:47 +0000 | <[exa]> | ...but isn't that the fundament of the existence? |
| 2020-10-17 10:38:59 +0000 | <gopher----> | haskell is massive shit |
| 2020-10-17 10:39:02 +0000 | <Axman6> | we are all but gobshite |
| 2020-10-17 10:39:14 +0000 | fendor | (~fendor@046124068105.public.t-mobile.at) |
| 2020-10-17 10:39:38 +0000 | <Axman6> | gopher----: trolling works better if you make some arguments, and not just whinge because you're doing badly in a university assignment |
| 2020-10-17 10:39:55 +0000 | <gopher----> | haskell is mega bs |
| 2020-10-17 10:40:16 +0000 | Gerula | (~Gerula@unaffiliated/gerula) (Quit: Leaving) |
| 2020-10-17 10:40:24 +0000 | <Axman6> | GHC is definitely several hungres megabytes, so it might even be giga bs! |
| 2020-10-17 10:40:29 +0000 | <Axman6> | hundred* |
| 2020-10-17 10:40:41 +0000 | <gopher----> | niga |
| 2020-10-17 10:40:55 +0000 | <Axman6> | come on mate, try harder, this is embarassing |
| 2020-10-17 10:41:02 +0000 | <no-n> | gopher----: which language do you prefer? |
| 2020-10-17 10:41:11 +0000 | <gopher----> | a non blm supported lang |
| 2020-10-17 10:41:16 +0000 | plast1k_ | (~plast1k_@196.207.181.246) |
| 2020-10-17 10:41:28 +0000 | <no-n> | oof |
| 2020-10-17 10:41:32 +0000 | avdb | (~avdb@ip-83-134-26-198.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 2020-10-17 10:41:38 +0000 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
| 2020-10-17 10:41:59 +0000 | <Axman6> | damn, I knew we should have voted against -XBlackLivesMatter |
| 2020-10-17 10:42:21 +0000 | <gopher----> | yes |
| 2020-10-17 10:42:28 +0000 | <gopher----> | dem cotton pickers |
| 2020-10-17 10:42:44 +0000 | __monty__ | (~toonn@unaffiliated/toonn) |
| 2020-10-17 10:42:48 +0000 | Guest12530 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 10:43:22 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:b9db:1021:8997:304) (Ping timeout: 260 seconds) |
| 2020-10-17 10:43:30 +0000 | <gopher----> | yup |
| 2020-10-17 10:43:34 +0000 | <Axman6> | I reckon PHP might not be a BLM supported language, maybe you should try that? It's not very supported at all these days |
| 2020-10-17 10:44:00 +0000 | <gopher----> | php ss on every major website |
| 2020-10-17 10:44:01 +0000 | <gopher----> | is |
| 2020-10-17 10:44:02 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) (Read error: Connection reset by peer) |
| 2020-10-17 10:44:13 +0000 | jneira_ | (~jneira@80.30.100.250) |
| 2020-10-17 10:44:36 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
| 2020-10-17 10:44:43 +0000 | <Axman6> | is it tho??? |
| 2020-10-17 10:45:21 +0000 | <gopher----> | yup |
| 2020-10-17 10:45:30 +0000 | <gopher----> | on most commercial grade apps |
| 2020-10-17 10:45:34 +0000 | <gopher----> | banking sites |
| 2020-10-17 10:45:47 +0000 | ChanServ | +o dibblego |
| 2020-10-17 10:45:51 +0000 | dibblego | +b *!*@2a03:1b20:3:f011::4d |
| 2020-10-17 10:45:51 +0000 | <Axman6> | I think you're misspelling ASP.Net |
| 2020-10-17 10:45:53 +0000 | gopher---- | dibblegogopher---- |
| 2020-10-17 10:45:56 +0000 | ChanServ | -o dibblego |
| 2020-10-17 10:46:13 +0000 | <Axman6> | dibblego: Sorry mate, things were quiet =) |
| 2020-10-17 10:46:19 +0000 | ephemera_ | (~E@122.34.1.187) (Quit: No Ping reply in 180 seconds.) |
| 2020-10-17 10:46:35 +0000 | <dibblego> | :) |
| 2020-10-17 10:46:39 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 10:48:56 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 256 seconds) |
| 2020-10-17 10:50:00 +0000 | <jophish> | nh2: How are things going with static haskell nix? |
| 2020-10-17 10:50:23 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 260 seconds) |
| 2020-10-17 10:50:58 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) |
| 2020-10-17 10:53:25 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 10:53:42 +0000 | Gerula | (~Gerula@unaffiliated/gerula) |
| 2020-10-17 10:54:49 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 264 seconds) |
| 2020-10-17 10:55:07 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 10:57:58 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 260 seconds) |
| 2020-10-17 10:58:07 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:980e:44c6:52dd:fd04) |
| 2020-10-17 10:59:52 +0000 | avdb | (~avdb@ip-83-134-26-198.dsl.scarlet.be) |
| 2020-10-17 11:00:52 +0000 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 2020-10-17 11:01:26 +0000 | berberman | (~berberman@unaffiliated/berberman) |
| 2020-10-17 11:03:13 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 11:04:03 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 11:05:43 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 11:07:11 +0000 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
| 2020-10-17 11:07:13 +0000 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 2020-10-17 11:08:19 +0000 | m0rphism | (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) |
| 2020-10-17 11:08:57 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 2020-10-17 11:12:05 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 11:12:12 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) (Read error: Connection reset by peer) |
| 2020-10-17 11:12:21 +0000 | jneira_ | (~jneira@80.30.100.250) |
| 2020-10-17 11:18:13 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Read error: Connection reset by peer) |
| 2020-10-17 11:18:14 +0000 | kish | (~oracle@unaffiliated/oracle) |
| 2020-10-17 11:19:53 +0000 | solonarv | (~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) |
| 2020-10-17 11:20:20 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 11:22:23 +0000 | chaosmasttter | (~chaosmast@p200300c4a710fa0165702c806d7b3e40.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 2020-10-17 11:24:16 +0000 | hiroaki | (~hiroaki@2a02:908:4b18:e20::a362) |
| 2020-10-17 11:25:02 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 2020-10-17 11:26:17 +0000 | <tomjaguarpaw> | jophish: How are things going with dynamic python windows installer? |
| 2020-10-17 11:29:52 +0000 | knupfer | (~Thunderbi@200116b82cc5f50010341dfffe74c338.dip.versatel-1u1.de) |
| 2020-10-17 11:29:52 +0000 | knupfer | (~Thunderbi@200116b82cc5f50010341dfffe74c338.dip.versatel-1u1.de) (Remote host closed the connection) |
| 2020-10-17 11:30:05 +0000 | knupfer | (~Thunderbi@200116b82cc5f500182db56019d06096.dip.versatel-1u1.de) |
| 2020-10-17 11:30:36 +0000 | Nahra | (~Nahra@unaffiliated/nahra) |
| 2020-10-17 11:31:19 +0000 | kuribas | (~user@ptr-25vy0i8tzgojz6gquv5.18120a2.ip6.access.telenet.be) |
| 2020-10-17 11:31:45 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 11:32:33 +0000 | <jophish> | dynamic python windows installer? tomjaguarpaw |
| 2020-10-17 11:33:09 +0000 | <jophish> | sounds pretty horrible all round |
| 2020-10-17 11:33:19 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 11:33:31 +0000 | thir | (~thir@pd9e1b01f.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 2020-10-17 11:34:24 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:e85b:6e33:d06d:4253) |
| 2020-10-17 11:34:34 +0000 | karanlikmadde | (~karanlikm@2a01:c23:641c:2200:c88d:7d7e:c962:437f) |
| 2020-10-17 11:35:52 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 11:36:05 +0000 | <jophish> | Ah, I understand! |
| 2020-10-17 11:36:13 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 264 seconds) |
| 2020-10-17 11:36:45 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2020-10-17 11:36:45 +0000 | <jophish> | tomjaguarpaw: poorly enough that I'm looking forward to the alternative! |
| 2020-10-17 11:37:58 +0000 | thir | (~thir@p200300f27f2f01007c5b769b7a26171f.dip0.t-ipconnect.de) |
| 2020-10-17 11:38:09 +0000 | thir | (~thir@p200300f27f2f01007c5b769b7a26171f.dip0.t-ipconnect.de) (Client Quit) |
| 2020-10-17 11:39:32 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 256 seconds) |
| 2020-10-17 11:40:05 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 2020-10-17 11:40:32 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:980e:44c6:52dd:fd04) (Ping timeout: 260 seconds) |
| 2020-10-17 11:41:10 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) |
| 2020-10-17 11:41:25 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:800e:b588:fbcf:aa74) |
| 2020-10-17 11:41:31 +0000 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 2020-10-17 11:49:18 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Read error: Connection reset by peer) |
| 2020-10-17 11:49:40 +0000 | cdepillabout | (~cdepillab@pl35600.ag1001.nttpc.ne.jp) |
| 2020-10-17 11:52:30 +0000 | hyiltiz | (~quassel@unaffiliated/hyiltiz) (Remote host closed the connection) |
| 2020-10-17 11:54:09 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
| 2020-10-17 11:55:20 +0000 | dhil | (~dhil@195.213.192.122) (Ping timeout: 258 seconds) |
| 2020-10-17 11:57:44 +0000 | <arahael> | ANd that alternative is: "Anything else!" ;) |
| 2020-10-17 12:00:02 +0000 | mterwoord | (~mterwoord@178.162.204.238) () |
| 2020-10-17 12:00:03 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) (Read error: Connection reset by peer) |
| 2020-10-17 12:03:25 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 12:03:55 +0000 | <tomjaguarpaw> | jophish: We should play a game some time |
| 2020-10-17 12:04:59 +0000 | drbean | (~drbean@TC210-63-209-144.static.apol.com.tw) |
| 2020-10-17 12:06:57 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 12:08:10 +0000 | jud | (~jud@unaffiliated/jud) (Quit: Leaving) |
| 2020-10-17 12:08:48 +0000 | fragamus_ | (~michaelgo@73.93.152.141) |
| 2020-10-17 12:10:06 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Read error: Connection reset by peer) |
| 2020-10-17 12:10:49 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 12:11:25 +0000 | knupfer | (~Thunderbi@200116b82cc5f500182db56019d06096.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
| 2020-10-17 12:11:28 +0000 | fragamus | (~michaelgo@73.93.153.97) (Ping timeout: 260 seconds) |
| 2020-10-17 12:11:47 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:e85b:6e33:d06d:4253) (Ping timeout: 272 seconds) |
| 2020-10-17 12:12:03 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 12:12:15 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 12:13:44 +0000 | Amras | (~Amras@unaffiliated/amras0000) |
| 2020-10-17 12:15:10 +0000 | Buntspecht | (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 2020-10-17 12:15:10 +0000 | jpcooper | (~user@unaffiliated/jpcooper) |
| 2020-10-17 12:15:41 +0000 | <jpcooper> | Hello. The documentation for ShowS (https://hackage.haskell.org/package/base-4.14.0.0/docs/Prelude.html#t:ShowS) mentions constant time concatenation of Strings. How does this work if Strings are just [Char]? |
| 2020-10-17 12:17:16 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2020-10-17 12:17:43 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 12:18:28 +0000 | invaser | (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
| 2020-10-17 12:19:31 +0000 | <Cheery> | jpcooper: it's how it is accessed. |
| 2020-10-17 12:19:35 +0000 | <jophish> | tomjaguarpaw: I would like that very much |
| 2020-10-17 12:19:51 +0000 | <jpcooper> | Cheery: Yes good point. Thanks. Should have worked it out in my head |
| 2020-10-17 12:20:16 +0000 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
| 2020-10-17 12:20:23 +0000 | <jophish> | tomjaguarpaw: I've been taking photos recently, if you'd like to look at an album: https://photos.app.goo.gl/yUVCPMRnks8cP4fHA |
| 2020-10-17 12:20:26 +0000 | dyeplexer | (~lol@unaffiliated/terpin) |
| 2020-10-17 12:21:05 +0000 | jud | (~jud@cpe-70-113-106-222.austin.res.rr.com) |
| 2020-10-17 12:21:05 +0000 | jud | (~jud@cpe-70-113-106-222.austin.res.rr.com) (Changing host) |
| 2020-10-17 12:21:05 +0000 | jud | (~jud@unaffiliated/jud) |
| 2020-10-17 12:21:08 +0000 | <Cheery> | jpcooper: you only need the first value when the structure is being accessed. |
| 2020-10-17 12:21:55 +0000 | Icewing | (~Icewing@unaffiliated/icewing) |
| 2020-10-17 12:22:13 +0000 | <phadej> | jpcooper: https://wiki.haskell.org/Difference_list |
| 2020-10-17 12:22:25 +0000 | supercoven | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Ping timeout: 240 seconds) |
| 2020-10-17 12:22:40 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 272 seconds) |
| 2020-10-17 12:23:02 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 12:23:12 +0000 | daGrevis | (~daGrevis@unaffiliated/dagrevis) (Quit: daGrevis) |
| 2020-10-17 12:23:47 +0000 | <jpcooper> | Makes sense. Thanks |
| 2020-10-17 12:24:07 +0000 | Gerula | (~Gerula@unaffiliated/gerula) (Read error: Connection reset by peer) |
| 2020-10-17 12:24:18 +0000 | <phadej> | https://www.cs.tufts.edu/~nr/cs257/archive/john-hughes/lists.pdf |
| 2020-10-17 12:24:21 +0000 | <phadej> | very old idea :) |
| 2020-10-17 12:24:25 +0000 | <Cheery> | for x ++ y, if x=(z:xs), then x ++ y = z:xs++y. |
| 2020-10-17 12:24:39 +0000 | daGrevis | (~daGrevis@unaffiliated/dagrevis) |
| 2020-10-17 12:24:57 +0000 | hackage | polysemy-video 0.1.1.0 - https://hackage.haskell.org/package/polysemy-video-0.1.1.0 (locallycompact) |
| 2020-10-17 12:26:51 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Read error: Connection reset by peer) |
| 2020-10-17 12:27:32 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-10-17 12:28:06 +0000 | dmiles | (dmiles@c-73-67-179-188.hsd1.wa.comcast.net) (Ping timeout: 265 seconds) |
| 2020-10-17 12:29:15 +0000 | SanchayanM | (~Sanchayan@136.185.169.16) (Quit: leaving) |
| 2020-10-17 12:32:46 +0000 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection) |
| 2020-10-17 12:37:03 +0000 | fendor | (~fendor@046124068105.public.t-mobile.at) (Remote host closed the connection) |
| 2020-10-17 12:38:06 +0000 | geekosaur | (ac3a8c49@172.58.140.73) |
| 2020-10-17 12:38:45 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 12:40:32 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 12:43:25 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2020-10-17 12:44:02 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:8da2:3041:1462:f42) |
| 2020-10-17 12:46:58 +0000 | Achylles | (~Achylles@179.111.113.1) |
| 2020-10-17 12:46:59 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Read error: Connection reset by peer) |
| 2020-10-17 12:47:33 +0000 | invaser | (~Thunderbi@31.148.23.125) |
| 2020-10-17 12:48:05 +0000 | gawen_ | (~gawen@movzbl.root.sx) (Quit: cya) |
| 2020-10-17 12:48:28 +0000 | gawen | (~gawen@movzbl.root.sx) |
| 2020-10-17 12:48:49 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 12:48:50 +0000 | machinedgod | (~machinedg@24.105.81.50) |
| 2020-10-17 12:50:08 +0000 | revtintin | (~revtintin@158.140.144.34) |
| 2020-10-17 12:54:04 +0000 | dhil | (~dhil@195.213.192.122) |
| 2020-10-17 12:54:36 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 12:54:40 +0000 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 2020-10-17 12:55:09 +0000 | untseac | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection) |
| 2020-10-17 12:55:14 +0000 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
| 2020-10-17 12:55:25 +0000 | Dragavnir | (~Dragavnir@217.146.82.202) |
| 2020-10-17 12:55:38 +0000 | untseac | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 2020-10-17 12:59:43 +0000 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 2020-10-17 13:00:09 +0000 | isBEKaml | (~~.~@unaffiliated/isbekaml) |
| 2020-10-17 13:05:37 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:8da2:3041:1462:f42) (Ping timeout: 272 seconds) |
| 2020-10-17 13:09:16 +0000 | avdb | (~avdb@ip-83-134-26-198.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 2020-10-17 13:10:19 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 260 seconds) |
| 2020-10-17 13:11:47 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 13:12:27 +0000 | JordiGH | (jordi@octave/developer/JordiGH) |
| 2020-10-17 13:12:51 +0000 | <JordiGH> | take 100 $ [fib_0*fib_3 - fib_1*fib_2 | fib_0:fib_1:fib_2:fib_3:_ <- tails fibs] where fibs = 0 : 1 : zipWith (+) fibs (tail fibs) |
| 2020-10-17 13:12:57 +0000 | <JordiGH> | Why is that a syntax error? |
| 2020-10-17 13:13:11 +0000 | <JordiGH> | Is it because I need newlines? |
| 2020-10-17 13:13:20 +0000 | <JordiGH> | I don't understand where I can use `where`. |
| 2020-10-17 13:13:20 +0000 | moy | (a4b11321@static-csq-cds-019033.business.bouyguestelecom.com) |
| 2020-10-17 13:13:45 +0000 | moy | Guest29616 |
| 2020-10-17 13:13:55 +0000 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 2020-10-17 13:13:56 +0000 | <ski> | JordiGH : `where' attaches to definition, not expressions |
| 2020-10-17 13:13:58 +0000 | <geekosaur> | `where` is part of declaration syntax, not something you can attach to just any expression |
| 2020-10-17 13:14:12 +0000 | carlomagno | (~cararell@inet-hqmc01-o.oracle.com) |
| 2020-10-17 13:14:45 +0000 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
| 2020-10-17 13:15:10 +0000 | <ski> | you could use `let fibs = ... in take 100 [...]' |
| 2020-10-17 13:15:25 +0000 | <JordiGH> | Is that because I can use = with let but not with where? |
| 2020-10-17 13:15:35 +0000 | <JordiGH> | Is that a definition or an expression? |
| 2020-10-17 13:15:47 +0000 | <ski> | `let ... in ...' is an expression |
| 2020-10-17 13:15:51 +0000 | <Guest29616> | Hello. Since i added sockaddr as a dependency of my stack project, stack build is displayid me an error saying i need to add a line on extra-deps field. But when i do, then it say that extra-deps field is not recognized. I dont get it :/ Herer is the error and my package.yaml : |
| 2020-10-17 13:15:52 +0000 | <Guest29616> | https://pastebin.com/68kGhcKJhttps://pastebin.com/68kGhcKJhttps://pastebin.com/68kGhcKJhttps://pas… |
| 2020-10-17 13:15:54 +0000 | <JordiGH> | But there's an = |
| 2020-10-17 13:15:58 +0000 | <JordiGH> | An = is not a definition? |
| 2020-10-17 13:16:11 +0000 | <Guest29616> | https://pastebin.com/68kGhcKJ sorry |
| 2020-10-17 13:16:15 +0000 | <ski> | yes, the part between the `let' and the `in' can contain defining equations |
| 2020-10-17 13:16:27 +0000 | <ski> | but the whole thing is still an expression |
| 2020-10-17 13:16:35 +0000 | <JordiGH> | So expressions can contain definitions? |
| 2020-10-17 13:16:47 +0000 | <JordiGH> | I can't write an expression that contains a where definition? |
| 2020-10-17 13:16:55 +0000 | <ski> | (cf the expression `(let ((fibs ...)) ..fibs..)' in the Lisps) |
| 2020-10-17 13:16:58 +0000 | hackage | nix-thunk 0.2.0.0 - Lightweight dependency management with Nix https://hackage.haskell.org/package/nix-thunk-0.2.0.0 (RyanTrinkle) |
| 2020-10-17 13:17:23 +0000 | <ski> | you can, but then that `where' have to be attached to a defining equation (or a `case' branch), inside that expression |
| 2020-10-17 13:17:40 +0000 | <ski> | you can go `let foo = ..x.. where x = ... in ..foo..' |
| 2020-10-17 13:17:52 +0000 | <JordiGH> | Haskell doesn't distinguish statements from expressions, does it? |
| 2020-10-17 13:18:06 +0000 | <ski> | (you can also do `case ... of x:xs -> ..x..xs..y.. where y = ..x..xs..') |
| 2020-10-17 13:18:11 +0000 | <JordiGH> | Definitions seem like statements, sort of. |
| 2020-10-17 13:18:30 +0000 | <ski> | definitions are not commands |
| 2020-10-17 13:18:43 +0000 | <ski> | (commands are what you write after `do') |
| 2020-10-17 13:18:44 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:a405:7897:267b:514b) |
| 2020-10-17 13:19:06 +0000 | <JordiGH> | Hm, okay. |
| 2020-10-17 13:19:34 +0000 | <ski> | (statements, i'd say, is what you write in Prolog. like `mother(bob,eliza).') |
| 2020-10-17 13:19:38 +0000 | JordiGH | = https://www.youtube.com/watch?v=KdxEAt91D7k |
| 2020-10-17 13:19:55 +0000 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 2020-10-17 13:20:29 +0000 | <ski> | (statements of fact, and conditional statements like "Mothers are parents.", `parent(Person,Mother) :- mother(Person,Mother).') |
| 2020-10-17 13:22:04 +0000 | <JordiGH> | I think I'm trying to picture Haskell syntax as sexps and failing. |
| 2020-10-17 13:22:15 +0000 | Guest29616 | (a4b11321@static-csq-cds-019033.business.bouyguestelecom.com) (Remote host closed the connection) |
| 2020-10-17 13:22:57 +0000 | <JordiGH> | And I thought "do" wasn't a real thing, just some kind of sugar for something else. |
| 2020-10-17 13:23:08 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 13:23:27 +0000 | <JordiGH> | Like, you could translate every "do" into something else that didn't require, uh, "commands". |
| 2020-10-17 13:23:33 +0000 | <geekosaur> | it is sugar. I would have described it more that the inside of a do pretends to be commands |
| 2020-10-17 13:23:39 +0000 | <JordiGH> | So, do is just a reader macro. |
| 2020-10-17 13:23:53 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2020-10-17 13:24:00 +0000 | <geekosaur> | but trying to shoehorn haskell into scheme syntax won't get you very far, I think |
| 2020-10-17 13:24:26 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 13:24:41 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 13:25:00 +0000 | <geekosaur> | I mean,in some sense typeclasses are also sugar, but you can't do it with a reader macro |
| 2020-10-17 13:25:35 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 13:25:40 +0000 | <ski> | `do ...' itself is an expression, yes |
| 2020-10-17 13:26:21 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 13:28:08 +0000 | <ski> | (there has been `do'-macros defined in Scheme, fwiw ..) |
| 2020-10-17 13:28:52 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Ping timeout: 258 seconds) |
| 2020-10-17 13:30:01 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 2020-10-17 13:30:31 +0000 | Dragavnir | (~Dragavnir@217.146.82.202) (Remote host closed the connection) |
| 2020-10-17 13:30:38 +0000 | brisbin | (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Quit: WeeChat 2.9) |
| 2020-10-17 13:31:47 +0000 | lnlsn | (~lnlsn@2804:14c:2b:891d::1007) |
| 2020-10-17 13:32:09 +0000 | whald | (~trem@2a02:810a:8100:11a6:6d28:5eff:640c:9eda) |
| 2020-10-17 13:33:41 +0000 | lep-delete | (~lep@94.31.82.44) (Read error: Connection reset by peer) |
| 2020-10-17 13:33:59 +0000 | lep-delete | (~lep@94.31.82.44) |
| 2020-10-17 13:36:50 +0000 | <JordiGH> | I'm identifying so hard right now with that kid who can't subtract. |
| 2020-10-17 13:38:59 +0000 | ephemera_ | (~E@122.34.1.187) (Read error: Connection reset by peer) |
| 2020-10-17 13:39:19 +0000 | nyd | (~lpy@unaffiliated/elysian) |
| 2020-10-17 13:39:54 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 13:40:04 +0000 | neefany | (4d283e9e@77.40.62.158) |
| 2020-10-17 13:40:09 +0000 | <ski> | the syntax ? |
| 2020-10-17 13:40:17 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
| 2020-10-17 13:40:36 +0000 | ensyde | (~ensyde@2600:1702:2e30:1a40:584e:1c7e:e97b:16d2) |
| 2020-10-17 13:42:28 +0000 | Icewing | (~Icewing@unaffiliated/icewing) (Ping timeout: 272 seconds) |
| 2020-10-17 13:44:55 +0000 | ensyde | (~ensyde@2600:1702:2e30:1a40:584e:1c7e:e97b:16d2) (Ping timeout: 240 seconds) |
| 2020-10-17 13:46:53 +0000 | geekosaur | (ac3a8c49@172.58.140.73) (Remote host closed the connection) |
| 2020-10-17 13:47:05 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 13:47:29 +0000 | neefany | (4d283e9e@77.40.62.158) (Remote host closed the connection) |
| 2020-10-17 13:50:40 +0000 | Rudd0^ | (~Rudd0@185.189.115.98) (Ping timeout: 246 seconds) |
| 2020-10-17 13:51:23 +0000 | reallymemorable | (~quassel@ip68-9-215-56.ri.ri.cox.net) (Ping timeout: 260 seconds) |
| 2020-10-17 13:51:32 +0000 | <bifunc2> | Is it appropriate to put an integration test into an HUnit testCase? |
| 2020-10-17 13:52:13 +0000 | nyd | (~lpy@unaffiliated/elysian) (Quit: nyd) |
| 2020-10-17 13:53:03 +0000 | cdepillabout | (~cdepillab@pl35600.ag1001.nttpc.ne.jp) (Quit: Leaving) |
| 2020-10-17 13:55:06 +0000 | fendor | (~fendor@046124068105.public.t-mobile.at) |
| 2020-10-17 13:55:31 +0000 | drbean | (~drbean@TC210-63-209-144.static.apol.com.tw) (Ping timeout: 256 seconds) |
| 2020-10-17 13:55:49 +0000 | Nahra | (~Nahra@unaffiliated/nahra) (Quit: leaving) |
| 2020-10-17 13:57:14 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 13:57:36 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:a405:7897:267b:514b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 14:00:50 +0000 | petersen | (~petersen@redhat/juhp) |
| 2020-10-17 14:00:57 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
| 2020-10-17 14:01:52 +0000 | gnrp1 | (~gnrp@84.39.117.57) |
| 2020-10-17 14:06:46 +0000 | bifunc2 | (bifunc2@gateway/vpn/protonvpn/bifunc2) (Ping timeout: 246 seconds) |
| 2020-10-17 14:07:30 +0000 | Sheilong | (uid293653@gateway/web/irccloud.com/x-mfevbueuacsxobra) |
| 2020-10-17 14:15:20 +0000 | kotrcka | (~kotrcka@ip-94-112-194-11.net.upcbroadband.cz) |
| 2020-10-17 14:16:14 +0000 | howdoi | (uid224@gateway/web/irccloud.com/x-ingbgflergmrjqkw) |
| 2020-10-17 14:16:30 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) |
| 2020-10-17 14:16:35 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:fc2b:b27d:96e3:a54e) |
| 2020-10-17 14:17:50 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:fc2b:b27d:96e3:a54e) (Client Quit) |
| 2020-10-17 14:21:06 +0000 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 272 seconds) |
| 2020-10-17 14:30:41 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-10-17 14:31:17 +0000 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 2020-10-17 14:31:17 +0000 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 2020-10-17 14:31:17 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) |
| 2020-10-17 14:31:52 +0000 | GyroW_ | (~GyroW@unaffiliated/gyrow) (Ping timeout: 272 seconds) |
| 2020-10-17 14:32:25 +0000 | ericsagnes | (~ericsagne@2405:6580:0:5100:1942:718:5977:178d) (Ping timeout: 240 seconds) |
| 2020-10-17 14:33:47 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:800e:b588:fbcf:aa74) (Ping timeout: 260 seconds) |
| 2020-10-17 14:33:59 +0000 | <zincy__> | Is it correct to refer to the parameter in Maybe's type constructor as a polymorphic type variable? |
| 2020-10-17 14:34:38 +0000 | xff0x | (~fox@2001:1a81:53c5:c200:3161:a29a:3186:4358) |
| 2020-10-17 14:34:45 +0000 | <L29Ah> | s/polymorphic// |
| 2020-10-17 14:35:15 +0000 | <zincy__> | Does that mean delete the word? |
| 2020-10-17 14:35:28 +0000 | urodna | (~urodna@unaffiliated/urodna) |
| 2020-10-17 14:35:33 +0000 | lnlsn | (~lnlsn@2804:14c:2b:891d::1007) (Ping timeout: 272 seconds) |
| 2020-10-17 14:35:35 +0000 | kotrcka | (~kotrcka@ip-94-112-194-11.net.upcbroadband.cz) (Quit: kotrcka) |
| 2020-10-17 14:35:49 +0000 | <L29Ah> | yes |
| 2020-10-17 14:36:14 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 14:36:18 +0000 | invaser | (~Thunderbi@31.148.23.125) (Quit: invaser) |
| 2020-10-17 14:36:44 +0000 | invaser | (~Thunderbi@31.148.23.125) |
| 2020-10-17 14:36:51 +0000 | <zincy__> | Ok thanks |
| 2020-10-17 14:37:54 +0000 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) |
| 2020-10-17 14:37:57 +0000 | bitmapper | (uid464869@gateway/web/irccloud.com/x-nisutrzlzcwlcitv) |
| 2020-10-17 14:38:48 +0000 | <ski> | zincy__ : not polymorphic |
| 2020-10-17 14:39:03 +0000 | dhil | (~dhil@195.213.192.122) (Ping timeout: 260 seconds) |
| 2020-10-17 14:39:33 +0000 | Tops2 | (~Tobias@dyndsl-095-033-019-139.ewe-ip-backbone.de) |
| 2020-10-17 14:39:57 +0000 | <zincy__> | ski: Maybe I dont understand what polymorphism is but when I see a type variable I just think oh look polymorphic |
| 2020-10-17 14:40:02 +0000 | <zincy__> | Is that misguided? |
| 2020-10-17 14:40:03 +0000 | <ski> | (parametric types begets polymorphic operations on such types. so there is a relation) |
| 2020-10-17 14:40:45 +0000 | <ski> | `length' is polymorphic. its type `[a] -> Int' is not polymorphic (nor is the type variable `a', in that type, polymorphic) |
| 2020-10-17 14:41:15 +0000 | <zincy__> | Oh so polymorphism refers to operations on values of different types |
| 2020-10-17 14:41:41 +0000 | <zincy__> | Whereas type variable is just about representation |
| 2020-10-17 14:41:48 +0000 | <ski> | the explicit type of `length' is `forall a. [a] -> Int'. Haskell allows you to leave out the `forall' in source, and it'll be inserted implicitly by the language. but it's always, conceptually, there |
| 2020-10-17 14:42:12 +0000 | <ski> | a value is polymorphic if and only if it has a type of general shape `forall a. ..a..' |
| 2020-10-17 14:42:24 +0000 | <zincy__> | Ah thanks! |
| 2020-10-17 14:42:47 +0000 | <ski> | just like a value is a list if and only if it has a type of general shape `[...]'. or is a function if and only if it has a type of general shape `... -> ...' |
| 2020-10-17 14:42:54 +0000 | <zincy__> | So just functions can be polymorphic? |
| 2020-10-17 14:43:10 +0000 | Tops2 | (~Tobias@dyndsl-095-033-019-139.ewe-ip-backbone.de) (Client Quit) |
| 2020-10-17 14:43:15 +0000 | <ski> | no. e.g. `Nothing' is not a function, but is still polymorphic. has type `forall a. Maybe a' |
| 2020-10-17 14:43:56 +0000 | <zincy__> | Is Nothing not a data constructor and data constructors are functions? |
| 2020-10-17 14:44:07 +0000 | <ski> | not all deata constructors are functions, no |
| 2020-10-17 14:44:25 +0000 | <ski> | `Nothing' doesn't have a type that looks like `... -> ...'. hence it's not a function |
| 2020-10-17 14:45:06 +0000 | <zincy__> | So only data constructors which are parameterised by at least one other value are functions? |
| 2020-10-17 14:45:10 +0000 | jpcooper | (~user@unaffiliated/jpcooper) (Ping timeout: 272 seconds) |
| 2020-10-17 14:45:13 +0000 | <ski> | in fact, strictly speaking, `Just' isn't a function, either. it has type `forall a. a -> Maybe a'. it's a "polymorphic value (that when specialized, will become a function)" |
| 2020-10-17 14:45:14 +0000 | ericsagnes | (~ericsagne@2405:6580:0:5100:54da:6b21:e514:b8a2) |
| 2020-10-17 14:45:18 +0000 | fragamus_ | (~michaelgo@73.93.152.141) (Read error: Connection reset by peer) |
| 2020-10-17 14:45:38 +0000 | <ski> | yes, data constructors which take arguments, which "pack data fields", are functions |
| 2020-10-17 14:46:07 +0000 | <ski> | (or, in this case, "polymorphic functions", meaning "polymorphic value, that when specialized, will become a function") |
| 2020-10-17 14:46:24 +0000 | <zincy__> | So forall a. id :: a -> a isn't a function? |
| 2020-10-17 14:46:33 +0000 | <zincy__> | Until you parameterise the `a`? |
| 2020-10-17 14:46:45 +0000 | Katarushisu | (~Katarushi@82.30.254.24) (Quit: The Lounge - https://thelounge.chat) |
| 2020-10-17 14:47:18 +0000 | <ski> | strictly speaking, it's not a function. but if we take `id :: forall a. a -> a', and specialize this, replacing `a' by `Bool' say, we get `id :: Bool -> Bool', which is a function |
| 2020-10-17 14:47:51 +0000 | <zincy__> | Thanks, I have upgraded my thinking |
| 2020-10-17 14:47:55 +0000 | unlink2 | (~unlink2@p200300ebcf17c500f1cd4c5efbdddd1e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2020-10-17 14:48:02 +0000 | <ski> | one perhaps confusing part here is that the specializing of a polymorphic value is written as nothing, in the syntax. we still write `id'. but conceptually, it's an operation |
| 2020-10-17 14:48:07 +0000 | <zincy__> | And to think I understood data constructors and Maybe :D |
| 2020-10-17 14:48:21 +0000 | <ski> | (with a language extension, you can actually write `id @Bool' for this) |
| 2020-10-17 14:49:00 +0000 | <zincy__> | Yeah so the polymorphic value becomes a function at some point during run time |
| 2020-10-17 14:49:44 +0000 | <ski> | you can think of it as being a kind of expression node, in the abstract syntax tree in the implementation. it's just that it's (usually) written as nothing, in the source code |
| 2020-10-17 14:50:00 +0000 | cole-h_ | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 2020-10-17 14:50:25 +0000 | fragamus | (~michaelgo@73.93.152.141) |
| 2020-10-17 14:50:26 +0000 | <zincy__> | Ah thanks |
| 2020-10-17 14:51:28 +0000 | hackage | path-io 1.6.1 - Interface to ‘directory’ package for users of ‘path’ https://hackage.haskell.org/package/path-io-1.6.1 (mrkkrp) |
| 2020-10-17 14:51:47 +0000 | isBEKaml | (~~.~@unaffiliated/isbekaml) (Quit: Leaving) |
| 2020-10-17 14:52:00 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) |
| 2020-10-17 14:52:11 +0000 | <ski> | something like `data Exp | Var Ident | Con Ident | App Exp Exp | Spec Exp Typ | ...' with `data Typ = TyVar Ident | TyCon Ident | Fun Typ Typ | Forall Ident Typ | ...' |
| 2020-10-17 14:52:14 +0000 | <zincy__> | So is the general shape the same for parametric and adhoc polymorphism? |
| 2020-10-17 14:52:29 +0000 | <zincy__> | Or is the difference there just the behaviour of the operation |
| 2020-10-17 14:53:25 +0000 | <ski> | you could represent an expression like `not (id False)', using this AST, as `App (Var "not") (App (Spec (Var "id") (TyCon "Bool")) (Con "False"))' |
| 2020-10-17 14:53:54 +0000 | <ski> | zincy__ : the difference is that the latter also involve type class constraints |
| 2020-10-17 14:54:08 +0000 | <zincy__> | Ok gotcha |
| 2020-10-17 14:54:34 +0000 | <ski> | `sort :: forall a. Ord a => [a] -> [a]' means `sort :: forall a. ((Ord a) => ([a] -> [a]))' |
| 2020-10-17 14:54:45 +0000 | <zincy__> | So will that AST be reqritten when the `a` is specialised? |
| 2020-10-17 14:54:59 +0000 | <zincy__> | And when would the rewriting occur? |
| 2020-10-17 14:55:01 +0000 | <ski> | `... => ...' is a separate operation on types. you could call it the type of overloaded operations, i suppose |
| 2020-10-17 14:55:56 +0000 | <zincy__> | Interesting |
| 2020-10-17 14:57:08 +0000 | <ski> | well, in that example, `Var "id"' would be classified as having the type (namely `forall a. a -> a') expressed by `Forall "a" (Fun (TyVar "a") (TyVar "a"))' |
| 2020-10-17 14:57:40 +0000 | knupfer | (~Thunderbi@200116b82cc5f5003098c64aed4ab9ee.dip.versatel-1u1.de) |
| 2020-10-17 14:58:02 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:417:348e:da6e:d990) |
| 2020-10-17 14:58:37 +0000 | <ski> | specializing that to `Bool', we have that `Spec (Var "id")' is classified by `Fun (TyCon "Bool") (TyCon "Bool")' |
| 2020-10-17 14:59:32 +0000 | hiroaki | (~hiroaki@2a02:908:4b18:e20::a362) (Ping timeout: 246 seconds) |
| 2020-10-17 15:00:01 +0000 | gnrp1 | (~gnrp@84.39.117.57) () |
| 2020-10-17 15:00:11 +0000 | <ski> | i'm not sure if the rewriting you have in mind would correspond to reducing/evaluating expressions .. or maybe you were thinking of the substitution (in the type, replacing the type variable with some other type) when specializing a polymorphic value |
| 2020-10-17 15:00:24 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 15:01:43 +0000 | <zincy__> | The latter |
| 2020-10-17 15:02:01 +0000 | unlink2 | (~unlink2@p200300ebcf3c540084d3be2f13d23449.dip0.t-ipconnect.de) |
| 2020-10-17 15:02:17 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 15:02:50 +0000 | <ski> | that substitution (in the type) happens during type-checking |
| 2020-10-17 15:03:06 +0000 | <zincy__> | So a nullary data/type constructor shouldn't be thought of as a function but just a plain value/type |
| 2020-10-17 15:03:17 +0000 | <zincy__> | Ah ok |
| 2020-10-17 15:03:54 +0000 | <zincy__> | Because I used to think of nullary constructors as functions of 0 parameters |
| 2020-10-17 15:03:58 +0000 | <ski> | (you could imagine a corresponding substitution, in the implementation of e.g. `sort', that would be happening (conceptually) at run-time. it's just that with a type-erasing implementation, this would corresponds to a no-op) |
| 2020-10-17 15:04:17 +0000 | <ski> | yea, all functions take exactly one argument, in Haskell |
| 2020-10-17 15:04:31 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 2020-10-17 15:04:38 +0000 | <ski> | if a value doesn't have a type that looks like `... -> ...', it's not a function |
| 2020-10-17 15:04:47 +0000 | <zincy__> | Ah great thanks |
| 2020-10-17 15:05:41 +0000 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) |
| 2020-10-17 15:05:47 +0000 | <ski> | it's another thing that, because of Haskell's non-strict semantics, you can define a value, like e.g. with `ones = 1 : ones', whose computation won't happen yet, until its result is demanded |
| 2020-10-17 15:06:47 +0000 | <ski> | in a strict language, the only way to delay a computation like this, tends to be to define a function. but that's not the case in Haskell |
| 2020-10-17 15:07:47 +0000 | Buntspecht | (~user@unaffiliated/siracusa) |
| 2020-10-17 15:07:47 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) (Read error: Connection reset by peer) |
| 2020-10-17 15:08:14 +0000 | <ski> | if you want to, you could say that general values, in Haskell, can be implemented by a procedure, that, when executed/followed, will produce the demanded result (typically a data constructor, to be matched on) |
| 2020-10-17 15:08:35 +0000 | <ski> | but that's an implementation detail, not a property of Haskell itself |
| 2020-10-17 15:08:48 +0000 | jneira_ | (~jneira@80.30.100.250) |
| 2020-10-17 15:09:10 +0000 | <ski> | (but sometimes people try to express this, by saying that "everything in Haskell is a function", or something like that) |
| 2020-10-17 15:10:01 +0000 | invaser | (~Thunderbi@31.148.23.125) (Ping timeout: 265 seconds) |
| 2020-10-17 15:10:37 +0000 | <zincy__> | So values with lazy semantics are represented by procedures which yield a value |
| 2020-10-17 15:10:59 +0000 | <zincy__> | But functions are concrete values which are yielded by such procedures |
| 2020-10-17 15:11:38 +0000 | <zincy__> | As in functions are specific values but in the first line I was talking about general values |
| 2020-10-17 15:11:55 +0000 | <ski> | (careful to distinguish values at the level of the language, from .. i suppose, let's call them "tokens" .. at the level of the implementation) |
| 2020-10-17 15:12:11 +0000 | hiroaki | (~hiroaki@2a02:908:4b18:e20::dd5c) |
| 2020-10-17 15:12:55 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 15:13:31 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 260 seconds) |
| 2020-10-17 15:16:51 +0000 | <zincy__> | Yeah |
| 2020-10-17 15:17:30 +0000 | lightwave | (uid469838@gateway/web/irccloud.com/x-senxbphlukrorlpa) |
| 2020-10-17 15:19:03 +0000 | <lightwave> | Hello everyone. Newbie here. Going down the Haskell highway without wearing a seat belt. |
| 2020-10-17 15:19:05 +0000 | danvet_ | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 2020-10-17 15:19:23 +0000 | <ski> | hello lightwave |
| 2020-10-17 15:19:57 +0000 | <lightwave> | hi ski |
| 2020-10-17 15:20:31 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:417:348e:da6e:d990) (Ping timeout: 272 seconds) |
| 2020-10-17 15:20:37 +0000 | <lightwave> | Any Doom Emacs user here? |
| 2020-10-17 15:20:38 +0000 | <ski> | do you have any questions, so far ? |
| 2020-10-17 15:21:13 +0000 | petersen | (~petersen@redhat/juhp) (Ping timeout: 264 seconds) |
| 2020-10-17 15:21:40 +0000 | <lightwave> | ski, I'm trying to get my Doom Emacs Haskell LSP module setup but having a confusion in Haskell-language-server installation. |
| 2020-10-17 15:22:04 +0000 | ski | hasn't tried getting LSP working |
| 2020-10-17 15:22:33 +0000 | <lightwave> | It seems Haskell-langauge-server can be installed with ghcup but I came across some advice against using ghcup. Is there a way to install Haskell-language-server with Stack? |
| 2020-10-17 15:22:37 +0000 | <ski> | (if you wait a bit, perhaps someone else who's tried that could give some advice) |
| 2020-10-17 15:22:41 +0000 | unlink2 | (~unlink2@p200300ebcf3c540084d3be2f13d23449.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 2020-10-17 15:22:49 +0000 | <lightwave> | ski, what do you use? Dante? |
| 2020-10-17 15:22:54 +0000 | unlink2 | (~unlink2@p200300ebcf3c54001b9e8be0a8d0c9c4.dip0.t-ipconnect.de) |
| 2020-10-17 15:23:22 +0000 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
| 2020-10-17 15:23:31 +0000 | <maerwald> | lightwave: what was that advice? |
| 2020-10-17 15:23:44 +0000 | <maerwald> | (against using ghcup, that is) |
| 2020-10-17 15:24:42 +0000 | ski | just uses basic `haskell-mode' |
| 2020-10-17 15:25:38 +0000 | <lightwave> | maerwald, here is the link. https://mail.haskell.org/pipermail/haskell-community/2015-September/000014.html |
| 2020-10-17 15:26:34 +0000 | <maerwald> | I don't see ghcup discussed there |
| 2020-10-17 15:26:51 +0000 | kuribas | (~user@ptr-25vy0i8tzgojz6gquv5.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 2020-10-17 15:26:56 +0000 | <maerwald> | that's a post from 2015 |
| 2020-10-17 15:27:01 +0000 | renzhi | (~renzhi@modemcable070.17-177-173.mc.videotron.ca) |
| 2020-10-17 15:27:03 +0000 | <lightwave> | maerwald, is ghcup not the same as 'Haskell Platform'? |
| 2020-10-17 15:27:05 +0000 | <maerwald> | no |
| 2020-10-17 15:27:35 +0000 | <lightwave> | So, ghcup doesn't install a global ghc and packages along with it? |
| 2020-10-17 15:27:37 +0000 | <maerwald> | I don't even know what haskell platform is these days |
| 2020-10-17 15:27:51 +0000 | <maerwald> | lightwave: it installs ghc and cabal into ~/.ghcup |
| 2020-10-17 15:27:55 +0000 | <maerwald> | nothing else |
| 2020-10-17 15:28:04 +0000 | <lightwave> | Haskell.org points Haskell Platform to ghcup. |
| 2020-10-17 15:28:16 +0000 | <lightwave> | Very confusing for newbie. :-) |
| 2020-10-17 15:28:17 +0000 | <maerwald> | yes, it's a mess of page redirections and confusion |
| 2020-10-17 15:28:26 +0000 | <maerwald> | I raised that several times, there's no action |
| 2020-10-17 15:28:52 +0000 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 265 seconds) |
| 2020-10-17 15:29:47 +0000 | <maerwald> | https://github.com/haskell-infra/www.haskell.org/issues/12 |
| 2020-10-17 15:30:19 +0000 | <lightwave> | Are those libraries/packages in ~/.ghcup/ghc/8.8.4/lib/ghc-8.8.4 not going to cause potential conflicts down the road for me? |
| 2020-10-17 15:30:39 +0000 | <maerwald> | no, those are always shipped with GHC, no matter how you install |
| 2020-10-17 15:30:49 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) |
| 2020-10-17 15:31:13 +0000 | <lightwave> | I feel less stressed now. 🙂 |
| 2020-10-17 15:31:17 +0000 | <maerwald> | :D |
| 2020-10-17 15:32:32 +0000 | <lightwave> | It drives me nut when I don't know if I'm potentially shooting myself in the foot especially when there is some voice in the Internet warning me loudly in my head. |
| 2020-10-17 15:32:43 +0000 | fendor | (~fendor@046124068105.public.t-mobile.at) (Ping timeout: 260 seconds) |
| 2020-10-17 15:32:52 +0000 | <maerwald> | Paranoia is a virtue |
| 2020-10-17 15:34:16 +0000 | Slava_ | (~textual@2a02:8308:89:8a00:2cbe:ab16:cb7a:e0ed) |
| 2020-10-17 15:34:16 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 2020-10-17 15:34:17 +0000 | DirefulSalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 2020-10-17 15:34:38 +0000 | DirefulSalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 2020-10-17 15:40:16 +0000 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 272 seconds) |
| 2020-10-17 15:40:35 +0000 | jpcooper | (~user@unaffiliated/jpcooper) |
| 2020-10-17 15:42:24 +0000 | MattMareo | (~mattl@unaffiliated/mattmareo) (Ping timeout: 256 seconds) |
| 2020-10-17 15:42:57 +0000 | MattMareo | (~mattl@unaffiliated/mattmareo) |
| 2020-10-17 15:42:58 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:6096:8e01:2935:dbba) |
| 2020-10-17 15:44:22 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds) |
| 2020-10-17 15:44:57 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 2020-10-17 15:45:15 +0000 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 2020-10-17 15:45:16 +0000 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 2020-10-17 15:45:16 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) |
| 2020-10-17 15:46:28 +0000 | hackage | req 3.7.0 - Easy-to-use, type-safe, expandable, high-level HTTP client library https://hackage.haskell.org/package/req-3.7.0 (mrkkrp) |
| 2020-10-17 15:48:50 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) |
| 2020-10-17 15:53:54 +0000 | Gerula | (~Gerula@unaffiliated/gerula) |
| 2020-10-17 15:55:15 +0000 | DarTar | (~DarTar@185.204.1.185) |
| 2020-10-17 15:55:26 +0000 | <monochrom> | How could the Internet be in your head? |
| 2020-10-17 15:55:34 +0000 | <maerwald> | a terrifying thought |
| 2020-10-17 15:56:37 +0000 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 264 seconds) |
| 2020-10-17 15:56:44 +0000 | <monochrom> | "The Phaaaaaaan, tom of the Internet is theeeeeeeere. In siiiiide my mind!" |
| 2020-10-17 15:58:32 +0000 | fendor | (~fendor@178.165.129.91.wireless.dyn.drei.com) |
| 2020-10-17 15:58:33 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) (Read error: Connection reset by peer) |
| 2020-10-17 15:58:40 +0000 | jneira_ | (~jneira@80.30.100.250) |
| 2020-10-17 15:59:01 +0000 | <monochrom> | Haskell Platform is now a historic relic. |
| 2020-10-17 16:00:10 +0000 | fendor_ | (~fendor@046124068105.public.t-mobile.at) |
| 2020-10-17 16:00:22 +0000 | Rudd0 | (~Rudd0@185.189.115.98) |
| 2020-10-17 16:00:24 +0000 | jsynacek | (~jsynacek@ip-185-149-130-112.kmenet.cz) |
| 2020-10-17 16:03:57 +0000 | <MarcelineVQ> | It belongs in a museum! |
| 2020-10-17 16:04:07 +0000 | <lightwave> | monochrom, my wife says I have a big head. |
| 2020-10-17 16:04:17 +0000 | <maerwald> | xd |
| 2020-10-17 16:04:22 +0000 | <monochrom> | Megamind |
| 2020-10-17 16:05:28 +0000 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-10-17 16:05:33 +0000 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 2020-10-17 16:06:21 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 16:06:45 +0000 | chris | Guest14237 |
| 2020-10-17 16:07:57 +0000 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-10-17 16:08:19 +0000 | Achylles | (~Achylles@179.111.113.1) (Quit: Leaving) |
| 2020-10-17 16:08:27 +0000 | tzh | (~tzh@2601:448:c500:5300::bfca) |
| 2020-10-17 16:08:33 +0000 | knupfer | (~Thunderbi@200116b82cc5f5003098c64aed4ab9ee.dip.versatel-1u1.de) (Quit: knupfer) |
| 2020-10-17 16:08:47 +0000 | knupfer | (~Thunderbi@200116b82cc5f5009c7410757d55ad2f.dip.versatel-1u1.de) |
| 2020-10-17 16:14:47 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) (Remote host closed the connection) |
| 2020-10-17 16:15:05 +0000 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 2020-10-17 16:15:06 +0000 | GyroW | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 2020-10-17 16:15:06 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) |
| 2020-10-17 16:17:24 +0000 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection) |
| 2020-10-17 16:17:32 +0000 | jneira_ | (~jneira@80.30.100.250) (Ping timeout: 258 seconds) |
| 2020-10-17 16:18:06 +0000 | ystael | (~ystael@209.6.50.55) |
| 2020-10-17 16:18:27 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) |
| 2020-10-17 16:18:27 +0000 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) |
| 2020-10-17 16:20:02 +0000 | lawr3nce | (~lawr3nce@gateway/tor-sasl/lawr3nce) |
| 2020-10-17 16:21:11 +0000 | geekosaur | (82659a0e@host154-014.vpn.uakron.edu) |
| 2020-10-17 16:21:34 +0000 | fendor_ | (~fendor@046124068105.public.t-mobile.at) (Ping timeout: 256 seconds) |
| 2020-10-17 16:23:20 +0000 | dcoutts_ | (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 272 seconds) |
| 2020-10-17 16:23:32 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:fc9b:d25a:66ec:3629) |
| 2020-10-17 16:24:25 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:6096:8e01:2935:dbba) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 16:28:58 +0000 | hackage | haskell-exp-parser 0.1.4 - Simple parser parser from Haskell to TemplateHaskell expressions https://hackage.haskell.org/package/haskell-exp-parser-0.1.4 (EmilAxelsson) |
| 2020-10-17 16:29:13 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 246 seconds) |
| 2020-10-17 16:31:37 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 2020-10-17 16:31:48 +0000 | GyroW | (~GyroW@d54c03e98.access.telenet.be) |
| 2020-10-17 16:31:48 +0000 | GyroW | (~GyroW@d54c03e98.access.telenet.be) (Changing host) |
| 2020-10-17 16:31:48 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) |
| 2020-10-17 16:31:52 +0000 | Slava_ | (~textual@2a02:8308:89:8a00:2cbe:ab16:cb7a:e0ed) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 16:34:06 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2020-10-17 16:34:13 +0000 | toorevitimirp | (~tooreviti@117.182.180.0) (Quit: Konversation terminated!) |
| 2020-10-17 16:34:28 +0000 | xerox_ | (~xerox@unaffiliated/xerox) |
| 2020-10-17 16:39:59 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-10-17 16:40:05 +0000 | jpcooper | (~user@unaffiliated/jpcooper) (Ping timeout: 240 seconds) |
| 2020-10-17 16:42:33 +0000 | Tops2 | (~Tobias@dyndsl-095-033-019-139.ewe-ip-backbone.de) |
| 2020-10-17 16:44:08 +0000 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
| 2020-10-17 16:44:58 +0000 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Client Quit) |
| 2020-10-17 16:45:11 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 16:45:56 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 256 seconds) |
| 2020-10-17 16:47:14 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 16:48:07 +0000 | lep-delete | Guest88073 |
| 2020-10-17 16:49:28 +0000 | <maerwald> | https://paste.tomsmeding.com/N28qCrM3 is there a more efficient way to write this? (with efficient I mean faster/better optimized, not golfing)e |
| 2020-10-17 16:50:38 +0000 | <opqdonut> | looks pretty optimal to me |
| 2020-10-17 16:50:43 +0000 | <phadej> | maerwald: chunksOf -- no |
| 2020-10-17 16:50:54 +0000 | <opqdonut> | given lists |
| 2020-10-17 16:51:14 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:6096:8e01:2935:dbba) |
| 2020-10-17 16:51:15 +0000 | <phadej> | https://hackage.haskell.org/package/extra-1.7.8/docs/src/Data.List.Extra.html#chunksOf |
| 2020-10-17 16:51:48 +0000 | <maerwald> | that looks pretty much the same, yeah |
| 2020-10-17 16:52:25 +0000 | irc_user | (uid423822@gateway/web/irccloud.com/x-jycoetfjhrvokwjj) |
| 2020-10-17 16:52:52 +0000 | Guest88073 | lep-delete |
| 2020-10-17 16:53:18 +0000 | coot | (~coot@37.30.35.208.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 256 seconds) |
| 2020-10-17 16:54:12 +0000 | Slava_ | (~textual@2a02:8308:89:8a00:2cbe:ab16:cb7a:e0ed) |
| 2020-10-17 16:56:48 +0000 | howdoi | (uid224@gateway/web/irccloud.com/x-ingbgflergmrjqkw) (Quit: Connection closed for inactivity) |
| 2020-10-17 16:56:54 +0000 | jneira_ | (~jneira@111.red-176-83-68.dynamicip.rima-tde.net) (Ping timeout: 272 seconds) |
| 2020-10-17 16:58:34 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 16:59:55 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 17:00:42 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 17:01:31 +0000 | lawr3nce | (~lawr3nce@gateway/tor-sasl/lawr3nce) (Quit: Leaving) |
| 2020-10-17 17:04:57 +0000 | hackage | joint 0.1.8 - Trying to compose non-composable https://hackage.haskell.org/package/joint-0.1.8 (iokasimovmt) |
| 2020-10-17 17:05:37 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 264 seconds) |
| 2020-10-17 17:06:37 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Remote host closed the connection) |
| 2020-10-17 17:06:38 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 17:06:55 +0000 | Sheilong | (uid293653@gateway/web/irccloud.com/x-mfevbueuacsxobra) (Quit: Connection closed for inactivity) |
| 2020-10-17 17:10:26 +0000 | Guest14237 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 17:11:59 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:fc9b:d25a:66ec:3629) (Ping timeout: 272 seconds) |
| 2020-10-17 17:12:00 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2020-10-17 17:12:55 +0000 | avdb | (~avdb@ip-83-134-202-115.dsl.scarlet.be) |
| 2020-10-17 17:18:49 +0000 | 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-17 17:21:16 +0000 | Slava_ | (~textual@2a02:8308:89:8a00:2cbe:ab16:cb7a:e0ed) (Quit: Textual IRC Client: www.textualapp.com) |
| 2020-10-17 17:21:48 +0000 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 2020-10-17 17:22:06 +0000 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-10-17 17:22:12 +0000 | avdb | (~avdb@ip-83-134-202-115.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 2020-10-17 17:22:14 +0000 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
| 2020-10-17 17:22:27 +0000 | avdb | (~avdb@ip-83-134-202-115.dsl.scarlet.be) |
| 2020-10-17 17:22:34 +0000 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-10-17 17:25:03 +0000 | Kira_ | (~Kira@201.192.165.173) |
| 2020-10-17 17:25:05 +0000 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 2020-10-17 17:25:50 +0000 | dhil | (~dhil@195.213.192.122) |
| 2020-10-17 17:25:59 +0000 | halogenandtoast | (~halogenan@072-176-116-031.res.spectrum.com) (Quit: WeeChat 2.9) |
| 2020-10-17 17:26:58 +0000 | avdb | (~avdb@ip-83-134-202-115.dsl.scarlet.be) (Client Quit) |
| 2020-10-17 17:27:05 +0000 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 240 seconds) |
| 2020-10-17 17:27:19 +0000 | <Kira_> | Greetings |
| 2020-10-17 17:27:25 +0000 | <lightwave> | Hello Kira |
| 2020-10-17 17:27:35 +0000 | <Kira_> | Helloo |
| 2020-10-17 17:28:20 +0000 | Sheilong | (uid293653@gateway/web/irccloud.com/x-uldwzywipdbtosxt) |
| 2020-10-17 17:30:05 +0000 | <lightwave> | newbie question: If one stack install hoogle or something else from one stack project and then stack install hoogle from another stack project. The hoogle binary will be overwritten in ~/.local/bin. If two different stack projects are using two different LTS version and hence two GHC versions, how do you ensure each sandbox project has its own versioned Hoogle binary? |
| 2020-10-17 17:30:57 +0000 | <phadej> | version of hoogle binary itself doesn't matter |
| 2020-10-17 17:31:28 +0000 | <phadej> | (except I don't know how compatible databases are) |
| 2020-10-17 17:31:43 +0000 | <phadej> | but having just one hoogle binary will make your life easier |
| 2020-10-17 17:32:33 +0000 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds) |
| 2020-10-17 17:32:57 +0000 | <geekosaur> | what should happen is it gets installed in a project-specific exec directpry and then symlinked to ~/local/bin, then use stack exec to run hoogle within each project to ensure its specific hoogle is run. although as phadej says it'll all go easier if you can get away with running one version globally |
| 2020-10-17 17:33:49 +0000 | oats | (~hurr@durr/im/a/sheep) (Quit: until later, my friends) |
| 2020-10-17 17:34:11 +0000 | cole-h_ | cole-h |
| 2020-10-17 17:34:12 +0000 | oats | (~hurr@durr/im/a/sheep) |
| 2020-10-17 17:34:39 +0000 | <Kira_> | I've havent organized myself to continuously keep practicing haskell, but little by little I think Im understanding the language. Finally when attempting to finish my tiny dummy login, I attempted to do the following: |
| 2020-10-17 17:34:47 +0000 | <Kira_> | https://pastebin.com/0DTLpFrW |
| 2020-10-17 17:34:54 +0000 | Inoperable | (~PLAYER_1@fancydata.science) (Remote host closed the connection) |
| 2020-10-17 17:35:10 +0000 | <Kira_> | but Im getting the error noted at the end of the pastebin ^: |
| 2020-10-17 17:35:40 +0000 | <Kira_> | • Couldn't match type ‘Login’ with ‘HashMap Text Value’ |
| 2020-10-17 17:35:43 +0000 | <Kira_> | Expected type: Object |
| 2020-10-17 17:35:45 +0000 | <Kira_> | Actual type: Login |
| 2020-10-17 17:35:47 +0000 | <Kira_> | • In the first argument of ‘(.:)’, namely ‘login’ |
| 2020-10-17 17:36:42 +0000 | <Kira_> | in Yesod do we obtain the values of keys of a JSON in a different way? |
| 2020-10-17 17:37:46 +0000 | <geekosaur> | it's not a json at that point, but a Haskell value |
| 2020-10-17 17:39:30 +0000 | <geekosaur> | or at least that's what you have told it with the type `Handler Login` |
| 2020-10-17 17:41:16 +0000 | jkachmar | (uid226591@gateway/web/irccloud.com/x-veduxhoxxqmbqgpm) |
| 2020-10-17 17:42:32 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 256 seconds) |
| 2020-10-17 17:42:53 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 17:45:51 +0000 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 2020-10-17 17:46:34 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 17:46:38 +0000 | a1c3 | (~a1c3@c-67-175-34-43.hsd1.il.comcast.net) |
| 2020-10-17 17:46:49 +0000 | <a1c3> | :t |
| 2020-10-17 17:46:55 +0000 | <Kira_> | hmmm |
| 2020-10-17 17:47:02 +0000 | <Kira_> | so then I should transform my Handler Login into a |
| 2020-10-17 17:47:05 +0000 | <Kira_> | Login |
| 2020-10-17 17:47:30 +0000 | <Kira_> | and then, obtain the property email, from this Login |
| 2020-10-17 17:47:34 +0000 | <geekosaur> | requireCheckJsonBody presumably did that |
| 2020-10-17 17:47:46 +0000 | <monochrom> | You already have your Login. |
| 2020-10-17 17:47:49 +0000 | <geekosaur> | so you just want to extract the email field from the resulting Haskell value |
| 2020-10-17 17:48:33 +0000 | a1c3 | (~a1c3@c-67-175-34-43.hsd1.il.comcast.net) (Client Quit) |
| 2020-10-17 17:49:58 +0000 | <Kira_> | Yup, you guys were right |
| 2020-10-17 17:50:19 +0000 | <Kira_> | like this: |
| 2020-10-17 17:50:21 +0000 | <Kira_> | postUserLoginR :: Handler Value |
| 2020-10-17 17:50:24 +0000 | <Kira_> | postUserLoginR = do |
| 2020-10-17 17:50:26 +0000 | <Kira_> | login <- requireCheckJsonBody :: Handler Login |
| 2020-10-17 17:50:28 +0000 | <Kira_> | let usermail = email login |
| 2020-10-17 17:50:30 +0000 | <Kira_> | sendStatusJSON ok200 (object [ "login" .= usermail ] ) |
| 2020-10-17 17:50:32 +0000 | <Kira_> | the method compiles |
| 2020-10-17 17:50:35 +0000 | <Kira_> | the project * |
| 2020-10-17 17:50:55 +0000 | <Kira_> | and then, when performing a POST request, I now get the user email |
| 2020-10-17 17:50:59 +0000 | GyroW_ | (~GyroW@d54C03E98.access.telenet.be) |
| 2020-10-17 17:50:59 +0000 | GyroW_ | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
| 2020-10-17 17:50:59 +0000 | GyroW_ | (~GyroW@unaffiliated/gyrow) |
| 2020-10-17 17:51:23 +0000 | <Kira_> | as {"login": "foo@mail.com"} |
| 2020-10-17 17:51:31 +0000 | <Kira_> | Thank you all! |
| 2020-10-17 17:52:10 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds) |
| 2020-10-17 17:57:31 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 244 seconds) |
| 2020-10-17 17:58:39 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:6096:8e01:2935:dbba) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 17:59:28 +0000 | hackage | less-arbitrary 0.1.0.0 - Linear time testing with variant of Arbitrary class that always terminates. https://hackage.haskell.org/package/less-arbitrary-0.1.0.0 (MichalGajda) |
| 2020-10-17 18:00:02 +0000 | DarTar | (~DarTar@185.204.1.185) () |
| 2020-10-17 18:01:14 +0000 | dyeplexer | (~lol@unaffiliated/terpin) (Remote host closed the connection) |
| 2020-10-17 18:02:14 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:a0a0:4e46:1a7b:c634) |
| 2020-10-17 18:02:14 +0000 | fendor_ | (~fendor@178.165.130.180.wireless.dyn.drei.com) |
| 2020-10-17 18:03:56 +0000 | chaosmasttter | (~chaosmast@p200300c4a710fa0165702c806d7b3e40.dip0.t-ipconnect.de) |
| 2020-10-17 18:04:42 +0000 | fendor | (~fendor@178.165.129.91.wireless.dyn.drei.com) (Ping timeout: 256 seconds) |
| 2020-10-17 18:05:27 +0000 | hackage | less-arbitrary 0.1.0.1 - Linear time testing with variant of Arbitrary class that always terminates. https://hackage.haskell.org/package/less-arbitrary-0.1.0.1 (MichalGajda) |
| 2020-10-17 18:07:10 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 18:07:33 +0000 | chris | Guest44468 |
| 2020-10-17 18:09:14 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) |
| 2020-10-17 18:09:28 +0000 | <monochrom> | aaarrrggghhh they forgot to include less-arbitray.md |
| 2020-10-17 18:09:31 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 18:10:22 +0000 | knupfer | (~Thunderbi@200116b82cc5f5009c7410757d55ad2f.dip.versatel-1u1.de) (Remote host closed the connection) |
| 2020-10-17 18:10:30 +0000 | knupfer | (~Thunderbi@200116b82cc5f5003098c64aed4ab9ee.dip.versatel-1u1.de) |
| 2020-10-17 18:10:57 +0000 | <monochrom> | OK nevermind, probably intended. |
| 2020-10-17 18:11:19 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 260 seconds) |
| 2020-10-17 18:11:44 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 18:11:48 +0000 | mananamenos__ | (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 2020-10-17 18:11:53 +0000 | Inoperable | (~PLAYER_1@fancydata.science) |
| 2020-10-17 18:13:13 +0000 | stree | (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
| 2020-10-17 18:13:30 +0000 | stree | (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) |
| 2020-10-17 18:15:03 +0000 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 260 seconds) |
| 2020-10-17 18:15:18 +0000 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
| 2020-10-17 18:17:59 +0000 | ephemera_ | (~E@122.34.1.187) (Read error: Connection reset by peer) |
| 2020-10-17 18:17:59 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Read error: Connection reset by peer) |
| 2020-10-17 18:18:01 +0000 | kenran | (~maier@87.123.205.246) |
| 2020-10-17 18:18:41 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 18:20:23 +0000 | cosimone_ | (~cosimone@5.170.241.6) |
| 2020-10-17 18:20:56 +0000 | netsoundW1 | (~netsoundW@185.204.1.185) |
| 2020-10-17 18:22:26 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-10-17 18:23:52 +0000 | cosimone__ | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 2020-10-17 18:23:58 +0000 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-17 18:24:12 +0000 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Ping timeout: 260 seconds) |
| 2020-10-17 18:24:38 +0000 | cosimone__ | cosimone |
| 2020-10-17 18:25:17 +0000 | Guest44468 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 18:25:40 +0000 | DirefulSalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 2020-10-17 18:26:01 +0000 | DirefulSalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 2020-10-17 18:26:19 +0000 | geekosaur | (82659a0e@host154-014.vpn.uakron.edu) (Ping timeout: 245 seconds) |
| 2020-10-17 18:26:50 +0000 | cosimone_ | (~cosimone@5.170.241.6) (Ping timeout: 272 seconds) |
| 2020-10-17 18:26:54 +0000 | brisbin | (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
| 2020-10-17 18:28:01 +0000 | conal_ | (~conal@64.71.133.70) |
| 2020-10-17 18:29:16 +0000 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
| 2020-10-17 18:29:58 +0000 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 2020-10-17 18:31:31 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 18:32:49 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 18:33:09 +0000 | revtintin | (~revtintin@158.140.144.34) (Quit: WeeChat 2.9) |
| 2020-10-17 18:36:52 +0000 | dcoutts_ | (~duncan@33.14.75.194.dyn.plus.net) |
| 2020-10-17 18:37:55 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 18:39:02 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
| 2020-10-17 18:39:54 +0000 | ddellacosta | (~dd@86.106.121.168) |
| 2020-10-17 18:41:12 +0000 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 2020-10-17 18:42:35 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 18:42:52 +0000 | ericsagnes | (~ericsagne@2405:6580:0:5100:54da:6b21:e514:b8a2) (Ping timeout: 260 seconds) |
| 2020-10-17 18:43:57 +0000 | acidjnk_new | (~acidjnk@p200300d0c72378540964073eddc5c406.dip0.t-ipconnect.de) |
| 2020-10-17 18:44:09 +0000 | MaoZeDong_ | (~yuri@2a00:1370:8135:ef77:e999:4684:87eb:b717) |
| 2020-10-17 18:44:15 +0000 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 2020-10-17 18:45:12 +0000 | kenran | (~maier@87.123.205.246) (Ping timeout: 272 seconds) |
| 2020-10-17 18:47:40 +0000 | aenesidemus | (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net) (Read error: Connection reset by peer) |
| 2020-10-17 18:47:51 +0000 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 2020-10-17 18:49:58 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 18:51:13 +0000 | geekosaur | (82659a0e@host154-014.vpn.uakron.edu) |
| 2020-10-17 18:53:19 +0000 | MaoZeDong_ | (~yuri@2a00:1370:8135:ef77:e999:4684:87eb:b717) (Ping timeout: 272 seconds) |
| 2020-10-17 18:54:59 +0000 | ericsagnes | (~ericsagne@2405:6580:0:5100:c46f:cebb:a37a:3cd) |
| 2020-10-17 18:56:13 +0000 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
| 2020-10-17 19:01:43 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 19:02:19 +0000 | masamasa | (~jimmy@2a02:20c8:4124::1d) |
| 2020-10-17 19:02:24 +0000 | <masamasa> | haskell is fooking shite |
| 2020-10-17 19:03:17 +0000 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 2020-10-17 19:03:20 +0000 | mananamenos__ | (~mananamen@84.122.202.215.dyn.user.ono.com) (Quit: Leaving) |
| 2020-10-17 19:03:22 +0000 | berberman_ | (~berberman@unaffiliated/berberman) |
| 2020-10-17 19:03:39 +0000 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 2020-10-17 19:05:33 +0000 | <maerwald> | this seems to be a recent meme |
| 2020-10-17 19:06:17 +0000 | Deide | (~Deide@217.155.19.23) |
| 2020-10-17 19:06:22 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 265 seconds) |
| 2020-10-17 19:06:24 +0000 | <maerwald> | I wonder if these are the fruits of a failed course |
| 2020-10-17 19:06:41 +0000 | <masamasa> | fak u |
| 2020-10-17 19:06:48 +0000 | <geekosaur> | or "fruit" singular |
| 2020-10-17 19:07:26 +0000 | <maerwald> | masamasa: I respectfully decline |
| 2020-10-17 19:07:55 +0000 | ChanServ | +o monochrom |
| 2020-10-17 19:07:58 +0000 | monochrom | +b *!*@2a02:20c8:4124::1d |
| 2020-10-17 19:07:58 +0000 | masamasa | monochrommasamasa |
| 2020-10-17 19:08:06 +0000 | monochrom | -o monochrom |
| 2020-10-17 19:08:38 +0000 | coot | (~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl) |
| 2020-10-17 19:10:09 +0000 | lemmih | (~lemmih@2406:3003:2072:44:70c9:d5cf:dc27:2e6a) (Remote host closed the connection) |
| 2020-10-17 19:10:26 +0000 | lemmih | (~lemmih@2406:3003:2072:44:508f:7862:5b0d:296) |
| 2020-10-17 19:11:38 +0000 | <Rembane> | Is the fruit from the appetizer, main course or desert? |
| 2020-10-17 19:11:50 +0000 | <Kira_> | wow |
| 2020-10-17 19:13:25 +0000 | conal_ | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-17 19:13:55 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 240 seconds) |
| 2020-10-17 19:14:49 +0000 | <geekosaur> | just desserts? |
| 2020-10-17 19:14:55 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:14c3:11ef:29f5:c42) |
| 2020-10-17 19:15:22 +0000 | lucasb | (uid333435@gateway/web/irccloud.com/x-tkhwugfitzdjoeco) |
| 2020-10-17 19:15:37 +0000 | <Rembane> | Seems legit, the spice must flow. |
| 2020-10-17 19:16:11 +0000 | <Rembane> | Also, I learned the hard way that you need to walk without rhythm and you won't attract the worm. |
| 2020-10-17 19:17:09 +0000 | lemmih | (~lemmih@2406:3003:2072:44:508f:7862:5b0d:296) (Remote host closed the connection) |
| 2020-10-17 19:17:37 +0000 | lemmih | (~lemmih@2406:3003:2072:44:508f:7862:5b0d:296) |
| 2020-10-17 19:17:52 +0000 | tzh | (~tzh@2601:448:c500:5300::bfca) (Ping timeout: 260 seconds) |
| 2020-10-17 19:20:07 +0000 | <tomsmeding> | geekosaur: the three that I remember (including this one) were all different IPs, it seems |
| 2020-10-17 19:20:39 +0000 | anik | (~anik@103.23.207.146) |
| 2020-10-17 19:21:08 +0000 | tzh | (~tzh@c-73-94-222-143.hsd1.mn.comcast.net) |
| 2020-10-17 19:27:12 +0000 | <monochrom> | Can worms tell whether your walk pattern is cryptographically random or not? :) |
| 2020-10-17 19:29:23 +0000 | <Rembane> | monochrom: The high level worms with great taste can. :) |
| 2020-10-17 19:29:49 +0000 | geekosaur | *eyeroll* |
| 2020-10-17 19:31:32 +0000 | anik | (~anik@103.23.207.146) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 2020-10-17 19:35:57 +0000 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:14c3:11ef:29f5:c42) (Ping timeout: 260 seconds) |
| 2020-10-17 19:39:42 +0000 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection) |
| 2020-10-17 19:40:14 +0000 | Guest_76 | (49fcca1b@73.252.202.27) |
| 2020-10-17 19:41:08 +0000 | Guest_76 | (49fcca1b@73.252.202.27) () |
| 2020-10-17 19:41:29 +0000 | <ddellacosta> | wait, did that person leave without anyone converting them into a Haskell fanatic? sad |
| 2020-10-17 19:42:22 +0000 | <koz_> | ddellacosta: We only have so much juice. |
| 2020-10-17 19:42:26 +0000 | <[exa]> | unbeievable, these difficult times |
| 2020-10-17 19:42:38 +0000 | <ddellacosta> | koz_: that's fair |
| 2020-10-17 19:42:58 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
| 2020-10-17 19:42:59 +0000 | <koz_> | And honestly, I don't think we're under any obligation to convince bad-faith trolls. |
| 2020-10-17 19:43:13 +0000 | <koz_> | It's not usually even possible. |
| 2020-10-17 19:43:27 +0000 | <ddellacosta> | koz_: oh not at all, I just always think of that one legendary exchange with the person who came on here trolling and then decided to check Haskell out for real |
| 2020-10-17 19:43:44 +0000 | <koz_> | ddellacosta: Well, sometimes, we can work magic, but honestly, in 2020? We're all tired. |
| 2020-10-17 19:43:48 +0000 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2020-10-17 19:43:54 +0000 | <ddellacosta> | koz_: absolutely, I feel that |
| 2020-10-17 19:44:37 +0000 | <ddellacosta> | here we are (homophobic language at the beginning, be warned) https://gist.github.com/quchen/5280339 |
| 2020-10-17 19:45:49 +0000 | <koz_> | ddellacosta: Yeah, I'm familiar. |
| 2020-10-17 19:46:36 +0000 | <ddellacosta> | to be fair, in the example I linked to that person was clearly more receptive |
| 2020-10-17 19:46:56 +0000 | gioyik | (~gioyik@190.67.155.46) |
| 2020-10-17 19:47:02 +0000 | <maerwald> | he only got kicked from bitcoin-dev |
| 2020-10-17 19:47:08 +0000 | <maerwald> | that doesn't seem too hard |
| 2020-10-17 19:47:13 +0000 | <ddellacosta> | hahaha |
| 2020-10-17 19:52:23 +0000 | hyiltiz | (~quassel@82.118.227.47) |
| 2020-10-17 19:52:23 +0000 | hyiltiz | (~quassel@82.118.227.47) (Changing host) |
| 2020-10-17 19:52:23 +0000 | hyiltiz | (~quassel@unaffiliated/hyiltiz) |
| 2020-10-17 19:53:30 +0000 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-vyxxbgdzqophhzrj) |
| 2020-10-17 19:55:51 +0000 | karanlikmadde | (~karanlikm@2a01:c23:641c:2200:c88d:7d7e:c962:437f) (Quit: karanlikmadde) |
| 2020-10-17 20:01:17 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) |
| 2020-10-17 20:02:35 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) (Read error: Connection reset by peer) |
| 2020-10-17 20:02:48 +0000 | <tomsmeding> | that is an absolute gem |
| 2020-10-17 20:02:56 +0000 | <tomsmeding> | though indeed the person seemed more receptive |
| 2020-10-17 20:02:58 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) |
| 2020-10-17 20:03:12 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) (Max SendQ exceeded) |
| 2020-10-17 20:03:56 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) |
| 2020-10-17 20:04:11 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) (Max SendQ exceeded) |
| 2020-10-17 20:04:43 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) |
| 2020-10-17 20:04:56 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) (Max SendQ exceeded) |
| 2020-10-17 20:05:28 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) |
| 2020-10-17 20:05:43 +0000 | lucid_0x80 | (~lucid_0x8@188.253.231.133) (Max SendQ exceeded) |
| 2020-10-17 20:07:27 +0000 | knupfer | (~Thunderbi@200116b82cc5f5003098c64aed4ab9ee.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 2020-10-17 20:08:20 +0000 | fendor_ | (~fendor@178.165.130.180.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2020-10-17 20:09:16 +0000 | StoneToad | (~StoneToad@199-167-119-214.ppp.storm.ca) |
| 2020-10-17 20:09:53 +0000 | fendor | (~fendor@178.165.130.180.wireless.dyn.drei.com) |
| 2020-10-17 20:10:03 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 20:10:31 +0000 | fendor | (~fendor@178.165.130.180.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2020-10-17 20:11:34 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) |
| 2020-10-17 20:13:19 +0000 | rprije | (~rprije@203-219-208-42.static.tpgi.com.au) |
| 2020-10-17 20:13:58 +0000 | Codaraxis | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Quit: Leaving) |
| 2020-10-17 20:16:13 +0000 | Tops2 | (~Tobias@dyndsl-095-033-019-139.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
| 2020-10-17 20:17:17 +0000 | lnlsn | (~lnlsn@189.100.212.150) |
| 2020-10-17 20:18:05 +0000 | son0p | (~son0p@181.136.122.143) |
| 2020-10-17 20:18:16 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-10-17 20:21:42 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 20:23:00 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 20:25:03 +0000 | lnlsn | (~lnlsn@189.100.212.150) (Read error: Connection reset by peer) |
| 2020-10-17 20:25:34 +0000 | karanlikmadde | (~karanlikm@2a01:c23:641c:2200:c88d:7d7e:c962:437f) |
| 2020-10-17 20:26:07 +0000 | <{abby}> | love the lambdabot command to ping all of the ops |
| 2020-10-17 20:27:38 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 20:28:38 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 256 seconds) |
| 2020-10-17 20:28:52 +0000 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-10-17 20:30:05 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 20:30:44 +0000 | stree | (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
| 2020-10-17 20:31:01 +0000 | stree | (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) |
| 2020-10-17 20:32:04 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 258 seconds) |
| 2020-10-17 20:34:31 +0000 | man | (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) |
| 2020-10-17 20:34:39 +0000 | man | Guest55558 |
| 2020-10-17 20:34:56 +0000 | Guest55558 | (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Remote host closed the connection) |
| 2020-10-17 20:37:03 +0000 | plast1k_ | (~plast1k_@196.207.181.246) (Ping timeout: 258 seconds) |
| 2020-10-17 20:41:18 +0000 | geekosaur | (82659a0e@host154-014.vpn.uakron.edu) (Remote host closed the connection) |
| 2020-10-17 20:41:51 +0000 | abhixec | (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) |
| 2020-10-17 20:42:31 +0000 | ystael | (~ystael@209.6.50.55) (Ping timeout: 260 seconds) |
| 2020-10-17 20:43:17 +0000 | untseac | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection) |
| 2020-10-17 20:43:45 +0000 | untseac | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 2020-10-17 20:45:49 +0000 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 2020-10-17 20:45:54 +0000 | knupfer | (~Thunderbi@200116b82cc5f500858f4de08bca2329.dip.versatel-1u1.de) |
| 2020-10-17 20:48:49 +0000 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 2020-10-17 20:50:37 +0000 | knupfer | (~Thunderbi@200116b82cc5f500858f4de08bca2329.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 2020-10-17 20:52:48 +0000 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fce4:f626:e7a:99f3) |
| 2020-10-17 20:56:56 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 272 seconds) |
| 2020-10-17 20:57:43 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 21:00:01 +0000 | netsoundW1 | (~netsoundW@185.204.1.185) () |
| 2020-10-17 21:00:50 +0000 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 2020-10-17 21:01:28 +0000 | untseac | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection) |
| 2020-10-17 21:02:11 +0000 | untseac | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 2020-10-17 21:03:26 +0000 | chaosmasttter | (~chaosmast@p200300c4a710fa0165702c806d7b3e40.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
| 2020-10-17 21:03:42 +0000 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 2020-10-17 21:06:46 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2020-10-17 21:06:47 +0000 | hekkaidekapus{ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 2020-10-17 21:08:43 +0000 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
| 2020-10-17 21:10:52 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 272 seconds) |
| 2020-10-17 21:11:16 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 21:11:58 +0000 | ashbreeze | (~mark@72-161-252-32.dyn.centurytel.net) |
| 2020-10-17 21:12:19 +0000 | jsynacek | (~jsynacek@ip-185-149-130-112.kmenet.cz) (Ping timeout: 258 seconds) |
| 2020-10-17 21:12:50 +0000 | GyroW | (~GyroW@d54C03E98.access.telenet.be) |
| 2020-10-17 21:12:50 +0000 | GyroW | (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
| 2020-10-17 21:12:50 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) |
| 2020-10-17 21:13:46 +0000 | GyroW_ | (~GyroW@unaffiliated/gyrow) (Ping timeout: 246 seconds) |
| 2020-10-17 21:14:43 +0000 | _ashbreeze_ | (~mark@72-161-252-240.dyn.centurytel.net) (Ping timeout: 260 seconds) |
| 2020-10-17 21:17:51 +0000 | carldd102 | (~carldd@90-224-49-113-no56.tbcn.telia.com) (Quit: The Lounge - https://thelounge.chat) |
| 2020-10-17 21:18:14 +0000 | carldd | (~carldd@90-224-49-113-no56.tbcn.telia.com) |
| 2020-10-17 21:18:59 +0000 | danvet_ | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
| 2020-10-17 21:20:28 +0000 | hackage | uniqueness-periods-vector-examples 0.13.0.0 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.13.0.0 (OleksandrZhabenko) |
| 2020-10-17 21:21:31 +0000 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Ping timeout: 272 seconds) |
| 2020-10-17 21:21:34 +0000 | CodeWeaver | (49eff865@c-73-239-248-101.hsd1.wa.comcast.net) |
| 2020-10-17 21:25:07 +0000 | _ashbreeze_ | (~mark@72-161-252-32.dyn.centurytel.net) |
| 2020-10-17 21:26:01 +0000 | fxg | (~fxg@unaffiliated/fxg) |
| 2020-10-17 21:26:22 +0000 | ashbreeze | (~mark@72-161-252-32.dyn.centurytel.net) (Ping timeout: 256 seconds) |
| 2020-10-17 21:27:51 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:a0a0:4e46:1a7b:c634) (Ping timeout: 272 seconds) |
| 2020-10-17 21:30:39 +0000 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 2020-10-17 21:33:07 +0000 | <CodeWeaver> | Got kind of an odd discrepancy in thunk (or maybe seq) behaviour... |
| 2020-10-17 21:33:25 +0000 | <CodeWeaver> | for ghci in particular. |
| 2020-10-17 21:33:27 +0000 | <CodeWeaver> | https://pastebin.pl/view/b4a4b142 |
| 2020-10-17 21:34:16 +0000 | <CodeWeaver> | If I run this in the interpreter, in stack ghci, must by asking main to run, q seems to get dethunked once. You can see the delay as it evaluates. |
| 2020-10-17 21:34:19 +0000 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 260 seconds) |
| 2020-10-17 21:35:52 +0000 | CodeWeaver | (49eff865@c-73-239-248-101.hsd1.wa.comcast.net) (Remote host closed the connection) |
| 2020-10-17 21:36:44 +0000 | CodeWeaver | (49eff865@c-73-239-248-101.hsd1.wa.comcast.net) |
| 2020-10-17 21:36:48 +0000 | <CodeWeaver> | Stupid disconnect. |
| 2020-10-17 21:37:09 +0000 | <CodeWeaver> | If I use foo direction as in foo () in the interpreter, it again dethunks q just once. |
| 2020-10-17 21:37:42 +0000 | coot | (~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2020-10-17 21:37:43 +0000 | <CodeWeaver> | But if I paste the let clause _from_ foo directly into the interpreter, it seems to dethunk q muiltiple times. |
| 2020-10-17 21:37:48 +0000 | knupfer | (~Thunderbi@87.123.206.163) |
| 2020-10-17 21:39:48 +0000 | <jil> | Hello, working through theexampls of the book programming in haskel, I run into this problem https://paste.debian.net/1167620/ |
| 2020-10-17 21:39:50 +0000 | <CodeWeaver> | Funny thing is if I paste the entirety of the foo function (with a preceding let) into the interpreter and run _that_, it seems to dethunk q multiple times there too. |
| 2020-10-17 21:40:07 +0000 | <jil> | The type signature for myand lacks an accompanying binding |
| 2020-10-17 21:40:10 +0000 | <CodeWeaver> | Hoping someone smarter than me knows why the interpreter behaves differently under these circumstances. |
| 2020-10-17 21:40:35 +0000 | ashbreeze | (~mark@72-161-252-32.dyn.centurytel.net) |
| 2020-10-17 21:41:16 +0000 | <[exa]> | CodeWeaver: weird... monomorphism restriction perhaps? |
| 2020-10-17 21:41:28 +0000 | <[exa]> | (not sure if it would apply then though) |
| 2020-10-17 21:42:13 +0000 | <[exa]> | jil: you need to say the type for the same identifier that you are defining; ie. there you are typing 'myand' and defining '&&' |
| 2020-10-17 21:42:45 +0000 | <[exa]> | jil: if you rename it to: True `myand` True = True ... etc, it should work |
| 2020-10-17 21:43:04 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 21:43:08 +0000 | _ashbreeze_ | (~mark@72-161-252-32.dyn.centurytel.net) (Ping timeout: 260 seconds) |
| 2020-10-17 21:43:35 +0000 | <CodeWeaver> | jil: Or corresondingly, (&&) True True = True in the second half, so that you can see you're defining a function more obviously. |
| 2020-10-17 21:44:26 +0000 | <jil> | ho I see. thank oyou |
| 2020-10-17 21:44:31 +0000 | <CodeWeaver> | exa: Maybe, but I'm not quite smart enough to work out if that's the case. There's a subtlety here... loading in that file and evaluating foo (), as opposed to using a let foo _ = ... paste into the interpreter... the distinction eludes me. |
| 2020-10-17 21:45:09 +0000 | <[exa]> | CodeWeaver: well, check the types, that should show if you're dreaded by the monomorphism |
| 2020-10-17 21:45:39 +0000 | <CodeWeaver> | exa: Okay, there's a way to do that? How would I show the distinction? (My haskell's a bit rusty, and that's above my mental pay grade) |
| 2020-10-17 21:45:49 +0000 | <CodeWeaver> | : can use the :t syntax in ghci but I don't know what I"m looking for. |
| 2020-10-17 21:45:52 +0000 | <[exa]> | otherwise it's some subtlety in ghci perhaps, I really don't know much about that |
| 2020-10-17 21:46:20 +0000 | <[exa]> | CodeWeaver: if it's MR, you will have the type of one binding defaulted, and one with a typeclass |
| 2020-10-17 21:46:32 +0000 | ephemera_ | (~E@122.34.1.187) (Read error: Connection reset by peer) |
| 2020-10-17 21:46:43 +0000 | <[exa]> | and the typeclass materializes the "invisible" parameter that causes that memoization does not occur |
| 2020-10-17 21:47:02 +0000 | <[exa]> | ...or perhaps add explicit type to foo and see |
| 2020-10-17 21:47:27 +0000 | <jil> | ho I see. thank you |
| 2020-10-17 21:47:29 +0000 | gioyik | (~gioyik@190.67.155.46) (Quit: WeeChat 2.9) |
| 2020-10-17 21:47:43 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 21:47:52 +0000 | <CodeWeaver> | exa: Okay, loaded from file, evaluating foo (), where it behaves right, the type is: |
| 2020-10-17 21:47:53 +0000 | <CodeWeaver> | foo :: Num a => p -> [a] |
| 2020-10-17 21:47:56 +0000 | <jil> | why don't I nee back quote around && ? |
| 2020-10-17 21:48:23 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2020-10-17 21:48:39 +0000 | <CodeWeaver> | jil: because its an operator. You turn normal functions into operators with the `myadd` syntax, and you turn operators into ordinary functions with the (&&) syntax |
| 2020-10-17 21:49:07 +0000 | <CodeWeaver> | exa: The type for the directly pasted let foo _ = ... line gives: |
| 2020-10-17 21:49:08 +0000 | <CodeWeaver> | foo :: Num a => p -> [a] |
| 2020-10-17 21:49:24 +0000 | <CodeWeaver> | So, nothing explicitly revealed from :t |
| 2020-10-17 21:50:12 +0000 | <CodeWeaver> | Very odd that the dethunking would simply not happen in one case. |
| 2020-10-17 21:50:16 +0000 | <[exa]> | CodeWeaver: o good, try forcing the type to p -> [Int] |
| 2020-10-17 21:50:50 +0000 | <CodeWeaver> | exa: will do. |
| 2020-10-17 21:51:02 +0000 | knupfer | (~Thunderbi@87.123.206.163) (Ping timeout: 258 seconds) |
| 2020-10-17 21:52:15 +0000 | <[exa]> | anyway I think this might be the whole reason for monomorphism restriction; the parameter appears there automagically and there is no way to really memoize something with a parameter |
| 2020-10-17 21:52:37 +0000 | <CodeWeaver> | But I'm not memoizing foo. |
| 2020-10-17 21:52:42 +0000 | <CodeWeaver> | I'm memoizing q, inside foo. |
| 2020-10-17 21:52:46 +0000 | <jil> | Clear. Thank you |
| 2020-10-17 21:53:02 +0000 | <CodeWeaver> | q has no relationship to the 'throwaway value' p. |
| 2020-10-17 21:53:29 +0000 | <[exa]> | CodeWeaver: that might vary if you start pulling the code out of context |
| 2020-10-17 21:53:38 +0000 | <[exa]> | not sure though |
| 2020-10-17 21:54:05 +0000 | <[exa]> | if you specialized the code to Ints and nothing happened, it's likely not the monomorphism restriction |
| 2020-10-17 21:54:31 +0000 | <CodeWeaver> | Nope, no effect. At least if I got my multiline let syntax in the repl right. |
| 2020-10-17 21:55:10 +0000 | _ashbreeze_ | (~mark@72-161-252-32.dyn.centurytel.net) |
| 2020-10-17 21:55:14 +0000 | <[exa]> | quite likely, it's pretty resistant to weirdness :] |
| 2020-10-17 21:55:21 +0000 | <[exa]> | ok nevermind, it was a guess :D |
| 2020-10-17 21:55:25 +0000 | <CodeWeaver> | Good guess. |
| 2020-10-17 21:55:59 +0000 | <CodeWeaver> | Its more a curiosity, because by the time I'm ready to do something performant, I'm rarely doing direct pastes into the repl like that. But.... it really bugs me not to know. ;) |
| 2020-10-17 21:56:23 +0000 | <CodeWeaver> | I mean, I"m literally using the repl in both cases. It's just that in one case it's bein gloaded from a file. |
| 2020-10-17 21:56:25 +0000 | ashbreeze | (~mark@72-161-252-32.dyn.centurytel.net) (Ping timeout: 240 seconds) |
| 2020-10-17 21:56:28 +0000 | hackage | uniqueness-periods-vector-examples 0.13.1.0 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.13.1.0 (OleksandrZhabenko) |
| 2020-10-17 21:56:40 +0000 | <dolio> | Loaded from a file isn't the same as pasted into the repl. |
| 2020-10-17 21:56:48 +0000 | <CodeWeaver> | Okay, that's a fair statement. |
| 2020-10-17 21:57:15 +0000 | <CodeWeaver> | But I am still not quite sure why the evaluation would be different in that particular way. The reuslt is the same, obviously, but the dethunking is wildly different. |
| 2020-10-17 21:57:56 +0000 | <dolio> | Different defaulting rules are enabled in the repl, so it may be treating the code differently in each case. |
| 2020-10-17 21:58:22 +0000 | <CodeWeaver> | Mm. |
| 2020-10-17 21:58:22 +0000 | mirrorbird | (~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) |
| 2020-10-17 21:58:43 +0000 | <CodeWeaver> | I wonder if I can change that default in the repl just for the sake of this test. |
| 2020-10-17 22:00:37 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds) |
| 2020-10-17 22:01:55 +0000 | <dolio> | I wouldn't trust breaking a whole expression into a bunch of separate lines in the REPL, either. |
| 2020-10-17 22:02:22 +0000 | <dolio> | Things need to be treated differently when they're expected to work line-by-line. |
| 2020-10-17 22:02:25 +0000 | rprije | (~rprije@203-219-208-42.static.tpgi.com.au) (Ping timeout: 240 seconds) |
| 2020-10-17 22:02:36 +0000 | rprije | (~rprije@110-175-117-18.tpgi.com.au) |
| 2020-10-17 22:02:42 +0000 | <dolio> | GHC isn't, like, collecting all the lines you type in, and reconsidering previous ones in light of later ones. |
| 2020-10-17 22:03:27 +0000 | <CodeWeaver> | Sure. But in this case the expression I'm evaluating, the type signature aside, is one line, and the dethunking is on a value expressly inside the function in question. That's a pretty odd difference. |
| 2020-10-17 22:03:45 +0000 | <[exa]> | CodeWeaver: very roughly, if it's about types, you might just put a typehole everywhere and try to find a difference. But chances are it isn't, esp. if reusing the thunk would eg. depend on optimization |
| 2020-10-17 22:03:51 +0000 | <CodeWeaver> | I'm sure there's a reason. Don't get me wrong, I understand the REPL is likely to be a special case... but I'm curious what the special case is on this one. |
| 2020-10-17 22:04:23 +0000 | ech | (~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds) |
| 2020-10-17 22:04:25 +0000 | <CodeWeaver> | Okay, sure. |
| 2020-10-17 22:04:40 +0000 | <CodeWeaver> | I'll see if I can scare up a plausible reason. |
| 2020-10-17 22:05:09 +0000 | <dolio> | It's not super clear exactly what you're doing in each case, either. |
| 2020-10-17 22:05:13 +0000 | <[exa]> | perhaps just wait for more people showing up here, or repost on monday morning |
| 2020-10-17 22:05:24 +0000 | emmanuel_erc | (~user@2604:2000:1382:ce03:e422:6bdf:36af:752a) (Remote host closed the connection) |
| 2020-10-17 22:05:34 +0000 | <CodeWeaver> | Yup, sure. I won't belabour the point much more today. But I do appreciate the time. |
| 2020-10-17 22:05:37 +0000 | emmanuel_erc | (~user@2604:2000:1382:ce03:c90a:9d9:2f5d:e50) |
| 2020-10-17 22:06:12 +0000 | emmanuel_erc | (~user@2604:2000:1382:ce03:c90a:9d9:2f5d:e50) (Remote host closed the connection) |
| 2020-10-17 22:06:15 +0000 | <dolio> | Because there are a lot of variables. Like, telling GHC to compile a file and then opening it in the REPL is different from not compiling it first, I think. |
| 2020-10-17 22:06:20 +0000 | emmanuel_erc | (~user@2604:2000:1382:ce03:c90a:9d9:2f5d:e50) |
| 2020-10-17 22:06:55 +0000 | <CodeWeaver> | Well, I'm not telling GHC to compile anything at present. This is all pure repl. Just with a :load instead of a paste. |
| 2020-10-17 22:07:02 +0000 | <CodeWeaver> | Which, yes, I realize, is still likely different. |
| 2020-10-17 22:07:44 +0000 | <CodeWeaver> | : guess you could argue it's 'internally compiling' by doing a :load, but that too is beyond my immediate ken. |
| 2020-10-17 22:09:18 +0000 | <dolio> | Well, maybe. I don't know specifically. |
| 2020-10-17 22:10:04 +0000 | <dolio> | I think it compiles it, but it might use different settings than compiling before :load. |
| 2020-10-17 22:10:29 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 22:10:32 +0000 | <dolio> | Also :load is different from import, for instance. :) |
| 2020-10-17 22:10:47 +0000 | <dolio> | And I'm unsure what effects that has besides just scoping. |
| 2020-10-17 22:10:48 +0000 | <CodeWeaver> | Because that doesn't complicate my life. :D |
| 2020-10-17 22:10:52 +0000 | chris | Guest98505 |
| 2020-10-17 22:11:29 +0000 | ensyde | (~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84) |
| 2020-10-17 22:11:53 +0000 | son0p | (~son0p@181.136.122.143) (Quit: Lost terminal) |
| 2020-10-17 22:11:54 +0000 | ech | (~user@gateway/tor-sasl/ech) |
| 2020-10-17 22:12:03 +0000 | <CodeWeaver> | Reading up on the MR, I can see how this might be the case, but I'd love to be able to prove it somehow, one way or the other. |
| 2020-10-17 22:12:32 +0000 | <CodeWeaver> | Fascinating. |
| 2020-10-17 22:14:45 +0000 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 256 seconds) |
| 2020-10-17 22:15:18 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 22:15:42 +0000 | <dolio> | MR seems like the most likely answer. |
| 2020-10-17 22:16:26 +0000 | <CodeWeaver> | The more I read about it, the more I agree. |
| 2020-10-17 22:16:42 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 22:17:05 +0000 | <CodeWeaver> | q isn't just a value in this case. It's a function expecting a type dictionary, bound at each of the use sites, and only because its in the repl. |
| 2020-10-17 22:17:09 +0000 | <CodeWeaver> | I _think_. |
| 2020-10-17 22:17:51 +0000 | <CodeWeaver> | Its happening for the same reason I use the phony parameter for foo in the first place -- to avoid caching. |
| 2020-10-17 22:17:56 +0000 | <CodeWeaver> | Again, I _think_. |
| 2020-10-17 22:17:57 +0000 | <dolio> | I think it's off by default in the REPL, yeah. |
| 2020-10-17 22:18:10 +0000 | _deepfire | (~user@80.92.100.69) |
| 2020-10-17 22:18:12 +0000 | <CodeWeaver> | Super fascinating. |
| 2020-10-17 22:18:14 +0000 | <dolio> | Because it's much easier to break things with it line-by-line. |
| 2020-10-17 22:18:32 +0000 | <dolio> | Default to something is invalid for a later line. |
| 2020-10-17 22:18:34 +0000 | <CodeWeaver> | Sure. The fact that it's in one line in my case probably doesn't justify doing it there. |
| 2020-10-17 22:19:39 +0000 | <dolio> | Yeah, it's either on or off. It's not going to do a case-by-case analysis of whether or not to do it. |
| 2020-10-17 22:20:20 +0000 | <CodeWeaver> | I could see that being a WORSE problem for people trying to figure it out, if it _sometimes_ did it. I mean you could have scoped behaviour in an expression, but that'd be super confusing if you didn't know about it. |
| 2020-10-17 22:20:37 +0000 | <CodeWeaver> | Yeah, okay. I;m seeing this now. At least a little. |
| 2020-10-17 22:21:20 +0000 | <_deepfire> | Is the TH's Quote monad primarily about hygienic name allocation? |
| 2020-10-17 22:23:35 +0000 | <phadej> | yes |
| 2020-10-17 22:23:46 +0000 | <phadej> | or in fact, only about that |
| 2020-10-17 22:24:08 +0000 | <_deepfire> | thank you! : -) |
| 2020-10-17 22:24:54 +0000 | <phadej> | (don't mix Quote and Quasi, latter is "everything") |
| 2020-10-17 22:26:26 +0000 | <CodeWeaver> | PROOF (or close enough): Changed expression to: let {q::Integer;q = .... } |
| 2020-10-17 22:26:36 +0000 | <CodeWeaver> | Now behaves like the loaded file. MR almost certainly. |
| 2020-10-17 22:26:58 +0000 | <CodeWeaver> | You all are magnificent. Thanks, exa, dolio. |
| 2020-10-17 22:27:05 +0000 | GyroW_ | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 2020-10-17 22:27:05 +0000 | GyroW_ | (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 2020-10-17 22:27:05 +0000 | GyroW_ | (~GyroW@unaffiliated/gyrow) |
| 2020-10-17 22:27:19 +0000 | <dolio> | No problem. |
| 2020-10-17 22:27:34 +0000 | <CodeWeaver> | I may be dancing around like a maniac now. :) |
| 2020-10-17 22:27:34 +0000 | GyroW | (~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds) |
| 2020-10-17 22:28:04 +0000 | worc3131 | (~quassel@2a02:c7f:c026:9500:7d0b:65d0:38a4:4786) |
| 2020-10-17 22:28:37 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 22:29:42 +0000 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) (Quit: Leaving) |
| 2020-10-17 22:30:11 +0000 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 2020-10-17 22:31:25 +0000 | Kira_ | (~Kira@201.192.165.173) (Quit: WeeChat 2.9) |
| 2020-10-17 22:33:07 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 260 seconds) |
| 2020-10-17 22:33:36 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-10-17 22:33:53 +0000 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 2020-10-17 22:34:02 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 22:35:04 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 22:35:40 +0000 | fxg | (~fxg@unaffiliated/fxg) (Ping timeout: 246 seconds) |
| 2020-10-17 22:35:44 +0000 | DirefulSalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Ping timeout: 272 seconds) |
| 2020-10-17 22:35:44 +0000 | fragamus | (~michaelgo@73.93.152.141) (Ping timeout: 272 seconds) |
| 2020-10-17 22:36:22 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 22:36:41 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-10-17 22:37:00 +0000 | Chef | (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) |
| 2020-10-17 22:37:03 +0000 | Chef | (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Remote host closed the connection) |
| 2020-10-17 22:37:18 +0000 | Guy | (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) |
| 2020-10-17 22:38:01 +0000 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds) |
| 2020-10-17 22:38:26 +0000 | <Guy> | Hello :) |
| 2020-10-17 22:38:41 +0000 | <CodeWeaver> | Hi. |
| 2020-10-17 22:39:21 +0000 | <[exa]> | CodeWeaver: unbelievable how MR hides right. :] |
| 2020-10-17 22:40:28 +0000 | <CodeWeaver> | exa: Not something one has to fight with in a lot of other languages, and arguably, something you almost don't have to think about even in this one. Until it bites you. |
| 2020-10-17 22:40:58 +0000 | jkachmar | (uid226591@gateway/web/irccloud.com/x-veduxhoxxqmbqgpm) (Quit: Connection closed for inactivity) |
| 2020-10-17 22:45:47 +0000 | hekkaidekapus{ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
| 2020-10-17 22:46:51 +0000 | hekkaidekapus{ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 2020-10-17 22:46:58 +0000 | hackage | core-program 0.2.5.0 - Opinionated Haskell Interoperability https://hackage.haskell.org/package/core-program-0.2.5.0 (AndrewCowie) |
| 2020-10-17 22:47:01 +0000 | hiroaki | (~hiroaki@2a02:908:4b18:e20::dd5c) (Ping timeout: 272 seconds) |
| 2020-10-17 22:47:58 +0000 | hackage | unbeliever 0.10.0.7 - Opinionated Haskell Interoperability https://hackage.haskell.org/package/unbeliever-0.10.0.7 (AndrewCowie) |
| 2020-10-17 22:49:29 +0000 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-17 22:49:38 +0000 | addcninblue | (~addison@c-73-158-198-149.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 2020-10-17 22:49:44 +0000 | fxg | (~fxg@unaffiliated/fxg) |
| 2020-10-17 22:50:18 +0000 | Tario | (~Tario@201.192.165.173) (Ping timeout: 272 seconds) |
| 2020-10-17 22:50:31 +0000 | Tario | (~Tario@200.119.184.9) |
| 2020-10-17 22:50:47 +0000 | emmanuel_erc | (~user@2604:2000:1382:ce03:c90a:9d9:2f5d:e50) (Ping timeout: 260 seconds) |
| 2020-10-17 22:50:56 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2020-10-17 22:50:56 +0000 | fxg | (~fxg@unaffiliated/fxg) (Client Quit) |
| 2020-10-17 22:55:01 +0000 | alp_ | (~alp@2a01:e0a:58b:4920:8ddf:af03:d4f2:1b4c) |
| 2020-10-17 22:55:25 +0000 | ensyde | (~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84) (Ping timeout: 240 seconds) |
| 2020-10-17 22:56:26 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 22:58:45 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 22:58:49 +0000 | acidjnk_new2 | (~acidjnk@p200300d0c72378290964073eddc5c406.dip0.t-ipconnect.de) |
| 2020-10-17 22:58:49 +0000 | Guy | (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Ping timeout: 245 seconds) |
| 2020-10-17 22:58:52 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 23:00:06 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 23:00:08 +0000 | jkachmar | (uid226591@gateway/web/irccloud.com/x-sjqizjclmhyizvlx) |
| 2020-10-17 23:00:13 +0000 | jumper149 | (~jumper149@ip185225.wh.uni-hannover.de) |
| 2020-10-17 23:01:49 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) |
| 2020-10-17 23:01:55 +0000 | acidjnk_new | (~acidjnk@p200300d0c72378540964073eddc5c406.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2020-10-17 23:02:49 +0000 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) |
| 2020-10-17 23:03:18 +0000 | Guy | (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) |
| 2020-10-17 23:03:41 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 2020-10-17 23:04:55 +0000 | ephemera_ | (~E@122.34.1.187) (Remote host closed the connection) |
| 2020-10-17 23:04:58 +0000 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-17 23:06:15 +0000 | ephemera_ | (~E@122.34.1.187) |
| 2020-10-17 23:06:33 +0000 | Jonkimi727406120 | (~Jonkimi@223.213.79.20) (Ping timeout: 260 seconds) |
| 2020-10-17 23:06:49 +0000 | conal | (~conal@64.71.133.70) |
| 2020-10-17 23:06:49 +0000 | Tario | (~Tario@200.119.184.9) (Read error: Connection reset by peer) |
| 2020-10-17 23:07:28 +0000 | Guest98505 | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-10-17 23:07:46 +0000 | Tario | (~Tario@201.192.165.173) |
| 2020-10-17 23:09:32 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 23:10:17 +0000 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 2020-10-17 23:11:13 +0000 | chris | (~chris@81.96.113.213) |
| 2020-10-17 23:11:36 +0000 | chris | Guest36918 |
| 2020-10-17 23:11:38 +0000 | vicfred | (~vicfred@unaffiliated/vicfred) |
| 2020-10-17 23:13:49 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 2020-10-17 23:14:22 +0000 | jneira | (501e64fa@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.100.250) |
| 2020-10-17 23:14:47 +0000 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) |
| 2020-10-17 23:15:14 +0000 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
| 2020-10-17 23:18:15 +0000 | larou | (5201f2b7@gateway/web/cgi-irc/kiwiirc.com/ip.82.1.242.183) |
| 2020-10-17 23:18:24 +0000 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 23:18:26 +0000 | <larou> | i have awesome code! |
| 2020-10-17 23:18:43 +0000 | <larou> | look look! |
| 2020-10-17 23:18:44 +0000 | <larou> | https://pastebin.com/raw/Yzd5rZsB |
| 2020-10-17 23:19:35 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 23:21:08 +0000 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 2020-10-17 23:21:14 +0000 | Blkt | (~Blkt@2a01:4f8:200:2425::adda) (Read error: Connection reset by peer) |
| 2020-10-17 23:21:20 +0000 | fragamus | (~michaelgo@73.93.155.44) |
| 2020-10-17 23:21:27 +0000 | <larou> | this is all supposed to go at type level |
| 2020-10-17 23:21:30 +0000 | Blkt | (~Blkt@2a01:4f8:200:2425::adda) |
| 2020-10-17 23:21:42 +0000 | <larou> | its a container you can only construct to have links |
| 2020-10-17 23:22:07 +0000 | <larou> | the term level thing thats supposed to use this, should tie the knot over these links |
| 2020-10-17 23:22:11 +0000 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 2020-10-17 23:22:26 +0000 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 2020-10-17 23:22:39 +0000 | <larou> | its a list, of Maybe Nats, where they are in pairs |
| 2020-10-17 23:22:47 +0000 | <larou> | of Nats pointing to each other |
| 2020-10-17 23:22:56 +0000 | <larou> | ie, if a Nat is at some position in the list |
| 2020-10-17 23:23:07 +0000 | <larou> | then at the position this Nat corresponds to |
| 2020-10-17 23:23:19 +0000 | <larou> | should contain a Nat corresponding to the first position |
| 2020-10-17 23:23:31 +0000 | <larou> | ... |
| 2020-10-17 23:23:39 +0000 | <larou> | so now there can be a doubly linked list |
| 2020-10-17 23:23:44 +0000 | <larou> | *with extra links!* |
| 2020-10-17 23:24:03 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 23:24:15 +0000 | <larou> | these are like semicircles underneath the list connecting pairs of elements |
| 2020-10-17 23:24:39 +0000 | <larou> | probably i could extend this to having multiple links per node, but for now this is complex enough |
| 2020-10-17 23:25:44 +0000 | <larou> | i made a paste yesterday that showed that the constraints at type level work for the smart constructors... |
| 2020-10-17 23:25:46 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-17 23:26:32 +0000 | <larou> | this being at type level means it has kind level nats... |
| 2020-10-17 23:27:17 +0000 | <larou> | and that the smart constructors are basically then doing a kind level computation |
| 2020-10-17 23:27:25 +0000 | <larou> | to ensure the types are constructed safely |
| 2020-10-17 23:27:28 +0000 | <larou> | cool or what!? |
| 2020-10-17 23:27:53 +0000 | mirrorbird | (~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Quit: Leaving) |
| 2020-10-17 23:29:46 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 23:31:53 +0000 | <larou> | idk if that because graphs are traversable |
| 2020-10-17 23:32:01 +0000 | <larou> | that establishing cycles over them |
| 2020-10-17 23:32:16 +0000 | <larou> | would then collapse down to some kind of extra linked list like this |
| 2020-10-17 23:32:55 +0000 | <larou> | i think you might lose some speed from the evaluation order.. cant really tell |
| 2020-10-17 23:33:04 +0000 | <larou> | but it would mean its as expressive... |
| 2020-10-17 23:33:57 +0000 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
| 2020-10-17 23:34:00 +0000 | fragamus | (~michaelgo@73.93.155.44) (Ping timeout: 272 seconds) |
| 2020-10-17 23:34:19 +0000 | <larou> | makes it worthwhile constructing the graphs algebraically to preserve the existence of a traversable implementation |
| 2020-10-17 23:34:28 +0000 | <larou> | ie "shaped construction" |
| 2020-10-17 23:34:30 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-10-17 23:35:38 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2020-10-17 23:36:00 +0000 | xerox_ | (~xerox@unaffiliated/xerox) |
| 2020-10-17 23:36:10 +0000 | larou | (5201f2b7@gateway/web/cgi-irc/kiwiirc.com/ip.82.1.242.183) (Quit: Connection closed) |
| 2020-10-17 23:37:12 +0000 | Guest11473 | (~andrea@185.244.214.216) |
| 2020-10-17 23:37:48 +0000 | mega_hater | (~haterrr@s91904427.blix.com) |
| 2020-10-17 23:37:54 +0000 | mega_hater | (~haterrr@s91904427.blix.com) ("Leaving") |
| 2020-10-17 23:37:58 +0000 | <justsomeguy> | I'm only a noob, so this stuff is beyond my comprehension, but it looks pretty cool. |
| 2020-10-17 23:39:51 +0000 | addcninblue | (~addison@c-73-158-198-149.hsd1.ca.comcast.net) |
| 2020-10-17 23:39:54 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 23:40:10 +0000 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
| 2020-10-17 23:40:26 +0000 | zaquest | (~notzaques@5.128.210.178) |
| 2020-10-17 23:41:36 +0000 | dhil | (~dhil@195.213.192.122) (Ping timeout: 272 seconds) |
| 2020-10-17 23:41:52 +0000 | kupi | (uid212005@gateway/web/irccloud.com/x-uvssjsekmuehxron) (Quit: Connection closed for inactivity) |
| 2020-10-17 23:44:28 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-10-17 23:44:52 +0000 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-10-17 23:45:24 +0000 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 272 seconds) |
| 2020-10-17 23:45:40 +0000 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-10-17 23:49:59 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-17 23:53:01 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 264 seconds) |
| 2020-10-17 23:54:05 +0000 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 2020-10-17 23:54:10 +0000 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
| 2020-10-17 23:54:50 +0000 | kupi | (uid212005@gateway/web/irccloud.com/x-vfsmeyjszxcityxd) |
| 2020-10-17 23:55:28 +0000 | kish | (~oracle@unaffiliated/oracle) (Ping timeout: 246 seconds) |
| 2020-10-17 23:56:00 +0000 | kish | (~oracle@unaffiliated/oracle) |
| 2020-10-17 23:57:32 +0000 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fce4:f626:e7a:99f3) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-17 23:57:44 +0000 | fragamus | (~michaelgo@73.93.155.52) |
| 2020-10-17 23:59:21 +0000 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fce4:f626:e7a:99f3) |
| 2020-10-17 23:59:34 +0000 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |