2021-06-29 00:01:11 +0200 | neurocyte3 | (~neurocyte@45.136.170.15) |
2021-06-29 00:01:11 +0200 | neurocyte3 | (~neurocyte@45.136.170.15) (Changing host) |
2021-06-29 00:01:11 +0200 | neurocyte3 | (~neurocyte@user/neurocyte) |
2021-06-29 00:02:12 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 272 seconds) |
2021-06-29 00:02:12 +0200 | neurocyte3 | neurocyte |
2021-06-29 00:04:25 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Remote host closed the connection) |
2021-06-29 00:04:56 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-29 00:05:17 +0200 | michalz | (~michalz@185.246.204.125) (Remote host closed the connection) |
2021-06-29 00:05:57 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-06-29 00:06:28 +0200 | ukari | (~ukari@user/ukari) |
2021-06-29 00:08:12 +0200 | aerona | (~aerona@2600:6c54:4600:f300:1ad6:7928:ce15:e184) (Quit: Leaving) |
2021-06-29 00:08:43 +0200 | neo | (~neo3@cpe-292712.ip.primehome.com) (Remote host closed the connection) |
2021-06-29 00:08:50 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-06-29 00:13:11 +0200 | myShoggoth | (~myShoggot@75.164.51.64) |
2021-06-29 00:17:15 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-06-29 00:17:23 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 00:20:23 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge) |
2021-06-29 00:20:25 +0200 | delYsid | (~user@84-115-55-45.cable.dynamic.surfer.at) |
2021-06-29 00:20:58 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) |
2021-06-29 00:26:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-06-29 00:29:57 +0200 | guest61 | (~xxx@47.245.54.240) (Remote host closed the connection) |
2021-06-29 00:30:09 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-06-29 00:31:03 +0200 | guest61 | (~xxx@47.245.54.240) |
2021-06-29 00:31:16 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-06-29 00:31:57 +0200 | guest61 | (~xxx@47.245.54.240) (Read error: Connection reset by peer) |
2021-06-29 00:32:09 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
2021-06-29 00:32:48 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
2021-06-29 00:33:04 +0200 | guest61 | (~xxx@47.245.54.240) |
2021-06-29 00:33:17 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-06-29 00:34:57 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-06-29 00:38:36 +0200 | meltedbrain_y2k | (~tekserf@31.4.247.86) |
2021-06-29 00:39:12 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-06-29 00:39:22 +0200 | <lbseale> | I'd like to wrap a plain Map type in a newtype (for safety), but does that mean I have to re-implement any the general functions for Maps for it? |
2021-06-29 00:39:44 +0200 | <dminuoso> | Depends. You can also coerce your way through. |
2021-06-29 00:39:57 +0200 | <dminuoso> | But that sort of breaks the encapsulation you're hoping for. |
2021-06-29 00:39:57 +0200 | <lbseale> | is this even a good idea? |
2021-06-29 00:40:06 +0200 | <dminuoso> | Hard to say without knowing your reasoning. |
2021-06-29 00:40:11 +0200 | <lbseale> | lol right, that's what I was wondering |
2021-06-29 00:40:50 +0200 | <lbseale> | my reasoning is that I want to have many types that are, fundamentally, Map String Double |
2021-06-29 00:41:17 +0200 | <dminuoso> | lbseale: Relatedly, this might be a worthy read https://lexi-lambda.github.io/blog/2020/11/01/names-are-not-type-safety/ |
2021-06-29 00:41:20 +0200 | <lbseale> | and I wouldn't want to mix them up, which would be possible if I just used type synonyms |
2021-06-29 00:41:42 +0200 | <dminuoso> | That being said, you can also just pattern match/deconstruct upon map usage. |
2021-06-29 00:42:02 +0200 | <lbseale> | dminuoso: thanks I'll read this |
2021-06-29 00:42:06 +0200 | <dminuoso> | Say `f (ThingMap m) = M.lookup "foo" m` |
2021-06-29 00:42:29 +0200 | <dminuoso> | Together with as-patterns, this can work nicely. At least it will provide some small barrier against mistakingly passing in the wrong map |
2021-06-29 00:42:56 +0200 | <geekosaur> | there's also e.g. newtype-ing the String which might work better than with the Map |
2021-06-29 00:43:43 +0200 | <lbseale> | geekosaur: that's a good idea, I'll consider that |
2021-06-29 00:44:02 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 252 seconds) |
2021-06-29 00:44:50 +0200 | <lbseale> | thanks guys, this channel is always so helpful |
2021-06-29 00:46:28 +0200 | chris_ | (~chris@81.96.113.213) |
2021-06-29 00:46:40 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2021-06-29 00:46:47 +0200 | dhil | (~dhil@195.213.192.47) (Ping timeout: 268 seconds) |
2021-06-29 00:46:48 +0200 | <monochrom> | Hrm, is this correlated to someone's recent blog post promoting using dictionaries for record types? |
2021-06-29 00:46:50 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-06-29 00:48:26 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds) |
2021-06-29 00:49:14 +0200 | <lbseale> | monochrom: I'm curious about that, do you have a link to it? |
2021-06-29 00:49:27 +0200 | <monochrom> | No, I just overheard conversations. |
2021-06-29 00:49:58 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) |
2021-06-29 00:51:42 +0200 | ormaaj | (~ormaaj@2001:470:69fc:105::35ca) |
2021-06-29 00:52:41 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 00:54:11 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-06-29 00:54:30 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Remote host closed the connection) |
2021-06-29 00:54:47 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-06-29 00:59:22 +0200 | Sgeo_ | (~Sgeo@ool-18b9875e.dyn.optonline.net) (Quit: Leaving) |
2021-06-29 00:59:38 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-06-29 01:00:24 +0200 | bilegeek | (~bilegeek@2600:1008:b015:3e96:6f34:1a42:6ac5:3b86) (Quit: Leaving) |
2021-06-29 01:00:54 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 252 seconds) |
2021-06-29 01:05:25 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-29 01:05:42 +0200 | parzema | (~parzema@124.188.206.3) (Quit: Client closed) |
2021-06-29 01:07:57 +0200 | ham | (~ham4@user/ham) (Ping timeout: 265 seconds) |
2021-06-29 01:09:20 +0200 | jneira_ | (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 272 seconds) |
2021-06-29 01:12:52 +0200 | Deide | (~Deide@user/deide) (Quit: Seeee yaaaa) |
2021-06-29 01:13:26 +0200 | cjb | (~cjb@user/cjb) |
2021-06-29 01:15:29 +0200 | ormaaj | (~ormaaj@2001:470:69fc:105::35ca) (Changing host) |
2021-06-29 01:15:29 +0200 | ormaaj | (~ormaaj@user/ormaaj) |
2021-06-29 01:16:34 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-29 01:16:50 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-29 01:19:01 +0200 | P1RATEZ | (piratez@user/p1ratez) () |
2021-06-29 01:19:23 +0200 | ormaaj | (~ormaaj@user/ormaaj) (Quit: Reconnecting) |
2021-06-29 01:21:22 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds) |
2021-06-29 01:21:41 +0200 | brian_da_mage | Brianmancer |
2021-06-29 01:21:44 +0200 | jao | (jao@gateway/vpn/protonvpn/jao) |
2021-06-29 01:27:17 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-29 01:28:38 +0200 | zeenk | (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!) |
2021-06-29 01:29:23 +0200 | meltedbrain_y2k | (~tekserf@31.4.247.86) () |
2021-06-29 01:31:48 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds) |
2021-06-29 01:34:30 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds) |
2021-06-29 01:37:16 +0200 | ham | (~ham4@user/ham) |
2021-06-29 01:37:25 +0200 | benin0369 | (~benin@183.82.205.231) |
2021-06-29 01:38:44 +0200 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
2021-06-29 01:42:05 +0200 | ham2 | (~ham4@d8D8627D5.access.telenet.be) |
2021-06-29 01:42:54 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds) |
2021-06-29 01:43:34 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-29 01:43:43 +0200 | ham | (~ham4@user/ham) (Ping timeout: 265 seconds) |
2021-06-29 01:43:58 +0200 | TheRAt | (~TheRAt@user/therat) (Read error: Connection reset by peer) |
2021-06-29 01:45:26 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 272 seconds) |
2021-06-29 01:46:24 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-06-29 01:49:18 +0200 | biberu | (~biberu@user/biberu) (Quit: ZNC - https://znc.in) |
2021-06-29 01:50:16 +0200 | TheRAt | (~TheRAt@user/therat) |
2021-06-29 01:51:39 +0200 | biberu | (~biberu@user/biberu) |
2021-06-29 01:52:29 +0200 | shutdown_-h_now | (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 268 seconds) |
2021-06-29 01:53:44 +0200 | TranquilEcho | (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
2021-06-29 01:54:55 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 01:55:55 +0200 | ellie2 | (~ellie@user/ellie) |
2021-06-29 01:55:57 +0200 | emergence9 | (~emergence@vm0.max-p.me) |
2021-06-29 01:56:14 +0200 | dustinm | (~dustinm@static.38.6.217.95.clients.your-server.de) (Ping timeout: 244 seconds) |
2021-06-29 01:56:45 +0200 | davean | (~davean@davean.sciesnet.net) (Ping timeout: 244 seconds) |
2021-06-29 01:57:16 +0200 | Natch | (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Ping timeout: 244 seconds) |
2021-06-29 01:57:16 +0200 | pippijn | (~pippijn@ra.xinutec.org) (Ping timeout: 244 seconds) |
2021-06-29 01:57:43 +0200 | pippijn | (~pippijn@ra.xinutec.org) |
2021-06-29 01:57:47 +0200 | ellie | (~ellie@user/ellie) (Ping timeout: 244 seconds) |
2021-06-29 01:57:47 +0200 | sshine | (~simon@hubris.eta.solutions) (Ping timeout: 244 seconds) |
2021-06-29 01:57:47 +0200 | emergence | (~emergence@vm0.max-p.me) (Ping timeout: 244 seconds) |
2021-06-29 01:57:48 +0200 | emergence9 | emergence |
2021-06-29 01:57:48 +0200 | ellie2 | ellie |
2021-06-29 01:58:36 +0200 | davean | (~davean@davean.sciesnet.net) |
2021-06-29 01:58:47 +0200 | sshine | (~simon@hubris.eta.solutions) |
2021-06-29 01:59:03 +0200 | dustinm | (~dustinm@static.38.6.217.95.clients.your-server.de) |
2021-06-29 01:59:38 +0200 | shutdown_-h_now | (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) |
2021-06-29 02:01:02 +0200 | juhp | (~juhp@bb116-14-48-29.singnet.com.sg) (Ping timeout: 252 seconds) |
2021-06-29 02:01:25 +0200 | Natch | (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) |
2021-06-29 02:01:45 +0200 | wagle | (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-06-29 02:02:15 +0200 | wagle | (~wagle@quassel.wagle.io) |
2021-06-29 02:04:33 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-06-29 02:04:51 +0200 | pottsy | (~pottsy@2400:4050:b560:3700:3771:db3b:d61e:48f1) (Quit: Leaving) |
2021-06-29 02:08:39 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-06-29 02:09:42 +0200 | myShoggoth | (~myShoggot@75.164.51.64) (Ping timeout: 268 seconds) |
2021-06-29 02:10:52 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
2021-06-29 02:11:47 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-06-29 02:12:40 +0200 | killsushi | (~killsushi@user/killsushi) (Ping timeout: 272 seconds) |
2021-06-29 02:13:36 +0200 | ormaaj | (~ormaaj@user/ormaaj) |
2021-06-29 02:16:45 +0200 | sekun_ | (~sekun@180.190.223.119) |
2021-06-29 02:22:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 02:30:56 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-06-29 02:34:43 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 02:36:09 +0200 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) (Ping timeout: 250 seconds) |
2021-06-29 02:37:42 +0200 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) |
2021-06-29 02:39:11 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 250 seconds) |
2021-06-29 02:39:25 +0200 | srid[m] | sridonhiatus[m] |
2021-06-29 02:47:23 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2021-06-29 02:47:27 +0200 | renzhi | (~xp@2607:fa49:655f:a700::3902) (Quit: WeeChat 2.3) |
2021-06-29 02:49:36 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 02:55:49 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 02:56:12 +0200 | justosophy[m] | (~justosoph@2001:470:69fc:105::572f) |
2021-06-29 02:56:53 +0200 | derelict | (~derelict@user/derelict) |
2021-06-29 02:57:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-06-29 02:57:00 +0200 | td_ | (~td@muedsl-82-207-238-133.citykom.de) (Ping timeout: 272 seconds) |
2021-06-29 03:00:00 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 03:00:12 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 03:05:08 +0200 | berberman | (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-06-29 03:05:13 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
2021-06-29 03:05:38 +0200 | DNH | (~DNH@8.43.122.6) |
2021-06-29 03:05:56 +0200 | berberman | (~berberman@user/berberman) |
2021-06-29 03:06:22 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 03:06:40 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 03:06:47 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 03:07:40 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-06-29 03:08:20 +0200 | td_ | (~td@muedsl-82-207-238-108.citykom.de) |
2021-06-29 03:17:02 +0200 | bgamari | (~bgamari@2001:470:e438::1) (Ping timeout: 272 seconds) |
2021-06-29 03:17:19 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds) |
2021-06-29 03:20:50 +0200 | xff0x | (~xff0x@2001:1a81:537a:a200:e696:8622:74d:d095) (Ping timeout: 272 seconds) |
2021-06-29 03:22:11 +0200 | xff0x | (~xff0x@2001:1a81:53b8:a100:fc31:6f5c:5a37:95a) |
2021-06-29 03:22:20 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Ping timeout: 272 seconds) |
2021-06-29 03:24:22 +0200 | acidjnk | (~acidjnk@p200300d0c72b9537492df79c17753059.dip0.t-ipconnect.de) |
2021-06-29 03:25:37 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 03:28:48 +0200 | bgamari | (~bgamari@72.65.101.148) |
2021-06-29 03:30:15 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
2021-06-29 03:35:03 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-06-29 03:42:49 +0200 | DNH | (~DNH@8.43.122.6) (Quit: Textual IRC Client: www.textualapp.com) |
2021-06-29 03:43:39 +0200 | sm2n_ | (~sm2n@user/sm2n) |
2021-06-29 03:44:23 +0200 | mpt | (~tom@2a02:908:1862:49e0::5) |
2021-06-29 03:45:06 +0200 | sekun_ | (~sekun@180.190.223.119) (Remote host closed the connection) |
2021-06-29 03:46:16 +0200 | sm2n | (~sm2n@user/sm2n) (Ping timeout: 252 seconds) |
2021-06-29 03:50:50 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 03:50:58 +0200 | neurocyte4 | (~neurocyte@212.232.83.109) |
2021-06-29 03:50:58 +0200 | neurocyte4 | (~neurocyte@212.232.83.109) (Changing host) |
2021-06-29 03:50:58 +0200 | neurocyte4 | (~neurocyte@user/neurocyte) |
2021-06-29 03:51:31 +0200 | shapr | (~user@pool-108-28-144-11.washdc.fios.verizon.net) |
2021-06-29 03:52:31 +0200 | juhp | (~juhp@128.106.188.66) |
2021-06-29 03:54:47 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 258 seconds) |
2021-06-29 03:54:47 +0200 | neurocyte4 | neurocyte |
2021-06-29 03:55:40 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds) |
2021-06-29 03:59:21 +0200 | acidjnk | (~acidjnk@p200300d0c72b9537492df79c17753059.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-06-29 04:01:08 +0200 | bgamari | (~bgamari@72.65.101.148) (Read error: Connection reset by peer) |
2021-06-29 04:01:49 +0200 | bgamari | (~bgamari@72.65.101.148) |
2021-06-29 04:02:16 +0200 | mpt | (~tom@2a02:908:1862:49e0::5) (Ping timeout: 268 seconds) |
2021-06-29 04:08:18 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-48.prtc.net) |
2021-06-29 04:16:38 +0200 | m7zs3gzw | (~m7zs3gzw@178.155.4.15) |
2021-06-29 04:17:03 +0200 | m7zs3gzw | (~m7zs3gzw@178.155.4.15) (Remote host closed the connection) |
2021-06-29 04:21:17 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 04:23:45 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 04:23:59 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 04:24:07 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 04:24:15 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-06-29 04:25:03 +0200 | killsushi | (~killsushi@2607:fea8:3d40:767:85b5:8a20:d1dc:7eb1) |
2021-06-29 04:25:03 +0200 | killsushi | (~killsushi@2607:fea8:3d40:767:85b5:8a20:d1dc:7eb1) (Changing host) |
2021-06-29 04:25:03 +0200 | killsushi | (~killsushi@user/killsushi) |
2021-06-29 04:30:01 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 04:30:21 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-06-29 04:30:21 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (copper.libera.chat (Nickname regained by services))) |
2021-06-29 04:30:21 +0200 | finn_elija | FinnElija |
2021-06-29 04:30:51 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Remote host closed the connection) |
2021-06-29 04:33:06 +0200 | td_ | (~td@muedsl-82-207-238-108.citykom.de) (Ping timeout: 268 seconds) |
2021-06-29 04:34:51 +0200 | td_ | (~td@94.134.91.158) |
2021-06-29 04:35:41 +0200 | sheepduck | (~sheepduck@user/sheepduck) |
2021-06-29 04:36:17 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-06-29 04:37:26 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 04:37:40 +0200 | Guest33 | (~textual@c-107-4-204-12.hsd1.mn.comcast.net) |
2021-06-29 04:38:17 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 04:38:34 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-48.prtc.net) (Ping timeout: 246 seconds) |
2021-06-29 04:38:46 +0200 | Guest33 | (~textual@c-107-4-204-12.hsd1.mn.comcast.net) (Client Quit) |
2021-06-29 04:41:37 +0200 | mpt | (~tom@2a02:908:1862:49e0::5) |
2021-06-29 04:42:04 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 268 seconds) |
2021-06-29 04:42:28 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 04:43:25 +0200 | Erutuon | (~Erutuon@user/erutuon) (Quit: WeeChat 2.8) |
2021-06-29 04:43:48 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-06-29 04:46:40 +0200 | mpt | (~tom@2a02:908:1862:49e0::5) (Ping timeout: 268 seconds) |
2021-06-29 04:53:23 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 04:54:58 +0200 | jao | (jao@gateway/vpn/protonvpn/jao) (Ping timeout: 258 seconds) |
2021-06-29 04:57:31 +0200 | <Boarders> | Does anyone know in the GHC api I can lookup the class name of the Eq class for instance? |
2021-06-29 04:57:50 +0200 | <Boarders> | there is a method tcLookupClass but it requires that I pass in a Name |
2021-06-29 04:58:02 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 258 seconds) |
2021-06-29 04:59:34 +0200 | y04nn | (~y04nn@91.193.4.106) (Ping timeout: 258 seconds) |
2021-06-29 05:02:46 +0200 | Izem | (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) |
2021-06-29 05:08:20 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-06-29 05:08:56 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 05:10:38 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 272 seconds) |
2021-06-29 05:12:35 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
2021-06-29 05:13:10 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
2021-06-29 05:13:29 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-06-29 05:15:57 +0200 | Izem | (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) (Quit: Connection closed) |
2021-06-29 05:18:15 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 05:19:03 +0200 | myShoggoth | (~myShoggot@75.164.51.64) |
2021-06-29 05:21:21 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
2021-06-29 05:21:55 +0200 | sus | (thelounge@user/zeromomentum) |
2021-06-29 05:23:19 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds) |
2021-06-29 05:24:08 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 05:24:38 +0200 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
2021-06-29 05:26:32 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
2021-06-29 05:27:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-06-29 05:32:45 +0200 | alx741 | (~alx741@186.178.109.202) (Quit: alx741) |
2021-06-29 05:40:36 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-06-29 05:41:02 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
2021-06-29 05:41:50 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-06-29 05:42:33 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 05:44:39 +0200 | funsafe | (~funsafe@2601:1c1:4200:938f:4e1e:fc56:b28f:5ac7) (Ping timeout: 250 seconds) |
2021-06-29 05:47:06 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 05:50:42 +0200 | myShoggoth | (~myShoggot@75.164.51.64) (Ping timeout: 265 seconds) |
2021-06-29 05:54:10 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2021-06-29 05:55:14 +0200 | <qrpnxz> | it occured to me that you could use a right-associative fold and the list constructor to visit a non-functor like Data.Set and get the results (and effects) back out. Thanks to laziness it would be fully streaming, not actual list generated, and you could feed that stream right back into some kind of fromList constructor, linearly back into the set; then i realized this is probably like a "no-duh, that's w |
2021-06-29 05:55:15 +0200 | <qrpnxz> | hat toList and fromList is for" from experienced haskellers hahaha, but still, it was nice to realize that. List are such a super power, they are really streams and nondeterminism. Vectors are for actual linear storage. |
2021-06-29 05:57:42 +0200 | <jophish> | "lists are control flow" |
2021-06-29 05:58:27 +0200 | <qrpnxz> | most important thing to know about foldr are is that it doesn't mean (from the right). I have to keep beating that into my head |
2021-06-29 05:58:39 +0200 | cjb | (~cjb@user/cjb) (Quit: brb) |
2021-06-29 05:59:03 +0200 | <qrpnxz> | dunno why i used parens as quotes there sorry about that lol |
2021-06-29 06:02:11 +0200 | cjb | (~cjb@user/cjb) |
2021-06-29 06:02:16 +0200 | boxscape_ | (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) |
2021-06-29 06:02:28 +0200 | <boxscape_> | well, unless you had some fusion rules that would still generate a list, no? |
2021-06-29 06:02:30 +0200 | <boxscape_> | lazily, yes |
2021-06-29 06:02:44 +0200 | <boxscape_> | but the runtime will allocate memory for the constructors and such |
2021-06-29 06:05:15 +0200 | <boxscape_> | ...though being lazy does mean it probably gets away with constant memory for that list |
2021-06-29 06:05:27 +0200 | <qrpnxz> | right |
2021-06-29 06:07:59 +0200 | <Axman6> | depends on if the foldr/toList definition gets inlined or not - if the consuming function immediately deconstructs the list, then you'd likely get "fusion" from... the case of known constructor optimisation, IIRC |
2021-06-29 06:08:31 +0200 | <boxscape_> | hm, I see |
2021-06-29 06:09:16 +0200 | <Axman6> | foo [] = 0; foo (x:xs) = x + foo xs; foo (toList someSet is basically going to give you the same result as if you'd done foldr (a b -> a + b) 0 someSet (hopefully) |
2021-06-29 06:17:45 +0200 | hendursaga | (~weechat@user/hendursaga) (Remote host closed the connection) |
2021-06-29 06:18:13 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-06-29 06:18:46 +0200 | <qrpnxz> | just did a little test and compared to a program that builds a big set and then prints it's size, one that that builds a big set, toList, maps, fromList, and then prints it's size, the latter only used 40% more memory. Not double, amazin! |
2021-06-29 06:18:53 +0200 | <qrpnxz> | and certainly not triple |
2021-06-29 06:18:55 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-06-29 06:19:22 +0200 | <Axman6> | I'm surprised it used more actually |
2021-06-29 06:19:59 +0200 | <qrpnxz> | i'm very impressed it didn't use double cause it can't really reasonable reuse the first set can it? That's hella impressive if that's what it is doing |
2021-06-29 06:27:38 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
2021-06-29 06:27:57 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-06-29 06:31:18 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 265 seconds) |
2021-06-29 06:31:40 +0200 | dunkeln | (~dunkeln@94.129.65.28) |
2021-06-29 06:33:14 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2021-06-29 06:36:02 +0200 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed) |
2021-06-29 06:36:13 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
2021-06-29 06:38:33 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-06-29 06:42:12 +0200 | shanemikel_ | (~shanemike@desk.roadwar.net) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2021-06-29 06:43:03 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 06:43:47 +0200 | shanemikel | (~shanemike@desk.roadwar.net) |
2021-06-29 06:53:03 +0200 | <Axman6> | one of the many nice things you can do with pure functions - inlining them is always "safe", and when inlined you can see things like case statements being directly applied to known constructors - so code like case (x:xs) of (y:ys) -> ...; [] -> can eb simplified to never allocate that (:) |
2021-06-29 06:53:22 +0200 | <Axman6> | that's the main reason I was surprised it even used 40% more memory |
2021-06-29 06:55:22 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 06:56:35 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 06:58:17 +0200 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) |
2021-06-29 07:02:38 +0200 | juhp | (~juhp@128.106.188.66) (Quit: juhp) |
2021-06-29 07:02:51 +0200 | juhp | (~juhp@128.106.188.66) |
2021-06-29 07:04:09 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
2021-06-29 07:07:33 +0200 | dunkeln | (~dunkeln@94.129.65.28) (Ping timeout: 265 seconds) |
2021-06-29 07:09:22 +0200 | derelict | (~derelict@user/derelict) (Quit: WeeChat 3.2) |
2021-06-29 07:18:03 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 07:18:08 +0200 | <Maxdamantus> | I imagine the main determiner there would be whether they're statically resolvable, not whether their pure. |
2021-06-29 07:18:37 +0200 | <Maxdamantus> | Impure functions can be inlined to achieve the same benefits. |
2021-06-29 07:19:01 +0200 | <Maxdamantus> | s/\<their\>/they're/ |
2021-06-29 07:19:58 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 07:21:52 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-06-29 07:22:33 +0200 | sayola | (~vekto@dslb-088-078-152-192.088.078.pools.vodafone-ip.de) (Ping timeout: 258 seconds) |
2021-06-29 07:23:22 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-06-29 07:24:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 07:24:42 +0200 | <qrpnxz> | Axman6, well remember i built a second set with the same number of elements as the first set. If it somehow freed the first set immediately, that's impressive, if it somehow reused that set to build the second, that impressive. If i were to do toList and then do length rather than just measure the size directly, then indeed in that case it uses the exact amount of memory. And it does! I just tested it. |
2021-06-29 07:26:52 +0200 | jneira | (~jneira@212.8.115.226) |
2021-06-29 07:28:11 +0200 | <Axman6> | right - depends on if that initial set even existed at all to begin with too |
2021-06-29 07:28:42 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-29 07:30:05 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 268 seconds) |
2021-06-29 07:31:14 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
2021-06-29 07:31:26 +0200 | v01d4lph4 | (~v01d4lph4@122.160.65.250) |
2021-06-29 07:31:26 +0200 | v01d4lph4 | (~v01d4lph4@122.160.65.250) (Changing host) |
2021-06-29 07:31:26 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-06-29 07:31:27 +0200 | <qrpnxz> | it surely does since streaming into length allocated the memory. I reckon Data.Set is too opaque to go as far as optimizing Set.fromList [] & toList away without an explicit rewrite rule |
2021-06-29 07:32:52 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-06-29 07:33:10 +0200 | azeem | (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it) (Ping timeout: 268 seconds) |
2021-06-29 07:36:25 +0200 | dunkeln | (~dunkeln@94.129.65.28) |
2021-06-29 07:40:01 +0200 | derelict | (~derelict@user/derelict) |
2021-06-29 07:42:01 +0200 | <qrpnxz> | i sometimes see little pounds signs in stdlib code that idk what it does, like in the nice implementation of foldr with foldMap, it has a place that does (Endo #. f), what's happening here? |
2021-06-29 07:42:22 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
2021-06-29 07:42:31 +0200 | <qrpnxz> | or like Int# -> Int# what is that? |
2021-06-29 07:44:20 +0200 | Axman6 | (~Axman6@user/axman6) (Remote host closed the connection) |
2021-06-29 07:44:29 +0200 | <c_wraith> | Those are different things. #. is just a normal operator named #. |
2021-06-29 07:44:42 +0200 | Axman6 | (~Axman6@user/axman6) |
2021-06-29 07:44:50 +0200 | <c_wraith> | Int# is special, though. You need an extension, -XMagicHash, to use it. |
2021-06-29 07:45:27 +0200 | <c_wraith> | The symbol doesn't have any intrinsic meaning, but it's part of a convention that internal low-level types have names that end with # |
2021-06-29 07:46:07 +0200 | <c_wraith> | In particular, Int# is the low-level type that's actually a binary value. |
2021-06-29 07:46:09 +0200 | <c_wraith> | @src Int |
2021-06-29 07:46:10 +0200 | <lambdabot> | data Int = I# Int# |
2021-06-29 07:46:23 +0200 | <boxscape_> | (btw to be clear once you have -XMagicHash you can also have user-defined names ending in #, so it's not restricted to built-in usages) |
2021-06-29 07:47:15 +0200 | <qrpnxz> | ah, what's (Endo #. f) mean then? |
2021-06-29 07:47:29 +0200 | <c_wraith> | Whatever #. is defined to mean. |
2021-06-29 07:47:42 +0200 | <c_wraith> | ... that's probably the newtype-aware composition operator |
2021-06-29 07:47:56 +0200 | <c_wraith> | But really, you should be looking at the imports for that one |
2021-06-29 07:48:15 +0200 | <qrpnxz> | good idea let me see |
2021-06-29 07:48:50 +0200 | <c_wraith> | It's probably https://hackage.haskell.org/package/profunctors-5.6.2/docs/Data-Profunctor-Unsafe.html#v:-35-. |
2021-06-29 07:49:09 +0200 | <c_wraith> | But make sure that profunctors is actually involved |
2021-06-29 07:50:25 +0200 | <qrpnxz> | 🤨️ |
2021-06-29 07:50:29 +0200 | <qrpnxz> | absolutely galaxy brain |
2021-06-29 07:50:39 +0200 | <qrpnxz> | everything about coerce seems inscrutable |
2021-06-29 07:51:24 +0200 | <qrpnxz> | i've noted fmapdefault and foldmap default are coercions of traverse, kind of mind blowing |
2021-06-29 07:52:21 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-06-29 07:52:27 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-06-29 07:52:48 +0200 | <qrpnxz> | ahhhhh (#.) ≡ \_ -> \p -> p `seq` rmap coerce p |
2021-06-29 07:53:52 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) |
2021-06-29 07:54:23 +0200 | cjb | (~cjb@user/cjb) (Quit: end of day) |
2021-06-29 07:55:54 +0200 | kenran | (~kenran@b2b-37-24-119-190.unitymedia.biz) |
2021-06-29 07:56:36 +0200 | killsushi | (~killsushi@user/killsushi) (Read error: Connection reset by peer) |
2021-06-29 07:57:43 +0200 | killsushi | (~killsushi@user/killsushi) |
2021-06-29 07:58:12 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-29 08:01:00 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-06-29 08:01:28 +0200 | dunkeln | (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds) |
2021-06-29 08:03:18 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 08:08:02 +0200 | pagnol | (~user@202.155.216.98) |
2021-06-29 08:08:07 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-29 08:08:18 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) |
2021-06-29 08:09:03 +0200 | Guest6 | (~Guest6@106.240.249.42) |
2021-06-29 08:09:39 +0200 | Guest6 | (~Guest6@106.240.249.42) (Client Quit) |
2021-06-29 08:10:29 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
2021-06-29 08:11:05 +0200 | michalz | (~michalz@185.246.204.122) |
2021-06-29 08:12:42 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-06-29 08:13:02 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-06-29 08:15:34 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-06-29 08:18:38 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 08:23:48 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-06-29 08:26:04 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) |
2021-06-29 08:26:20 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 272 seconds) |
2021-06-29 08:29:18 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-06-29 08:33:18 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-06-29 08:34:32 +0200 | Axman6 | (~Axman6@user/axman6) (Remote host closed the connection) |
2021-06-29 08:34:59 +0200 | Axman6 | (~Axman6@user/axman6) |
2021-06-29 08:42:45 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-29 08:48:53 +0200 | biberu | (~biberu@user/biberu) (Quit: ZNC - https://znc.in) |
2021-06-29 08:54:27 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) |
2021-06-29 08:54:31 +0200 | biberu | (~biberu@user/biberu) |
2021-06-29 08:55:55 +0200 | <guest61> | Could not load module ‘Network.HTTP.Types’, It is a member of the hidden package ‘http-types-0.12.3’. |
2021-06-29 08:56:01 +0200 | <guest61> | how to solve this? |
2021-06-29 08:59:18 +0200 | <guest61> | cabal install —lib http-types, got it |
2021-06-29 08:59:52 +0200 | <Axman6> | generally that means you need to add it as a dependency in the cabal file |
2021-06-29 08:59:54 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 09:00:54 +0200 | <guest61> | yes, but I forget how to generate a cabal file |
2021-06-29 09:01:00 +0200 | <guest61> | cabal init? |
2021-06-29 09:01:27 +0200 | <guest61> | cabal v1 v2 v3, which we should use? |
2021-06-29 09:01:30 +0200 | <guest61> | :) |
2021-06-29 09:02:15 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
2021-06-29 09:02:26 +0200 | <dminuoso> | guest61: Which cabal version do you have? |
2021-06-29 09:03:01 +0200 | <guest61> | cabal-install version 3.4.0.0 |
2021-06-29 09:03:10 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-06-29 09:03:39 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-29 09:04:17 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-06-29 09:04:30 +0200 | <dminuoso> | Then all relevant commands use v2- style |
2021-06-29 09:04:49 +0200 | <dminuoso> | For init, it was always and still is `cabal init` in the appropriate directory |
2021-06-29 09:05:17 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
2021-06-29 09:06:04 +0200 | <guest61> | ok |
2021-06-29 09:14:55 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 268 seconds) |
2021-06-29 09:17:10 +0200 | pagnol | (~user@202.155.216.98) (Ping timeout: 258 seconds) |
2021-06-29 09:18:32 +0200 | sheepduck | (~sheepduck@user/sheepduck) (Quit: Konversation terminated!) |
2021-06-29 09:18:39 +0200 | acidjnk | (~acidjnk@p200300d0c72b953738da50577290d8ed.dip0.t-ipconnect.de) |
2021-06-29 09:23:45 +0200 | pagnol | (~user@014198154145.ctinets.com) |
2021-06-29 09:24:10 +0200 | chele | (~chele@user/chele) |
2021-06-29 09:24:19 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 09:25:14 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2021-06-29 09:25:24 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 268 seconds) |
2021-06-29 09:26:38 +0200 | warnz | (~warnz@104-55-100-55.lightspeed.lsvlky.sbcglobal.net) |
2021-06-29 09:26:59 +0200 | kuribas | (~user@ptr-25vy0i8agiojdg3pjev.18120a2.ip6.access.telenet.be) |
2021-06-29 09:29:12 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-06-29 09:29:17 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-06-29 09:30:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 09:31:06 +0200 | warnz | (~warnz@104-55-100-55.lightspeed.lsvlky.sbcglobal.net) (Ping timeout: 265 seconds) |
2021-06-29 09:31:14 +0200 | <kuribas> | I have PR from a guy, removing all bounds on my cabal dependencies... |
2021-06-29 09:31:21 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 258 seconds) |
2021-06-29 09:31:35 +0200 | <sclv> | lol |
2021-06-29 09:31:55 +0200 | <kuribas> | Aren't you supposed to have both lower and upper bounds on all dependencies? |
2021-06-29 09:32:04 +0200 | <sclv> | yes |
2021-06-29 09:32:17 +0200 | <sclv> | http://pvp.haskell.org |
2021-06-29 09:32:24 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 252 seconds) |
2021-06-29 09:32:34 +0200 | neurocyte4 | (~neurocyte@212.232.83.109) |
2021-06-29 09:32:34 +0200 | neurocyte4 | (~neurocyte@212.232.83.109) (Changing host) |
2021-06-29 09:32:34 +0200 | neurocyte4 | (~neurocyte@user/neurocyte) |
2021-06-29 09:32:42 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-06-29 09:33:11 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-06-29 09:34:28 +0200 | oxide | (~lambda@user/oxide) |
2021-06-29 09:43:20 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-06-29 09:45:02 +0200 | fendor | (~fendor@77.119.197.237.wireless.dyn.drei.com) |
2021-06-29 09:54:10 +0200 | <maerwald[m]> | kuribas: no |
2021-06-29 09:54:21 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Ping timeout: 258 seconds) |
2021-06-29 09:55:02 +0200 | azeem | (~azeem@176.201.40.58) |
2021-06-29 09:55:03 +0200 | <maerwald[m]> | The only restriction that hackage makes is requiring an upper bound on base |
2021-06-29 09:57:23 +0200 | <delYsid> | What does (# ..., ... #) actually do? |
2021-06-29 09:57:28 +0200 | azeem | (~azeem@176.201.40.58) (Read error: Connection reset by peer) |
2021-06-29 09:57:42 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) |
2021-06-29 09:57:56 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-06-29 09:58:01 +0200 | <maerwald[m]> | Luckily < 9000 works too |
2021-06-29 09:58:16 +0200 | <delYsid> | Used it in three places where I thought it might help, two didnt do much to the runtime, and one place gave me 25% speedup! So now I wonder how it actually works exactly |
2021-06-29 09:59:38 +0200 | <delYsid> | I am guessing the tuple has no thunk, right? Whats the difference to !(..., ...)? |
2021-06-29 09:59:51 +0200 | <boxscape_> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/primitives.html#unboxed-tuples "When an unboxed tuple is returned, the components are put directly into registers or on the stack; the unboxed tuple itself does not have a composite representation" |
2021-06-29 10:01:00 +0200 | matsurago | (~matsurago@p0111337-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) |
2021-06-29 10:02:37 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-06-29 10:03:01 +0200 | <xerox> | whereas the standard tuple has two pointers |
2021-06-29 10:03:21 +0200 | <delYsid> | ahh, thanks |
2021-06-29 10:04:00 +0200 | dunj3 | (~dunj3@p200300f61714a693595934ba002cc8b5.dip0.t-ipconnect.de) |
2021-06-29 10:05:17 +0200 | cfricke | (~cfricke@user/cfricke) (Read error: Connection reset by peer) |
2021-06-29 10:05:50 +0200 | <delYsid> | A somewhat related question. When I last looked at the underlying type behind Word64, it looked like I need CPP to support 32bit platforms. I recently saw a commit in GHC which touched a lot of code around Data.Word. Is there a W64# in some GHC version that does not need CPP? Or did I understand things completely wrong anyway? |
2021-06-29 10:05:59 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-06-29 10:06:34 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-06-29 10:07:24 +0200 | haskl | (~haskl@user/haskl) |
2021-06-29 10:08:19 +0200 | <merijn> | delYsid: Why do you need CPP to support 32bit platforms? |
2021-06-29 10:08:25 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-06-29 10:08:30 +0200 | <[exa]> | delYsid: AFAIK Word64 should work on 32b platforms, it's just not going to be really fast |
2021-06-29 10:08:50 +0200 | <merijn> | delYsid: The implementation fo Word32/64/etc. are platform dependent |
2021-06-29 10:09:15 +0200 | Aleci[m] | (~alecilibr@2001:470:69fc:105::32e7) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | ac | (~aloiscoch@2001:470:69fc:105::65) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | fgaz | (~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | MatrixTravelerbo | (~voyagert2@2001:470:69fc:105::22) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | siraben | (~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | ServerStatsDisco | (~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | kadoban | (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | carmysilna | (~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | peddie | (~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | sm[m] | (~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:15 +0200 | psydroid | (~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | hsiktas[m] | (~hsiktasma@2001:470:69fc:105::30d4) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | unclechu | (~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | lwe[m] | (~dendrumat@2001:470:69fc:105::2f9b) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | ericson2314 | (~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | the-coot[m] | (~the-cootm@2001:470:69fc:105::95f) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | maralorn | (~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | vaibhavsagar[m] | (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | bryan[m] | (~bchreekat@2001:470:69fc:105::16b5) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | Deewiant | (~deewiant@2001:470:69fc:105::2fd3) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | cdsmith | (~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | ru0mad[m] | (~ru0madmat@2001:470:69fc:105::9b2) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | Orbstheorem | (~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:16 +0200 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | jophish | (~jophish@2001:470:69fc:105::670) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | Artem[m] | (~artemtype@2001:470:69fc:105::75b) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | inkbottle[m] | (~inkbottle@2001:470:69fc:105::2ff5) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | bb010g | (~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | marinelli[m] | (~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | cdepillabout[m] | (~cdepillab@2001:470:69fc:105::3d3) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | hjulle[m] | (~hjullemat@2001:470:69fc:105::1dd) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | jaror[m] | (~jaror@2001:470:69fc:105::265) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | tomferon[m] | (~tomferon@2001:470:69fc:105::268) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | sridonhiatus[m] | (~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | bitonic | (~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | fabfianda[m] | (~fabfianda@2001:470:69fc:105::6db) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | Las[m] | (~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | thedward[m] | (~thedwardm@2001:470:69fc:105::f79) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | zfnmxt | (~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | amesgen[m] | (~amesgenam@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | eddiemundo | (~eddiemund@2001:470:69fc:105::a9c) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | unrooted | (~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | gxt | (~gxt@2001:470:69fc:105::3513) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | maerwald[m] | (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:17 +0200 | adziahel[m] | (~adziahelm@2001:470:69fc:105::b4d) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:18 +0200 | wallymathieu[m] | (~wallymath@2001:470:69fc:105::16ae) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:18 +0200 | Ollie[m] | (~ollieocha@2001:470:69fc:105::41a5) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:18 +0200 | dualinverter[m] | (~dualinver@2001:470:69fc:105::16a7) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:20 +0200 | boxscape | (~boxscape@user/boxscape) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:20 +0200 | ormaaj | (~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:20 +0200 | autrim64[m] | (~autrim64m@2001:470:69fc:105::16a1) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:21 +0200 | Guest4696 | (~sylveonma@2001:470:69fc:105::2d95) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:23 +0200 | justosophy[m] | (~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:24 +0200 | dminuoso[m] | (~dminuosom@2001:470:69fc:105::33bb) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:24 +0200 | vbeatrice[m] | (~vbeatrice@2001:470:69fc:105::3ebf) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:24 +0200 | reza[m] | (~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:25 +0200 | kosmikus[m] | (~andresloe@2001:470:69fc:105::95d) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:28 +0200 | Drezil | (~drezilkif@2001:470:69fc:105::7f8) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:28 +0200 | oak- | (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:29 +0200 | Soft | (~soft-matr@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:29 +0200 | ixlun | (~ixlun@2001:470:69fc:105::41b3) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:29 +0200 | RohitGoswami[m] | (~rgoswamim@2001:470:69fc:105::16cc) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:29 +0200 | jakefromstatefar | (~jakefroms@2001:470:69fc:105::15ef) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:29 +0200 | jellz[m] | (~jellzmatr@2001:470:69fc:105::2daa) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:29 +0200 | yin[m] | (~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:29 +0200 | ecameron[m] | (~ecameronm@2001:470:69fc:105::35df) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:29 +0200 | aveltras[m] | (~aveltrasm@2001:470:69fc:105::3ef9) (Quit: Bridge terminating on SIGTERM) |
2021-06-29 10:09:37 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-06-29 10:10:19 +0200 | <kuribas> | maerwald: I mean, what is recommended, not what is enforced by hackage. |
2021-06-29 10:10:37 +0200 | <merijn> | kuribas: There's always those people |
2021-06-29 10:10:53 +0200 | <merijn> | kuribas: "this gets in the way of what I want right now, so I'm gonna remove it" |
2021-06-29 10:11:14 +0200 | <merijn> | kuribas: I once had a PR from someone who marked all my foreign imports as "unsafe", because he read a blog that said it was faster |
2021-06-29 10:11:23 +0200 | <kuribas> | merijn: yeah, they could just like... move the upper bound? |
2021-06-29 10:11:58 +0200 | <kuribas> | merijn: as if you didn't think about it... |
2021-06-29 10:12:04 +0200 | <merijn> | kuribas: Probably a stack user who is like "but I don't wanna deal with this, so I'm gonna make *everyone else* deal with it" |
2021-06-29 10:12:13 +0200 | <delYsid> | merijn: I'd like to use Word64# instead of Word64 to improve performance, since my Word64 really never needs to be lazy... |
2021-06-29 10:12:17 +0200 | <kuribas> | hehe, that's *exactly* what he said :) |
2021-06-29 10:12:37 +0200 | <merijn> | kuribas: My approach to people like that is "fuck 'em" |
2021-06-29 10:12:43 +0200 | <delYsid> | But reading though GHC.Word, it looks like that might only work on certain platforms? |
2021-06-29 10:12:55 +0200 | <[exa]> | delYsid: not sure you'll gain much performance by that, just like, decrease portability |
2021-06-29 10:13:05 +0200 | <merijn> | I don't think it will |
2021-06-29 10:13:12 +0200 | <merijn> | it should work on all platforms |
2021-06-29 10:13:18 +0200 | <merijn> | You can't use any of the Num functions, though |
2021-06-29 10:14:12 +0200 | <merijn> | delYsid: GHC already has optimisations to make numeric value strict of it detects them being used in tight loops |
2021-06-29 10:14:15 +0200 | hegstal | (~hegstal@2a02:c7f:7604:8a00:cf3c:697d:723b:8aac) |
2021-06-29 10:14:50 +0200 | <[exa]> | delYsid: that said, if you're trying to optimize this stuff, you really really should have a look at the generated code to see where the bottleneck is |
2021-06-29 10:16:01 +0200 | <delYsid> | [exa]: Good point. that would be stg, right? |
2021-06-29 10:16:05 +0200 | <[exa]> | from what I've seen, it's quite unlikely to be in the numbers, unless your usecase is about running 1 word64-specific instruction in a tight loop |
2021-06-29 10:16:09 +0200 | <merijn> | delYsid: Core, probably |
2021-06-29 10:16:10 +0200 | <kuribas> | merijn: quote "When you're using a resolver like Stackage, you already know all the packages build with each other. If your package builds too, then it probably works. I've found that this tends to be more future-proof and avoids the need to constantly bump the bounds to keep things working." |
2021-06-29 10:16:31 +0200 | <merijn> | kuribas: Yeah, don't do that |
2021-06-29 10:16:42 +0200 | <delYsid> | [exa]: Well, in the end, I indeed only do xor on these words... |
2021-06-29 10:16:46 +0200 | <[exa]> | delYsid: good question. Core is pretty readable, Stg and c-- can still be "parsed" and you can see if there's some wrapping that doesn't make sense |
2021-06-29 10:17:12 +0200 | <merijn> | kuribas: It's in fact, less future proof, because future version of *any* of your dependencies can release a breaking change in the future, retro-actively breaking all the old versions |
2021-06-29 10:17:27 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-29 10:17:29 +0200 | <merijn> | delYsid: Also, have you heard of our lord and saviour speedscope? |
2021-06-29 10:17:36 +0200 | <[exa]> | if it's slow, I'd guess it's doing some allocation in the tight loop, which should be avoidable |
2021-06-29 10:17:38 +0200 | <kuribas> | merijn: didn't bytestring make breaking changes? |
2021-06-29 10:17:50 +0200 | <[exa]> | +1 for merijn's speedscope :D |
2021-06-29 10:17:51 +0200 | <merijn> | kuribas: Everything makes breaking changes at some point |
2021-06-29 10:17:52 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-29 10:18:13 +0200 | <merijn> | delYsid: See https://speedscope.app/ and https://mpickering.github.io/posts/2019-11-07-hs-speedscope.html |
2021-06-29 10:18:36 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
2021-06-29 10:20:05 +0200 | <delYsid> | Gah, would love to, but this stuff is likely inaccessible. As are the other tools which make a postscript file out of the ghc profiling output... All pretty much unusable to me as a text mode person :-( |
2021-06-29 10:20:17 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2021-06-29 10:20:53 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-06-29 10:21:19 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2021-06-29 10:21:22 +0200 | feliix42 | (~felix@gibbs.uberspace.de) (Ping timeout: 272 seconds) |
2021-06-29 10:21:30 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 244 seconds) |
2021-06-29 10:21:33 +0200 | AWizzArd | (~code@user/awizzard) (Ping timeout: 250 seconds) |
2021-06-29 10:21:54 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 252 seconds) |
2021-06-29 10:21:59 +0200 | <delYsid> | I guess I will try to figure out how to generate core and read that. |
2021-06-29 10:22:28 +0200 | Arahael | (~arahael@60-240-135-223.tpgi.com.au) |
2021-06-29 10:23:23 +0200 | <boxscape_> | -ddump-simpl |
2021-06-29 10:23:33 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-06-29 10:26:17 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-06-29 10:26:38 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 10:29:44 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-06-29 10:30:11 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
2021-06-29 10:31:24 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-06-29 10:34:25 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
2021-06-29 10:35:05 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-29 10:35:53 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
2021-06-29 10:37:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Remote host closed the connection) |
2021-06-29 10:39:06 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-06-29 10:41:49 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-06-29 10:42:31 +0200 | motte_ | (~weechat@82.131.74.160.cable.starman.ee) (Ping timeout: 272 seconds) |
2021-06-29 10:43:45 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-29 10:49:59 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 10:52:37 +0200 | offpics | (~offpics@89-79-56-128.dynamic.chello.pl) |
2021-06-29 10:53:48 +0200 | neurocyte4 | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
2021-06-29 11:01:33 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 11:06:15 +0200 | acidjnk | (~acidjnk@p200300d0c72b953738da50577290d8ed.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-06-29 11:06:32 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2021-06-29 11:09:16 +0200 | Guest21 | (~Guest21@mob-5-90-96-69.net.vodafone.it) |
2021-06-29 11:11:37 +0200 | dhil | (~dhil@195.213.192.47) |
2021-06-29 11:14:01 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
2021-06-29 11:16:05 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-06-29 11:17:22 +0200 | zeenk | (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
2021-06-29 11:18:00 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 252 seconds) |
2021-06-29 11:19:30 +0200 | sayola | (~vekto@dslb-088-078-152-192.088.078.pools.vodafone-ip.de) |
2021-06-29 11:19:52 +0200 | oxide | (~lambda@user/oxide) |
2021-06-29 11:23:05 +0200 | kenran | (~kenran@b2b-37-24-119-190.unitymedia.biz) (Quit: WeeChat info:version) |
2021-06-29 11:23:30 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 240 seconds) |
2021-06-29 11:25:23 +0200 | Guest21 | (~Guest21@mob-5-90-96-69.net.vodafone.it) (Quit: Client closed) |
2021-06-29 11:27:30 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 256 seconds) |
2021-06-29 11:29:43 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 11:31:19 +0200 | offpics | (~offpics@89-79-56-128.dynamic.chello.pl) (Quit: Konversation terminated!) |
2021-06-29 11:31:34 +0200 | offpics | (~offpics@89-79-56-128.dynamic.chello.pl) |
2021-06-29 11:32:44 +0200 | offpics | (~offpics@89-79-56-128.dynamic.chello.pl) (Client Quit) |
2021-06-29 11:32:58 +0200 | offpics | (~offpics@89-79-56-128.dynamic.chello.pl) |
2021-06-29 11:34:46 +0200 | acidjnk | (~acidjnk@p200300d0c72b953738da50577290d8ed.dip0.t-ipconnect.de) |
2021-06-29 11:37:42 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 11:37:59 +0200 | MorrowM | (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 268 seconds) |
2021-06-29 11:38:14 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 258 seconds) |
2021-06-29 11:39:23 +0200 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) (Ping timeout: 258 seconds) |
2021-06-29 11:39:33 +0200 | haskl | (~haskl@user/haskl) (Remote host closed the connection) |
2021-06-29 11:40:32 +0200 | haskl | (~haskl@98.37.78.63) |
2021-06-29 11:40:54 +0200 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) |
2021-06-29 11:41:09 +0200 | Guest7 | (~Guest7@mob-5-90-96-69.net.vodafone.it) |
2021-06-29 11:42:13 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 256 seconds) |
2021-06-29 11:45:37 +0200 | haskl | (~haskl@98.37.78.63) (Remote host closed the connection) |
2021-06-29 11:46:00 +0200 | acid | (~acid@user/acid) (Ping timeout: 268 seconds) |
2021-06-29 11:46:29 +0200 | benin0369 | (~benin@183.82.205.231) (Quit: The Lounge - https://thelounge.chat) |
2021-06-29 11:48:37 +0200 | haskl | (~haskl@98.37.78.63) |
2021-06-29 11:51:15 +0200 | haskl | (~haskl@98.37.78.63) (Changing host) |
2021-06-29 11:51:16 +0200 | haskl | (~haskl@user/haskl) |
2021-06-29 11:51:54 +0200 | acid | (~acid@user/acid) |
2021-06-29 11:51:56 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 272 seconds) |
2021-06-29 11:56:27 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 11:57:43 +0200 | acid | (~acid@user/acid) (Ping timeout: 246 seconds) |
2021-06-29 11:58:42 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-06-29 12:00:24 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-29 12:00:56 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 256 seconds) |
2021-06-29 12:01:06 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-29 12:01:16 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
2021-06-29 12:01:28 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33) |
2021-06-29 12:01:41 +0200 | acid | (~acid@user/acid) |
2021-06-29 12:02:13 +0200 | neurocyte4 | (~neurocyte@212.232.83.109) |
2021-06-29 12:02:13 +0200 | neurocyte4 | (~neurocyte@212.232.83.109) (Changing host) |
2021-06-29 12:02:13 +0200 | neurocyte4 | (~neurocyte@user/neurocyte) |
2021-06-29 12:03:49 +0200 | juhp | (~juhp@128.106.188.66) (Read error: Connection reset by peer) |
2021-06-29 12:06:58 +0200 | xsperry | (~as@user/xsperry) (Ping timeout: 268 seconds) |
2021-06-29 12:09:36 +0200 | <guest61> | I'm using scotty as a simple web server, and my browser tells me favicon.ico not foud, what this mean? |
2021-06-29 12:09:45 +0200 | <guest61> | do I need to config it? |
2021-06-29 12:10:20 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-06-29 12:18:00 +0200 | <Profpatsch> | guest61: the browser looks at /favicon.ico by default |
2021-06-29 12:18:12 +0200 | <Profpatsch> | thanks to the 90s |
2021-06-29 12:18:16 +0200 | <int-e> | WTF, browser /complaining/ about a "missing" favicon?! |
2021-06-29 12:18:20 +0200 | <Profpatsch> | So you’d have to put a favicon there |
2021-06-29 12:18:34 +0200 | <Profpatsch> | guibou: |
2021-06-29 12:18:36 +0200 | <Profpatsch> | guest61: |
2021-06-29 12:18:38 +0200 | <Profpatsch> | <!-- |
2021-06-29 12:18:41 +0200 | <Profpatsch> | prevent favicon request, based on answers in |
2021-06-29 12:18:41 +0200 | <int-e> | These things are commonplace but should be completely optional. |
2021-06-29 12:18:43 +0200 | <Profpatsch> | https://stackoverflow.com/questions/1321878/how-to-prevent-favicon-ico-requests |
2021-06-29 12:18:45 +0200 | <Profpatsch> | TODO: create favicon |
2021-06-29 12:18:47 +0200 | <Profpatsch> | --> |
2021-06-29 12:18:49 +0200 | <Profpatsch> | <link rel="icon" href="data:,"> |
2021-06-29 12:18:51 +0200 | <Profpatsch> | guibou: haha, sorry, but hi! :) |
2021-06-29 12:19:04 +0200 | <Profpatsch> | int-e: the snippet i just posted makes the browser not request it |
2021-06-29 12:20:05 +0200 | <rawles> | I use <link rel="icon" href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4K"/> to avoid additional requests to /favicon.ico - it's the smallest valid data URL I could find. |
2021-06-29 12:20:35 +0200 | <Profpatsch> | rawles: empty data works as well |
2021-06-29 12:20:50 +0200 | <Profpatsch> | maybe not in all browsers though |
2021-06-29 12:21:44 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-29 12:21:48 +0200 | <int-e> | you can probably use https://hackage.haskell.org/package/scotty-0.12/docs/Web-Scotty-Trans.html#v:file and serve an actual image for /favicon.ico (a 32x32 or 64x64 png should work fine?) |
2021-06-29 12:22:39 +0200 | sayola | (~vekto@dslb-088-078-152-192.088.078.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-06-29 12:24:52 +0200 | theproffesor | (~theproffe@user/theproffesor) (Ping timeout: 272 seconds) |
2021-06-29 12:26:41 +0200 | <guest61> | yes |
2021-06-29 12:26:58 +0200 | <guest61> | file in scotty is very easy to use |
2021-06-29 12:27:16 +0200 | dunj4 | (~dunj3@p200300f61714a6027bbd4f06e8da6b8b.dip0.t-ipconnect.de) |
2021-06-29 12:27:31 +0200 | <guest61> | https://paste.ubuntu.com/p/JR22Gcjfp6/ |
2021-06-29 12:27:42 +0200 | <guest61> | I like its simple |
2021-06-29 12:28:01 +0200 | Torro | (Torro@gateway/vpn/protonvpn/torro) |
2021-06-29 12:28:03 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 12:28:04 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
2021-06-29 12:29:56 +0200 | dunj3 | (~dunj3@p200300f61714a693595934ba002cc8b5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2021-06-29 12:32:22 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 246 seconds) |
2021-06-29 12:39:19 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 12:39:32 +0200 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) (Quit: My Ex-Girlfriend once told me: I'm not a slut, I'm just popular) |
2021-06-29 12:40:19 +0200 | PHO | (~pho@akari.cielonegro.org) |
2021-06-29 12:40:25 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-06-29 12:41:25 +0200 | PHO | PHO` |
2021-06-29 12:44:00 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 256 seconds) |
2021-06-29 12:45:19 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-29 12:46:37 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 12:57:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-06-29 12:57:33 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
2021-06-29 12:57:35 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
2021-06-29 12:57:37 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 13:01:38 +0200 | xsperry | (~as@user/xsperry) |
2021-06-29 13:02:17 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 13:02:49 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-06-29 13:03:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 13:03:52 +0200 | Guest7 | (~Guest7@mob-5-90-96-69.net.vodafone.it) (Quit: Client closed) |
2021-06-29 13:07:30 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2021-06-29 13:08:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-06-29 13:08:44 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-06-29 13:09:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 13:09:29 +0200 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-29 13:10:06 +0200 | chris_ | (~chris@81.96.113.213) |
2021-06-29 13:14:34 +0200 | PHO` | (~pho@akari.cielonegro.org) (Quit: Server Configuration changed; reconnect) |
2021-06-29 13:14:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-06-29 13:14:42 +0200 | PHO` | (~pho@akari.cielonegro.org) |
2021-06-29 13:14:53 +0200 | chris_ | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
2021-06-29 13:15:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 13:16:12 +0200 | PHO` | (~pho@akari.cielonegro.org) (Remote host closed the connection) |
2021-06-29 13:16:27 +0200 | PHO` | (~pho@akari.cielonegro.org) |
2021-06-29 13:20:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-06-29 13:21:06 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 240 seconds) |
2021-06-29 13:21:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 13:22:24 +0200 | <Unhammer> | Is there a way to get ghci to run a command after every :r ? |
2021-06-29 13:26:37 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-06-29 13:27:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 13:27:13 +0200 | <boxscape_> | Unhammer you can use `:def` in your ghci config file to make a new command that reloads and then runs something or to overwrite the :r command |
2021-06-29 13:27:27 +0200 | <Unhammer> | oh good idea |
2021-06-29 13:28:32 +0200 | <boxscape_> | hm although I'm currently failing to actually figure out how to use it properly |
2021-06-29 13:33:59 +0200 | gensyst | (gensyst@user/gensyst) |
2021-06-29 13:34:26 +0200 | fendor_ | (~fendor@77.119.197.237.wireless.dyn.drei.com) |
2021-06-29 13:34:35 +0200 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
2021-06-29 13:35:09 +0200 | <gensyst> | In this https://pastebin.com/n4s0i2Qb (pardon the ridiculous example), is there a way to use "let" (or something) to avoid duplicating "my_func i" those four times in that pattern matching? |
2021-06-29 13:35:43 +0200 | <gensyst> | The trick is that "i" is only extracted "later on". |
2021-06-29 13:35:56 +0200 | <gensyst> | s/trick/challenge |
2021-06-29 13:36:12 +0200 | <Unhammer> | boxscape_, |
2021-06-29 13:36:13 +0200 | <Unhammer> | :def g \_ -> return $ ":r\nJust d <- DevelGet.get :: IO (Maybe Data)" |
2021-06-29 13:36:15 +0200 | <Unhammer> | worked for me :) |
2021-06-29 13:36:21 +0200 | <boxscape_> | ah, nice |
2021-06-29 13:37:50 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-06-29 13:38:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 13:38:53 +0200 | <kuribas> | gensyst: case testm of Nothing -> 2; Just i -> let mf = my_func i in (if | mf > 3 -> mf; f < -30 -> mf + 1000; otherwise -> 0); |
2021-06-29 13:39:10 +0200 | <kuribas> | use multiwayif |
2021-06-29 13:39:15 +0200 | <boxscape_> | gensyst or with ViewPatterns you should be able to do https://paste.tomsmeding.com/qMVAfDaa |
2021-06-29 13:39:24 +0200 | Raito_Bezarius | (~Raito@2a01:e0a:5f9:9681:bdcd:d554:1779:9a1a) (Changing host) |
2021-06-29 13:39:24 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2021-06-29 13:40:48 +0200 | <boxscape_> | though I suppose realistically I would do it more similarly to kuribas and combine the guards https://paste.tomsmeding.com/FFFW20ej |
2021-06-29 13:42:36 +0200 | <kuribas> | I mean: (if | mf > 3 -> mf | f < -30 -> mf + 1000 | otherwise -> 0) |
2021-06-29 13:43:11 +0200 | <boxscape_> | for good measure, a solution that doesn't require extensions https://paste.tomsmeding.com/cYPx7PJ3 |
2021-06-29 13:43:53 +0200 | <kuribas> | boxscape_: nice |
2021-06-29 13:43:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-06-29 13:44:26 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 13:44:42 +0200 | Guest33 | (~textual@c-107-4-204-12.hsd1.mn.comcast.net) |
2021-06-29 13:45:54 +0200 | acidjnk | (~acidjnk@p200300d0c72b953738da50577290d8ed.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-06-29 13:46:38 +0200 | <merijn> | kuribas: Eh, why use multiwayif? You can just use guards on the case? |
2021-06-29 13:46:55 +0200 | <kuribas> | merijn: because there is a let in between? |
2021-06-29 13:47:10 +0200 | <merijn> | You can use guards on the let :p |
2021-06-29 13:47:16 +0200 | kilolympus | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) |
2021-06-29 13:47:17 +0200 | alphabeta | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) |
2021-06-29 13:47:22 +0200 | dasher | (~user@197.155.22.36) |
2021-06-29 13:47:37 +0200 | <kuribas> | merijn: let mf = my_func i in | mf > 3 = mf | ... ? |
2021-06-29 13:47:46 +0200 | alphabeta | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Client Quit) |
2021-06-29 13:47:59 +0200 | kilolympus | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Client Quit) |
2021-06-29 13:48:16 +0200 | kilolympus | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) |
2021-06-29 13:48:29 +0200 | <merijn> | kuribas: hmm, I think I'm lacking context of the original question :) |
2021-06-29 13:48:39 +0200 | <kuribas> | well, you could do let mf = my_func i; result | mf > 3 = mf .. in result. |
2021-06-29 13:49:00 +0200 | chris_ | (~chris@81.96.113.213) |
2021-06-29 13:49:01 +0200 | <kuribas> | I think boxscape_ s last way is nicer. |
2021-06-29 13:49:46 +0200 | <kuribas> | or case () of () | mf > 3 = mf | ... |
2021-06-29 13:51:48 +0200 | xff0x | (~xff0x@2001:1a81:53b8:a100:fc31:6f5c:5a37:95a) (Ping timeout: 268 seconds) |
2021-06-29 13:52:02 +0200 | themc47 | (~mc47@xmonad/TheMC47) |
2021-06-29 13:52:27 +0200 | xff0x | (~xff0x@2001:1a81:53b8:a100:f8a8:d5fd:e910:e3c0) |
2021-06-29 13:52:36 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-06-29 13:52:36 +0200 | themc47 | (~mc47@xmonad/TheMC47) (Client Quit) |
2021-06-29 13:52:47 +0200 | <gensyst> | great suggestions! |
2021-06-29 13:52:57 +0200 | <merijn> | eh |
2021-06-29 13:53:01 +0200 | <merijn> | I have a much simpler one |
2021-06-29 13:53:04 +0200 | <gensyst> | merijn, fyi In this https://pastebin.com/n4s0i2Qb (pardon the ridiculous example), is there a way to use "let" (or something) to avoid duplicating "my_func i" those four times in that pattern matching? |
2021-06-29 13:53:09 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Read error: Connection reset by peer) |
2021-06-29 13:53:46 +0200 | <merijn> | How about just "case my_func <$> testm of Nothing -> 2; Just i | i < 3 -> i; ..." |
2021-06-29 13:54:07 +0200 | <merijn> | <- galaxy brain |
2021-06-29 13:54:31 +0200 | <merijn> | You guys overcomplicating this with bunches of extensions :p |
2021-06-29 13:55:15 +0200 | <kuribas> | merijn: that doesn't even do the same thing |
2021-06-29 13:55:32 +0200 | <merijn> | kuribas: It does for the example paste he gave |
2021-06-29 13:55:48 +0200 | <merijn> | How does it not do that same thing? |
2021-06-29 13:55:51 +0200 | <kuribas> | merijn: no it doesn't |
2021-06-29 13:56:09 +0200 | <merijn> | Enlighten me |
2021-06-29 13:56:13 +0200 | <kuribas> | merijn: he comparse my_func i against 3, you compare i against 3... |
2021-06-29 13:56:26 +0200 | <merijn> | kuribas: Because I fmapped my_func in the case? |
2021-06-29 13:56:34 +0200 | <kuribas> | ah, I see... |
2021-06-29 13:56:43 +0200 | <merijn> | Hence, why I have a galaxy brain :p |
2021-06-29 13:56:56 +0200 | <kuribas> | merijn: that will work for this case |
2021-06-29 13:57:28 +0200 | <merijn> | There's corner cases where (if you need the original unaltered value) it won't work, but even that is easily fixed |
2021-06-29 13:57:50 +0200 | <merijn> | You could just change "my_fun" to return a tuple of "original and new value" and get the same logic |
2021-06-29 13:58:24 +0200 | <merijn> | gensyst: btw, note that you don't need to repeat the "Just i" prefix for the 2nd pattern |
2021-06-29 13:58:29 +0200 | <kuribas> | merijn: not sure that's less complicated... |
2021-06-29 13:58:53 +0200 | <merijn> | Well, it doesn't require any extensions :p |
2021-06-29 13:58:59 +0200 | <Athas> | Ugh, GHC has a really charming behaviour on case-insensitive file systems: if you miscapitalise the module name in an 'import', it'll find the file alright, but complain that the module header is wrong (due to differences in capitalisation). |
2021-06-29 13:59:07 +0200 | <kuribas> | merijn: boxscape_ 's latest didn't either. |
2021-06-29 13:59:32 +0200 | <merijn> | kuribas: I only saw the ViewPatterns one |
2021-06-29 13:59:34 +0200 | kspalaiologos | (~kspalaiol@user/kspalaiologos) |
2021-06-29 13:59:42 +0200 | <Athas> | This reminds of the Bad Old Days when I had students who programmed in SML on Windows, and who would import standard libraries by their un-capitalised names. At least GHC will complain. |
2021-06-29 13:59:43 +0200 | <boxscape_> | https://paste.tomsmeding.com/cYPx7PJ3 |
2021-06-29 13:59:50 +0200 | <boxscape_> | merijn ^^ |
2021-06-29 14:00:16 +0200 | <merijn> | boxscape_: Right, but that's just my fmap solution, but uglier :p |
2021-06-29 14:00:29 +0200 | <tomsmeding> | Athas: because case-insensitive file system? A few years back I started doing some haskell on mac with a case-insensitive file system and it accepted lowercase file names just fine |
2021-06-29 14:01:09 +0200 | <merijn> | Technically macOS and windows are "case-preserving" not insensitive :p |
2021-06-29 14:01:33 +0200 | <Athas> | tomsmeding: yes, because macOS. I typed 'import FOo.Bar', it found 'Foo/Bar.hs', then complained that this file declared 'module Foo.Bar' rather than 'module FOo.Bar'. |
2021-06-29 14:01:51 +0200 | <Athas> | Fortunately I have already ordered a replacement machine that can run an OS without this bug. |
2021-06-29 14:02:02 +0200 | <Athas> | But I'm surprised GHC doesn't catch this. Is it just not worth the bother to fix? |
2021-06-29 14:02:15 +0200 | <merijn> | Athas: It sounds like it does catch it? |
2021-06-29 14:02:28 +0200 | <merijn> | Else you wouldn't get the error, no? |
2021-06-29 14:02:33 +0200 | <Athas> | merijn: the error is wrong. |
2021-06-29 14:02:42 +0200 | <merijn> | Athas: That is up for debate |
2021-06-29 14:02:57 +0200 | <merijn> | Athas: It's literally impossible to know that for GHC |
2021-06-29 14:02:59 +0200 | <tomsmeding> | Athas: macos supports a case-sensitive file system too; case-insensitive is just the default |
2021-06-29 14:03:07 +0200 | <int-e> | Athas: it opened FOo/Bar.hs and got a file back, how is it supposed to know that this is not the actual file name? |
2021-06-29 14:03:10 +0200 | <Athas> | merijn: no, it is not. GHC could query the canonical file name after the lookup. |
2021-06-29 14:03:16 +0200 | <merijn> | "You import X, a file for X exists, but lists a different module name" |
2021-06-29 14:03:33 +0200 | <Athas> | int-e: by checking the name of the file after opening. |
2021-06-29 14:03:57 +0200 | <merijn> | Athas: How, exactly? |
2021-06-29 14:03:58 +0200 | <int-e> | And what if that is foo/bar.hs? |
2021-06-29 14:04:11 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2) |
2021-06-29 14:04:12 +0200 | <Athas> | merijn: fstat will tell you the canonical name, won't it? |
2021-06-29 14:04:23 +0200 | <Athas> | int-e: then no module named FOo.Bar or Foo.Bar exists. |
2021-06-29 14:04:32 +0200 | <merijn> | Athas: Seems unlikely, since there is no single canonical name for files |
2021-06-29 14:04:41 +0200 | <tomsmeding> | merijn: Finder manages to display one :p |
2021-06-29 14:04:44 +0200 | <int-e> | Athas: that'll break *other* case insensitive file systems |
2021-06-29 14:04:50 +0200 | <merijn> | Athas: Multiple hard links can refer to the same inode |
2021-06-29 14:05:07 +0200 | <boxscape_> | heh if you have a type signature with a variable `b4`, the first unification variable generated from that which GHC will show you in error messages is `b40`, but the next ones are `b1`, `b2`, etc. |
2021-06-29 14:05:24 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-29 14:05:24 +0200 | <tomsmeding> | boxscape_: b3, b5? |
2021-06-29 14:05:29 +0200 | <Athas> | Ah, no, not fstat. But it is definitely possible to find the display name, even on a case insensitive file system. |
2021-06-29 14:05:38 +0200 | <Athas> | int-e: how so? |
2021-06-29 14:05:45 +0200 | <merijn> | Athas: You can find *a* display name, probably |
2021-06-29 14:05:51 +0200 | <boxscape_> | tomsmeding erm let me check if it skips b4 but I suppose probably, yeah |
2021-06-29 14:06:13 +0200 | <int-e> | Athas: because they may implement case insensitivity by picking canonical file names (all lower case; all upper case) |
2021-06-29 14:06:22 +0200 | <tomsmeding> | merijn: there cannot be two display names referring to the same inode that differ by only case, because case-sensitive file system |
2021-06-29 14:06:23 +0200 | <Athas> | merijn: are you telling me that given a path foo/bar.hs that resolves to a file on macOS, it is a major ordeal to find the "proper" casing of the name? |
2021-06-29 14:06:48 +0200 | favonia | (~favonia@user/favonia) |
2021-06-29 14:06:51 +0200 | <tomsmeding> | so even if there may be multiple hard links to the same inode, given a path to the thing that is correct modulo case, it should, theoretically, be possible to find the canonical version of that path :p |
2021-06-29 14:06:58 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-29 14:07:03 +0200 | tomsmeding | has never tried to do that on macos |
2021-06-29 14:07:07 +0200 | <Athas> | Worst case, look at the contents of the directory. That'll work unless the file system is both case-insensitive *and* permits different files in the same directory that differ only by case. |
2021-06-29 14:07:16 +0200 | <Athas> | But I can't imagine any file system would permit that. |
2021-06-29 14:07:21 +0200 | <merijn> | Athas: I'm saying that that file may be referred to from multiple paths none of which are canonical |
2021-06-29 14:07:23 +0200 | <tomsmeding> | related story: a friend of mine always wrote 'head' instead of 'HEAD' with git and was surprised that didn't work on linux |
2021-06-29 14:07:36 +0200 | <Athas> | merijn: but I already told GHC the path, so there would be no ambiguity. |
2021-06-29 14:07:43 +0200 | <merijn> | Athas: After opening a file you no longer have a path, though, only a file descriptor |
2021-06-29 14:07:45 +0200 | <Athas> | You are trying to solve a way more complex problem than necessary. |
2021-06-29 14:08:05 +0200 | dasher | (~user@197.155.22.36) (ERC (IRC client for Emacs 27.2)) |
2021-06-29 14:08:09 +0200 | <Athas> | Ignore the file descriptor mention. That was a red herring and a pointless technical detail. My point is that GHC could solve this, and I'm surprised it doesn't. |
2021-06-29 14:08:19 +0200 | <tomsmeding> | Athas: I think ultimately, getting the behaviour you want would require additional code in ghc that does little actual useful work |
2021-06-29 14:08:33 +0200 | <tomsmeding> | and hence it's hard to justify putting it in |
2021-06-29 14:08:35 +0200 | <Athas> | tomsmeding: this is the case for all code that tries to provide better error messages than ed. |
2021-06-29 14:08:48 +0200 | <Athas> | I don't care much myself, because hopefully I have little time left on macOS. |
2021-06-29 14:09:26 +0200 | <merijn> | Athas: I mean, on windows and linux guessing the actual path is all just "best effort guesswork" too |
2021-06-29 14:09:31 +0200 | tomsmeding | thinks ed gives plenty useful error messages, '?' |
2021-06-29 14:09:42 +0200 | <tomsmeding> | merijn: not if you have the path given :p |
2021-06-29 14:09:46 +0200 | <tomsmeding> | as you have in this use-case |
2021-06-29 14:09:47 +0200 | <merijn> | Athas: The only way on linux seems to be hacky operation on /proc |
2021-06-29 14:09:56 +0200 | <int-e> | The error message isn't even that terrible... yes, it doesn't guess the right root cause, but as the programmer you should be able to connect the dots easily enough. |
2021-06-29 14:10:01 +0200 | <merijn> | tomsmeding: How so? |
2021-06-29 14:10:13 +0200 | <merijn> | tomsmeding: Linux supports case insensitive filesystems |
2021-06-29 14:10:20 +0200 | <merijn> | It's not the default |
2021-06-29 14:10:24 +0200 | <merijn> | but it can still happen |
2021-06-29 14:10:25 +0200 | derelict | (~derelict@user/derelict) |
2021-06-29 14:10:25 +0200 | <tomsmeding> | if you're in a particular directory and you're importing module A.B.C, then that can only be at path a/b/c.hs modulo case |
2021-06-29 14:10:43 +0200 | <tomsmeding> | on a case sensitive file system the path is unambiguous: A/B/C.hs |
2021-06-29 14:11:00 +0200 | <merijn> | tomsmeding: Right, but you don't know if its case sensitive on linux |
2021-06-29 14:11:13 +0200 | functor | (~functor@151.51.141.57) |
2021-06-29 14:11:13 +0200 | <tomsmeding> | on a case-insensitive file system, there is still only one possible canonical path; if there were multiple, there would be multiple directory entries that differ only by case, which is nonsensical on a case-insensitive file system |
2021-06-29 14:11:15 +0200 | <merijn> | tomsmeding: You are just *assuming* that, because the default filesystem for your distro happens to be |
2021-06-29 14:11:34 +0200 | <Athas> | merijn: but the problem isn't about finding the path to an arbitrary file. The problem is having a path 'foo/bar.hs' that we already know resolves to a file, and then figuring out what the name would look like if you just 'ls'ed that file (or rather, the containing directory). _Much_ simpler. |
2021-06-29 14:11:37 +0200 | <merijn> | tomsmeding: Not true, you can have multiple paths refering to the same inode |
2021-06-29 14:11:57 +0200 | <tomsmeding> | I know! |
2021-06-29 14:12:06 +0200 | <tomsmeding> | but on a case-insensitive file system they cannot differ only by case |
2021-06-29 14:12:08 +0200 | <Athas> | I think the portable (if inefficient) way of doing this is to just walk the tree and list the contents of every directory. |
2021-06-29 14:12:18 +0200 | <tomsmeding> | and we know that the canonical path we're looking for differs from our given path only by case |
2021-06-29 14:12:22 +0200 | <Athas> | tomsmeding: in theory they might! |
2021-06-29 14:12:23 +0200 | <merijn> | Athas: My point was that the original error is right, but from a different viewpoint. Your viewpoint is "the import is typoed and the file should not be found" |
2021-06-29 14:12:41 +0200 | <merijn> | Athas: GHC's viewpoint is "the import is right and the file exists, but you typoed the module name in the imported file" |
2021-06-29 14:12:51 +0200 | <int-e> | Athas: "it can be done" is not a good argument for doing something |
2021-06-29 14:13:02 +0200 | <merijn> | Whether you typoed the module name or the import is equally valid as error message |
2021-06-29 14:13:03 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-29 14:13:04 +0200 | <int-e> | s/good // |
2021-06-29 14:13:21 +0200 | <merijn> | tomsmeding: We don't actually :p |
2021-06-29 14:13:36 +0200 | <Athas> | merijn: sure, but this means that a module might type-check, then later contain errors (according to GHC) depending on how it is imported, which seems wrong to me. |
2021-06-29 14:13:45 +0200 | <merijn> | tomsmeding: Since .lhs extensions exist too *and* GHC accepts (accepted?) collapsed directory names |
2021-06-29 14:14:02 +0200 | <tomsmeding> | ooooh |
2021-06-29 14:14:04 +0200 | <Athas> | Oh, it has already been reported: https://gitlab.haskell.org/ghc/ghc/-/issues/16507 |
2021-06-29 14:14:10 +0200 | <merijn> | tomsmeding: Which means every module has at least 4 possible names that don't clash on case insensitive filesytems |
2021-06-29 14:14:12 +0200 | <tomsmeding> | A.hs and a.lhs in the same directory |
2021-06-29 14:14:24 +0200 | <Athas> | What happens in that case, I wonder. |
2021-06-29 14:14:29 +0200 | <Athas> | Even A.lhs and A.hs is ambiguous. |
2021-06-29 14:14:37 +0200 | <merijn> | You are fucked anyway |
2021-06-29 14:14:42 +0200 | fendor_ | (~fendor@77.119.197.237.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
2021-06-29 14:14:46 +0200 | <merijn> | Haskell doesn't specify how imports related to filenames |
2021-06-29 14:14:52 +0200 | <merijn> | And GHC is handwavey about the semantics |
2021-06-29 14:15:00 +0200 | amk | (~amk@176.61.106.150) (Remote host closed the connection) |
2021-06-29 14:15:06 +0200 | <merijn> | So it's all unspecified and a matter of "what happens to work on GHC" |
2021-06-29 14:15:11 +0200 | <int-e> | Haskell doesn't specify how modules map to files |
2021-06-29 14:15:17 +0200 | <merijn> | I already made a ticket complaining about this years ago |
2021-06-29 14:15:29 +0200 | <merijn> | And saying we should have deterministic semantics |
2021-06-29 14:15:37 +0200 | <merijn> | But I never implemented anything for it, so the status quo remains |
2021-06-29 14:15:41 +0200 | <int-e> | I mean, you could have a single file declaring all your modules |
2021-06-29 14:15:58 +0200 | <int-e> | and that'd be okay because it's outside the scope of Haskell's language definition |
2021-06-29 14:16:01 +0200 | <merijn> | int-e: *That* is not allowed by the grammar |
2021-06-29 14:16:14 +0200 | <int-e> | But the grammar is for a module? |
2021-06-29 14:16:21 +0200 | nschoe | (~quassel@178.251.84.79) |
2021-06-29 14:16:22 +0200 | int-e | shrugs |
2021-06-29 14:16:32 +0200 | <merijn> | hmm, is it? I don't remember enough details |
2021-06-29 14:16:54 +0200 | <Athas> | merijn: I am pretty sure it is. |
2021-06-29 14:16:59 +0200 | <merijn> | Athas: Anyway, I'm not saying GHC is *right* I'm just saying its "definitely not wrong" :p |
2021-06-29 14:17:16 +0200 | <Athas> | The Haskell 2010 report explicitly shows an example of a "program" with multiple consecutive module definitions. |
2021-06-29 14:17:21 +0200 | <Athas> | No idea whether GHC accepts it. |
2021-06-29 14:17:26 +0200 | <merijn> | It doesn't |
2021-06-29 14:17:39 +0200 | <merijn> | GHC also doesn't accept circular imports :(( |
2021-06-29 14:17:46 +0200 | <Rembane> | Athas: In the same file? |
2021-06-29 14:18:12 +0200 | <Athas> | Rembane: the report doesn't say anything about files. |
2021-06-29 14:18:20 +0200 | amk | (~amk@176.61.106.150) |
2021-06-29 14:18:20 +0200 | <tdammers> | ^ |
2021-06-29 14:18:41 +0200 | <tdammers> | I've always assumed that those code samples were meant to be in the same file, but they're not. The report doesn't specify anything wrt source files at all. |
2021-06-29 14:18:52 +0200 | <merijn> | The problem isn't that the report doesn't say anything about files |
2021-06-29 14:18:53 +0200 | <Athas> | And strictly speaking, the grammar doesn't have a production permitting consecutive modules. The 'module' nonterminal is the top level, I think. |
2021-06-29 14:19:02 +0200 | <merijn> | The problem is that GHC doesn't have any specified semantics either |
2021-06-29 14:19:43 +0200 | <Athas> | Yet GHC's mapping of modules to files is still much better than many other languages. And didn't the other Haskell compilers (when they existed) behave much as GHC does now? |
2021-06-29 14:19:59 +0200 | <merijn> | There was at least one compiler that accepted the file "Foo.Bar.Baz.hs" for module "Foo.Bar.Baz" |
2021-06-29 14:20:10 +0200 | <Athas> | It's much better than the SML situation, which despite its much-vaunted formal specification, neglected to talk about multi-file programs at all. So every implementation does it differently. |
2021-06-29 14:20:12 +0200 | <merijn> | Without needing directories |
2021-06-29 14:20:27 +0200 | <tdammers> | personally, I've always hated it when compilers/interpreters couple filenames to in-language things |
2021-06-29 14:20:36 +0200 | <merijn> | tdammers: Yes, but also no |
2021-06-29 14:20:57 +0200 | <int-e> | merijn: I guess it depends on how much you're willing to read into "The lexical structure captures the concrete representation of Haskell programs in text files." |
2021-06-29 14:21:06 +0200 | <merijn> | tdammers: I think file names should correspond to modules, but without requiring 1 file per module |
2021-06-29 14:21:13 +0200 | <Rembane> | Athas, tdammers Interesting and potentially very powerful. |
2021-06-29 14:21:15 +0200 | <int-e> | The word "file" is mostly absent from the syntax portion of the report :P |
2021-06-29 14:21:30 +0200 | <merijn> | tdammers: So "Foo/Bar.hz" *should* contain module Foo.Bar but *might* also contain more nested submodules |
2021-06-29 14:21:31 +0200 | kspalaiologos | (~kspalaiol@user/kspalaiologos) (Quit: Leaving) |
2021-06-29 14:21:31 +0200 | <tdammers> | merijn: I think that that should be left for the programmer to decide |
2021-06-29 14:22:01 +0200 | <merijn> | tdammers: I've taught to many students and been surrounded by too many scientists to think that's a good idea :) |
2021-06-29 14:22:20 +0200 | <Athas> | I like when language concepts are directly coupled to things I already know about (like the hierarchical structure of a file system). Means I have to remember fewer arbitrary details. |
2021-06-29 14:22:23 +0200 | <tdammers> | merijn: if they can't master discipline, then they don't deserve a toolchain that tries to keep them honest |
2021-06-29 14:22:29 +0200 | <Athas> | I have _never_ enjoyed learning about include path semantics. |
2021-06-29 14:22:29 +0200 | <tdammers> | merijn: let them dig their own graves |
2021-06-29 14:22:49 +0200 | d4 | (~d4@151.51.141.57) |
2021-06-29 14:23:08 +0200 | functor | (~functor@151.51.141.57) () |
2021-06-29 14:23:15 +0200 | <int-e> | .hz <- "Haskell zoo"? :-) |
2021-06-29 14:23:54 +0200 | <Rembane> | Is there any specific reason for why GHC doesn't handle circular imports? |
2021-06-29 14:24:01 +0200 | <tdammers> | In all seriousness, "include path semantics" are just a horrible thing to have to be dealing with. And then there's the problem that filenames are subjects to all sorts of restrictions, and identifiers / module names are subject to *other* restrictions, and so you need a translation step between the two which means that in fact module names never equal filenames, and ugh |
2021-06-29 14:24:07 +0200 | <int-e> | personally I think the "every module is a file" convention is /healthy/ even though it's sometimes inconvenient because there's a tendency for making very small modules. |
2021-06-29 14:24:26 +0200 | <Athas> | Rembane: it is difficult to do automatically. GHC requires hand-written "boot files" containing type signatures, which are used to break the circularity. |
2021-06-29 14:24:29 +0200 | <int-e> | And I certainly rely on it... |
2021-06-29 14:24:49 +0200 | <Rembane> | Athas: Got it. That sounds painful but that a solution exists which is good |
2021-06-29 14:24:54 +0200 | <boxscape_> | Rembane the code for GHC itself has a few import loops that are resolved in that way |
2021-06-29 14:24:54 +0200 | <Athas> | tdammers: restricting module names to some simple subset of ASCII solves that, though. |
2021-06-29 14:25:24 +0200 | killsushi | (~killsushi@user/killsushi) (Quit: Leaving) |
2021-06-29 14:25:37 +0200 | <boxscape_> | Athas that sucks if you want to code in a language that doesn't use ASCII, though |
2021-06-29 14:25:40 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 14:25:47 +0200 | <Athas> | I think the circularity limitation is mostly a performance thing. You could always just concatecate a multi-module program to one big module and then type-check that. |
2021-06-29 14:25:56 +0200 | <boxscape_> | (natural language, that is) |
2021-06-29 14:25:57 +0200 | <int-e> | (in a dumb way: locate Foo/Bar.l?hs + less --> cheap way of getting a likely source of a Foo.Bar module) |
2021-06-29 14:26:46 +0200 | <tdammers> | Athas: not entirely. E.g., in Haskell, a source file still needs a .hs extension; and you also violate established file naming conventions (e.g., Unix-like systems tend to prefer kebab-cased filenames, but Haskell modules need to be PascalCased) |
2021-06-29 14:27:07 +0200 | <Athas> | tdammers: you can use underscores in module names, can't you? |
2021-06-29 14:27:20 +0200 | <boxscape_> | % module Under_Score where |
2021-06-29 14:27:21 +0200 | <yahb> | boxscape_: |
2021-06-29 14:27:23 +0200 | <boxscape_> | yes |
2021-06-29 14:27:26 +0200 | <tdammers> | Athas: yes, and now you're violating both Unix filename and Haskell module name conventions |
2021-06-29 14:27:45 +0200 | <Athas> | I wouldn't say undescores in Unix file names is much of a violation. |
2021-06-29 14:28:00 +0200 | <tdammers> | Athas: it works, but it's not idiomatic |
2021-06-29 14:28:02 +0200 | Pickchea | (~private@user/pickchea) |
2021-06-29 14:28:22 +0200 | <Athas> | My OpenBSD system contains thousands of system filenames with underscores. |
2021-06-29 14:28:32 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 14:28:40 +0200 | <tomsmeding> | tdammers: in /usr/lib/modules I have a couple of linux module files that have _ in them |
2021-06-29 14:28:55 +0200 | <tdammers> | not saying it doesn't happen a lot |
2021-06-29 14:29:01 +0200 | <tdammers> | just that it's not idiomatic |
2021-06-29 14:29:18 +0200 | <tdammers> | then again, unix is a mess, so there's that |
2021-06-29 14:29:46 +0200 | <tomsmeding> | maybe is unidiomaticity (?) has declined over time? |
2021-06-29 14:29:52 +0200 | <tomsmeding> | s/is/its/ |
2021-06-29 14:30:10 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-29 14:30:21 +0200 | <merijn> | All tech is a mess >.> |
2021-06-29 14:30:27 +0200 | <Athas> | Looking at old Unix filesystem listings, neither underscores nor dashes seemed to be in use. |
2021-06-29 14:30:32 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2021-06-29 14:30:43 +0200 | <Athas> | Dashes were used for options, which to me would discourage their use in file names. |
2021-06-29 14:30:47 +0200 | <tdammers> | I think what's happened is that "modern unix culture" is a wild zoo of all sorts of different subcultures and imports, everyone just does whatever they're familiar with |
2021-06-29 14:30:58 +0200 | <tomsmeding> | ^ |
2021-06-29 14:30:59 +0200 | <int-e> | Hmm. 20% of the haskell files on my disk have an _ in their name... that's a lot. |
2021-06-29 14:31:06 +0200 | <tdammers> | *leading* dashes are for options; dashes inside filenames are fine |
2021-06-29 14:31:34 +0200 | <tdammers> | fun fact though, you *can* make filenames that start with dashes on most *nix filesystems, but getting rid of them again can be tricky |
2021-06-29 14:32:10 +0200 | <int-e> | . o O ( touch -- -rf ) |
2021-06-29 14:32:23 +0200 | <[exa]> | sysadmin fun: 1] touch ./-rf\ \~ 2] wait |
2021-06-29 14:33:22 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-06-29 14:33:30 +0200 | <int-e> | [exa]: spoiler: the ~ will not expand to $HOME |
2021-06-29 14:33:46 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
2021-06-29 14:34:48 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-29 14:35:08 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
2021-06-29 14:35:10 +0200 | <[exa]> | int-e: it will after the user types it |
2021-06-29 14:35:33 +0200 | <int-e> | why would... never mind, users are stupid |
2021-06-29 14:35:57 +0200 | <merijn> | I wish macOS and linux would copy FreeBSD's -I flag on rm |
2021-06-29 14:36:04 +0200 | <[exa]> | yes that is precisely the design target. |
2021-06-29 14:36:16 +0200 | <merijn> | So I can just do "alias rm = rm -I" like I have on BSD |
2021-06-29 14:37:09 +0200 | <merijn> | -I is, like, an infinitely more useful version of -i |
2021-06-29 14:37:10 +0200 | <[exa]> | ...my gnu rm does -I ? |
2021-06-29 14:37:39 +0200 | <int-e> | life lesson: 'rm -rf *' and 'cd ..' are not commutative. (I've learned better since...) |
2021-06-29 14:37:54 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 256 seconds) |
2021-06-29 14:37:54 +0200 | <merijn> | Ah, looks like -I was added to GNU rm |
2021-06-29 14:38:02 +0200 | <merijn> | Now I just need it on macOS :> |
2021-06-29 14:39:00 +0200 | <[exa]> | int-e: that's good. :] |
2021-06-29 14:40:45 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 14:41:21 +0200 | d4 | functor |
2021-06-29 14:42:44 +0200 | Guest33 | (~textual@c-107-4-204-12.hsd1.mn.comcast.net) (Quit: Textual IRC Client: www.textualapp.com) |
2021-06-29 14:45:16 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 256 seconds) |
2021-06-29 14:45:58 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 14:47:42 +0200 | <gensyst> | merijn, i ended up abandoning macos. too much pita. |
2021-06-29 14:47:56 +0200 | <gensyst> | for haskell, linux "just works". |
2021-06-29 14:48:15 +0200 | <[exa]> | but the fruity feels! |
2021-06-29 14:48:27 +0200 | Clint | shudders. |
2021-06-29 14:48:29 +0200 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
2021-06-29 14:48:33 +0200 | <gensyst> | after a few weeks, the ugliness of linux grows on you and you start loving the freedom |
2021-06-29 14:48:57 +0200 | <Athas> | The GUI ugliness? |
2021-06-29 14:49:15 +0200 | <gensyst> | yeah, relative to macos (i'm using qubes, which is uglier than most distros) |
2021-06-29 14:49:21 +0200 | <[exa]> | ....what's ugly on plain black fullscreen console? |
2021-06-29 14:49:26 +0200 | <merijn> | Athas: I mean, the non-GUI parts are ugly too :p |
2021-06-29 14:49:38 +0200 | <gensyst> | my main regret now is i didn't do it years ago |
2021-06-29 14:49:56 +0200 | <merijn> | I'd sooner go back to FreeBSD on the desktop than linux |
2021-06-29 14:50:08 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-29 14:51:12 +0200 | <gensyst> | merijn, why? |
2021-06-29 14:51:13 +0200 | <Athas> | [exa]: exactly! Minimalism is a pragmatic solution to lack of aesthetic ability. |
2021-06-29 14:51:52 +0200 | noctuks | (VLd78TzYRj@user/noctux) |
2021-06-29 14:53:04 +0200 | <merijn> | gensyst: I hate linux approach to "engineering" (i.e. "we have a broken/unusable interface, rather than fix it lets us introduce a gratuitously backwards incompatible, undocumented, new interface instead of fixing it!") |
2021-06-29 14:53:29 +0200 | <nshepperd2> | having my computer be partially owned by lennart poettering isn't ideal, but i'd say it's superior to it being fully owned by Apple or Microsoft |
2021-06-29 14:53:31 +0200 | <merijn> | And 90% of the time that new interface "lol, parse the undocumented string output of /proc or get fucked" |
2021-06-29 14:54:33 +0200 | <gensyst> | ok.. i haven't run into that issue yet |
2021-06-29 14:54:44 +0200 | <gensyst> | it's only been a few months though |
2021-06-29 14:55:14 +0200 | <Athas> | Also, remember that merijn is comparing Linux to the BSDs. |
2021-06-29 14:55:31 +0200 | <merijn> | Athas: Yes and I will never stop being mad about epoll >.< |
2021-06-29 14:55:41 +0200 | <Athas> | The BSDs are extremely carefully engineered (for good and bad). Doesn't mean Linux doesn't look pretty good compared to many lesser systems. |
2021-06-29 14:56:10 +0200 | <merijn> | Hot take: Microsoft's engineering is equal or better to linux is the hill I will die on |
2021-06-29 14:56:33 +0200 | <merijn> | It's fine to prefer linux because you're politically infatuated with FOSS |
2021-06-29 14:56:38 +0200 | _xor | (~xor@74.215.46.133) (Quit: brb) |
2021-06-29 14:56:44 +0200 | <nshepperd2> | -++ |
2021-06-29 14:56:54 +0200 | <merijn> | But pretending linux somehow has superior engineering is just lunacy |
2021-06-29 14:57:49 +0200 | <merijn> | And 90% of the complaints about windows here aren't even "poor engineering" but "windows engineers made different design trade-offs that don't fit your posix expectations but aren't inherently bad or inferior" |
2021-06-29 14:58:13 +0200 | <turlando> | merijn «we have a broken/unusable interface» it's called POSIX and all Unices have it :) |
2021-06-29 14:58:34 +0200 | <merijn> | Not to say there isn't any suckage in the design of Windows and its engineering. But it's really not more so than linux |
2021-06-29 14:58:41 +0200 | <merijn> | turlando: Naah |
2021-06-29 14:58:57 +0200 | <merijn> | turlando: Linux is mostly on the 2nd or 3rd post posix interface for most things >.> |
2021-06-29 14:59:17 +0200 | <merijn> | turlando: All of which equally broken as posix, just in different ways and without the benefit of at least being portably broken |
2021-06-29 14:59:51 +0200 | <gensyst> | Are there OSes other than Qubes (Linux) where I can have most docs in an offline qube, so if my browser/irc client get cracked they won't get to my docs? |
2021-06-29 15:00:15 +0200 | <gensyst> | (That would be a good reason to use Linux, although only because Qubes happens to be Linux) |
2021-06-29 15:01:02 +0200 | <gensyst> | https://www.qubes-os.org/ |
2021-06-29 15:01:04 +0200 | <nshepperd2> | but superior engineering is actually bad if it's used to take away choice from users and show them ads |
2021-06-29 15:01:07 +0200 | <Athas> | gensyst: probably not, since I think Qubes' sandboxing depends on Linux's rather fine-grained (and complicated) isolation support. |
2021-06-29 15:01:13 +0200 | alx741 | (~alx741@186.178.109.202) |
2021-06-29 15:01:22 +0200 | <Athas> | _Maybe_ FreeBSD's jails could be used to do something similar, but they are not really built for that. |
2021-06-29 15:01:22 +0200 | <gensyst> | Athas, yeah i think it's quite the unique beast |
2021-06-29 15:01:42 +0200 | <merijn> | gensyst: OpenBSDs Theo de Raadt (which is about as paranoid a security person you can find) has given several presentations where he points out that linux is lagging behind windows in terms of security efforts and mitigations |
2021-06-29 15:02:17 +0200 | <turlando> | To my knowledge most userland software are POSIX client, but a few Linux-specific exceptions. Since it's been brought up before, I'm not a systemd fan (or better, I don't care) but one of the most used argument is that "it's not POSIX compliant". Well, I would call it an advantage given that we're damned to stick to an half-assed interface from the 70s. |
2021-06-29 15:02:19 +0200 | <merijn> | Athas: Wouldn't even be hard, you could run IRC client/browser in a jail fairly easily |
2021-06-29 15:02:39 +0200 | <merijn> | Athas: I actually had a setup where browser would run in a jail when I was using FreeBSD as desktop |
2021-06-29 15:02:51 +0200 | <gensyst> | interesting! |
2021-06-29 15:02:57 +0200 | juhp | (~juhp@128.106.188.66) |
2021-06-29 15:03:00 +0200 | <Athas> | merijn: I don't think I would trust the isolation if I ran an X11 client in a jail. |
2021-06-29 15:03:16 +0200 | <Athas> | I assume Qubes either uses multiple X servers or Wayland (but I don't know). |
2021-06-29 15:05:04 +0200 | <turlando> | (Don't get me wrong, I'm very happy I can run most of my software on my OpenBSD box, but I think we should get past POXIS and Unix in general, which is a fractal of bad designs) |
2021-06-29 15:05:09 +0200 | <gensyst> | so these jails are more useful than AppArmor or SELinux from this point of view? |
2021-06-29 15:05:43 +0200 | <Athas> | What do you mean by "useful"? |
2021-06-29 15:06:14 +0200 | <Athas> | FreeBSD jails were revolutionary because of how simple they made it to do the right thing, which originally was to create very cheap virtual servers for web hosting purposes. |
2021-06-29 15:06:43 +0200 | <Athas> | That's generally the BSD approach: a carefully designed and somewhat specialised facility (I don't know how flexible Jails have gotten since, though). |
2021-06-29 15:07:00 +0200 | <Athas> | The Linux approach is to provide a huge bunch of features that can eventually be combined to achieve various effects. Docker is an example. |
2021-06-29 15:07:28 +0200 | <Athas> | Compare also OpenBSD's pledge() and Linux's seccomp. |
2021-06-29 15:08:06 +0200 | <Athas> | pledge() is stupidly simple and inflexible, but used pervasively in the OpenBSD userland. Linux's seccomp is extremely fine-grained, but used only by very large and complex programs (like browsers, for sandboxing). |
2021-06-29 15:09:23 +0200 | <Athas> | But perhaps this is better suited for #haskell-offtopic. |
2021-06-29 15:09:27 +0200 | <Athas> | So how about those monoids, huh? |
2021-06-29 15:10:37 +0200 | <gensyst> | AppArmor doesn't BY DEFAULT isolate an IRC client (which by default has access to entire home folder), making it too dangerous to use. (And even if I could write a configuration to isolate it, nobody is using AppArmor this way so it's a PITA to even try.) |
2021-06-29 15:10:38 +0200 | <Taneb> | As an on-topic thought, is "data NonEmpty f a = a :| f a; instance Foldable1 f => Foldable (NonEmpty f)" sensible? Useful? Does it have any other instances? |
2021-06-29 15:10:48 +0200 | <gensyst> | I don't recall now why I discarded SELinux honestly |
2021-06-29 15:11:14 +0200 | <maerwald> | written by NSA? ;) |
2021-06-29 15:11:26 +0200 | <gensyst> | Seems like jails have a similar issue. The default behavior is dangerous. |
2021-06-29 15:11:33 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
2021-06-29 15:11:50 +0200 | <gensyst> | Qubes is cool: I simply can't use an IRC client on an offline qube. problem solved |
2021-06-29 15:12:07 +0200 | <maerwald> | Is Qubes still developed? |
2021-06-29 15:12:10 +0200 | <gensyst> | yeah |
2021-06-29 15:12:10 +0200 | <Athas> | Taneb: hm. It seems to me that it makes certain assumptions about what 'f a' is. |
2021-06-29 15:12:18 +0200 | <Athas> | Namely that the 'a's are in positive position. |
2021-06-29 15:12:44 +0200 | <gensyst> | maerwald, https://www.qubes-os.org/news/ |
2021-06-29 15:12:44 +0200 | <Athas> | What if 'f = ((->) Int)'? |
2021-06-29 15:12:59 +0200 | <maerwald> | Afair the biggest problem on Qubes is the GPU |
2021-06-29 15:13:53 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 15:14:09 +0200 | <merijn> | Athas: Pledge is brilliant and everyone should copy it |
2021-06-29 15:14:25 +0200 | <merijn> | Athas: But linux won't, because they suffer from extremely fatal doses of NIH >.> |
2021-06-29 15:15:07 +0200 | <Taneb> | Athas: then it wouldn't have many useful instances. Invariant and Copointed don't count |
2021-06-29 15:15:53 +0200 | <nshepperd2> | Taneb: surely you mean Foldable f => Foldable1 (NonEmpty f) |
2021-06-29 15:16:03 +0200 | <Taneb> | nshepperd2: oh, yes indeed |
2021-06-29 15:16:11 +0200 | <Taneb> | Good catch |
2021-06-29 15:16:14 +0200 | <gensyst> | merijn, thanks for the raadt suggestion. will watch his stuff |
2021-06-29 15:16:32 +0200 | <nshepperd2> | anyway that's Product Identity, so it has pretty much all these instances https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Functor-Product.html |
2021-06-29 15:17:34 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 246 seconds) |
2021-06-29 15:18:36 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
2021-06-29 15:18:45 +0200 | <gensyst> | maerwald, yeah that's an issue. if i need a gpu one day (e.g. machine learning), my plan is to have a separate machine for that. |
2021-06-29 15:19:30 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-06-29 15:19:40 +0200 | <nshepperd2> | i guess some of the instances could be written different though |
2021-06-29 15:20:02 +0200 | <maerwald> | I can also imagine that speech recognition software that hooks into X etc will be heavily broken |
2021-06-29 15:20:13 +0200 | dhil | (~dhil@195.213.192.47) (Remote host closed the connection) |
2021-06-29 15:20:14 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-06-29 15:21:44 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-29 15:23:38 +0200 | zinc_ | zinc |
2021-06-29 15:30:40 +0200 | matsurago | (~matsurago@p0111337-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) (Quit: Leaving) |
2021-06-29 15:31:06 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 240 seconds) |
2021-06-29 15:33:54 +0200 | offpics | (~offpics@89-79-56-128.dynamic.chello.pl) (Read error: Connection reset by peer) |
2021-06-29 15:34:49 +0200 | gensyst | (gensyst@user/gensyst) (Quit: Leaving) |
2021-06-29 15:41:22 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-06-29 15:42:49 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
2021-06-29 15:44:24 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 15:46:57 +0200 | jao | (jao@gateway/vpn/protonvpn/jao) |
2021-06-29 15:48:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 256 seconds) |
2021-06-29 15:49:25 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 246 seconds) |
2021-06-29 15:50:42 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-06-29 15:51:16 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-06-29 15:51:44 +0200 | laguneucl | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
2021-06-29 15:56:06 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 256 seconds) |
2021-06-29 15:56:37 +0200 | __monty__ | (~toonn@user/toonn) |
2021-06-29 15:58:21 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 15:59:27 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
2021-06-29 15:59:30 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 240 seconds) |
2021-06-29 16:00:14 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-29 16:00:19 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 16:00:34 +0200 | _xor | (~xor@74.215.46.133) |
2021-06-29 16:01:06 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 240 seconds) |
2021-06-29 16:01:57 +0200 | _xor | (~xor@74.215.46.133) (Client Quit) |
2021-06-29 16:02:28 +0200 | _xor | (~xor@74.215.46.133) |
2021-06-29 16:02:50 +0200 | _xor | (~xor@74.215.46.133) (Client Quit) |
2021-06-29 16:03:07 +0200 | _xor | (~xor@74.215.46.133) |
2021-06-29 16:05:06 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 240 seconds) |
2021-06-29 16:08:30 +0200 | jneira_ | (~jneira_@217.red-81-39-172.dynamicip.rima-tde.net) |
2021-06-29 16:12:13 +0200 | fendor_ | (~fendor@77.119.195.142.wireless.dyn.drei.com) |
2021-06-29 16:12:52 +0200 | noctux | (~noctux@user/noctux) |
2021-06-29 16:15:10 +0200 | fendor | (~fendor@77.119.197.237.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
2021-06-29 16:16:26 +0200 | motte_ | (~weechat@82.131.107.112.cable.starman.ee) |
2021-06-29 16:17:57 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 268 seconds) |
2021-06-29 16:18:02 +0200 | favonia | (~favonia@user/favonia) |
2021-06-29 16:18:52 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-06-29 16:19:54 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 256 seconds) |
2021-06-29 16:22:44 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 16:23:47 +0200 | noctux | (~noctux@user/noctux) |
2021-06-29 16:26:25 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 16:30:35 +0200 | niHiggim | (~niHiggim@sas08006.nat.sas.com) |
2021-06-29 16:31:14 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2021-06-29 16:33:02 +0200 | niHiggim | (~niHiggim@sas08006.nat.sas.com) (Client Quit) |
2021-06-29 16:36:20 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 256 seconds) |
2021-06-29 16:36:28 +0200 | noctux | (~noctux@user/noctux) |
2021-06-29 16:38:08 +0200 | fizbin | (~fizbin@162-252-228-60-static.hfc.comcastbusiness.net) |
2021-06-29 16:38:58 +0200 | Pickchea | (~private@user/pickchea) |
2021-06-29 16:43:06 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 240 seconds) |
2021-06-29 16:44:26 +0200 | oxide | (~lambda@user/oxide) |
2021-06-29 16:44:46 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 272 seconds) |
2021-06-29 16:46:32 +0200 | fendor_ | fendor |
2021-06-29 16:48:42 +0200 | noctux | (~noctux@user/noctux) |
2021-06-29 16:50:45 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 16:52:07 +0200 | deni2 | deni |
2021-06-29 16:53:09 +0200 | Shaeto | (~Shaeto@94.25.234.81) |
2021-06-29 16:53:20 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 256 seconds) |
2021-06-29 16:53:50 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
2021-06-29 16:55:32 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) |
2021-06-29 16:58:50 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-06-29 17:00:33 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 17:00:55 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-29 17:01:08 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
2021-06-29 17:04:26 +0200 | theproffesor | (~theproffe@2601:282:847f:8010::3a29) |
2021-06-29 17:04:35 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-29 17:04:35 +0200 | theproffesor | (~theproffe@2601:282:847f:8010::3a29) (Changing host) |
2021-06-29 17:04:35 +0200 | theproffesor | (~theproffe@user/theproffesor) |
2021-06-29 17:05:06 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 240 seconds) |
2021-06-29 17:05:14 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 256 seconds) |
2021-06-29 17:08:33 +0200 | fizbin | (~fizbin@162-252-228-60-static.hfc.comcastbusiness.net) (Remote host closed the connection) |
2021-06-29 17:10:22 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-06-29 17:10:25 +0200 | statusbot1 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
2021-06-29 17:10:40 +0200 | listofoptions | (~haha@nat.syssrc.com) (Quit: Leaving) |
2021-06-29 17:10:55 +0200 | listofoptions | (~haha@nat.syssrc.com) |
2021-06-29 17:10:58 +0200 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
2021-06-29 17:11:41 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-06-29 17:13:27 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2021-06-29 17:13:29 +0200 | cheater1__ | (~Username@user/cheater) |
2021-06-29 17:13:31 +0200 | cheater1__ | cheater |
2021-06-29 17:15:24 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-06-29 17:16:50 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 17:21:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 256 seconds) |
2021-06-29 17:21:49 +0200 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 246 seconds) |
2021-06-29 17:21:54 +0200 | Morrow | (~MorrowM_@147.161.8.187) |
2021-06-29 17:26:45 +0200 | Reyu[M] | (~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection) |
2021-06-29 17:27:00 +0200 | mpt | (~tom@2a02:908:1862:49e0::5) |
2021-06-29 17:27:02 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-29 17:27:35 +0200 | Reyu[M] | (~reyureyuz@matrix.reyuzenfold.com) |
2021-06-29 17:29:02 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 256 seconds) |
2021-06-29 17:30:12 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-29 17:30:25 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 17:30:50 +0200 | favonia | (~favonia@user/favonia) |
2021-06-29 17:30:55 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-06-29 17:35:26 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-06-29 17:35:50 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 256 seconds) |
2021-06-29 17:36:42 +0200 | oxide | (~lambda@user/oxide) |
2021-06-29 17:37:21 +0200 | noctux | (~noctux@user/noctux) |
2021-06-29 17:38:17 +0200 | MorrowM | (~MorrowM_@147.161.8.23) |
2021-06-29 17:39:42 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 252 seconds) |
2021-06-29 17:40:14 +0200 | pagnol | (~user@014198154145.ctinets.com) (Ping timeout: 265 seconds) |
2021-06-29 17:40:14 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 17:40:47 +0200 | jlamothe | (~jlamothe@198.251.57.81) |
2021-06-29 17:41:12 +0200 | Morrow | (~MorrowM_@147.161.8.187) (Ping timeout: 268 seconds) |
2021-06-29 17:42:26 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2021-06-29 17:43:10 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 17:45:34 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 17:45:37 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-06-29 17:46:19 +0200 | arjun | (~user@user/arjun) |
2021-06-29 17:46:32 +0200 | <arjun> | okay, how do you do front-end in haskell? |
2021-06-29 17:46:42 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 240 seconds) |
2021-06-29 17:46:47 +0200 | <arjun> | i really really REALLY don't want to touch javascript |
2021-06-29 17:46:50 +0200 | noctux | (~noctux@user/noctux) |
2021-06-29 17:46:51 +0200 | <arjun> | : P |
2021-06-29 17:48:01 +0200 | acidjnk | (~acidjnk@p200300d0c72b9572bd416add378a35d9.dip0.t-ipconnect.de) |
2021-06-29 17:48:17 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-29 17:50:10 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
2021-06-29 17:50:19 +0200 | <dsal> | arjun: I think ghcjs is your only choice. There are a few related technologies, though. |
2021-06-29 17:51:02 +0200 | <arjun> | dsal: yea, few people recommended elm |
2021-06-29 17:51:16 +0200 | <dsal> | I've used elm a bit. There are some downsides, but it's very friendly. |
2021-06-29 17:51:19 +0200 | <arjun> | close enough i guess, but not quite |
2021-06-29 17:51:32 +0200 | <dsal> | The lack of typeclasses can be frustrating. |
2021-06-29 17:51:33 +0200 | <Rembane> | Purescript is also fun. Not as friendly as Elm but more Haskell-like. |
2021-06-29 17:51:41 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 268 seconds) |
2021-06-29 17:51:54 +0200 | <arjun> | Rembane: yea! |
2021-06-29 17:52:12 +0200 | <arjun> | but i was wondering if there's a way to do that in _just haskell_ |
2021-06-29 17:52:24 +0200 | <dsal> | ghcjs |
2021-06-29 17:52:24 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 17:52:30 +0200 | <arjun> | but it looks its probably gonna be an uphill fight |
2021-06-29 17:53:12 +0200 | <monochrom> | Does yesod count? |
2021-06-29 17:53:43 +0200 | <geekosaur> | to do the frontend in actual haskell means getting the browser to run haskell somehow… glwt |
2021-06-29 17:54:04 +0200 | <geekosaur> | ghcjs is as close as you get with actual browsers |
2021-06-29 17:55:11 +0200 | lbseale | (~lbseale@user/ep1ctetus) |
2021-06-29 17:55:36 +0200 | <tdammers> | Elm is not friendly, it's condescending. Change my mind. |
2021-06-29 17:55:39 +0200 | <monochrom> | XY problem: Finish the "java" calling convention of our FFI. Then write a Java applet. >:) |
2021-06-29 17:55:44 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-29 17:56:15 +0200 | <arjun> | monochrom: might as well write a browser in haskell : P |
2021-06-29 17:56:22 +0200 | monochrom | came from the 20th century. Wrote a Java applet for visualizing the sieve of eratosthenes. |
2021-06-29 17:57:00 +0200 | myShoggoth | (~myShoggot@75.164.51.64) |
2021-06-29 17:57:09 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-29 17:57:18 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-29 17:57:45 +0200 | <monochrom> | Yes I sometimes also think "easy" and "condescending" are mixed up. |
2021-06-29 17:58:12 +0200 | <tdammers> | fwiw, people routinely mix up "easy" and "simple" |
2021-06-29 17:58:14 +0200 | <monochrom> | Windows is condescending. |
2021-06-29 17:58:42 +0200 | <arjun> | lol |
2021-06-29 17:58:50 +0200 | stevenxl | (~stevenlei@174.128.182.19) |
2021-06-29 17:58:51 +0200 | <tdammers> | windows is extortionist software with a friendly-looking frosting on top |
2021-06-29 17:59:01 +0200 | <dsal> | Nice document you've got there... |
2021-06-29 17:59:06 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-29 17:59:13 +0200 | <monochrom> | "an error has occurred, but you're too stupid to even copy an error code to a web forum, so we won't even tell you that" |
2021-06-29 17:59:49 +0200 | <arjun> | monochrom: to be fair. almost all non-technical people use windows |
2021-06-29 18:00:07 +0200 | <monochrom> | non-technical doesn't mean stupid |
2021-06-29 18:00:18 +0200 | <arjun> | monochrom: yes, it doesn't |
2021-06-29 18:00:29 +0200 | <arjun> | but most people would rather just "send it to IT" |
2021-06-29 18:00:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 18:00:44 +0200 | <geekosaur> | most people just click through and get on with life, in my experience |
2021-06-29 18:01:09 +0200 | <arjun> | think from a OS-maker vs market-share perspective |
2021-06-29 18:01:15 +0200 | <geekosaur> | only "send it to IT" when that doesn't work |
2021-06-29 18:01:16 +0200 | <monochrom> | non-technical doesn't mean if an error is too hard to explain, the dev still can't print an error code and ask the user to report it to a tech person |
2021-06-29 18:01:17 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-06-29 18:02:11 +0200 | <monochrom> | non-technical doesn't mean training users to just say "it doesn't work, no further comment" because the computer really doesn't give any information |
2021-06-29 18:02:13 +0200 | <dsal> | I've never been able to figure out why someone would choose windows. I'm probably an outlier, but family would ask me for advice, get a machine, have it do something terribly dumb, ask me for help, and I wouldn't be able to figure it out. *shrug* |
2021-06-29 18:02:25 +0200 | <arjun> | is windows-support packages a thing you can buy, i have no clue? |
2021-06-29 18:02:59 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 18:03:02 +0200 | <arjun> | dsf: games? music production when you don't have / cant have a mac? |
2021-06-29 18:03:11 +0200 | <arjun> | video editing? |
2021-06-29 18:03:41 +0200 | <arjun> | many people are just fine with chrome and maybe word tbh |
2021-06-29 18:03:48 +0200 | <monochrom> | Windows comes pre-installed. Right, no one would want to install Windows by hand. |
2021-06-29 18:03:51 +0200 | <c_wraith> | these days, windows is more usable than mac os |
2021-06-29 18:04:01 +0200 | <c_wraith> | mostly because mac os keeps getting worse |
2021-06-29 18:04:20 +0200 | <arjun> | c_wraith: i am typing this from my macbook where i nuked macos and put Arch |
2021-06-29 18:04:34 +0200 | <arjun> | because it became _unbearable_ to use |
2021-06-29 18:04:41 +0200 | pagnol | (~user@014198154145.ctinets.com) |
2021-06-29 18:05:36 +0200 | <int-e> | . o O ( The requested document is no more. / No file found. / Even tried multi. / Nothing helped. / I'm really depressed about this. You see, I'm just a web server... [...] ) |
2021-06-29 18:05:52 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-06-29 18:06:28 +0200 | <dsal> | The only issue I've got on macos is that ghc and a few other things are slightly behind on nix for M1. So I emulate them. The emulation isn't noticeably slower than my old machine, though. |
2021-06-29 18:08:42 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2021-06-29 18:09:33 +0200 | <dsal> | arjun: Why arch? Isn't that the one that's really painful to write Haskell code on? |
2021-06-29 18:09:39 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 18:10:01 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33) (Remote host closed the connection) |
2021-06-29 18:10:08 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 252 seconds) |
2021-06-29 18:10:20 +0200 | <dsal> | (all I've heard about Arch is people complaining about problems building haskell projects there) |
2021-06-29 18:10:27 +0200 | boxscape_ | (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Quit: Connection closed) |
2021-06-29 18:10:40 +0200 | boxscape_ | (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) |
2021-06-29 18:10:50 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection) |
2021-06-29 18:11:20 +0200 | <boxscape_> | dsal you don't have to use the haskell packages pacman provides, you can still use cabal/stack/nix on arch |
2021-06-29 18:14:36 +0200 | <dsal> | I did that thing recently where I had a `type X = Text` or something and decided to `newtype` it because not all `Text` is valid `X`. I also had a `Y` that was similar, but not the same. This revealed a variety of poor choices. |
2021-06-29 18:15:52 +0200 | <dsal> | I guess I'll just push out an incompatible version of my library. I use it a lot so I get to see how hypothetical users will suffer. |
2021-06-29 18:21:58 +0200 | jneira_ | (~jneira_@217.red-81-39-172.dynamicip.rima-tde.net) (Quit: Ping timeout (120 seconds)) |
2021-06-29 18:25:04 +0200 | noctux | (~noctux@user/noctux) |
2021-06-29 18:25:49 +0200 | <arjun> | dsal: idk, works fine for me? |
2021-06-29 18:26:35 +0200 | <arjun> | ghc, cabal, hls all installed by ghcup and would work same on all linux systems i guess? |
2021-06-29 18:27:20 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-06-29 18:27:33 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-06-29 18:27:57 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-06-29 18:28:09 +0200 | functor | (~d4@151.51.141.57) (Remote host closed the connection) |
2021-06-29 18:28:38 +0200 | shapr | (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
2021-06-29 18:30:57 +0200 | <dsal> | Ah, so you don't use the arch bits of arch. I mostly just use nix and stack on all the things. |
2021-06-29 18:31:54 +0200 | <arjun> | i never install the package manager stuff on anything if i can help it lol |
2021-06-29 18:32:17 +0200 | <arjun> | since they are almost always behind |
2021-06-29 18:33:26 +0200 | <__monty__> | You just sound too young to be jaded enough to realize newer does not necessarily mean better. |
2021-06-29 18:34:08 +0200 | <arjun> | __monty__: older doesn't necessarily mean better too : P |
2021-06-29 18:37:16 +0200 | econo | (uid147250@user/econo) |
2021-06-29 18:38:41 +0200 | <__monty__> | No one said it does. But if you consider even Arch packages not bleeding edge enough you're either very young or you have a *lot* of time, maybe both. I'm not judging. |
2021-06-29 18:39:15 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-06-29 18:40:18 +0200 | pagnol | (~user@014198154145.ctinets.com) (Ping timeout: 240 seconds) |
2021-06-29 18:41:27 +0200 | <dsal> | I like bloody edges on things I'm working on. nixos stays pretty bloody |
2021-06-29 18:43:36 +0200 | <arjun> | __monty__: sounds to me like you probably are, but that's on you. |
2021-06-29 18:46:23 +0200 | shapr | (~user@pool-108-28-144-11.washdc.fios.verizon.net) |
2021-06-29 18:47:55 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-06-29 18:52:03 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:d025:e55c:9af3:6699) |
2021-06-29 18:52:48 +0200 | mekeor | (~user@2001:a61:3a15:df01:78b3:82f:476c:65cd) |
2021-06-29 18:54:03 +0200 | <monochrom> | There is no need to generalize to "newer is better" or "newer is not better". |
2021-06-29 18:54:49 +0200 | <monochrom> | In the very particular case of GHC, debian and ubuntu for example are widely acknowledged to be so old it really is worse. |
2021-06-29 18:55:12 +0200 | <monochrom> | And arch, it is not old but it is still worse for a different technicality. |
2021-06-29 18:55:20 +0200 | <Vq> | With NixOS you can have both at the same time. |
2021-06-29 18:55:34 +0200 | <monochrom> | There is no need to argue over generalizations of these very simple facts. |
2021-06-29 18:55:42 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-06-29 18:56:09 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-06-29 18:56:29 +0200 | egoist | (~egoist@186.235.82.105) |
2021-06-29 18:56:37 +0200 | sm2n | (~sm2n@user/sm2n) |
2021-06-29 18:56:45 +0200 | <Clint> | if most of hackage builds with your ghc version, you know it's too old |
2021-06-29 18:56:52 +0200 | <monochrom> | haha |
2021-06-29 18:57:32 +0200 | <Vq> | It's pretty sweet actually. I hit a bug with avrdude compiled with GCC 9 or later the other day. Installed the 19.09 version with a oneliner and kept going. |
2021-06-29 18:58:00 +0200 | MorrowM | (~MorrowM_@147.161.8.23) (Read error: Connection reset by peer) |
2021-06-29 18:58:12 +0200 | pavonia | (~user@user/siracusa) |
2021-06-29 18:58:44 +0200 | <dminuoso> | I finally decided. My top one with for this year is for String to disappear, and be universally replaced with Text. |
2021-06-29 18:58:54 +0200 | sm2n_ | (~sm2n@user/sm2n) (Ping timeout: 268 seconds) |
2021-06-29 18:59:18 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-29 19:00:19 +0200 | Torro | (Torro@gateway/vpn/protonvpn/torro) (Quit: leaving) |
2021-06-29 19:00:39 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 19:02:42 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-06-29 19:05:01 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 250 seconds) |
2021-06-29 19:05:37 +0200 | <dsal> | Heh. My morning has been replacing Text with a more meaningful type. |
2021-06-29 19:06:20 +0200 | <dsal> | the amazing part is after all the refactoring pain, the tests passed the first time. |
2021-06-29 19:09:54 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-06-29 19:12:06 +0200 | <arjun> | FilePath is also String |
2021-06-29 19:12:13 +0200 | <arjun> | and its EVERYWHERE |
2021-06-29 19:12:42 +0200 | <dsal> | At work, we have a filepath that's a ByteString. That's differently bad. |
2021-06-29 19:13:34 +0200 | <arjun> | can't have emoji paths lol |
2021-06-29 19:13:37 +0200 | <arjun> | FAIL |
2021-06-29 19:13:41 +0200 | <dminuoso> | arjun: Sadly merijn isn't here. He could probably (?) go onto a rant about that. |
2021-06-29 19:13:52 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 256 seconds) |
2021-06-29 19:14:02 +0200 | L29Ah | (~L29Ah@user/l29ah) (Ping timeout: 268 seconds) |
2021-06-29 19:14:17 +0200 | favonia | (~favonia@user/favonia) |
2021-06-29 19:14:38 +0200 | <dminuoso> | For instance, is the normalized (or denormalized) form of a string an equal path? |
2021-06-29 19:14:56 +0200 | <dminuoso> | Locking the notion of filepaths to unicode is a bizarre thing |
2021-06-29 19:16:11 +0200 | safinaskar | (~safinaska@109-252-90-89.nat.spd-mgts.ru) |
2021-06-29 19:16:20 +0200 | Morrow | (~MorrowM_@147.161.8.23) |
2021-06-29 19:16:41 +0200 | safinaskar | (~safinaska@109-252-90-89.nat.spd-mgts.ru) () |
2021-06-29 19:17:27 +0200 | <yushyin> | i have good faith in merijn that he can rant just about anything! :D |
2021-06-29 19:17:55 +0200 | L29Ah | (~L29Ah@user/l29ah) |
2021-06-29 19:18:26 +0200 | en30 | (~en30@p6356230-ipngn31101marunouchi.tokyo.ocn.ne.jp) |
2021-06-29 19:19:36 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 19:20:53 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection) |
2021-06-29 19:21:06 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 19:24:38 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 256 seconds) |
2021-06-29 19:24:40 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2021-06-29 19:25:18 +0200 | cheater | (~Username@user/cheater) |
2021-06-29 19:25:23 +0200 | pavonia | (~user@user/siracusa) |
2021-06-29 19:26:39 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-06-29 19:26:41 +0200 | <arjun> | he seems notorious.. i mean famous around here? : P |
2021-06-29 19:27:03 +0200 | <arjun> | assumeing he is the right pronoun? |
2021-06-29 19:29:06 +0200 | <monochrom> | "type FilePath = String" was invented at a time when every Haskell implementation paid lip service to "Char is unicode" |
2021-06-29 19:29:33 +0200 | <monochrom> | i.e., their putChar and getChar were ASCII only. |
2021-06-29 19:30:26 +0200 | AWizzArd | (~code@user/awizzard) |
2021-06-29 19:30:35 +0200 | <dsal> | ascii is the only important part of unicode |
2021-06-29 19:30:49 +0200 | <boxscape_> | Was Haskell ever meant to be used in production when the first person wrote `type FilePath = String` |
2021-06-29 19:32:19 +0200 | <dminuoso> | boxscape_: Well it was standardized in Haskell98, and at that time it was mostly still academic curiosity, so.. |
2021-06-29 19:33:28 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Remote host closed the connection) |
2021-06-29 19:33:39 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-06-29 19:35:56 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Ping timeout: 252 seconds) |
2021-06-29 19:36:55 +0200 | <qrpnxz> | i feel like sequenceA without functor could be it's own type class |
2021-06-29 19:37:45 +0200 | azeem | (~azeem@176.200.239.16) |
2021-06-29 19:38:29 +0200 | arjun | (~user@user/arjun) (ERC (IRC client for Emacs 28.0.50)) |
2021-06-29 19:38:37 +0200 | monochrom | -o monochrom |
2021-06-29 19:38:49 +0200 | <boxscape_> | qrpnxz https://hackage.haskell.org/package/semigroupoids-5.3.5/docs/Data-Semigroup-Traversable.html#v:seq… |
2021-06-29 19:39:01 +0200 | <boxscape_> | or wait |
2021-06-29 19:39:02 +0200 | <qrpnxz> | though to be fair, idk when you'd get such a structure full of applicatives, that you couldn't map into, that you'd want to sequence |
2021-06-29 19:39:05 +0200 | <boxscape_> | I'm wrong |
2021-06-29 19:39:11 +0200 | <boxscape_> | that's without pure, not without fmap |
2021-06-29 19:39:19 +0200 | <qrpnxz> | yeah lol :) |
2021-06-29 19:39:23 +0200 | <qrpnxz> | thanks for input tho |
2021-06-29 19:39:44 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 19:39:51 +0200 | <dminuoso> | qrpnxz: I think it helps to think of the signature function as traverse, not sequence |
2021-06-29 19:40:01 +0200 | <monochrom> | I don't understand "sequenceA without functor". |
2021-06-29 19:40:28 +0200 | <qrpnxz> | simply a thing you can sequence, but you can't traverse it, |
2021-06-29 19:40:42 +0200 | <dsal> | qrpnxz: Can you write an example? |
2021-06-29 19:40:43 +0200 | <qrpnxz> | because to sequence you'd need fmap to do sequenceA . fmap |
2021-06-29 19:40:59 +0200 | <monochrom> | I don't know what your definition of "sequence" is in this context. |
2021-06-29 19:41:01 +0200 | <qrpnxz> | like i said, there might not be any real world use for it |
2021-06-29 19:41:03 +0200 | <qrpnxz> | but it's a thing |
2021-06-29 19:41:07 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 246 seconds) |
2021-06-29 19:41:09 +0200 | <monochrom> | Even in this context. Despite this context. |
2021-06-29 19:41:18 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-29 19:41:26 +0200 | <qrpnxz> | by sequence i mean the exact same sequence from traversable type class |
2021-06-29 19:41:28 +0200 | <dminuoso> | "but it's a thing" |
2021-06-29 19:41:33 +0200 | <qrpnxz> | just without requiring fmap |
2021-06-29 19:41:37 +0200 | <dminuoso> | Can you give a precise definition/example? |
2021-06-29 19:41:59 +0200 | <qrpnxz> | so i can have a structure t (f a) and turn it into f (t a) |
2021-06-29 19:42:11 +0200 | <dsal> | Yes, but like, an example that compiles. :) |
2021-06-29 19:42:33 +0200 | <dminuoso> | qrpnxz: So I have a vague idea of what you *might* be looking for. |
2021-06-29 19:42:56 +0200 | <qrpnxz> | sure you can just take an Identity Identity 1 and turn it into an Identity Identity 1, there's an example lol |
2021-06-29 19:43:23 +0200 | <dsal> | But what's the function that does that look like? |
2021-06-29 19:44:02 +0200 | azeem | (~azeem@176.200.239.16) (Read error: Connection reset by peer) |
2021-06-29 19:44:09 +0200 | <qrpnxz> | sequence (Identity fa) = fmap Identity fa |
2021-06-29 19:44:33 +0200 | <monochrom> | OK for starters on how you are very vague and ambiguous: The type of "sequence" is "(Traversable t, Monad m) => t (m a) -> m (t a)". There are two constraints, "Traversable t" and "Monad m". Which one are you saying you can weaken? |
2021-06-29 19:44:58 +0200 | <monochrom> | And that's just the most immediate ambiguity. |
2021-06-29 19:45:06 +0200 | <qrpnxz> | like i said i'm talking about sequenceA but i don't wanna type sequenceA |
2021-06-29 19:45:08 +0200 | <qrpnxz> | cmon |
2021-06-29 19:45:54 +0200 | <monochrom> | You can do a great service to clarity and precision by stating positively the type and constraints you want, rather than merely what you don't want. |
2021-06-29 19:46:02 +0200 | azeem | (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) |
2021-06-29 19:46:07 +0200 | <qrpnxz> | in this case it would be like (Constructable t, Applicative f => t (f a) -> f (t a) where Constructable is the name of a type class that just has sequenceA and no functor requirement |
2021-06-29 19:46:09 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) |
2021-06-29 19:46:36 +0200 | <dminuoso> | qrpnxz: I see. Unfoldable is that thing. |
2021-06-29 19:46:48 +0200 | <dminuoso> | https://hackage.haskell.org/package/unfoldable-1.0.1/docs/Data-Unfoldable.html |
2021-06-29 19:47:05 +0200 | <dminuoso> | unfold :: (Unfoldable t, Unfolder f) => f a -> f (t a) |
2021-06-29 19:47:16 +0200 | <qrpnxz> | nice |
2021-06-29 19:47:18 +0200 | <dminuoso> | In some way, we could think of Traversable as Foldable and Unfoldable. |
2021-06-29 19:47:27 +0200 | <qrpnxz> | wait, unfolder? |
2021-06-29 19:47:30 +0200 | <dminuoso> | (Im not sure whether this will actually hold for infinite structures, though) |
2021-06-29 19:48:09 +0200 | <qrpnxz> | i think unfolder could just be functor but idk |
2021-06-29 19:48:43 +0200 | <dminuoso> | qrpnxz: You need Alternative at least for the construction on f. |
2021-06-29 19:48:57 +0200 | <dsal> | I find when I have confusion on things like this, I just try to do the thing that I think is obvious and find out either why it's not or build a thing and start using it. |
2021-06-29 19:51:23 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 19:52:02 +0200 | <monochrom> | I guess some people's stance is "the reason I am in IRC not IDE is precisely because I want to just talk" |
2021-06-29 19:52:23 +0200 | <qrpnxz> | yeah this type signature does not match the one i gave really |
2021-06-29 19:52:41 +0200 | <qrpnxz> | it's unfolder to unfolder of unfoldable |
2021-06-29 19:53:06 +0200 | <qrpnxz> | monochrom, lmao thanks for that |
2021-06-29 19:54:30 +0200 | cheater1__ | (~Username@user/cheater) |
2021-06-29 19:54:46 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 272 seconds) |
2021-06-29 19:54:53 +0200 | cheater1__ | cheater |
2021-06-29 19:55:16 +0200 | <qrpnxz> | if i try to look up my signature all i get is sequenceA lol, i don't think there is a package that does what i'm saying |
2021-06-29 19:55:32 +0200 | <qrpnxz> | anyway like i said it probably has no good real world use, just a thought |
2021-06-29 19:55:50 +0200 | <monochrom> | You can write mockup code and examples. |
2021-06-29 19:56:56 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 256 seconds) |
2021-06-29 19:57:49 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) |
2021-06-29 19:59:58 +0200 | acidjnk | (~acidjnk@p200300d0c72b9572bd416add378a35d9.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2021-06-29 20:00:07 +0200 | <dsal> | Most of these things aren't very big. You could build Traversable from a description of it pretty quickly. |
2021-06-29 20:00:20 +0200 | <dsal> | For your type of thing, I tend to just write up a couple of examples and then make them work. |
2021-06-29 20:01:33 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 20:02:22 +0200 | jolly | (~jolly@208.180.97.158) (Ping timeout: 272 seconds) |
2021-06-29 20:02:43 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
2021-06-29 20:04:07 +0200 | Pickchea | (~private@user/pickchea) |
2021-06-29 20:04:35 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 20:05:58 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-06-29 20:06:13 +0200 | boxscape_ | (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Quit: Connection closed) |
2021-06-29 20:06:54 +0200 | zmt01 | (~zmt00@user/zmt00) |
2021-06-29 20:07:01 +0200 | boxscape_ | (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) |
2021-06-29 20:07:35 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-06-29 20:09:06 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2021-06-29 20:09:23 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1) |
2021-06-29 20:10:01 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 250 seconds) |
2021-06-29 20:10:22 +0200 | curiousgay | (~curiousgg@77-120-144-167.kha.volia.net) |
2021-06-29 20:13:00 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection) |
2021-06-29 20:17:28 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-06-29 20:20:40 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-29 20:22:24 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 20:25:34 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-29 20:26:51 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-29 20:27:05 +0200 | feliix42 | (~felix@gibbs.uberspace.de) |
2021-06-29 20:28:34 +0200 | <qrpnxz> | that simple https://termbin.com/nqdo |
2021-06-29 20:30:42 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:d025:e55c:9af3:6699) (Ping timeout: 240 seconds) |
2021-06-29 20:30:58 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 20:31:58 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-29 20:33:34 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-06-29 20:34:14 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-06-29 20:34:42 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-06-29 20:36:09 +0200 | Shaeto | (~Shaeto@94.25.234.81) (Quit: WeeChat 3.1) |
2021-06-29 20:36:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-06-29 20:39:37 +0200 | <dsal> | I thought you didn't want a functor? |
2021-06-29 20:40:42 +0200 | <qrpnxz> | that's fmapping the applicative, not the constructable |
2021-06-29 20:40:53 +0200 | <qrpnxz> | the applicative is of course a functor |
2021-06-29 20:40:56 +0200 | Guest6 | (~Guest6@d-137-103-195-117.fl.cpe.atlanticbb.net) |
2021-06-29 20:41:21 +0200 | <qrpnxz> | dsal, |
2021-06-29 20:45:56 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection) |
2021-06-29 20:46:31 +0200 | <dsal> | Oh, you mean you don't want the traversable itself to be a functor (or foldable). I don't use sequenceA enough to have run into something where that mattered. Fewer constraints are better, but `traverse` is mostly what I use there. |
2021-06-29 20:48:26 +0200 | <qrpnxz> | yeah i can't think of when you'd use this class I'm describing. Even if you think of Data.Set, which is not a functor, the Constructable instance would have the same problem, that (a) in (f a) needs to have an ord constraint, so you couldn't use it there either. |
2021-06-29 20:49:06 +0200 | <qrpnxz> | it's like if you had an applicative without functor, yeah you could make that, but like when are you gonna use it lol |
2021-06-29 20:49:25 +0200 | <qrpnxz> | wait nvm lol |
2021-06-29 20:49:30 +0200 | <qrpnxz> | you can implement functor with applicative |
2021-06-29 20:49:34 +0200 | <qrpnxz> | but you get the point hopefully |
2021-06-29 20:49:55 +0200 | <qrpnxz> | though ig some people do like Apply lol |
2021-06-29 20:50:10 +0200 | Deide | (~Deide@wire.desu.ga) |
2021-06-29 20:50:10 +0200 | Deide | (~Deide@wire.desu.ga) (Changing host) |
2021-06-29 20:50:10 +0200 | Deide | (~Deide@user/deide) |
2021-06-29 20:50:34 +0200 | <dsal> | Finding such patterns isn't bad. I actually needed fold1 this morning. heh |
2021-06-29 20:51:36 +0200 | <qrpnxz> | what? you didn't want to type (\(x:xs) -> foldl (\a x -> a <> x) x xs)? |
2021-06-29 20:51:39 +0200 | <qrpnxz> | :P |
2021-06-29 20:52:32 +0200 | <dsal> | Yeah, semigroupoids did that part for me. |
2021-06-29 20:53:12 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-29 20:57:46 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 21:00:20 +0200 | kilolympus | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Quit: Quitting IRC :() |
2021-06-29 21:00:40 +0200 | kilolympus | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) |
2021-06-29 21:00:55 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Remote host closed the connection) |
2021-06-29 21:01:58 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-06-29 21:04:52 +0200 | Morrow | (~MorrowM_@147.161.8.23) (Read error: Connection reset by peer) |
2021-06-29 21:05:20 +0200 | Guest95 | (~Guest95@cpe-45-48-168-168.socal.res.rr.com) |
2021-06-29 21:07:10 +0200 | <Guest95> | Anyone know how snap-server and/or warp handle requests which are in progress during a ctrl-c/SIGINT? Are they given time to complete? |
2021-06-29 21:08:20 +0200 | <Guest95> | We use SIGINT to kill/restart servers whenever code is updated, would be a waste to mess up requests each time we do |
2021-06-29 21:08:44 +0200 | Morrow | (~MorrowM_@147.161.8.23) |
2021-06-29 21:10:14 +0200 | acidjnk | (~acidjnk@p200300d0c72b95720002fc1121ac54e4.dip0.t-ipconnect.de) |
2021-06-29 21:12:59 +0200 | juhp | (~juhp@128.106.188.66) (Quit: juhp) |
2021-06-29 21:13:13 +0200 | juhp | (~juhp@128.106.188.66) |
2021-06-29 21:14:21 +0200 | Guest6 | (~Guest6@d-137-103-195-117.fl.cpe.atlanticbb.net) (Quit: Client closed) |
2021-06-29 21:15:07 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:b26c:5983:773f:5c24) |
2021-06-29 21:16:48 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-06-29 21:16:48 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-06-29 21:17:09 +0200 | allbery_b | geekosaur |
2021-06-29 21:20:36 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-29 21:20:41 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 21:22:31 +0200 | jolly | (~jolly@208.180.97.158) |
2021-06-29 21:22:57 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 21:24:58 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:b26c:5983:773f:5c24) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-06-29 21:27:35 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2021-06-29 21:29:51 +0200 | myShoggoth | (~myShoggot@75.164.51.64) (Ping timeout: 256 seconds) |
2021-06-29 21:32:12 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-06-29 21:32:44 +0200 | myShoggoth | (~myShoggot@75.164.51.64) |
2021-06-29 21:34:31 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-06-29 21:35:23 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 21:37:50 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-06-29 21:39:37 +0200 | <boxscape_> | hmm I'll likely benchmark if I end up doing this, but can adding a second (rarely used) constructor to a datatype make a difference performance-wise? I.e. does it prevent some optimizations? |
2021-06-29 21:39:58 +0200 | <ephemient> | Guest95: I'm not a warp user, but the docs have https://hackage.haskell.org/package/warp/docs/Network-Wai-Handler-Warp.html#v:setGracefulShutdownT… |
2021-06-29 21:40:30 +0200 | zincy | (~tom@2a00:23c8:9700:8001:254e:b3c4:89f3:610b) |
2021-06-29 21:40:39 +0200 | test_mmm | (~test_mmm@pool-100-8-149-10.nwrknj.fios.verizon.net) |
2021-06-29 21:41:49 +0200 | <geekosaur> | boxscape_, it'd prevent unboxing in cases where that's applicable |
2021-06-29 21:41:55 +0200 | <boxscape_> | hm, I see |
2021-06-29 21:43:16 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-06-29 21:43:37 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-06-29 21:47:45 +0200 | test_mmm | (~test_mmm@pool-100-8-149-10.nwrknj.fios.verizon.net) (Quit: Client closed) |
2021-06-29 21:48:34 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-06-29 21:53:37 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 21:54:38 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
2021-06-29 21:58:37 +0200 | Guest67 | (~Guest67@rrcs-69-75-173-34.west.biz.rr.com) |
2021-06-29 22:01:36 +0200 | Guest67 | (~Guest67@rrcs-69-75-173-34.west.biz.rr.com) (Client Quit) |
2021-06-29 22:02:16 +0200 | Guest95 | (~Guest95@cpe-45-48-168-168.socal.res.rr.com) (Ping timeout: 246 seconds) |
2021-06-29 22:02:44 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-06-29 22:03:01 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
2021-06-29 22:04:10 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-29 22:04:42 +0200 | juhp | (~juhp@128.106.188.66) (Ping timeout: 240 seconds) |
2021-06-29 22:05:22 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-29 22:06:01 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-06-29 22:07:16 +0200 | alex3 | (~alex3@BSN-77-82-41.static.siol.net) (Ping timeout: 268 seconds) |
2021-06-29 22:08:29 +0200 | juhp | (~juhp@128.106.188.66) |
2021-06-29 22:10:29 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
2021-06-29 22:11:49 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-06-29 22:12:56 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 22:13:20 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-06-29 22:16:00 +0200 | TranquilEcho | (~grom@user/tranquilecho) |
2021-06-29 22:17:08 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Quit: leaving) |
2021-06-29 22:17:16 +0200 | chisui | (~chisui@200116b86458b700e549230632d59732.dip.versatel-1u1.de) |
2021-06-29 22:18:45 +0200 | alex3 | (~alex3@BSN-77-82-41.static.siol.net) |
2021-06-29 22:20:17 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 256 seconds) |
2021-06-29 22:20:37 +0200 | favonia | (~favonia@user/favonia) |
2021-06-29 22:21:35 +0200 | myShoggoth | (~myShoggot@75.164.51.64) (Read error: Connection reset by peer) |
2021-06-29 22:21:52 +0200 | myShoggoth | (~myShoggot@75.164.51.64) |
2021-06-29 22:21:54 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-06-29 22:28:55 +0200 | michalz | (~michalz@185.246.204.122) (Remote host closed the connection) |
2021-06-29 22:29:01 +0200 | jneira_ | (~jneira_@217.red-81-39-172.dynamicip.rima-tde.net) |
2021-06-29 22:29:28 +0200 | haykam1 | (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
2021-06-29 22:29:39 +0200 | haykam2 | (~haykam@static.100.2.21.65.clients.your-server.de) |
2021-06-29 22:29:49 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 246 seconds) |
2021-06-29 22:30:02 +0200 | pavonia | (~user@user/siracusa) (Read error: Connection reset by peer) |
2021-06-29 22:30:21 +0200 | pavonia | (~user@user/siracusa) |
2021-06-29 22:32:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-29 22:32:28 +0200 | Morrow | (~MorrowM_@147.161.8.23) (Ping timeout: 272 seconds) |
2021-06-29 22:35:04 +0200 | sh9 | (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 3.0.1) |
2021-06-29 22:36:27 +0200 | Morrow | (~MorrowM_@147.161.8.23) |
2021-06-29 22:38:34 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 246 seconds) |
2021-06-29 22:41:04 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-29 22:41:53 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
2021-06-29 22:42:05 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-29 22:42:49 +0200 | pieguy128 | (~pieguy128@bas1-montreal02-65-92-163-194.dsl.bell.ca) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-06-29 22:43:24 +0200 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-57-65-92-163-194.dsl.bell.ca) |
2021-06-29 22:45:18 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8) |
2021-06-29 22:45:57 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-06-29 22:46:26 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
2021-06-29 22:48:01 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-29 22:48:21 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-29 22:48:21 +0200 | favonia | (~favonia@user/favonia) |
2021-06-29 22:49:23 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-06-29 22:50:53 +0200 | warnz | (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 256 seconds) |
2021-06-29 22:56:00 +0200 | mekeor | (~user@2001:a61:3a15:df01:78b3:82f:476c:65cd) (Ping timeout: 256 seconds) |
2021-06-29 22:59:29 +0200 | bilegeek | (~bilegeek@2600:1008:b015:3e96:6f34:1a42:6ac5:3b86) |
2021-06-29 23:03:21 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 256 seconds) |
2021-06-29 23:05:06 +0200 | mpt | (~tom@2a02:908:1862:49e0::5) (Ping timeout: 240 seconds) |
2021-06-29 23:06:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-06-29 23:07:18 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 272 seconds) |
2021-06-29 23:09:32 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-06-29 23:09:56 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-29 23:10:15 +0200 | stevenxl_ | (~stevenlei@174.128.182.152) |
2021-06-29 23:11:44 +0200 | stevenxl | (~stevenlei@174.128.182.19) (Ping timeout: 272 seconds) |
2021-06-29 23:14:21 +0200 | laguneucl | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Quit: Leaving) |
2021-06-29 23:14:35 +0200 | laguneucl | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
2021-06-29 23:17:03 +0200 | laguneucl | chomwitt |
2021-06-29 23:17:26 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-06-29 23:21:14 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2021-06-29 23:25:55 +0200 | jlamothe | (~jlamothe@198.251.57.81) (Ping timeout: 268 seconds) |
2021-06-29 23:28:23 +0200 | <Unhammer> | > GHC loves single-constructor data-types: |
2021-06-29 23:28:24 +0200 | <lambdabot> | <hint>:1:30: error: parse error on input ‘data’ |
2021-06-29 23:28:32 +0200 | <Unhammer> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/hints.html#faster-producing-a-progr… |
2021-06-29 23:29:01 +0200 | <Unhammer> | boxscape_: ^ |
2021-06-29 23:32:42 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 268 seconds) |
2021-06-29 23:32:49 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 256 seconds) |
2021-06-29 23:34:36 +0200 | favonia | (~favonia@user/favonia) |
2021-06-29 23:34:38 +0200 | egoist | (~egoist@186.235.82.105) (Quit: WeeChat 3.2) |
2021-06-29 23:35:42 +0200 | dunj4 | (~dunj3@p200300f61714a6027bbd4f06e8da6b8b.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-06-29 23:38:55 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-29 23:39:57 +0200 | fabfianda | (~fabfianda@37.183.255.57) |
2021-06-29 23:41:06 +0200 | spatchkaa | (~spatchkaa@S010600fc8da47b63.gv.shawcable.net) |
2021-06-29 23:42:46 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-29 23:44:19 +0200 | aostiles | (uid505622@id-505622.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-06-29 23:47:34 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-06-29 23:49:23 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-06-29 23:49:37 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2021-06-29 23:50:06 +0200 | cheater | (~Username@user/cheater) |
2021-06-29 23:53:09 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Quit: Leaving) |
2021-06-29 23:53:58 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2021-06-29 23:56:55 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2021-06-29 23:57:24 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-06-29 23:58:39 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:70d9:6b8a:7264:8769) |