Logs on 2022-02-17 (liberachat/#haskell)
| 00:03:10 | <janus> | that sounds super cool |
| 00:08:29 | × | Neuromancer quits (~Neuromanc@user/neuromancer) (Read error: Connection reset by peer) |
| 00:09:47 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 00:10:14 | → | xkuru joins (~xkuru@user/xkuru) |
| 00:10:36 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds) |
| 00:10:36 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
| 00:10:51 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:11:01 | → | hololeap joins (~hololeap@user/hololeap) |
| 00:11:07 | × | dka quits (~code-is-a@ns3059207.ip-193-70-33.eu) (Ping timeout: 256 seconds) |
| 00:11:28 | × | elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Read error: Connection reset by peer) |
| 00:11:35 | → | elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
| 00:11:36 | × | tiferrei quits (~tiferrei@user/tiferrei) (Ping timeout: 240 seconds) |
| 00:11:41 | × | xdej quits (~xdej@quatramaran.salle-s.org) (Ping timeout: 256 seconds) |
| 00:13:10 | × | wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection) |
| 00:13:10 | → | xdej joins (~xdej@quatramaran.salle-s.org) |
| 00:13:29 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 00:14:52 | × | Alex_test quits (~al_test@94.233.240.208) (Read error: Connection reset by peer) |
| 00:14:55 | → | dka joins (~code-is-a@ns3059207.ip-193-70-33.eu) |
| 00:15:08 | → | Alex_test joins (~al_test@94.233.240.208) |
| 00:18:22 | → | wyrd joins (~wyrd@gateway/tor-sasl/wyrd) |
| 00:19:55 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 00:22:01 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 00:22:29 | → | k8yun joins (~k8yun@user/k8yun) |
| 00:24:12 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 00:25:31 | × | wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection) |
| 00:25:43 | → | wyrd joins (~wyrd@gateway/tor-sasl/wyrd) |
| 00:26:42 | → | yauhsien_ joins (~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net) |
| 00:26:43 | → | ph88^ joins (~ph88@2a02:8109:9e00:71d0:a0c0:cbe9:2589:5782) |
| 00:26:44 | <[itchyjunk]> | Hi |
| 00:26:44 | → | x_kuru joins (~xkuru@user/xkuru) |
| 00:26:59 | <[itchyjunk]> | I slacked off and I can't remember anything it seems. Could someone proof read this for me? |
| 00:27:00 | <[itchyjunk]> | https://bpa.st/QLQA |
| 00:27:24 | → | tzh_ joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 00:27:24 | <[itchyjunk]> | I tested it and it kinda seems to work now but i don't know if i checked all cases |
| 00:27:32 | → | jinsun joins (~jinsun@user/jinsun) |
| 00:27:39 | → | vicfred_ joins (~vicfred@user/vicfred) |
| 00:27:53 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Read error: Connection reset by peer) |
| 00:27:53 | × | vicfred quits (~vicfred@user/vicfred) (Read error: Connection reset by peer) |
| 00:27:53 | × | ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (Quit: Ping timeout (120 seconds)) |
| 00:27:53 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Write error: Connection reset by peer) |
| 00:28:05 | → | ralu joins (~ralu@static.211.245.203.116.clients.your-server.de) |
| 00:28:12 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 00:28:39 | <monochrom> | I think it's right. |
| 00:28:50 | <[itchyjunk]> | phew |
| 00:28:57 | <monochrom> | Have you tested it? |
| 00:29:26 | <[itchyjunk]> | i tried one case of [1,2] [1..5] |
| 00:29:43 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 272 seconds) |
| 00:29:50 | <[itchyjunk]> | Guess i have mastered cartisian product |
| 00:30:01 | → | cheater1__ joins (~Username@user/cheater) |
| 00:30:21 | × | xkuru quits (~xkuru@user/xkuru) (Ping timeout: 272 seconds) |
| 00:30:21 | × | ph88 quits (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 00:30:21 | × | yauhsien quits (~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 00:30:21 | × | jinsun__ quits (~jinsun@user/jinsun) (Ping timeout: 272 seconds) |
| 00:30:21 | × | cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds) |
| 00:30:25 | cheater1__ | is now known as cheater |
| 00:30:43 | → | otherwise joins (~otherwise@2601:602:880:90f0:b4d0:57c1:4b9f:3ace) |
| 00:31:41 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 00:32:12 | × | dhil quits (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
| 00:32:57 | × | vicfred_ quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 00:33:42 | × | BrokenClutch quits (~pioneer@2804:d41:c291:0:6129:66a9:49aa:83e7) (Remote host closed the connection) |
| 00:35:36 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 00:35:36 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 00:35:36 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:35:38 | × | max22- quits (~maxime@2a01cb088335980088882a515c4c342d.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:39:36 | × | nunggu_ quits (~q@user/nunggu) (Ping timeout: 240 seconds) |
| 00:41:59 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds) |
| 00:42:36 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 00:44:55 | × | jgeerds quits (~jgeerds@55d4b9df.access.ecotel.net) (Ping timeout: 250 seconds) |
| 00:48:57 | × | hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!) |
| 00:49:40 | → | mvk joins (~mvk@2607:fea8:5cdc:bf00::99e7) |
| 00:50:04 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 00:56:26 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:e156:8ff4:a2d2:fade) (Quit: Leaving) |
| 00:57:34 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:74f2:75c0:910a:f39d) |
| 00:58:15 | <[itchyjunk]> | Does haskell have affine types? |
| 00:58:30 | <[itchyjunk]> | Apparently if you pass something to a function, it stops existing in original scope |
| 00:58:33 | <[itchyjunk]> | for affine types |
| 01:00:24 | → | yauhsien joins (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) |
| 01:04:57 | × | yauhsien quits (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 01:04:59 | <hpc> | i think an extension for it is in progress? |
| 01:05:14 | <hpc> | or it's released fairly recently and i am just out of the loop |
| 01:05:50 | <geekosaur> | I thought that was only linear, not affine |
| 01:06:13 | <geekosaur> | 9.x has linear types |
| 01:07:16 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/linear_types.html |
| 01:07:59 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 01:08:03 | <hpc> | that's what it was |
| 01:10:33 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:10:53 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
| 01:11:24 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 01:15:54 | → | capo_greco joins (~textual@60-241-161-167.static.tpgi.com.au) |
| 01:16:40 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:12 | × | capo_greco quits (~textual@60-241-161-167.static.tpgi.com.au) (Read error: Connection reset by peer) |
| 01:17:31 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 01:17:31 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 01:17:31 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:21:08 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 01:21:57 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 01:23:17 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:23:33 | × | k8yun quits (~k8yun@user/k8yun) (Read error: Connection reset by peer) |
| 01:24:00 | → | k8yun joins (~k8yun@user/k8yun) |
| 01:27:20 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 272 seconds) |
| 01:28:37 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 01:28:38 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 01:28:38 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:42:25 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 01:46:05 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 01:46:25 | → | EvanR joins (~EvanR@user/evanr) |
| 01:52:41 | × | k8yun quits (~k8yun@user/k8yun) (Ping timeout: 272 seconds) |
| 01:53:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection) |
| 01:54:34 | × | pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer) |
| 01:55:51 | → | Guest|64 joins (~Guest|64@201.143.122.9.dsl.dyn.telnor.net) |
| 01:56:02 | <Guest|64> | Hello, is anyone online? |
| 01:56:18 | <dibblego> | quick everyone, he's here, run! Go offline! |
| 01:56:36 | → | pavonia joins (~user@user/siracusa) |
| 01:56:48 | <Guest|64> | Yeah sure hhaha, i need someone who knows about installing heskell |
| 01:57:07 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
| 01:57:39 | <Guest|64> | I tried to install it by GHCup but when i add the code given by the page it doesn't work |
| 02:00:33 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:01:39 | → | k8yun joins (~k8yun@user/k8yun) |
| 02:01:42 | <sm> | @where paste , Guest|64 |
| 02:01:42 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 02:03:02 | × | unyu quits (~pyon@user/pyon) (Quit: Reboot.) |
| 02:03:23 | → | k8yun_ joins (~k8yun@user/k8yun) |
| 02:03:29 | × | wroathe quits (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
| 02:03:42 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 02:03:42 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 02:03:42 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:06:55 | → | mixfix41 joins (~homefame@user/mixfix41) |
| 02:07:00 | × | Guest|64 quits (~Guest|64@201.143.122.9.dsl.dyn.telnor.net) (Ping timeout: 240 seconds) |
| 02:07:53 | × | k8yun quits (~k8yun@user/k8yun) (Ping timeout: 272 seconds) |
| 02:08:40 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 02:08:46 | × | jackson99 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout)) |
| 02:08:52 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:09:48 | × | alphabeta quits (~kilolympu@31.205.200.235) (Ping timeout: 240 seconds) |
| 02:12:20 | → | vysn joins (~vysn@user/vysn) |
| 02:13:53 | → | kilolympus joins (~kilolympu@vpn-fn-230.net.ed.ac.uk) |
| 02:15:04 | → | Guest65 joins (~Guest65@2607:fea8:929c:cc00:3d8d:6a28:2200:cb82) |
| 02:15:27 | <Guest65> | Just curious, why not use discord? |
| 02:16:01 | → | mbuf joins (~Shakthi@122.162.135.157) |
| 02:16:20 | × | Guest65 quits (~Guest65@2607:fea8:929c:cc00:3d8d:6a28:2200:cb82) (Client Quit) |
| 02:17:30 | <jackdk> | must not have been that curious |
| 02:19:00 | × | doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 252 seconds) |
| 02:22:39 | <mixfix41> | can it be bad if ghc-pkg list has the same package twice? |
| 02:24:44 | <mixfix41> | welp doesnt seem to be the case as my hackage-security package as progress further after configure library profiling 8-D |
| 02:25:06 | <mixfix41> | has* |
| 02:25:11 | × | acidsys quits (~LSD@2a03:4000:55:d20::3) (Excess Flood) |
| 02:25:30 | → | [_] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 02:27:37 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds) |
| 02:27:44 | [_] | is now known as [itchyjunk] |
| 02:28:17 | → | acidsys joins (~LSD@2a03:4000:55:d20::3) |
| 02:31:57 | → | hololeap_ joins (~hololeap@user/hololeap) |
| 02:33:22 | → | ph88_ joins (~ph88@2a02:8109:9e00:71d0:885b:9523:dc87:45b3) |
| 02:33:33 | × | justGhost quits (~justache@user/justache) (Remote host closed the connection) |
| 02:33:40 | → | zer0bitz_ joins (~zer0bitz@2001:2003:f74d:b800:3511:c1b2:b4e7:7f1c) |
| 02:34:32 | → | justGhost joins (~justache@user/justache) |
| 02:36:43 | × | ph88^ quits (~ph88@2a02:8109:9e00:71d0:a0c0:cbe9:2589:5782) (Ping timeout: 250 seconds) |
| 02:37:01 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 02:37:35 | × | zer0bitz quits (~zer0bitz@2001:2003:f74d:b800:c9dd:301:29f7:88f5) (Ping timeout: 250 seconds) |
| 02:38:16 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
| 02:40:09 | → | gaff joins (~gaff@49.207.200.248) |
| 02:47:36 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 02:47:36 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 02:50:17 | → | unyu joins (~pyon@user/pyon) |
| 02:50:28 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 02:52:33 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 02:53:39 | × | xff0x quits (~xff0x@2001:1a81:5217:d600:567:b7a:e54:e078) (Ping timeout: 252 seconds) |
| 02:54:10 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 02:54:46 | × | kanin quits (~kanin@112.41.64.39) (Read error: Connection reset by peer) |
| 02:55:26 | → | xff0x joins (~xff0x@2001:1a81:5253:2500:d5b4:d592:9ef0:44dd) |
| 03:03:04 | × | c209e6dc-4d76-47 quits (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!) |
| 03:03:37 | × | neurocyte0917090 quits (~neurocyte@user/neurocyte) (Ping timeout: 272 seconds) |
| 03:09:34 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 03:10:03 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 03:10:11 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 03:11:13 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 03:12:47 | → | ttys joins (~ttys@cpc83645-brig20-2-0-cust528.3-3.cable.virginm.net) |
| 03:14:36 | → | c209e6dc-4d76-47 joins (~aditya@c-73-103-92-95.hsd1.in.comcast.net) |
| 03:14:37 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 03:14:51 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 03:15:37 | × | c209e6dc-4d76-47 quits (~aditya@c-73-103-92-95.hsd1.in.comcast.net) (Client Quit) |
| 03:16:00 | × | ttys quits (~ttys@cpc83645-brig20-2-0-cust528.3-3.cable.virginm.net) (Client Quit) |
| 03:21:31 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:21:31 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:21:31 | finn_elija | is now known as FinnElija |
| 03:24:58 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:27:28 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 03:27:44 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
| 03:27:49 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:28:18 | × | td_ quits (~td@muedsl-82-207-238-242.citykom.de) (Ping timeout: 252 seconds) |
| 03:29:16 | × | emf quits (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
| 03:29:27 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 03:30:15 | → | td_ joins (~td@muedsl-82-207-238-135.citykom.de) |
| 03:31:33 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 03:32:21 | × | x_kuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 03:35:16 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
| 03:35:54 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 03:40:53 | × | gaff quits (~gaff@49.207.200.248) (Remote host closed the connection) |
| 03:41:09 | → | gaff joins (~gaff@49.207.200.248) |
| 03:44:27 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 03:45:27 | → | deadmarshal joins (~deadmarsh@95.38.116.130) |
| 03:48:09 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 03:48:57 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 03:53:31 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 03:53:31 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 03:53:31 | → | wroathe joins (~wroathe@user/wroathe) |
| 03:58:21 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 04:00:12 | × | zer0bitz_ quits (~zer0bitz@2001:2003:f74d:b800:3511:c1b2:b4e7:7f1c) (Ping timeout: 240 seconds) |
| 04:04:43 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
| 04:04:43 | → | k8yun__ joins (~k8yun@user/k8yun) |
| 04:08:12 | × | k8yun_ quits (~k8yun@user/k8yun) (Ping timeout: 240 seconds) |
| 04:10:13 | × | drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds)) |
| 04:10:30 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 04:10:35 | → | drdo joins (~drdo@roach0.drdo.eu) |
| 04:11:41 | × | k8yun__ quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 04:12:25 | → | little_mac_ joins (~little_ma@2601:410:4300:3ce0:74f2:75c0:910a:f39d) |
| 04:12:42 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:74f2:75c0:910a:f39d) (Read error: Connection reset by peer) |
| 04:17:04 | → | capo_greco joins (~textual@60-241-161-167.static.tpgi.com.au) |
| 04:18:02 | × | capo_greco quits (~textual@60-241-161-167.static.tpgi.com.au) (Client Quit) |
| 04:21:33 | → | lavaman joins (~lavaman@98.38.249.169) |
| 04:26:34 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 04:46:13 | × | waleee quits (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 272 seconds) |
| 04:46:23 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 04:47:20 | → | zaquest joins (~notzaques@5.130.79.72) |
| 04:48:49 | × | dsrt^ quits (~dsrt@50.235.176.163) (Remote host closed the connection) |
| 04:49:00 | × | deadmarshal quits (~deadmarsh@95.38.116.130) (Ping timeout: 240 seconds) |
| 04:51:06 | × | gaff quits (~gaff@49.207.200.248) (Quit: Bye ...) |
| 04:52:31 | → | chenqisu1 joins (~chenqisu1@183.217.200.249) |
| 05:00:37 | × | mvk quits (~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 240 seconds) |
| 05:02:21 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
| 05:03:06 | × | otherwise quits (~otherwise@2601:602:880:90f0:b4d0:57c1:4b9f:3ace) (Remote host closed the connection) |
| 05:04:15 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Read error: Connection reset by peer) |
| 05:04:58 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 05:14:58 | → | pragma- joins (~chaos@user/pragmatic-chaos) |
| 05:15:17 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 05:18:54 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:21:28 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 05:25:32 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:25:48 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 05:38:03 | → | otherwise joins (~otherwise@2601:602:880:90f0:f487:90ca:651c:5bea) |
| 05:41:11 | → | bahamas joins (~lucian@84.232.140.52) |
| 05:47:41 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 05:55:48 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 240 seconds) |
| 05:59:42 | → | deadmarshal joins (~deadmarsh@95.38.116.130) |
| 06:04:27 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 06:04:54 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 06:07:00 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 06:09:15 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
| 06:09:20 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:12:17 | × | gawen quits (~gawen@user/gawen) (Ping timeout: 240 seconds) |
| 06:13:09 | × | Hecate quits (~mariposa@user/hecate) (Ping timeout: 250 seconds) |
| 06:13:20 | × | drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds)) |
| 06:14:37 | → | drdo joins (~drdo@roach0.drdo.eu) |
| 06:21:24 | × | simendsjo quits (~user@84.211.91.241) (Ping timeout: 240 seconds) |
| 06:38:33 | → | thevishy joins (~Nishant@2405:201:f005:c007:c978:2cb1:53a0:d8f2) |
| 06:42:44 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 06:42:44 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 06:42:44 | → | wroathe joins (~wroathe@user/wroathe) |
| 06:47:47 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 06:54:58 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 06:56:25 | → | coot joins (~coot@213.134.190.95) |
| 06:59:51 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 272 seconds) |
| 07:00:50 | → | rusrushal13 joins (~rusrushal@103.85.18.34) |
| 07:04:35 | → | chronon joins (~chronon@user/chronon) |
| 07:11:36 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 07:14:57 | × | Megant quits (megant@user/megant) (Ping timeout: 240 seconds) |
| 07:23:49 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 07:24:43 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 07:28:17 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds) |
| 07:28:48 | hololeap_ | is now known as hololeap |
| 07:31:40 | glowcoil_ | is now known as glowcoil |
| 07:37:27 | × | Natch quits (~natch@c-4db8e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection) |
| 07:39:09 | → | fendor joins (~fendor@91.141.40.92.wireless.dyn.drei.com) |
| 07:42:00 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 07:42:45 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 07:42:51 | → | Natch joins (~natch@c-4db8e255.014-297-73746f25.bbcust.telenor.se) |
| 07:43:11 | → | finsternis joins (~X@23.226.237.192) |
| 07:45:45 | → | Pickchea joins (~private@user/pickchea) |
| 07:49:50 | → | Ariakenom joins (~Ariakenom@2001:9b1:efe:9d00:a132:2afd:4a89:be79) |
| 07:50:41 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:6a70:b054:9876:b7fc) |
| 07:52:05 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds) |
| 07:55:17 | → | Ariakenom_ joins (~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se) |
| 07:57:50 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:57:52 | × | shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit) |
| 07:58:33 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 07:58:33 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 07:58:33 | → | wroathe joins (~wroathe@user/wroathe) |
| 07:59:07 | × | Ariakenom quits (~Ariakenom@2001:9b1:efe:9d00:a132:2afd:4a89:be79) (Ping timeout: 250 seconds) |
| 08:02:03 | → | MajorBiscuit joins (~MajorBisc@c-001-018-023.client.tudelft.eduvpn.nl) |
| 08:02:57 | → | michalz joins (~michalz@185.246.204.73) |
| 08:03:24 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 08:08:12 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:08:13 | × | dextaa_ quits (~dextaa@user/dextaa) (Remote host closed the connection) |
| 08:08:18 | → | `2jt joins (~jtomas@130.red-88-22-46.staticip.rima-tde.net) |
| 08:08:29 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:08:36 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:08:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:08:58 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:09:13 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:09:20 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:09:34 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:09:41 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:09:58 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:10:05 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:10:15 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:10:20 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:10:28 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:10:42 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:10:49 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:11:06 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:11:14 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:11:29 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:11:36 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:11:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:11:58 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:12:08 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 08:12:13 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:12:20 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:12:34 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:12:42 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:12:57 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:13:04 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:13:19 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:13:25 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:13:40 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:13:47 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:13:47 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 08:14:02 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:14:09 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:14:11 | → | zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) |
| 08:14:23 | → | yauhsien joins (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) |
| 08:14:24 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:14:31 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:14:44 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:14:52 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:15:06 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:15:14 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:15:28 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:15:36 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:15:42 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:15:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:15:57 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:16:14 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:16:21 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:16:32 | × | tomku quits (~tomku@user/tomku) (Ping timeout: 240 seconds) |
| 08:16:36 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:16:43 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:16:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:17:07 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:17:21 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:17:28 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:17:36 | × | xff0x quits (~xff0x@2001:1a81:5253:2500:d5b4:d592:9ef0:44dd) (Ping timeout: 252 seconds) |
| 08:17:43 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:17:50 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:18:04 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:18:09 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 08:18:12 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:18:27 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:18:34 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:18:36 | → | xff0x joins (~xff0x@2001:1a81:5253:2500:44fe:2888:7933:5a26) |
| 08:18:47 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:18:55 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:19:09 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:19:17 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:19:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:19:39 | × | yauhsien quits (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 08:19:42 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:19:56 | → | alp joins (~alp@user/alp) |
| 08:19:57 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:20:04 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:20:20 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:20:27 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:20:43 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:20:50 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:20:50 | → | ubert joins (~Thunderbi@p200300ecdf09942d5bc34c7f8597781f.dip0.t-ipconnect.de) |
| 08:21:04 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:21:12 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:21:27 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:21:34 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:21:47 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:21:55 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:22:12 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:22:19 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:22:36 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:22:41 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds) |
| 08:22:43 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:23:25 | → | tomku joins (~tomku@user/tomku) |
| 08:24:17 | × | phma quits (~phma@host-67-44-209-104.hnremote.net) (Read error: Connection reset by peer) |
| 08:25:19 | → | phma joins (~phma@2001:5b0:210d:a1c8:150f:54c0:3978:d9e2) |
| 08:28:01 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:29:14 | → | wolfshappen joins (~waff@irc.furworks.de) |
| 08:29:20 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 08:29:20 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 08:29:20 | → | wroathe joins (~wroathe@user/wroathe) |
| 08:29:52 | × | wolfshappen quits (~waff@irc.furworks.de) (Client Quit) |
| 08:31:59 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 08:32:30 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 08:32:34 | × | hugo quits (znc@verdigris.lysator.liu.se) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:32:40 | → | kfj joins (~kfj@94.198.43.75) |
| 08:32:52 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit) |
| 08:34:12 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 08:35:43 | → | wolfshappen joins (~waff@irc.furworks.de) |
| 08:37:34 | → | cosimone joins (~user@93-47-231-171.ip115.fastwebnet.it) |
| 08:38:54 | × | little_mac_ quits (~little_ma@2601:410:4300:3ce0:74f2:75c0:910a:f39d) (Quit: Leaving) |
| 08:44:12 | × | ubert quits (~Thunderbi@p200300ecdf09942d5bc34c7f8597781f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 08:49:10 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 08:50:58 | → | acidjnk joins (~acidjnk@p200300d0c70f8418e9705765d4d48bc6.dip0.t-ipconnect.de) |
| 08:52:24 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 08:53:05 | → | max22- joins (~maxime@2a01cb08833598000fe24484831421bf.ipv6.abo.wanadoo.fr) |
| 08:53:21 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:55:09 | × | otherwise quits (~otherwise@2601:602:880:90f0:f487:90ca:651c:5bea) () |
| 08:57:49 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 08:59:17 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 09:00:06 | × | carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Quit: You have been kicked for being idle) |
| 09:00:08 | × | Heffalump[m] quits (~hsenagmat@2001:470:69fc:105::e11) (Quit: You have been kicked for being idle) |
| 09:00:28 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 09:01:41 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 09:02:09 | → | ardell joins (~ardell@user/ardell) |
| 09:02:33 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 09:07:26 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 09:08:40 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:09:00 | × | deadmarshal quits (~deadmarsh@95.38.116.130) (Ping timeout: 240 seconds) |
| 09:10:02 | → | deadmarshal joins (~deadmarsh@95.38.116.130) |
| 09:11:43 | → | wonko joins (~wjc@user/wonko) |
| 09:17:10 | → | yauhsien joins (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) |
| 09:17:44 | → | img joins (~img@user/img) |
| 09:18:35 | <dminuoso> | do-notation in pattern Possibly caused by a missing 'do'? |
| 09:18:46 | <dminuoso> | Thanks GHC. Really helpful! |
| 09:21:57 | × | yauhsien quits (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 09:22:21 | × | ardell quits (~ardell@user/ardell) (Ping timeout: 272 seconds) |
| 09:28:41 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
| 09:28:48 | → | lavaman joins (~lavaman@98.38.249.169) |
| 09:33:00 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 09:33:26 | × | tzh_ quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 09:36:28 | → | ardell joins (~ardell@user/ardell) |
| 09:42:21 | → | chele joins (~chele@user/chele) |
| 09:45:44 | → | alphabeta joins (~kilolympu@vpn-fn-230.net.ed.ac.uk) |
| 09:46:25 | × | kilolympus quits (~kilolympu@vpn-fn-230.net.ed.ac.uk) (Ping timeout: 272 seconds) |
| 09:46:53 | <fendor[m]> | Can I add haddock documentation to functions that aren't top-level? Is that just going to be ignored by haddock or does it land in the .hi file? |
| 09:49:24 | × | td_ quits (~td@muedsl-82-207-238-135.citykom.de) (Ping timeout: 240 seconds) |
| 09:50:36 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 09:52:38 | → | ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:e6dd:69f1:f693:42d5) |
| 09:53:23 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 272 seconds) |
| 09:54:29 | <kuribas> | fendor[m]: no |
| 09:54:34 | <kuribas> | how would you even call them? |
| 09:54:42 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 09:55:06 | <kuribas> | haddock is for functions which you can call. |
| 09:55:08 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 09:55:12 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Remote host closed the connection) |
| 09:55:30 | → | `2jt joins (~jtomas@130.red-88-22-46.staticip.rima-tde.net) |
| 09:55:43 | <fendor[m]> | I mean, I can call the functions, just not from outside the function context |
| 09:55:55 | × | Akiva quits (~Akiva@user/Akiva) (Ping timeout: 272 seconds) |
| 09:56:12 | <kuribas> | I mean, haddock is for documenting the module. |
| 09:56:34 | <kuribas> | you can just put comments there. |
| 09:56:37 | → | td_ joins (~td@muedsl-82-207-238-135.citykom.de) |
| 09:56:50 | <fendor[m]> | functions that aren't exported can be documented as well |
| 09:57:11 | <kuribas> | not with haddock AFAIK. |
| 09:57:24 | → | Guest96 joins (~Guest96@144-124-99-115.pip.aber.ac.uk) |
| 09:57:42 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 252 seconds) |
| 09:57:58 | × | Guest96 quits (~Guest96@144-124-99-115.pip.aber.ac.uk) (Client Quit) |
| 09:58:16 | <fendor[m]> | parsing a module with -haddock includes haddock comments for functions that aren't exported afaict |
| 09:58:45 | <fendor[m]> | or should I see haddock-the-executable as something different to ghc -haddock? |
| 10:01:56 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
| 10:04:16 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 10:04:34 | → | neurocyte0917090 joins (~neurocyte@user/neurocyte) |
| 10:05:27 | → | jonathanx joins (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) |
| 10:05:35 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 10:10:08 | <fendor[m]> | haddock itself has the option `ignore-exports` which ignores the export list and generates the documentation for non-exposed functions as well. |
| 10:12:08 | <fendor[m]> | I want haddock documentation for inner functions, because it makes it firstly possible to document functions consistently, and it helps you read source code. E.g. when I hover over a private function in haddock (when viewing sources) or hls, I can see the documentation just as usual |
| 10:13:15 | <fendor[m]> | "inner functions" meaning functions that are only defined within the scope of a function |
| 10:14:03 | → | dhil joins (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) |
| 10:20:19 | → | yauhsien joins (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) |
| 10:20:33 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 10:21:34 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 10:22:34 | → | gawen joins (~gawen@user/gawen) |
| 10:22:52 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 10:22:52 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 10:22:52 | → | wroathe joins (~wroathe@user/wroathe) |
| 10:23:03 | → | Vajb joins (~Vajb@85-76-72-4-nat.elisa-mobile.fi) |
| 10:23:46 | × | vysn quits (~vysn@user/vysn) (Remote host closed the connection) |
| 10:23:47 | × | Vajb quits (~Vajb@85-76-72-4-nat.elisa-mobile.fi) (Read error: Connection reset by peer) |
| 10:25:00 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 10:25:05 | × | yauhsien quits (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 10:27:55 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 10:28:03 | <sshine> | fendor[m], that makes a lot of sense; I can imagine how documentation for a function might look like when it also includes stuff for inner functions; then again, I might also find that a little disingenuous, since I'd get the expectation that that function is something I can call, when it's not. :) |
| 10:28:47 | <geekosaur> | my possibly incorrect understanding is that this is still in development, including "fat hi files" |
| 10:28:49 | <sshine> | fendor[m], I try to make inner functions mostly do wrapping and unwrapping, so if it's something that might have general value, at least I put it at the top level but don't export it. |
| 10:29:14 | <geekosaur> | intended specifically to provide extra information for IDEs |
| 10:29:24 | <fendor[m]> | I didnt mean that haddock's html page includes the documentation for such inner functions, I just want other tooling to be able to present me the documentation when desired |
| 10:29:30 | <geekosaur> | it may work better with later ghc versions |
| 10:29:39 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 10:30:06 | <sshine> | fendor[m], sure. |
| 10:30:24 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 10:31:19 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 10:32:15 | ← | kfj parts (~kfj@94.198.43.75) () |
| 10:32:42 | <fendor[m]> | I think haddock doesn't parse haddock docs for anything else than top-level functions right now. Not sure whether later ghc versions would change that |
| 10:33:10 | <geekosaur> | given that it would be going into .hi or .hie files, it'd be ghc |
| 10:33:29 | <geekosaur> | ghc and haddock are already pretty tightly tied together |
| 10:34:51 | <fendor[m]> | true, for the information to be available in haddock's source browsing, it needs to be in .hi files |
| 10:35:06 | <geekosaur> | I *think* ghc does the parsing and haddock the formatting; in this case it'd be the IDE that pulled out the part it wanted and formatted it |
| 10:35:18 | <geekosaur> | (e.g. HLS) |
| 10:35:59 | <fendor[m]> | that makes sense, going to check HLS code for details |
| 10:39:31 | → | gawen joins (~gawen@user/gawen) |
| 10:42:27 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:6a70:b054:9876:b7fc) (Quit: WeeChat 2.8) |
| 10:43:00 | × | neurocyte0917090 quits (~neurocyte@user/neurocyte) (Ping timeout: 240 seconds) |
| 10:44:58 | → | bahamas joins (~lucian@84.232.140.52) |
| 10:45:04 | <dminuoso> | How does current directory from `directory` interact across multiple threads? |
| 10:47:42 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:48:50 | → | Neuromancer joins (~Neuromanc@user/neuromancer) |
| 10:54:21 | × | michalz quits (~michalz@185.246.204.73) (Ping timeout: 252 seconds) |
| 10:56:46 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 10:59:08 | <geekosaur> | don't understand the question if it'snot answered by "In a multithreaded program, the current working directory is a global state shared among all threads of the process. Therefore, when performing filesystem operations from multiple threads, it is highly recommended to use absolute rather than relative paths (see: makeAbsolute)." |
| 11:00:00 | <geekosaur> | current directory is an attribute of a process, not a thread |
| 11:02:03 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 11:02:33 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 11:08:43 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 11:10:16 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection) |
| 11:14:07 | × | acidjnk quits (~acidjnk@p200300d0c70f8418e9705765d4d48bc6.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 11:15:57 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 240 seconds) |
| 11:17:20 | → | fendor_ joins (~fendor@178.115.59.89.wireless.dyn.drei.com) |
| 11:18:19 | → | michalz joins (~michalz@185.246.204.89) |
| 11:19:48 | × | fendor quits (~fendor@91.141.40.92.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
| 11:25:45 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 11:27:44 | → | xkuru joins (~xkuru@user/xkuru) |
| 11:29:01 | × | td_ quits (~td@muedsl-82-207-238-135.citykom.de) (Ping timeout: 272 seconds) |
| 11:29:30 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 11:30:14 | → | td_ joins (~td@muedsl-82-207-238-135.citykom.de) |
| 11:31:15 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 11:31:20 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
| 11:31:27 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 11:31:36 | × | xkuru quits (~xkuru@user/xkuru) (Remote host closed the connection) |
| 11:32:20 | → | bahamas joins (~lucian@84.232.140.52) |
| 11:34:21 | → | xkuru joins (~xkuru@user/xkuru) |
| 11:34:56 | × | bjobjo quits (~bjobjo@user/bjobjo) (Ping timeout: 250 seconds) |
| 11:35:12 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 11:36:23 | × | td_ quits (~td@muedsl-82-207-238-135.citykom.de) (Quit: waking up from the american dream ...) |
| 11:36:41 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 11:37:31 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 250 seconds) |
| 11:38:21 | × | max22- quits (~maxime@2a01cb08833598000fe24484831421bf.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds) |
| 11:41:24 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 11:42:11 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 11:42:43 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds) |
| 11:43:36 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 11:47:01 | → | akegalj joins (~akegalj@93-138-38-201.adsl.net.t-com.hr) |
| 11:48:10 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:de86:d03c:7719:1796) |
| 11:49:19 | × | ardell quits (~ardell@user/ardell) (Quit: Konversation terminated!) |
| 11:50:57 | × | michalz quits (~michalz@185.246.204.89) (Ping timeout: 250 seconds) |
| 11:54:41 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 11:57:36 | × | MajorBiscuit quits (~MajorBisc@c-001-018-023.client.tudelft.eduvpn.nl) (Ping timeout: 252 seconds) |
| 12:01:43 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 12:01:44 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 12:02:33 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds) |
| 12:02:50 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 12:04:29 | × | foul_owl quits (~kerry@23.82.193.104) (Ping timeout: 272 seconds) |
| 12:04:30 | → | Pickchea joins (~private@user/pickchea) |
| 12:06:36 | × | jlamothe quits (~jlamothe@198.251.61.229) (Ping timeout: 240 seconds) |
| 12:09:14 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:f688:b78:9b5f:f629) |
| 12:10:40 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 12:14:37 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 12:14:50 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 12:15:00 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Ping timeout: 240 seconds) |
| 12:18:05 | → | MajorBiscuit joins (~MajorBisc@c-001-013-023.client.tudelft.eduvpn.nl) |
| 12:20:03 | → | foul_owl joins (~kerry@23.82.193.88) |
| 12:23:03 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 12:24:06 | → | Vajb joins (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) |
| 12:24:45 | × | chenqisu1 quits (~chenqisu1@183.217.200.249) (Ping timeout: 272 seconds) |
| 12:25:57 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds) |
| 12:25:57 | → | td_ joins (~td@muedsl-82-207-238-135.citykom.de) |
| 12:26:18 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 12:26:49 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:28:21 | × | bbear_ quits (~znc@21212.s.t4vps.eu) (Ping timeout: 256 seconds) |
| 12:28:26 | → | michalz joins (~michalz@185.246.204.57) |
| 12:28:35 | → | bbear joins (~znc@21212.s.t4vps.eu) |
| 12:30:49 | × | Vajb quits (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 250 seconds) |
| 12:31:01 | → | Vajb joins (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) |
| 12:32:13 | → | Hecate_ joins (~mariposa@user/hecate) |
| 12:32:24 | Hecate_ | is now known as Hecate |
| 12:33:20 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 12:34:36 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 12:35:09 | × | Vajb quits (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 250 seconds) |
| 12:36:32 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 12:39:32 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 12:40:33 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 12:40:58 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 12:41:45 | → | Vajb joins (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) |
| 12:41:45 | <romesrf> | hey everyone, what's your preferred way of writing something like this run = (>>= putStrLn) . runX |
| 12:42:19 | <romesrf> | I don't quite love this one |
| 12:42:30 | <romesrf> | (>>= g) . f |
| 12:42:48 | <merijn> | romesrf: fish operator? |
| 12:42:52 | <merijn> | :t (>=>) |
| 12:42:53 | <lambdabot> | Monad m => (a -> m b) -> (b -> m c) -> a -> m c |
| 12:43:11 | <merijn> | Looks like your example is just "runX >=> putStrLn" |
| 12:43:22 | <romesrf> | ah!!! |
| 12:43:23 | <romesrf> | perfect! |
| 12:44:11 | <romesrf> | that's exactly it |
| 12:45:35 | <romesrf> | ty |
| 12:46:29 | → | bahamas joins (~lucian@84.232.140.52) |
| 12:46:50 | <merijn> | Entirely unrelatedly. It looks like for the first time since 2020 the NL-FP day is back on \o/ |
| 12:48:49 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 272 seconds) |
| 12:50:17 | → | cfricke joins (~cfricke@user/cfricke) |
| 12:50:19 | × | Vajb quits (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 250 seconds) |
| 12:52:25 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds) |
| 12:52:37 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 12:53:17 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 12:53:22 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 12:54:41 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 12:55:54 | → | bahamas joins (~lucian@84.232.140.52) |
| 12:57:41 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 12:58:25 | → | Vajb joins (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) |
| 13:00:12 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 240 seconds) |
| 13:09:59 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 13:10:49 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 13:10:49 | × | Vajb quits (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Read error: Connection reset by peer) |
| 13:10:58 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 13:12:39 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 13:15:00 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 240 seconds) |
| 13:15:23 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 256 seconds) |
| 13:16:05 | → | Vajb joins (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) |
| 13:18:05 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 13:18:13 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 13:25:50 | → | jackson99 joins (~bc8147f2@cerf.good1.com) |
| 13:29:18 | → | Pickchea joins (~private@user/pickchea) |
| 13:29:20 | × | alphabeta quits (~kilolympu@vpn-fn-230.net.ed.ac.uk) (Ping timeout: 272 seconds) |
| 13:30:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:32:49 | → | kilolympus joins (~kilolympu@vpn-fn-230.net.ed.ac.uk) |
| 13:35:41 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 13:37:00 | × | Vajb quits (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 240 seconds) |
| 13:39:07 | → | max22- joins (~maxime@2a01cb08833598003c62700c4284530c.ipv6.abo.wanadoo.fr) |
| 13:44:56 | → | doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
| 13:45:47 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 13:46:41 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 13:47:24 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 240 seconds) |
| 13:52:17 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 13:54:25 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 13:58:02 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:02:13 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 14:10:55 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 250 seconds) |
| 14:11:07 | <dminuoso> | merijn: Mmm, where is the sign up link? |
| 14:11:29 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:12:41 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 14:12:59 | <merijn> | https://wouter-swierstra.github.io/fp-dag/ |
| 14:15:48 | <dminuoso> | Ah nice, might just do that. Getting to Utrecht is quite doable. :) |
| 14:16:15 | → | __monty__ joins (~toonn@user/toonn) |
| 14:16:39 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 14:17:00 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Ping timeout: 240 seconds) |
| 14:17:04 | → | simendsjo joins (~user@84.211.91.241) |
| 14:17:39 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 14:17:47 | → | jgeerds joins (~jgeerds@55d4b9df.access.ecotel.net) |
| 14:17:50 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
| 14:22:34 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 14:22:59 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 14:23:17 | → | bahamas joins (~lucian@84.232.140.52) |
| 14:27:49 | <romesrf> | dminuoso: I'm excited for the year to come, i'll be joining a lot of those (as many as i can :) for the first time |
| 14:28:00 | <romesrf> | I'm pretty set onn going to ZuriHac |
| 14:28:33 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 14:28:33 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 14:28:33 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:28:34 | <romesrf> | i'll be studying in Germany by that time, so it'll be really neat to go to those meetups |
| 14:29:19 | × | MajorBiscuit quits (~MajorBisc@c-001-013-023.client.tudelft.eduvpn.nl) (Ping timeout: 256 seconds) |
| 14:29:33 | <dminuoso> | Yeah, ZuriHac is already on my timetable :) |
| 14:29:44 | <merijn> | NL-FP is nice and accessible :) |
| 14:30:48 | <maerwald> | I missed NL-FP in 2020 |
| 14:31:15 | <merijn> | :O |
| 14:31:30 | <merijn> | You missed Athas talking about Futhark, then :p |
| 14:32:03 | → | MajorBiscuit joins (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) |
| 14:33:20 | <romesrf> | what's NL-FP? |
| 14:33:36 | × | rusrushal13 quits (~rusrushal@103.85.18.34) (Ping timeout: 256 seconds) |
| 14:33:41 | <romesrf> | i'm guessing netherlands fp but :) |
| 14:33:48 | <romesrf> | links are welcome |
| 14:33:59 | → | alx741 joins (~alx741@157.100.197.240) |
| 14:35:01 | <geekosaur> | merijn gave one earlier, I think |
| 14:35:34 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 14:37:37 | → | maroloccio joins (~marolocci@pousada3ja.mma.com.br) |
| 14:38:56 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 14:39:12 | <merijn> | romesrf: https://wouter-swierstra.github.io/fp-dag/ |
| 14:39:18 | × | jgeerds quits (~jgeerds@55d4b9df.access.ecotel.net) (Ping timeout: 252 seconds) |
| 14:39:27 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 14:39:47 | → | __monty__ joins (~toonn@user/toonn) |
| 14:40:05 | <merijn> | romesrf: It's essentially a kinda in between "academic" conference/workshop and meetup :p |
| 14:40:37 | × | __monty__ quits (~toonn@user/toonn) (Client Quit) |
| 14:40:54 | → | __monty__ joins (~toonn@user/toonn) |
| 14:41:07 | <merijn> | Everyone remotely involved with/interested in FP research in NL will be there. But also lots of hobbyists and people from industry |
| 14:41:30 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 14:42:05 | <Franciman> | i can't wait to experiment with polarisation |
| 14:42:10 | <Franciman> | i expect to get very high gains |
| 14:42:18 | <Franciman> | in predicatability |
| 14:42:33 | <Franciman> | while retanining same or better performance that haskell |
| 14:42:50 | <Franciman> | predictability* |
| 14:43:33 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:44:03 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 14:44:16 | → | meinside joins (uid24933@id-24933.helmsley.irccloud.com) |
| 14:46:21 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 14:47:12 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 14:47:21 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 14:47:31 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 14:49:21 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 14:52:50 | <jackson99> | is it possible to catch Ctrl+C exception portably? |
| 14:53:00 | <merijn> | jackson99: "haha, no" |
| 14:53:13 | <dminuoso> | What do you mean by "Ctrl-C exception" and "portably" any way? |
| 14:53:26 | → | alx741 joins (~alx741@157.100.197.240) |
| 14:53:29 | <merijn> | If you mean "unix only" then it becomes merely "well, I hope you enjoy suffering!" |
| 14:53:32 | <jackson99> | ctrl+c crashes program, I want to catch that and perform some cleanup before quitting |
| 14:53:56 | <dminuoso> | Ctrl-C on some shells causes SIGINT to be sent to the running program |
| 14:54:08 | <merijn> | ctrl-c just triggers an IO exception. If you use bracket/finally you should be able to clean up that way |
| 14:54:13 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 272 seconds) |
| 14:54:13 | <merijn> | Or rather |
| 14:54:16 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds) |
| 14:54:20 | <merijn> | SIGINT triggers an IO exception |
| 14:54:41 | <jackson99> | and that should work on all OSes? |
| 14:54:44 | <dminuoso> | No. |
| 14:54:57 | <dminuoso> | This behavior is Linux specific. |
| 14:55:13 | <dminuoso> | Windows doesn't even have a notion of POSIX signals |
| 14:55:14 | <[exa]> | macs don't have SIGINT? |
| 14:55:31 | <merijn> | [exa]: To be fair, I said unix :p |
| 14:55:36 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 14:55:41 | <dminuoso> | [exa]: I wouldnt know, to be honest. :) |
| 14:55:44 | <merijn> | Anyway, GHC's signal handling is still kinda of a mess |
| 14:55:58 | <merijn> | So, whether "it works" on linux is debatable as well :p |
| 14:56:23 | <dminuoso> | jackson99: That being said, if you're fine with "it will probably work except in edge cases", https://hackage.haskell.org/package/unix-2.7.2.2/docs/System-Posix-Signals.html |
| 14:56:24 | <dminuoso> | Has you covered |
| 14:56:33 | <dminuoso> | installHandler in particular |
| 14:57:11 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 14:57:23 | <merijn> | In my professional opinion anyone attempting to do signal handling via the unix package is already hosed :p |
| 14:57:28 | <dminuoso> | It's good enough for the vast majority of use cases, but like merijn points out GHC has some serious deficiencies in the signal handling. |
| 14:57:36 | <dminuoso> | Nah. |
| 14:57:44 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 14:57:46 | <dminuoso> | What other options do you propose? |
| 14:59:06 | <jackson99> | I am interested in doing this portably, or at least on linux and windows. it doesn't seem hard to do this on windows using winapi, but I was hoping this can be done in pure haskell |
| 14:59:15 | <jackson99> | I guess not |
| 14:59:58 | <dminuoso> | jackson99: The interface and semantics differ. |
| 15:00:01 | <geekosaur> | there are lots of things you can get maybe 70% if you try to do them portably. more than 70% is unlikely. ctrl-c is not 70% |
| 15:00:12 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 15:01:16 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 15:01:34 | → | shriekingnoise joins (~shrieking@201.231.16.156) |
| 15:02:22 | <dminuoso> | jackson99: They differ so wildly, you will find it absurdly complicated to build some common abstraction. What you'd rather do, is simply CPP your way out of this. |
| 15:02:31 | <[exa]> | +1 for #ifdef |
| 15:02:57 | → | Tuplanolla joins (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) |
| 15:03:04 | <[exa]> | I'd expect that linux, macs and bsds will just work with `unix` unless you do something very complicated |
| 15:03:21 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 15:03:21 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 15:03:30 | × | wonko quits (~wjc@user/wonko) (Ping timeout: 252 seconds) |
| 15:03:31 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 15:03:34 | <[exa]> | on windows, copy the first cheap trick from stackoverflow and prepare to replace it as needed. :D |
| 15:03:48 | <dminuoso> | We use a simple SIGINT handler in all our servers just do have some better control over cleanup and output when people run and interrupt servers from the command line.. |
| 15:03:55 | <geekosaur> | SetCtrlCHandler isn't too bad |
| 15:03:55 | <dminuoso> | Works just fine for us. |
| 15:04:17 | <geekosaur> | it just doesn;t behave anything like SIGINT |
| 15:04:20 | × | doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Remote host closed the connection) |
| 15:04:21 | <merijn> | [exa]: For some value of work :p |
| 15:04:42 | → | doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
| 15:05:29 | <[exa]> | it's unix, it's meant to be 95% |
| 15:06:24 | × | hays quits (rootvegeta@fsf/member/hays) () |
| 15:06:37 | <merijn> | I give signal handling a 70-80% of working at best |
| 15:07:02 | <merijn> | Still better than the "fork" in unix, which I give approximately 0.0005% chance of working correctly |
| 15:07:09 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 15:07:17 | <merijn> | And a solid 40-50% chance of ruining your day at some point in the near future |
| 15:07:39 | <dminuoso> | I think you're overexaggerating a lot. |
| 15:07:51 | <merijn> | For signal handling, maybe |
| 15:08:06 | <[exa]> | I agree on fork() tho. :D |
| 15:08:09 | <geekosaur> | fork'sbasically made of corner cases |
| 15:08:19 | <merijn> | unix' fork is utterly cursed and I'm fairly confident it simply *cannot* be used in a sane way |
| 15:08:35 | <dminuoso> | merijn: Do you have any writeup why that is the case? |
| 15:08:38 | <merijn> | Honestly, unix' fork is literally worse than accuredUnutterablePerformIO |
| 15:08:40 | <dminuoso> | Ive never felt the urge to use `fork`, so.. |
| 15:09:07 | <[exa]> | merijn: you first need to reach the zen and let go of all programs of more than 100 lines of k&r C. Then fork() works |
| 15:09:09 | <merijn> | dminuoso: I mean, let's start with point one: it use fork() which is already literally impossible to use correctly in C unless you program is single-threaded |
| 15:09:30 | <geekosaur> | dminuoso, for one, there is no way at all to deal with threads. for another, you can kiss your critical regions goodbye |
| 15:09:37 | <merijn> | dminuoso: unix' then layers a bunch of *super* hairy GHC RTS issues on top of fork() |
| 15:10:05 | <geekosaur> | you can't clean up any "locked" state |
| 15:10:23 | → | hays joins (rootvegeta@fsf/member/hays) |
| 15:10:23 | <merijn> | dminuoso: Essentially, fork() only copies 1 random threat from the GHC runtime into a new process with 0 controls on what locks/etc. are active in the runtime |
| 15:10:27 | <geekosaur> | you can't even know about any locked state |
| 15:10:34 | <merijn> | dminuoso: Then pretends you can keep running Haskell code |
| 15:10:48 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 15:11:08 | <merijn> | dminuoso: The only thing you can safely do after fork() is: exec() (well, and using any functions that are "async signal safe" (i.e. basically none)) |
| 15:11:36 | <merijn> | dminuoso: Like, what even happens to the IO manager when you fork? |
| 15:11:46 | <merijn> | I don't even wanna think about horrors like that |
| 15:12:23 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:f688:b78:9b5f:f629) (Quit: WeeChat 2.8) |
| 15:12:25 | <geekosaur> | I thought they shut it down during the fork and restarted afterward |
| 15:12:32 | <geekosaur> | again only reliable if singlethreaded |
| 15:12:42 | <dminuoso> | By single threaded do you mean haskell threads? |
| 15:12:48 | <merijn> | dminuoso: OS threads |
| 15:12:50 | <geekosaur> | don't even dream of forking if -threaded |
| 15:13:00 | <merijn> | dminuoso: Using fork() in any application with more than 1 OS thread is folly |
| 15:13:14 | <dminuoso> | merijn: I dont have any POSIX knowledge of fork at all. so.. |
| 15:13:17 | <dminuoso> | Mmm |
| 15:13:29 | <geekosaur> | apache went through this years ago, forks first *then* threads or everything goes wrong |
| 15:13:32 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 15:13:38 | <merijn> | dminuoso: fork() has been known to be dangerous and (essentially) deprecated for over 2 decades |
| 15:13:49 | <merijn> | dminuoso: The "proper" posix way to create a new process is posix_spawn() |
| 15:14:48 | → | alx741 joins (~alx741@181.199.42.143) |
| 15:15:05 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 15:15:16 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 15:16:16 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 15:17:29 | → | Vajb joins (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) |
| 15:18:37 | × | marquis_andras quits (~marquis_a@124.170.163.166) (Ping timeout: 256 seconds) |
| 15:19:31 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 15:19:53 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 15:21:06 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:22:14 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 15:24:19 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 15:26:37 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 15:26:52 | × | hays quits (rootvegeta@fsf/member/hays) () |
| 15:28:12 | × | simendsjo quits (~user@84.211.91.241) (Ping timeout: 240 seconds) |
| 15:28:15 | <xdej> | merijn and [exa] thanks for the comments about fork() |
| 15:28:19 | → | hays joins (rootvegeta@fsf/member/hays) |
| 15:29:27 | → | yauhsien joins (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) |
| 15:31:28 | <merijn> | xdej: fork() is best though of as an Eldritch horror from a Lovecraft novel. Using it will slowly chip away at your sanity by causing all sorts of freaky, intermittent, spooky-action-at-a-distance style weirdness you can't figure out :p |
| 15:31:44 | → | fef joins (~thedawn@user/thedawn) |
| 15:33:05 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 15:34:12 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds) |
| 15:34:13 | × | yauhsien quits (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 15:36:12 | → | alx741 joins (~alx741@157.100.197.240) |
| 15:36:12 | × | turlando quits (~turlando@user/turlando) (Ping timeout: 240 seconds) |
| 15:38:52 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 15:38:52 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 15:38:52 | → | wroathe joins (~wroathe@user/wroathe) |
| 15:39:36 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds) |
| 15:40:04 | <jackson99> | the joy using FFI: it worked! 10 seconds later.. internal error: st00:00:03.0957 64_unknown_mingw32)0.2 for x86_00:00:03.0976 ghc/reportabugbug: http://www.haskell.org/00:00:03.1016 |
| 15:40:22 | → | marquis_andras joins (~marquis_a@124.170.160.147) |
| 15:40:30 | <[exa]> | lol what do you FFI? |
| 15:40:49 | <jackson99> | SetConsoleCtrlHandler |
| 15:41:33 | × | mbuf quits (~Shakthi@122.162.135.157) (Quit: Leaving) |
| 15:41:51 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 15:42:19 | <[exa]> | oh f |
| 15:42:33 | <[exa]> | rule of sane programming in windows environment: never touch WINAPI |
| 15:43:33 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 15:43:35 | <jackson99> | I probably did something wrong. it has been years since I used C functions that take a function pointer in haskell |
| 15:43:47 | <[exa]> | if you want a reasonable non-intrusive way, you can FFI some calls from `conio.h` to catch escape, which windows people will use more than ctrl+c anyway |
| 15:44:34 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 15:45:37 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 15:47:03 | <[exa]> | also there's some way to disable ctrl+c from console afaik (I'm not going to touch MSDN today tho) |
| 15:48:36 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 15:50:35 | × | polyphem quits (~rod@2a02:810d:840:8754:448e:47ff:4575:7cfb) (Ping timeout: 250 seconds) |
| 15:50:39 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds) |
| 15:50:39 | → | polyphem_ joins (~rod@2a02:810d:840:8754:22de:a5de:2070:f535) |
| 15:51:27 | → | hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
| 15:51:47 | → | hueso joins (~root@user/hueso) |
| 15:52:46 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 15:54:43 | × | hueso quits (~root@user/hueso) (Client Quit) |
| 15:56:50 | → | shryke joins (~shryke@91.103.43.254) |
| 15:58:50 | × | thevishy quits (~Nishant@2405:201:f005:c007:c978:2cb1:53a0:d8f2) (Quit: Leaving) |
| 16:00:06 | × | fcortesi quits (~fcortesi@2001:470:69fc:105::f3a9) (Quit: You have been kicked for being idle) |
| 16:01:26 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 16:01:28 | → | alx741 joins (~alx741@181.199.42.143) |
| 16:03:52 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 16:06:01 | → | Midjak joins (~Midjak@91-169-30-149.subs.proxad.net) |
| 16:06:21 | → | yauhsien joins (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) |
| 16:06:32 | <jackson99> | here's the code if I'm doing something obviously wrong. https://paste.tomsmeding.com/u32XV1vO |
| 16:07:03 | <jackson99> | I am getting these warnings when compiling, not sure if that is relevant. * the 'stdcall' calling convention is unsupported on this platform, treating as ccall |
| 16:07:53 | <merijn> | Weird, are you using WSL or something? |
| 16:08:00 | <merijn> | Why would it report stdcall unsupported? |
| 16:08:26 | <jackson99> | I am not using WSL. and I don't know |
| 16:08:35 | <jackson99> | crash happens when I press C-c btw |
| 16:09:02 | <merijn> | Consider using CApiFFI and see if that works? |
| 16:09:37 | × | akegalj quits (~akegalj@93-138-38-201.adsl.net.t-com.hr) (Ping timeout: 256 seconds) |
| 16:10:02 | <ski> | are you sure you should free the `FunPtr (...)', directly after setting the handler ? |
| 16:10:19 | <jackson99> | I am not! |
| 16:10:33 | <jackson99> | thinking about it, I probably shouldn't free it at all |
| 16:11:12 | <jackson99> | since SetConsoleCtrlHandler has to store function pointer to be able to call it |
| 16:12:16 | <jackson99> | that was it.. what a silly mistake |
| 16:12:21 | <geekosaur> | that was my question after looking it over |
| 16:13:57 | [exa] | wonders about what happens after the 3168.89 years of threadDelay |
| 16:14:25 | <jackson99> | works without issues now, thanks ski |
| 16:14:27 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 16:16:12 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 16:16:29 | <ski> | np |
| 16:16:30 | → | akegalj joins (~akegalj@93-138-38-201.adsl.net.t-com.hr) |
| 16:17:46 | <ski> | (i guess you could perhaps free in the handler, maybe) |
| 16:18:36 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Ping timeout: 240 seconds) |
| 16:20:17 | × | Vajb quits (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Read error: Connection reset by peer) |
| 16:20:34 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 16:20:49 | → | alx741 joins (~alx741@157.100.197.240) |
| 16:20:56 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 16:21:36 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 16:23:52 | <jackson99> | second argument of SetConsoleCtrlHandler controlers whether handler is added or removed. not sure how one would expose that interface in haskell, since functions don't implement Eq? have it accept FuncPtr instead of haskell function? |
| 16:23:58 | <jackson99> | controls* |
| 16:24:18 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 16:24:34 | <[exa]> | added or _replaced_, not removed |
| 16:26:40 | → | coot joins (~coot@213.134.190.95) |
| 16:29:05 | → | notzmv joins (~zmv@user/notzmv) |
| 16:30:36 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 16:31:48 | × | EvanR quits (~EvanR@user/evanr) (Ping timeout: 240 seconds) |
| 16:33:19 | <jackson99> | If this parameter is TRUE, the handler is added; if it is FALSE, the handler is removed. |
| 16:34:37 | <ski> | what's the returned `BOOL' ? |
| 16:35:01 | <jackson99> | "If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError." |
| 16:35:08 | <jackson99> | oerhaos I should just throw IO exception there |
| 16:35:10 | <jackson99> | perhaps* |
| 16:35:36 | <ski> | perhaps you could make your wrapper return the `FunPtr (...)' |
| 16:37:04 | → | hud joins (~hud@uwyo-129-72-161-67.uwyo.edu) |
| 16:38:41 | <hud> | hi all, does anyone have a good primer for creating docs using haddock? |
| 16:38:41 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 16:39:24 | × | deadmarshal quits (~deadmarsh@95.38.116.130) (Ping timeout: 240 seconds) |
| 16:40:12 | → | shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 16:40:47 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 16:41:05 | → | alx741 joins (~alx741@181.199.42.143) |
| 16:41:49 | → | jlamothe joins (~jlamothe@198.251.61.229) |
| 16:44:40 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 16:45:07 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 16:45:36 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
| 16:46:02 | × | jlamothe quits (~jlamothe@198.251.61.229) (Client Quit) |
| 16:46:47 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 16:48:06 | <jackson99> | ski, what can I do with it though? it is not safe to free it, as handler can be called at any point during the duration of the program |
| 16:49:00 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 16:49:01 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:49:10 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 16:50:05 | <ski> | i was thinking you could pass it to `SetConsoleCtrlHandler' again, if you wanted to remove it |
| 16:50:05 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 16:50:35 | <sm> | hud: haddock's manual ? |
| 16:51:24 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 17:00:46 | → | lbseale joins (~ep1ctetus@user/ep1ctetus) |
| 17:02:28 | → | alx741 joins (~alx741@181.199.42.143) |
| 17:04:03 | × | yauhsien quits (~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 17:04:18 | → | lavaman joins (~lavaman@98.38.249.169) |
| 17:04:18 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 17:04:58 | → | alx741 joins (~alx741@181.199.42.143) |
| 17:06:06 | × | zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!) |
| 17:11:32 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 17:12:17 | → | waleee joins (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
| 17:13:11 | × | tomsmeding quits (~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:14:17 | <jackson99> | what do you think about this interface? https://paste.tomsmeding.com/qK1OZchC |
| 17:15:46 | → | tomsmeding joins (~tomsmedin@2a01:4f8:c0c:5e5e::2) |
| 17:16:19 | <geekosaur> | strikes me as potentially error-prone; I'd make it more of a bracket-style construct withConsoleCtrlHandler |
| 17:16:58 | → | jlamothe joins (~jlamothe@198.251.61.229) |
| 17:17:29 | × | fendor_ quits (~fendor@178.115.59.89.wireless.dyn.drei.com) (Remote host closed the connection) |
| 17:18:32 | <akegalj> | why is "> length (1,2) == 1" ? |
| 17:19:01 | <ski> | @type length |
| 17:19:02 | <lambdabot> | Foldable t => t a -> Int |
| 17:19:52 | <geekosaur> | that is a question some of us have been asking ever since someone got the odd idea of nmaking tuples Foldable |
| 17:19:54 | <ski> | there is an instance `Foldable (a,)'. this treats a value of type `(a,b)' as a collection of values of type `b'. seen as such a collection, it contains exactly one `b' |
| 17:19:56 | <Hecate> | akegalj: you're using a method of the `Foldable` interface on the 2-tuple type, I'd encourage you to see how Foldable is implemented for the 2-tuple |
| 17:19:58 | <geekosaur> | since you can't fold across their contents |
| 17:20:52 | <akegalj> | thanks all |
| 17:21:02 | × | jonathanx quits (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Remote host closed the connection) |
| 17:21:08 | <akegalj> | is it useful to have Foldable defined for tuple ? |
| 17:21:15 | <Hecate> | https://hackage.haskell.org/package/base-4.16.0.0/docs/src/Data.Foldable.html#line-763 akegalj |
| 17:21:16 | <dolio> | Yes. |
| 17:21:21 | <Hecate> | yes it's always useful |
| 17:21:23 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 17:21:26 | <Hecate> | just that it does something |
| 17:21:29 | <Hecate> | specific |
| 17:21:31 | → | wonko joins (~wjc@user/wonko) |
| 17:21:41 | <Hecate> | and if you want another thing, use another interface, like Bifunctor :) |
| 17:21:49 | → | Guest87 joins (~Guest87@144-124-24-105.pip.aber.ac.uk) |
| 17:21:54 | × | wonko quits (~wjc@user/wonko) (Remote host closed the connection) |
| 17:21:59 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 17:22:47 | × | Guest87 quits (~Guest87@144-124-24-105.pip.aber.ac.uk) (Client Quit) |
| 17:23:19 | <akegalj> | thanks |
| 17:25:33 | → | wonko joins (~wjc@user/wonko) |
| 17:25:43 | × | wonko quits (~wjc@user/wonko) (Remote host closed the connection) |
| 17:27:23 | × | tomsmeding quits (~tomsmedin@2a01:4f8:c0c:5e5e::2) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:28:02 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:28:24 | → | alx741 joins (~alx741@157.100.197.240) |
| 17:28:35 | → | tomsmeding joins (~tomsmedin@static.21.109.88.23.clients.your-server.de) |
| 17:28:56 | → | wonko joins (~wjc@user/wonko) |
| 17:30:19 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 17:31:09 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:31:36 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 17:35:05 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds) |
| 17:35:23 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 17:38:34 | → | wonko- joins (~wjc@user/wonko) |
| 17:38:53 | × | pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 272 seconds) |
| 17:39:13 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 17:39:25 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 17:39:40 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 17:40:03 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 17:40:31 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 17:41:17 | × | MajorBiscuit quits (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 240 seconds) |
| 17:41:31 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 17:44:33 | × | wonko quits (~wjc@user/wonko) (Ping timeout: 250 seconds) |
| 17:47:31 | → | alx741 joins (~alx741@181.199.42.143) |
| 17:48:50 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 17:49:17 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Remote host closed the connection) |
| 17:50:32 | → | Akiva joins (~Akiva@user/Akiva) |
| 17:50:40 | × | ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat) |
| 17:50:56 | → | ralu joins (~ralu@static.211.245.203.116.clients.your-server.de) |
| 17:52:10 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 17:55:23 | → | pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee) |
| 17:55:53 | → | econo joins (uid147250@user/econo) |
| 17:56:06 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 17:56:37 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 17:58:26 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 18:00:13 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:de86:d03c:7719:1796) (Remote host closed the connection) |
| 18:02:13 | → | malc joins (~malc@2a00:1370:8180:aa79:1516:c12d:fb90:440e) |
| 18:05:52 | → | emf joins (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
| 18:06:17 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 18:10:36 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 18:12:47 | → | alx741 joins (~alx741@181.199.42.143) |
| 18:16:39 | → | deadmarshal joins (~deadmarsh@95.38.116.130) |
| 18:16:48 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 18:17:07 | × | dcoutts quits (~duncan@host109-149-1-225.range109-149.btcentralplus.com) (Ping timeout: 256 seconds) |
| 18:18:12 | → | zebrag joins (~chris@user/zebrag) |
| 18:18:27 | → | Lobux joins (~Lobux@nat.ds14.agh.edu.pl) |
| 18:18:34 | × | mncheck quits (~mncheck@193.224.205.254) (Read error: Connection reset by peer) |
| 18:20:24 | <Lobux> | hi! just have a quick questions - does the network package support timeouts? (for example for the accept function or recv) |
| 18:21:33 | × | maroloccio quits (~marolocci@pousada3ja.mma.com.br) (Quit: WeeChat 3.0) |
| 18:22:16 | <geekosaur> | not directly. System.Timeout may work with it.but why would you use a timeout instead of a thread? |
| 18:22:20 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection) |
| 18:22:30 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 18:22:48 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 18:23:31 | <hololeap> | @hackage connections -- Lobux, you might want to have a look at this package instead. it's higher-level |
| 18:23:32 | <lambdabot> | https://hackage.haskell.org/package/connections -- Lobux, you might want to have a look at this package instead. it's higher-level |
| 18:23:57 | → | EvanR joins (~EvanR@user/evanr) |
| 18:24:18 | × | jackson99 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout)) |
| 18:25:33 | <monochrom> | To a large extent I wouldn't care about timing out accept, even in C. |
| 18:26:25 | <monochrom> | I guess IRC DCC and FTP are exceptions. |
| 18:26:53 | <EvanR> | forkIO or async thread doing the accept |
| 18:27:04 | <EvanR> | then simply kill it or not |
| 18:28:14 | <Lobux> | EvanR thanks! didn't think about killing (had an loop idea in mind with some messaging through mvar) |
| 18:28:15 | <monochrom> | Yeah. The timeout package packages that idiom. |
| 18:28:43 | <EvanR> | oh, is System.Timeout no longer in base |
| 18:28:44 | <monochrom> | There are a few more timing-out packages on hackage. |
| 18:29:00 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 18:29:01 | × | hud quits (~hud@uwyo-129-72-161-67.uwyo.edu) (Quit: Client closed) |
| 18:29:13 | <monochrom> | Ooops, System.Timeout is in base, no need for another package. |
| 18:30:09 | × | EvanR quits (~EvanR@user/evanr) (Quit: Leaving) |
| 18:31:09 | → | EvanR joins (~EvanR@user/evanr) |
| 18:32:30 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 18:34:10 | → | alx741 joins (~alx741@181.199.42.143) |
| 18:34:15 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 18:34:59 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 18:35:35 | → | jackson99 joins (~bc8147f2@cerf.good1.com) |
| 18:39:57 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 18:40:39 | → | alx741 joins (~alx741@181.199.42.143) |
| 18:42:08 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
| 18:42:47 | × | kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
| 18:45:22 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 18:46:21 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 18:48:06 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 18:49:38 | <energizer> | how come * doesn't do cartesian product on collections like List and Set? |
| 18:50:40 | <EvanR> | type mismatch? |
| 18:50:44 | <Rembane> | energizer: Because lists and sets aren't numbers. |
| 18:50:57 | <EvanR> | * :: a -> a -> a |
| 18:51:16 | <EvanR> | x :: f a -> f a -> f (a,a) |
| 18:51:35 | <EvanR> | er |
| 18:51:39 | <EvanR> | x :: f a -> f b -> f (a,b) |
| 18:53:27 | <energizer> | ok |
| 18:54:19 | → | slack1256 joins (~slack1256@186.11.99.12) |
| 18:54:40 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:68e2:4c30:8ca1:db3) |
| 18:54:54 | <Rembane> | energizer: If you're in a festive mood, you could implement the Num typeclass for lists. |
| 18:55:14 | <ski> | > liftA2 (,) "abc" [0,1] |
| 18:55:15 | <lambdabot> | [('a',0),('a',1),('b',0),('b',1),('c',0),('c',1)] |
| 18:55:48 | <tomsmeding> | @let (×) = liftA2 (,) |
| 18:55:49 | <lambdabot> | Defined. |
| 18:55:57 | <tomsmeding> | > "abc" × [0,1] |
| 18:55:59 | <lambdabot> | [('a',0),('a',1),('b',0),('b',1),('c',0),('c',1)] |
| 18:57:04 | <tomsmeding> | (and if you feel that's not the right definition: feel free to define ✕ and ✖ alongside) |
| 18:58:00 | <alexfmpe[m]> | I thought ghc 9.2 with Impredicative types was meant to make polymorphic types first-class ? this doesn't seem to work |
| 18:58:00 | <alexfmpe[m]> | type family Meh a :: * |
| 18:58:00 | <alexfmpe[m]> | type instance Meh () = forall x. [x] |
| 18:58:00 | <alexfmpe[m]> | • Illegal polymorphic type: forall x. [x] |
| 18:58:43 | <ski> | @slap GHC |
| 18:58:43 | lambdabot | would never hurt GHC! |
| 18:58:51 | <ski> | (that's not a polymorphic type) |
| 18:58:57 | <alexfmpe[m]> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/impredicative_types.html basically only mentions adding polymorphic types under constructors |
| 18:59:46 | <alexfmpe[m]> | is it expected to get closer to first class in future releases or this is already as implemented as it's currently expected to be? |
| 18:59:49 | <alexfmpe[m]> | ski: hmm? |
| 19:00:04 | <ski> | @kind Const |
| 19:00:05 | <lambdabot> | * -> k -> * |
| 19:00:10 | <ski> | `Const' is a polymorphic type |
| 19:01:10 | <ski> | `forall x. [x]' is a monomorphic type. it is, however, the type of "polymorphic lists". it is a universal / `forall'- type. universal types have polymorphic values |
| 19:01:39 | <ski> | (universal kinds, like `forall k. * -> k -> *', have polymorphic types, like `Const') |
| 19:01:51 | <alexfmpe[m]> | ah fair enough |
| 19:01:56 | → | alx741 joins (~alx741@157.100.197.240) |
| 19:02:00 | × | ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:e6dd:69f1:f693:42d5) (Remote host closed the connection) |
| 19:03:49 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 19:03:51 | <alexfmpe[m]> | so am I holding it wrong or is the illegally-quantified-type not go in that slot for the time being? |
| 19:04:11 | <slack1256> | To use "google cloud secret management <https://cloud.google.com/secret-manager/docs/reference/libraries>, which gogol-* should I use if any? |
| 19:05:00 | ← | malc parts (~malc@2a00:1370:8180:aa79:1516:c12d:fb90:440e) (ERC (IRC client for Emacs 28.0.50)) |
| 19:05:19 | <ski> | alexfmpe[m] : i guess not ? |
| 19:05:24 | <ski> | perhaps ask on mailing list ? |
| 19:05:57 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 19:07:37 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Read error: Connection reset by peer) |
| 19:07:39 | ← | coot parts (~coot@213.134.190.95) () |
| 19:10:23 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 19:11:14 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 19:11:14 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 19:11:14 | → | turlando joins (~turlando@user/turlando) |
| 19:12:25 | → | slowtyper joins (~slowtyper@user/slowtyper) |
| 19:12:37 | × | slowtype- quits (~slowtyper@2a02:214c:8494:a100:8f:b3ce:d37b:a68d) (Ping timeout: 240 seconds) |
| 19:17:08 | → | slowtype- joins (~slowtyper@79.103.111.41.dsl.dyn.forthnet.gr) |
| 19:17:17 | × | slowtyper quits (~slowtyper@user/slowtyper) (Ping timeout: 250 seconds) |
| 19:17:45 | × | deadmarshal quits (~deadmarsh@95.38.116.130) (Ping timeout: 256 seconds) |
| 19:20:38 | → | slowtyper joins (~slowtyper@user/slowtyper) |
| 19:21:29 | → | alx741 joins (~alx741@181.199.42.143) |
| 19:21:37 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 19:21:51 | → | dcoutts joins (~duncan@host213-122-143-131.range213-122.btcentralplus.com) |
| 19:22:00 | <fryguybob> | > fromEnum (2 ^ 66 :: Integer) |
| 19:22:01 | <lambdabot> | 0 |
| 19:22:07 | × | slowtype- quits (~slowtyper@79.103.111.41.dsl.dyn.forthnet.gr) (Ping timeout: 272 seconds) |
| 19:22:20 | <EvanR> | seems legit |
| 19:22:29 | <fryguybob> | > fromEnum (2 ^ 66 + 1:: Integer) |
| 19:22:31 | <lambdabot> | 1 |
| 19:22:55 | <fryguybob> | "`fromEnum` and `toEnum` should give a runtime error if the result value is not representable in the result type." |
| 19:23:35 | <fryguybob> | "should" is doing a lot of work there :D |
| 19:23:45 | <janus> | is it best to try out mtl-2.3 rc3 or rc4? because rc4 has the re-exports reinserted, but it seems like they will be removed again, according to https://github.com/haskell/mtl/pull/103#issuecomment-1024522023 |
| 19:25:01 | <EvanR> | what good is a specification if you can't ignore it |
| 19:29:10 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:29:17 | → | jgeerds joins (~jgeerds@55d4b9df.access.ecotel.net) |
| 19:29:17 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 19:29:29 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:29:35 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:29:51 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:29:57 | → | alx741 joins (~alx741@157.100.197.240) |
| 19:29:59 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:30:09 | × | dcoutts quits (~duncan@host213-122-143-131.range213-122.btcentralplus.com) (Remote host closed the connection) |
| 19:30:14 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:30:21 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:30:28 | → | dcoutts joins (~duncan@host213-122-143-131.range213-122.btcentralplus.com) |
| 19:30:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:30:42 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:30:57 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:31:04 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:31:18 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:31:25 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:31:34 | → | slowtype- joins (~slowtyper@79.103.224.184.dsl.dyn.forthnet.gr) |
| 19:31:42 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:31:49 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:32:06 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:32:13 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:32:13 | × | slowtyper quits (~slowtyper@user/slowtyper) (Ping timeout: 256 seconds) |
| 19:32:13 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 19:32:26 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:32:32 | → | zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) |
| 19:32:34 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:32:51 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:32:58 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:33:13 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:33:20 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 19:34:26 | × | jgeerds quits (~jgeerds@55d4b9df.access.ecotel.net) (Remote host closed the connection) |
| 19:35:53 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 19:39:12 | → | deadmarshal joins (~deadmarsh@95.38.116.130) |
| 19:39:55 | → | dcoutts_ joins (~duncan@host86-144-78-249.range86-144.btcentralplus.com) |
| 19:40:07 | → | ubert joins (~Thunderbi@p200300ecdf09942db6b20453daa25e1f.dip0.t-ipconnect.de) |
| 19:41:19 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 19:41:45 | × | dcoutts quits (~duncan@host213-122-143-131.range213-122.btcentralplus.com) (Ping timeout: 272 seconds) |
| 19:43:01 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
| 19:43:01 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:44:42 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 19:47:48 | → | vicfred joins (~vicfred@user/vicfred) |
| 19:49:01 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 19:49:35 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 19:50:23 | → | alx741 joins (~alx741@181.199.42.143) |
| 19:52:20 | → | Lycurgus joins (~juan@98.4.112.204) |
| 19:55:56 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 19:56:06 | × | alp quits (~alp@user/alp) (Ping timeout: 252 seconds) |
| 19:56:07 | → | alp_ joins (~alp@user/alp) |
| 19:58:24 | × | slack1256 quits (~slack1256@186.11.99.12) (Remote host closed the connection) |
| 19:59:28 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 20:01:48 | → | Megant joins (megant@user/megant) |
| 20:03:51 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:04:58 | × | machinedgod quits (~machinedg@24.105.81.50) (Remote host closed the connection) |
| 20:05:30 | × | akegalj quits (~akegalj@93-138-38-201.adsl.net.t-com.hr) (Quit: leaving) |
| 20:05:49 | × | juhp quits (~juhp@128.106.188.82) (Ping timeout: 272 seconds) |
| 20:07:49 | → | juhp joins (~juhp@128.106.188.82) |
| 20:08:58 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 20:15:42 | × | fef quits (~thedawn@user/thedawn) (Quit: Leaving) |
| 20:16:47 | → | alx741 joins (~alx741@157.100.197.240) |
| 20:20:38 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 20:20:51 | × | waleee quits (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
| 20:22:15 | → | thyriaen joins (~thyriaen@simnet-nat-pool-185-130-54-205.stargrpns.pp.ua) |
| 20:22:17 | × | deadmarshal quits (~deadmarsh@95.38.116.130) (Ping timeout: 272 seconds) |
| 20:22:37 | → | waleee joins (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
| 20:23:32 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4) |
| 20:23:33 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:23:58 | × | bollu quits (~bollu@159.65.151.13) (Ping timeout: 260 seconds) |
| 20:24:13 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection) |
| 20:25:06 | → | bollu joins (~bollu@159.65.151.13) |
| 20:26:32 | × | Lycurgus quits (~juan@98.4.112.204) (Quit: Exeunt) |
| 20:26:53 | → | capo_greco joins (~textual@60-241-161-167.static.tpgi.com.au) |
| 20:27:03 | × | alp_ quits (~alp@user/alp) (Ping timeout: 250 seconds) |
| 20:36:20 | → | cynomys joins (~cynomys@user/cynomys) |
| 20:37:02 | → | alx741 joins (~alx741@157.100.197.240) |
| 20:40:18 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 20:41:33 | × | caubert quits (~caubert@136.244.111.235) (Quit: WeeChat 3.4) |
| 20:43:34 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 20:43:52 | → | caubert joins (~caubert@136.244.111.235) |
| 20:44:09 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:68e2:4c30:8ca1:db3) (Remote host closed the connection) |
| 20:45:03 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 20:46:21 | → | jinsun joins (~jinsun@user/jinsun) |
| 20:46:27 | → | notzmv joins (~zmv@user/notzmv) |
| 20:47:23 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 20:48:28 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 20:49:41 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:50:47 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 272 seconds) |
| 20:53:01 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 20:53:42 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 20:58:09 | × | Lobux quits (~Lobux@nat.ds14.agh.edu.pl) (Quit: Client closed) |
| 20:58:26 | → | alx741 joins (~alx741@157.100.197.240) |
| 20:59:11 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 256 seconds) |
| 20:59:13 | → | yauhsien joins (~Yau-Hsien@61-231-37-106.dynamic-ip.hinet.net) |
| 21:00:16 | → | pavonia joins (~user@user/siracusa) |
| 21:01:20 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 21:01:28 | → | `2jt joins (~jtomas@130.red-88-22-46.staticip.rima-tde.net) |
| 21:01:48 | × | yauhsien_ quits (~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 21:02:39 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection) |
| 21:03:44 | → | bollu5 joins (~bollu@159.65.151.13) |
| 21:04:43 | × | bollu quits (~bollu@159.65.151.13) (Read error: Connection reset by peer) |
| 21:04:43 | bollu5 | is now known as bollu |
| 21:06:10 | → | c209e6dc-4d76-47 joins (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) |
| 21:07:25 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 21:07:38 | → | Pickchea joins (~private@user/pickchea) |
| 21:14:33 | × | thyriaen quits (~thyriaen@simnet-nat-pool-185-130-54-205.stargrpns.pp.ua) (Quit: Leaving) |
| 21:16:53 | × | Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 250 seconds) |
| 21:17:50 | → | yauhsienhuangtw joins (~Yau-Hsien@61-231-37-106.dynamic-ip.hinet.net) |
| 21:18:26 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 21:18:29 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 21:18:29 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 21:18:29 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:18:41 | × | acidsys quits (~LSD@2a03:4000:55:d20::3) (Excess Flood) |
| 21:19:08 | → | alx741 joins (~alx741@157.100.197.240) |
| 21:20:33 | → | acidjnk joins (~acidjnk@p200300d0c71a5a433051350517ca1eef.dip0.t-ipconnect.de) |
| 21:21:11 | × | yauhsien quits (~Yau-Hsien@61-231-37-106.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 21:22:15 | → | sss joins (~sss@2001:18e8:2:28b9:f000::562b) |
| 21:22:59 | → | acidsys joins (~LSD@2a03:4000:55:d20::3) |
| 21:24:15 | × | capo_greco quits (~textual@60-241-161-167.static.tpgi.com.au) (Quit: Textual IRC Client: www.textualapp.com) |
| 21:24:45 | <Sqaure> | I have been pondering if theres a better solution to my problem. Using the Applicative Validation type i construct records in an evaluation like this: |
| 21:24:51 | <Sqaure> | (pure MyRecord) <*> v_ ar <*> v_ brOpt <*> v_ cr <*> cv dr <*> cv ers <*> v_ gr <*> v_ hrOpt <*> v_ ir |
| 21:26:25 | × | wonko- quits (~wjc@user/wonko) (Ping timeout: 250 seconds) |
| 21:27:01 | <Sqaure> | v_ is just a meaningless wrapper.. its just Applicative at work here. But, as you see. Quite unreadable / non clear. I wonder if there was some trick to applicatively construct records using MyRecord field names instead of positional like above? |
| 21:27:47 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 21:28:30 | <[exa]> | Sqaure: if I count correctly, there's only like 2 items that can actually cause validation failures, right? (`cv dr`, `cv ers`) |
| 21:28:40 | → | rusty joins (~rustyboy@82.77.225.116) |
| 21:29:52 | <[exa]> | minor side suggestions: remove pure by swapping the first <*> to <$>, and because there aren't that many parameters to "unwrap", perhaps writing this monadically with `do` would make sense |
| 21:30:07 | <Sqaure> | [exa], oh bot "cv" / "v_" are meaningless wrappers. hmm... i believe all terms can fail. |
| 21:30:13 | → | alp_ joins (~alp@user/alp) |
| 21:30:16 | <[exa]> | what does v_ do ? |
| 21:30:22 | → | Unhammer joins (~Unhammer@user/unhammer) |
| 21:30:57 | <[exa]> | if all items can fail, you're probably pretty close to the best possibility here |
| 21:31:08 | <Sqaure> | just wrapps the value to a appropriate type. I could have left both "v_" and "cv" out of the example |
| 21:31:33 | <Sqaure> | [exa], no Lens trickery possibly? |
| 21:31:44 | <[exa]> | ah so it's some kinda `v_ = fmap MyTypeWrap` or so |
| 21:32:01 | <Sqaure> | yeah. exactly |
| 21:32:12 | → | ub joins (~Thunderbi@86.107.21.10) |
| 21:32:36 | <[exa]> | you might like generics to assemble this kind of structures though |
| 21:32:52 | <Sqaure> | Oh? How? |
| 21:32:53 | × | alanz quits (sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 252 seconds) |
| 21:33:00 | × | bw quits (sid2730@user/betawaffle) (Ping timeout: 240 seconds) |
| 21:33:00 | × | scav quits (sid309693@id-309693.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 21:33:00 | × | taktoa[c] quits (sid282096@id-282096.tinside.irccloud.com) (Ping timeout: 240 seconds) |
| 21:33:00 | × | SanchayanMaity quits (sid478177@id-478177.hampstead.irccloud.com) (Ping timeout: 240 seconds) |
| 21:33:00 | × | gregberns__ quits (sid315709@id-315709.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 21:33:01 | × | philpax_ quits (sid516926@id-516926.lymington.irccloud.com) (Ping timeout: 240 seconds) |
| 21:33:23 | × | rtpg quits (sid443069@id-443069.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 21:33:23 | × | caasih quits (sid13241@id-13241.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 21:33:23 | × | teehemkay_ quits (sid14792@id-14792.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 21:33:23 | × | Firedancer quits (sid336191@id-336191.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 21:33:24 | × | typetetris quits (sid275937@id-275937.tinside.irccloud.com) (Read error: Connection reset by peer) |
| 21:33:24 | × | christiaanb quits (sid84827@id-84827.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 21:33:24 | × | hubvu_ quits (sid495858@id-495858.tinside.irccloud.com) (Ping timeout: 240 seconds) |
| 21:33:25 | × | gmc quits (sid58314@id-58314.ilkley.irccloud.com) (Ping timeout: 240 seconds) |
| 21:33:25 | × | supersven quits (sid501114@id-501114.ilkley.irccloud.com) (Ping timeout: 240 seconds) |
| 21:33:30 | → | teehemkay_ joins (sid14792@id-14792.lymington.irccloud.com) |
| 21:33:30 | → | gregberns__ joins (sid315709@id-315709.helmsley.irccloud.com) |
| 21:33:31 | → | rtpg joins (sid443069@id-443069.ilkley.irccloud.com) |
| 21:33:31 | → | alanz joins (sid110616@id-110616.uxbridge.irccloud.com) |
| 21:33:32 | → | caasih joins (sid13241@id-13241.ilkley.irccloud.com) |
| 21:33:32 | → | scav joins (sid309693@id-309693.helmsley.irccloud.com) |
| 21:33:32 | → | supersven joins (sid501114@id-501114.ilkley.irccloud.com) |
| 21:33:32 | → | Firedancer joins (sid336191@id-336191.hampstead.irccloud.com) |
| 21:33:32 | → | taktoa[c] joins (sid282096@id-282096.tinside.irccloud.com) |
| 21:33:33 | → | philpax_ joins (sid516926@id-516926.lymington.irccloud.com) |
| 21:33:33 | → | typetetris joins (sid275937@id-275937.tinside.irccloud.com) |
| 21:33:33 | → | christiaanb joins (sid84827@id-84827.lymington.irccloud.com) |
| 21:33:33 | → | gmc joins (sid58314@id-58314.ilkley.irccloud.com) |
| 21:33:49 | → | SanchayanMaity joins (sid478177@id-478177.hampstead.irccloud.com) |
| 21:34:01 | <Sqaure> | The point is this should be a "user" api. The construction of the record have an important meaning. |
| 21:34:02 | → | bw joins (sid2730@user/betawaffle) |
| 21:34:12 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Ping timeout: 240 seconds) |
| 21:34:12 | × | caimeo quits (uid540603@id-540603.lymington.irccloud.com) (Ping timeout: 240 seconds) |
| 21:34:18 | <[exa]> | yeah a bit more of the semantics could help here |
| 21:34:36 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Ping timeout: 240 seconds) |
| 21:34:36 | × | elvishjerricco quits (sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 21:34:37 | × | rusty quits (~rustyboy@82.77.225.116) (Remote host closed the connection) |
| 21:35:00 | × | econo quits (uid147250@user/econo) (Ping timeout: 240 seconds) |
| 21:35:01 | × | pepeiborra quits (sid443799@id-443799.ilkley.irccloud.com) (Ping timeout: 240 seconds) |
| 21:35:01 | × | sooch_ quits (sid533113@id-533113.hampstead.irccloud.com) (Ping timeout: 240 seconds) |
| 21:35:30 | → | caimeo joins (uid540603@id-540603.lymington.irccloud.com) |
| 21:35:34 | → | sooch_ joins (sid533113@id-533113.hampstead.irccloud.com) |
| 21:35:34 | → | econo joins (uid147250@user/econo) |
| 21:35:35 | → | pepeiborra joins (sid443799@id-443799.ilkley.irccloud.com) |
| 21:35:36 | → | elvishjerricco joins (sid237756@id-237756.helmsley.irccloud.com) |
| 21:35:37 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 21:35:46 | → | hubvu_ joins (sid495858@id-495858.tinside.irccloud.com) |
| 21:35:52 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 21:36:00 | <Sqaure> | users write construction functions and add validation as they see fit. Last part is the construction of the record. so the function returns a "Validation FailedConstrutionType MyRecord" |
| 21:36:02 | <[exa]> | the things I find kinda uncanny is how much fields are there (would be better named for newcomers) |
| 21:36:17 | <Sqaure> | there could be 100s |
| 21:36:22 | <[exa]> | oh |
| 21:36:29 | <Sqaure> | thats why the above solution isnt great at all |
| 21:36:38 | → | rusty joins (~rustyboy@82.77.225.116) |
| 21:37:07 | geekosaur | was wondering about ApplicativeDo + RecordWildCards |
| 21:37:24 | <geekosaur> | or is it NamedFieldPuns here? |
| 21:38:02 | <Sqaure> | (side note: Need to read up on ApplicativeDo= |
| 21:38:30 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 21:38:43 | <[exa]> | at that point go for lenses, use some combo of Validation and State, and make your own operators that handle the logic correctly so that you can write code such as `myfieldname .?= ar` and `myotherfield .?== ers` instead of `v_` and `cv` (the operators I picked completely randomly, replace ? with whatever you seem fit |
| 21:38:50 | → | EvanR joins (~EvanR@user/evanr) |
| 21:38:53 | × | acidsys quits (~LSD@2a03:4000:55:d20::3) (Excess Flood) |
| 21:39:02 | × | ub quits (~Thunderbi@86.107.21.10) (Quit: ub) |
| 21:39:26 | <[exa]> | I was wondering about ApplicativeDo but that might just add variables in this case, right? |
| 21:39:32 | → | ub joins (~Thunderbi@86.107.21.10) |
| 21:40:04 | → | acidsys joins (~LSD@2a03:4000:55:d20::3) |
| 21:41:49 | × | Midjak quits (~Midjak@91-169-30-149.subs.proxad.net) (Quit: Leaving) |
| 21:42:46 | <Sqaure> | Ah right, you can construct with RecordWildCards. I've only used them to read. That could be something possibly. |
| 21:43:31 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 21:43:37 | <romesrf> | hallo |
| 21:43:47 | <romesrf> | is there a nice way to replicate a tuple? |
| 21:43:59 | <sss> | does running a preprocessor (that outputs valid standard haskell) with {-# OPTIONS_GHC -F -pgmF=mypreprocessor #-} work relatively well with tools like ghci/ghcid? (maybe except for line numbers?) |
| 21:44:03 | <romesrf> | replicate 3 "hi" --> (hi,hi,hi) |
| 21:44:10 | → | alx741 joins (~alx741@157.100.197.240) |
| 21:45:29 | <[exa]> | romesrf: that introduces types that depend on values, which is what people usually choose to avoid |
| 21:45:44 | <[exa]> | (imagine the `3` would be received from the user or something) |
| 21:45:47 | <romesrf> | why avoid? hahaah |
| 21:45:54 | <romesrf> | but [exa] i'm wondering if there's a TH nicety |
| 21:46:15 | <romesrf> | i'm pretty sure i saw an example once |
| 21:46:16 | <[exa]> | ah yes for TH that could work easily, if you can remove the `3` before it hits typechecking :] |
| 21:46:24 | <romesrf> | yea :) hahaha |
| 21:46:43 | <romesrf> | i wonder if there's a TH "prelude" library |
| 21:47:15 | × | Ariakenom_ quits (~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se) (Read error: Connection reset by peer) |
| 21:48:32 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 21:49:03 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 21:49:40 | <[exa]> | romesrf: `tuple-th` looks pretty close |
| 21:49:47 | <[exa]> | there's `htuple` |
| 21:50:03 | <romesrf> | cool! thank you |
| 21:50:05 | <[exa]> | (the first is library, the second is TH function) |
| 21:50:42 | → | sndr joins (~sander@user/sander) |
| 21:50:53 | × | sss quits (~sss@2001:18e8:2:28b9:f000::562b) (Quit: Client closed) |
| 21:51:22 | → | lavaman joins (~lavaman@98.38.249.169) |
| 21:52:08 | <[exa]> | I don't see the exact function for actual values but customizing `htuple` should not be hard |
| 21:52:42 | × | sander quits (~sander@user/sander) (Ping timeout: 252 seconds) |
| 21:52:42 | sndr | is now known as sander |
| 21:52:57 | × | kilolympus quits (~kilolympu@vpn-fn-230.net.ed.ac.uk) (Ping timeout: 240 seconds) |
| 21:53:13 | → | kilolympus joins (~kilolympu@vpn-fn-230.net.ed.ac.uk) |
| 21:53:17 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 21:53:33 | <romesrf> | yep, I'm going to write my own |
| 21:53:40 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:54:13 | <romesrf> | I've had more complicated fun with TH previously, this should be a bit simpler |
| 21:54:44 | <[exa]> | wild guess, literally `replituple n expr = tupE (replicate n expr)` |
| 21:54:49 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 21:54:49 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 21:54:49 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:55:37 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 21:56:11 | × | k`` quits (~user@152.1.137.158) (Remote host closed the connection) |
| 21:57:40 | <[exa]> | ...replituplate, reptuplate... names. |
| 21:58:45 | <romesrf> | hahahaha that's what I was just about to do [exa] |
| 21:58:48 | <romesrf> | it's close |
| 21:59:08 | <Sqaure> | geekosaur, man it looks like ApplicativeDo + RecordWildCards makes wonders here. Thanks |
| 21:59:09 | <romesrf> | i think it'll be TupE (replicate n $ Just expr) |
| 21:59:16 | <romesrf> | TupE [Maybe Exp] |
| 21:59:37 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 22:00:08 | → | Midjak joins (~Midjak@91-169-30-149.subs.proxad.net) |
| 22:00:36 | <[exa]> | ah there's the maybe in there |
| 22:00:49 | <[exa]> | (that's for wildcards?) |
| 22:00:54 | <romesrf> | :) Your wild guess was wildly correct hahah |
| 22:00:59 | <romesrf> | [exa]: it's for tuple sections |
| 22:01:49 | × | doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds) |
| 22:01:55 | <romesrf> | (1,) --> TupE [Just (LitE (IntegerL 1)),Nothing] |
| 22:03:03 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 22:03:24 | × | rusty quits (~rustyboy@82.77.225.116) (Quit: Leaving) |
| 22:04:55 | × | waleee quits (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
| 22:06:41 | → | alx741 joins (~alx741@157.100.197.240) |
| 22:07:17 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Ping timeout: 240 seconds) |
| 22:08:23 | <[exa]> | wow, scary |
| 22:09:03 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 22:09:21 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 22:09:29 | × | Midjak quits (~Midjak@91-169-30-149.subs.proxad.net) (Quit: Leaving) |
| 22:10:35 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 256 seconds) |
| 22:11:00 | → | Midjak joins (~Midjak@91-169-30-149.subs.proxad.net) |
| 22:11:00 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 22:12:02 | <romesrf> | I'm going to look for tuples in HsExpr too brb |
| 22:12:50 | <romesrf> | | ExplicitTuple |
| 22:12:52 | <romesrf> | (XExplicitTuple p) |
| 22:12:54 | <romesrf> | [HsTupArg p] |
| 22:12:56 | <romesrf> | Boxity |
| 22:12:58 | <romesrf> | hehe |
| 22:13:00 | <romesrf> | Boxity |
| 22:13:07 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:13:10 | <romesrf> | trees that grow is indeed cool |
| 22:13:12 | <romesrf> | are* |
| 22:14:31 | × | myme quits (~myme@2a01:799:d5a:cd00:9ae3:d451:a989:e1e9) (Ping timeout: 250 seconds) |
| 22:14:52 | <romesrf> | if TH used the same AST as GHC I wonder if we could get rid of the boxity for the template haskell: pattern synonyms would be the way probably |
| 22:15:39 | <romesrf> | nevermind: TH has both variants as well tupE, unboxedTupE |
| 22:16:40 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 22:17:02 | → | myme joins (~myme@40.51-175-185.customer.lyse.net) |
| 22:22:22 | → | cynomys joins (~cynomys@user/cynomys) |
| 22:23:58 | × | cosimone quits (~user@93-47-231-171.ip115.fastwebnet.it) (Quit: stay out of trouble you crazy kids, and don't hop on the NICE BOAT) |
| 22:27:24 | → | waleee joins (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
| 22:29:14 | → | alx741 joins (~alx741@181.199.42.143) |
| 22:32:27 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 22:33:08 | → | thaumavorio joins (~thaumavor@thaumavor.io) |
| 22:34:23 | × | Midjak quits (~Midjak@91-169-30-149.subs.proxad.net) (Ping timeout: 256 seconds) |
| 22:35:11 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
| 22:38:56 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 22:38:56 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 22:43:26 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:46:17 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 256 seconds) |
| 22:46:22 | <monochrom> | Sob sob, join is not a method of Monad, this is getting inconvenient for my theoretical coding experiments. |
| 22:47:20 | <monochrom> | (I am studying free monads by analogy with free monoids. join :: M (M a) -> M a is much better for this purpose.) |
| 22:49:18 | → | alphabeta joins (~kilolympu@vpn-fn-230.net.ed.ac.uk) |
| 22:49:25 | × | kilolympus quits (~kilolympu@vpn-fn-230.net.ed.ac.uk) (Ping timeout: 256 seconds) |
| 22:52:15 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 22:52:53 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 22:52:58 | × | Tuplanolla quits (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:54:55 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 22:55:07 | → | meinside joins (uid24933@id-24933.helmsley.irccloud.com) |
| 22:55:39 | → | alx741 joins (~alx741@181.199.42.143) |
| 22:56:38 | → | jao joins (~jao@79.red-79-159-137.dynamicip.rima-tde.net) |
| 22:58:12 | × | waleee quits (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 240 seconds) |
| 22:58:25 | → | hud joins (~hud@uwyo-129-72-161-67.uwyo.edu) |
| 22:58:47 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 23:02:30 | → | LiaoTao_ joins (~LiaoTao@gateway/tor-sasl/liaotao) |
| 23:02:36 | × | LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 240 seconds) |
| 23:04:06 | × | sagax quits (~sagax_nb@user/sagax) (Excess Flood) |
| 23:04:37 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection) |
| 23:06:58 | <romesrf> | is anyone feeling like helping me in an existential crisis? |
| 23:07:18 | <romesrf> | existential instanciation to be more precise :P |
| 23:07:24 | <romesrf> | instantiation* |
| 23:07:29 | <geekosaur> | best to just ask your question |
| 23:07:37 | <romesrf> | :) |
| 23:07:49 | <monochrom> | If TH is involved, I can't do it. |
| 23:08:10 | <romesrf> | monochrom: TH was an attempt to do this but I gave up on it |
| 23:08:13 | <monochrom> | But I'm up for both quantifiers, "for all" and "exist", I love them. |
| 23:08:20 | <romesrf> | that's just what I need |
| 23:08:23 | <monochrom> | "Good riddance" >:) |
| 23:08:23 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 256 seconds) |
| 23:08:25 | <romesrf> | i'm setting up the minimal example |
| 23:08:27 | <romesrf> | AHAH |
| 23:09:43 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 23:10:55 | <dminuoso> | monochrom: Re: join as a method of Monad, shouldn't that be possible with QuantifiedConstraints now? |
| 23:11:12 | × | michalz quits (~michalz@185.246.204.57) (Remote host closed the connection) |
| 23:11:24 | <monochrom> | Let me take a look at that extension again... |
| 23:11:41 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 23:11:47 | <geekosaur> | it may enable it in some sense but it doesn'tcause join to become a method |
| 23:12:05 | × | burnsidesLlama quits (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
| 23:12:12 | → | burnsidesLlama joins (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
| 23:14:18 | × | lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection) |
| 23:14:30 | <monochrom> | I think I don't see how to use it for join, heh. |
| 23:14:31 | × | orcus quits (~orcus@user/brprice) (Ping timeout: 250 seconds) |
| 23:14:53 | × | dispater quits (~dispater@user/brprice) (Read error: Connection reset by peer) |
| 23:14:58 | <dminuoso> | https://ryanglscott.github.io/2018/03/04/how-quantifiedconstraints-can-let-us-put-join-back-in-monad/ |
| 23:15:43 | <dminuoso> | It's a subtle story why join isn't already part of Monad. |
| 23:15:53 | → | alx741 joins (~alx741@181.199.42.143) |
| 23:16:00 | <monochrom> | For now I just have a top-level adaptor that converts join to bind. Then when I define a local join for my free monad definition, and give it to the adaptor to obtain >>=. |
| 23:16:02 | <Inst[m]> | okay, now i'm interested |
| 23:16:16 | × | lbseale quits (~ep1ctetus@user/ep1ctetus) (Quit: Leaving) |
| 23:16:37 | × | mniip quits (mniip@libera/staff/mniip) (Ping timeout: 606 seconds) |
| 23:19:03 | <monochrom> | No worries dminuoso, the incovenience to me is very very minor, and my current context is a fringe theoretical one. "This is fine." :) |
| 23:19:03 | × | alp_ quits (~alp@user/alp) (Ping timeout: 252 seconds) |
| 23:19:48 | <monochrom> | But thanks too, I can see how the type of join is very difficult for automatic deriving mechanisms. |
| 23:20:15 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 23:20:26 | → | lambdabot joins (~lambdabot@silicon.int-e.eu) |
| 23:20:26 | × | lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host) |
| 23:20:26 | → | lambdabot joins (~lambdabot@haskell/bot/lambdabot) |
| 23:20:38 | → | orcus joins (~orcus@user/brprice) |
| 23:22:32 | <monochrom> | Yeah you need to think at the level of "I have a natural transformation from Compose m m to m", which needs a "forall x". |
| 23:23:09 | → | dispater joins (~dispater@user/brprice) |
| 23:24:25 | → | mniip joins (mniip@libera/staff/mniip) |
| 23:25:23 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 23:25:36 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:25:42 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) |
| 23:27:10 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection) |
| 23:27:23 | → | shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 23:33:03 | <romesrf> | hahah, i fixed the existential thing on my own |
| 23:33:25 | → | cynomys joins (~cynomys@user/cynomys) |
| 23:33:41 | <romesrf> | woohoo! nothing beats the clarity of explaining your own problem in its minimal form |
| 23:35:28 | <romesrf> | If anyone's curious: https://paste.tomsmeding.com/Z4PXyu6K |
| 23:36:04 | × | jackson99 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
| 23:37:17 | → | alx741 joins (~alx741@181.199.42.143) |
| 23:38:03 | <monochrom> | heh |
| 23:39:00 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 23:39:38 | <ski> | ok, rank-2 |
| 23:40:39 | → | waleee joins (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
| 23:41:35 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 23:41:44 | <ski> | romesrf : did you mean to only call `unThing thing2 x', but not `unThing thing1 x' ? |
| 23:42:12 | <romesrf> | ski: rank-2 :) |
| 23:42:23 | <romesrf> | i meant to call both unthings with the same x |
| 23:42:35 | <ski> | (or perhaps you don't have a pair there, in your real code) |
| 23:42:59 | <romesrf> | I do have a pair, unfortunately I could not do a heterogeneous list (i tried ahah) |
| 23:43:05 | <ski> | % forM_ (0,1) print |
| 23:43:06 | <yahb> | ski: 1 |
| 23:43:10 | <ski> | % forM_ [0,1] print |
| 23:43:10 | <romesrf> | OOPS |
| 23:43:10 | <yahb> | ski: 0; 1 |
| 23:43:16 | <romesrf> | well, that's a great bug |
| 23:43:51 | <romesrf> | ski: if somehow you can do a list instead of a pair in my example, by all means let me know :) |
| 23:44:19 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
| 23:44:22 | <ski> | you could pass `[exists i b. Thing (Thing i CommonThing) b]' ? |
| 23:44:53 | <monochrom> | existential crisis turned into universal crisis |
| 23:45:19 | <ski> | (btw, i have no idea at all what this code is supposed to do (or rather, the code it's some kind of condensed example from)) |
| 23:45:33 | <Sqaure> | i was playing around a bit here. I had this simple record "Moo" that i extended with a type function like this : data Moo (a :: * -> *) = Moo { fld1 :: a Int, fld2 :: a Bool } . Now can i write StandaloneDeriving Show instance for this? |
| 23:45:55 | <Sqaure> | ...and Eq for that matter |
| 23:47:00 | <ski> | deriving instance (forall a. Show a => Show (f a)) => Show (Moo f) -- maybe ? |
| 23:47:34 | <ski> | deriving instance (Show (f Int),Show (f Bool)) => Show (Moo f) -- or ? (leaks more details) |
| 23:48:31 | <Sqaure> | ski, thanks. The first one worked great |
| 23:49:50 | <ski> | romesrf : hm, i guess you'd be looking for something `zip'py .. |
| 23:49:58 | <ski> | @yow |
| 23:49:58 | <lambdabot> | JAPAN is a WONDERFUL planet -- I wonder if we'll ever reach their level |
| 23:49:58 | <lambdabot> | of COMPARATIVE SHOPPING ... |
| 23:50:15 | <Axman6> | makes you think |
| 23:50:38 | <ski> | hm. the later versions didn't zip, though |
| 23:52:16 | <romesrf> | ski: but `exists` doesn't exist right? (oh, the irony) |
| 23:52:22 | <ski> | so ? |
| 23:52:44 | <Axman6> | (forall exists. exists -> r) |
| 23:52:56 | <ski> | you'll just have to encode it, in the usual way |
| 23:53:12 | <Inst[m]> | what the fuck at lambdabot |
| 23:53:13 | <romesrf> | I haven't done it before, what's the path to enlightnment? |
| 23:53:19 | <ski> | (the CPS way doesn't really make sense here .. unless you'd want to CPS the list as well, which you presumably don't) |
| 23:53:45 | <Inst[m]> | what's the use of CPS? IIRC, CPS is a syntactical pattern where you design functions to take another function that takes the result |
| 23:53:53 | <Inst[m]> | bleh, i can always harass colin about it |
| 23:53:58 | <ski> | you want a type, say `SomeThing', which amounts to `exists i b. Thing (Thing i CommonThing) b' |
| 23:54:05 | <ski> | so, let's say you want a data constructor |
| 23:54:17 | <ski> | MkSomeThing :: (exists i b. Thing (Thing i CommonThing) b) -> SomeThing |
| 23:54:25 | <ski> | bow, logically speaking, this is equivalent to |
| 23:54:34 | <ski> | MkSomeThing :: forall i b. Thing (Thing i CommonThing) b -> SomeThing |
| 23:54:43 | <ski> | or, if you prefer being more explicit |
| 23:54:47 | <ski> | MkSomeThing :: forall i b. (Thing (Thing i CommonThing) b -> SomeThing) |
| 23:55:01 | <ski> | so, using `GADTSyntax', you can now declare |
| 23:55:04 | <ski> | data SomeThing |
| 23:55:06 | <ski> | where |
| 23:55:13 | <ski> | MkSomeThing :: forall i b. Thing (Thing i CommonThing) b -> SomeThing |
| 23:55:23 | <ski> | or you can elide the `forall' here, so just |
| 23:55:29 | <ski> | MkSomeThing :: Thing (Thing i CommonThing) b -> SomeThing |
| 23:55:33 | <romesrf> | ski: that's really interesting, I'm going to play around with it |
| 23:55:40 | <romesrf> | thank you for the explanation |
| 23:55:44 | <ski> | or, you can use the `ExistentialQuantification' syntax, which looks like |
| 23:55:59 | <ski> | data SomeThing = forall i b. MkSomeThing (Thing (Thing i CommonThing) b) |
| 23:56:26 | <ski> | (perhaps you'd like to make that `CommonThing' a parameter of `SomeThing' .. i dunno) |
| 23:56:51 | <romesrf> | ic ic |
| 23:57:14 | <ski> | Inst[m] : with CPS, if you want to encode |
| 23:57:45 | <ski> | computeSomeThing :: Foo -> exists i b. Thing (Thing i CommonThing) b |
| 23:57:47 | <romesrf> | btw, ski, this example comes from my chat bots: a Bot is i -> m o, and a BotServer is just a Bot that takes a bot and produces a runnable application :P |
| 23:57:51 | <ski> | you'd do that as |
| 23:58:11 | <ski> | withSomeThing :: Foo -> (forall i b. Thing (Thing i CommonThing) b -> o) -> o |
| 23:58:39 | → | alx741 joins (~alx741@157.100.197.240) |
All times are in UTC on 2022-02-17.