Logs on 2021-06-25 (liberachat/#haskell)
| 00:00:10 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:01:44 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:03:54 | × | dunkeln_ quits (~dunkeln@188.71.193.140) (Ping timeout: 240 seconds) |
| 00:04:28 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:06:01 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:07:35 | → | aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9) |
| 00:07:59 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 00:08:50 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:08:52 | → | ukari joins (~ukari@user/ukari) |
| 00:09:27 | × | deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 265 seconds) |
| 00:09:51 | × | ham quits (~ham4@user/ham) (Ping timeout: 250 seconds) |
| 00:10:24 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:12:07 | → | julyanna_ joins (~julyanna@180.190.158.122) |
| 00:12:16 | → | ham joins (~ham4@user/ham) |
| 00:12:45 | <julyanna_> | join #haskell-beginners |
| 00:13:13 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:14:46 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:16:19 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:17:30 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:18:08 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 00:19:05 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:19:12 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 00:19:23 | × | qrpnxz quits (~qrpnxz@user/qrpnxz) (Quit: Gateway shutdown) |
| 00:19:39 | → | qrpnxz joins (~qrpnxz@user/qrpnxz) |
| 00:21:23 | → | hammock joins (~Hammock@2600:1700:19a1:3330::625) |
| 00:21:52 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:22:06 | → | Codaraxis_ joins (~Codaraxis@193.32.126.157) |
| 00:23:25 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:25:36 | × | Codaraxis quits (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds) |
| 00:25:55 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 00:26:16 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:26:22 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
| 00:27:21 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 00:27:50 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:28:44 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 00:30:43 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:32:17 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:34:57 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:36:01 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
| 00:36:33 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:36:43 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 00:39:22 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:40:55 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:42:36 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 256 seconds) |
| 00:43:40 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:44:42 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds) |
| 00:45:13 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:46:42 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:48:04 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:49:40 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:52:21 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:52:35 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 00:53:56 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 00:56:44 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 00:58:19 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:00:35 | → | dajoer joins (~david@user/gvx) |
| 01:01:16 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 01:01:16 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:02:49 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:05:41 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:05:58 | → | sheepduck joins (~sheepduck@user/sheepduck) |
| 01:06:11 | × | Codaraxis_ quits (~Codaraxis@193.32.126.157) (Read error: Connection reset by peer) |
| 01:06:30 | → | Codaraxis_ joins (~Codaraxis@193.32.126.157) |
| 01:06:58 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 01:07:17 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:08:12 | → | neurocyte5 joins (~neurocyte@45.128.180.93) |
| 01:08:12 | × | neurocyte5 quits (~neurocyte@45.128.180.93) (Changing host) |
| 01:08:12 | → | neurocyte5 joins (~neurocyte@user/neurocyte) |
| 01:09:56 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:11:31 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:11:50 | × | neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
| 01:12:50 | × | alx741 quits (~alx741@181.196.69.199) (Quit: alx741) |
| 01:14:14 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:14:38 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 01:15:09 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 01:15:48 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:17:23 | → | haskl joins (~haskeller@2601:643:897f:561d::af3) |
| 01:17:23 | × | haskl quits (~haskeller@2601:643:897f:561d::af3) (Changing host) |
| 01:17:23 | → | haskl joins (~haskeller@user/haskl) |
| 01:18:28 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:20:01 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:22:51 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:24:26 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:24:43 | × | delYsid quits (~user@user/delYsid) (Remote host closed the connection) |
| 01:25:06 | × | xff0x quits (~xff0x@2001:1a81:528e:9600:a523:ff10:afa8:f839) (Ping timeout: 256 seconds) |
| 01:25:11 | × | xsperry quits (~as@user/xsperry) () |
| 01:25:12 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 01:26:06 | → | dunkeln joins (~dunkeln@188.71.193.140) |
| 01:26:07 | → | xsperry joins (~as@user/xsperry) |
| 01:26:53 | → | xff0x joins (~xff0x@2001:1a81:52c9:c400:bd41:d3e6:23aa:ea67) |
| 01:26:53 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:28:29 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:29:45 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 244 seconds) |
| 01:31:08 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:31:20 | × | dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 256 seconds) |
| 01:32:44 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:33:49 | × | guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection) |
| 01:34:03 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:34:30 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 01:34:57 | → | guest61 joins (~xxx@47.245.54.240) |
| 01:35:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:35:28 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Remote host closed the connection) |
| 01:35:37 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:35:45 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 01:37:10 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:37:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:39:54 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:41:27 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:41:54 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 01:44:13 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:45:48 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:46:56 | × | julyanna_ quits (~julyanna@180.190.158.122) (Quit: Lost terminal) |
| 01:48:40 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:50:14 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:51:40 | → | wei2912 joins (~wei2912@112.199.250.21) |
| 01:52:58 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:54:35 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:57:04 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 01:57:14 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 01:57:20 | <dmj`> | is there a library like boxes, but that actually draws borders on the boxes |
| 01:57:31 | <dmj`> | around the boxes* |
| 01:58:37 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
| 01:58:47 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 01:59:10 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 01:59:18 | → | lainon joins (lainon@gateway/vpn/protonvpn/lainon) |
| 02:01:44 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:02:28 | × | junkicide quits (~user@2a01:e0a:195:20c0:91d0:f47d:73ce:dac7) (Ping timeout: 246 seconds) |
| 02:03:19 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:03:50 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 02:05:57 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:07:13 | × | nerdypepper quits (~nerdypepp@152.67.162.71) (Quit: bye) |
| 02:07:31 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:08:50 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 265 seconds) |
| 02:09:17 | → | nerdypepper joins (~nerdypepp@152.67.162.71) |
| 02:10:19 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:11:53 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:11:55 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 02:14:21 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:15:55 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:18:42 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:18:48 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 02:19:21 | <heath> | implicitcad? |
| 02:20:15 | <heath> | oh, not at all what you're asking. nevermind :) |
| 02:20:16 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:21:45 | <heath> | brick? |
| 02:23:15 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:23:31 | × | Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
| 02:24:50 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:27:30 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:28:18 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 02:28:46 | <norias> | heh |
| 02:29:04 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:29:09 | <heath> | :) |
| 02:29:20 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 02:31:25 | <haskl> | I just noticed that this channel is the second largest programming language channel on Libera. Interesting. |
| 02:31:53 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:32:11 | → | ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a) |
| 02:32:28 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 02:33:27 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:33:28 | <dmj`> | heath: something akin to the output of a psql query in the terminal |
| 02:33:31 | × | sheepduck quits (~sheepduck@user/sheepduck) (Remote host closed the connection) |
| 02:36:02 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
| 02:36:05 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:36:05 | FinnElija | is now known as Guest9344 |
| 02:36:05 | × | Guest9344 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (silver.libera.chat (Nickname regained by services))) |
| 02:36:05 | finn_elija | is now known as FinnElija |
| 02:36:05 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:36:22 | <dmj`> | is what I |
| 02:36:25 | <dmj`> | 'm after |
| 02:37:06 | → | ph88_ joins (~ph88@2a02:8109:9e00:7e5c:bd68:2e32:8d11:b728) |
| 02:37:18 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 02:37:40 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:40:31 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:41:02 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:1013:ebb1:53:41c1) (Ping timeout: 256 seconds) |
| 02:41:32 | → | hololeap joins (hololeap@user/hololeap) |
| 02:42:04 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:44:59 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:46:07 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 02:46:34 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:47:40 | × | spicyrice quits (~ubuntu@2600:1f11:52a:4400:ccbc:2b96:cabe:414b) (Quit: WeeChat 2.8) |
| 02:49:20 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:50:56 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:52:20 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
| 02:53:07 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 02:53:24 | × | td_ quits (~td@94.134.91.231) (Ping timeout: 252 seconds) |
| 02:53:41 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:54:38 | × | myShoggoth quits (~myShoggot@75.164.29.44) (Ping timeout: 256 seconds) |
| 02:55:11 | → | td_ joins (~td@94.134.91.180) |
| 02:55:16 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:57:33 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 250 seconds) |
| 02:58:05 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 02:58:05 | → | pottsy joins (~pottsy@2400:4050:b560:3700:e3f5:a20f:de4f:ab8e) |
| 02:58:12 | × | hammock quits (~Hammock@2600:1700:19a1:3330::625) (Ping timeout: 272 seconds) |
| 02:58:15 | × | Henselierung quits (~ulli@irc.plumbing) (Ping timeout: 272 seconds) |
| 02:59:39 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 02:59:55 | → | Henselierung joins (~ulli@irc.plumbing) |
| 02:59:57 | × | Henselierung quits (~ulli@irc.plumbing) (Max SendQ exceeded) |
| 03:00:01 | × | haasn quits (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 03:00:18 | → | Henselierung joins (~ulli@irc.plumbing) |
| 03:01:28 | → | haasn joins (~nand@haasn.dev) |
| 03:02:13 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving) |
| 03:02:18 | → | sekun joins (~sekun@180.190.208.125) |
| 03:02:30 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:02:38 | × | funsafe quits (~funsafe@2601:1c1:4200:938f:4e1e:fc56:b28f:5ac7) (Ping timeout: 272 seconds) |
| 03:03:18 | → | funsafe joins (~funsafe@2601:1c1:4200:938f:4e1e:fc56:b28f:5ac7) |
| 03:04:03 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:06:53 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:08:27 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:09:01 | × | lainon quits (lainon@gateway/vpn/protonvpn/lainon) (Remote host closed the connection) |
| 03:09:27 | → | lainon joins (~lainon@146.229.79.56) |
| 03:11:09 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:12:43 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:14:18 | → | dunkeln_ joins (~dunkeln@188.71.193.140) |
| 03:15:23 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:15:57 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
| 03:16:57 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:19:29 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 03:19:40 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:21:17 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:24:02 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:25:01 | × | hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
| 03:25:21 | → | AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
| 03:25:30 | × | dunkeln_ quits (~dunkeln@188.71.193.140) (Ping timeout: 240 seconds) |
| 03:25:36 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:28:36 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
| 03:30:10 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:30:23 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 03:33:07 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:33:09 | → | ukari joins (~ukari@user/ukari) |
| 03:34:42 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:37:36 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:37:49 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 03:39:11 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:39:21 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 03:39:46 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
| 03:40:36 | Lord_of_Life_ | is now known as Lord_of_Life |
| 03:42:04 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:42:11 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 250 seconds) |
| 03:43:39 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:46:33 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:46:59 | → | dunkeln joins (~dunkeln@188.71.193.140) |
| 03:47:36 | × | lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 03:48:06 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:50:51 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:52:25 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:54:25 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 244 seconds) |
| 03:55:09 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 03:56:45 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 03:57:45 | × | shailangsa quits (~shailangs@host86-145-14-23.range86-145.btcentralplus.com) () |
| 03:58:18 | × | Adran quits (adran@botters/adran) (Ping timeout: 240 seconds) |
| 03:59:32 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:01:07 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:02:17 | → | MorrowM joins (~MorrowM_@147.161.13.193) |
| 04:03:39 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:04:21 | × | Morrow quits (~MorrowM_@147.161.13.155) (Ping timeout: 265 seconds) |
| 04:05:13 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:05:50 | × | justache quits (~justache@user/justache) (Read error: Connection reset by peer) |
| 04:06:46 | → | justache joins (~justache@user/justache) |
| 04:07:33 | × | lainon quits (~lainon@146.229.79.56) (Quit: Leaving) |
| 04:08:10 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:08:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:09:44 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:12:33 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:14:10 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:16:50 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:18:07 | → | Adran joins (adran@botters/adran) |
| 04:18:24 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:18:41 | × | TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
| 04:18:51 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 265 seconds) |
| 04:19:29 | <qrpnxz> | is there a function in the vector package for easily appending stuff to an vec in constant time? |
| 04:21:06 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:22:41 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:25:31 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:26:07 | → | Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
| 04:26:15 | → | shailangsa joins (~shailangs@host86-145-14-23.range86-145.btcentralplus.com) |
| 04:27:04 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:30:04 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:31:32 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 04:31:38 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:33:02 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 04:34:33 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:34:58 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 04:35:01 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 04:36:07 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:37:38 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 04:38:58 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:40:17 | <qrpnxz> | oh it doesn't have a length, only capacity. dang |
| 04:40:32 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:40:34 | <qrpnxz> | guess i could implement another class that did it |
| 04:42:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 04:43:13 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:44:47 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:47:39 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:49:06 | × | dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 256 seconds) |
| 04:49:14 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:52:02 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:53:35 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 04:56:23 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 04:57:56 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:00:52 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:02:27 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:05:10 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:06:43 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:08:56 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:09:36 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:11:10 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:13:43 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:15:18 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:18:06 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:19:41 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:19:52 | → | jneira joins (~jneira@212.8.115.226) |
| 05:22:27 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:24:01 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:26:41 | × | AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
| 05:26:52 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:28:27 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:28:29 | → | v01d4lph4 joins (~v01d4lph4@user/v01d4lph4) |
| 05:31:19 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:32:32 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
| 05:32:35 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 05:32:52 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:33:33 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 250 seconds) |
| 05:34:25 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
| 05:34:30 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 05:35:00 | × | julyanna quits (~julyanna@180.190.158.122) (Quit: Leaving) |
| 05:35:47 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:37:21 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:38:22 | → | dunkeln_ joins (~dunkeln@188.71.193.140) |
| 05:40:15 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:40:26 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 05:41:48 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:42:13 | × | johnw quits (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Ping timeout: 250 seconds) |
| 05:42:13 | → | johnw_ joins (~johnw@2600:1700:cf00:db0:445f:c73e:90ff:5975) |
| 05:42:50 | <hololeap> | I'm looking for something like Eq, but it passes on the information about which parts of the datastructure is the same and which parts are different. |
| 05:44:34 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:45:37 | <c_wraith> | your keyword would be "diff" |
| 05:45:45 | <c_wraith> | I'm sure there are several packages on hackage |
| 05:46:08 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:48:17 | × | MorrowM quits (~MorrowM_@147.161.13.193) (Ping timeout: 250 seconds) |
| 05:48:52 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:49:26 | × | zmt01 quits (~zmt00@user/zmt00) (Quit: Gone.) |
| 05:50:27 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:53:04 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:54:38 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:56:12 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 05:56:25 | × | UpstreamSalmon quits (uid12077@id-12077.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:56:42 | × | dunkeln_ quits (~dunkeln@188.71.193.140) (Ping timeout: 240 seconds) |
| 05:57:22 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 05:58:56 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 05:58:58 | × | nerdypepper quits (~nerdypepp@152.67.162.71) (Quit: bye) |
| 05:59:37 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 06:01:44 | → | nerdypepper joins (~nerdypepp@152.67.162.71) |
| 06:01:46 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:03:20 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:06:06 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:07:41 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:10:36 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:12:10 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:12:22 | × | slack1256 quits (~slack1256@181.203.79.103) (Ping timeout: 244 seconds) |
| 06:14:55 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:15:08 | → | chele joins (~chele@user/chele) |
| 06:16:29 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:19:03 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:20:39 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:23:27 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:25:02 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:25:40 | → | dunkeln joins (~dunkeln@188.71.193.140) |
| 06:27:53 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:27:55 | → | hendursaga joins (~weechat@user/hendursaga) |
| 06:28:25 | <Axman6> | hololeap: https://hackage.haskell.org/package/gdiff-1.1/docs/Data-Generic-Diff.html might be useful for you |
| 06:29:26 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:30:53 | → | leeb_ joins (~leeb@KD111239153087.au-net.ne.jp) |
| 06:32:05 | → | chomwitt joins (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
| 06:32:15 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:33:47 | × | leeb quits (~leeb@KD111239152196.au-net.ne.jp) (Ping timeout: 250 seconds) |
| 06:33:49 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:36:20 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 06:36:35 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:38:09 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:39:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:40:43 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 256 seconds) |
| 06:41:08 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:42:43 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:45:29 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:47:04 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:50:00 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:51:35 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:52:40 | → | a6a45081-2b83 joins (~aditya@106.214.225.112) |
| 06:53:49 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 06:53:55 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 06:54:29 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:56:05 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 06:58:21 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
| 06:58:32 | → | michalz joins (~michalz@185.246.204.119) |
| 06:59:05 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 06:59:47 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 07:00:18 | × | nerdypepper quits (~nerdypepp@152.67.162.71) (Quit: bye) |
| 07:00:40 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 07:01:32 | → | thelounge92306 joins (~thelounge@cpe-75-85-161-60.san.res.rr.com) |
| 07:02:50 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 07:03:00 | → | nerdypepper joins (~nerdypepp@152.67.162.71) |
| 07:03:12 | × | thelounge9230 quits (~thelounge@cpe-75-85-161-60.san.res.rr.com) (Ping timeout: 244 seconds) |
| 07:03:21 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 07:04:57 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 07:07:44 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 07:09:19 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 07:10:42 | <feetwind> | one of the main limitations for lens is lack of a syntax for initialising something from nothing (not e.g. `def` or `Empty`) -- as in it's the one spot you still use records. does optics/lens these days do something for it or are records still needed for this? |
| 07:10:55 | × | dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 265 seconds) |
| 07:11:29 | × | sekun quits (~sekun@180.190.208.125) (Ping timeout: 250 seconds) |
| 07:12:12 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 07:13:35 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 07:14:16 | → | acidjnk_new joins (~acidjnk@p200300d0c72b9558546a3d8bcae6e7fd.dip0.t-ipconnect.de) |
| 07:15:07 | acidjnk_new | is now known as acidjnk |
| 07:19:23 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 07:23:31 | → | unyu joins (~pyon@user/pyon) |
| 07:24:27 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 07:25:16 | → | dunkeln joins (~dunkeln@188.71.193.140) |
| 07:27:25 | × | a6a45081-2b83 quits (~aditya@106.214.225.112) (Quit: Konversation terminated!) |
| 07:34:21 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:35:40 | <jackdk> | feetwind: https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens-Combinators.html#v:Empty or mempty imho |
| 07:35:55 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 07:36:15 | <jackdk> | If the record is higher-kinded, you can use mempty btw |
| 07:36:16 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:37:38 | <jackdk> | Q: I confess I do not understand Shake at all. I have a pattern rule `"service/*/default.nix" %> \out -> do { alwaysRerun ; ... ; writeFileChanged out }`. This rule generates files on its first run, but does not replace them if the rule changes. I am not sure what I am doing wrong. |
| 07:40:13 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 246 seconds) |
| 07:41:24 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 07:44:12 | × | azeem quits (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 07:45:11 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:46:18 | → | dhil joins (~dhil@195.213.192.47) |
| 07:47:59 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 07:54:32 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:58:20 | → | shiraeeshi joins (~shiraeesh@109.166.56.135) |
| 08:03:22 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 08:07:11 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:08:15 | → | deshalb joins (~deshalb@user/deshalb) |
| 08:11:35 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 08:12:28 | → | azeem joins (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) |
| 08:14:36 | → | awth13 joins (~user@user/awth13) |
| 08:17:27 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 08:17:51 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 08:18:51 | → | BobbyKennedy joins (~textual@194.62.169.65.ipv4.parknet.dk) |
| 08:23:24 | <haskl> | I made a GitHub workflow which detects changes in your Haskell project's version (defined in your cabal file) and will create a tagged release with a static binary as well as a Debian package automatically: https://github.com/hyperrealgopher/burrow |
| 08:23:38 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 08:27:18 | deejaytee | is now known as Guest9217 |
| 08:27:19 | × | Guest9217 quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Killed (sodium.libera.chat (Nickname regained by services))) |
| 08:27:23 | → | deejaytee joins (~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk) |
| 08:28:29 | → | hegstal joins (~hegstal@2a02:c7f:7604:8a00:2b2e:62ff:bd4a:55cb) |
| 08:28:53 | × | shiraeeshi quits (~shiraeesh@109.166.56.135) (Ping timeout: 258 seconds) |
| 08:31:40 | → | delYsid joins (~user@84-115-55-45.cable.dynamic.surfer.at) |
| 08:31:59 | → | arjun joins (~user@user/arjun) |
| 08:32:02 | <arjun> | hi. |
| 08:32:14 | <arjun> | how do i move a file with haskell code? |
| 08:32:27 | <arjun> | use System.Directory.renameFile ? |
| 08:33:22 | → | yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se) |
| 08:34:03 | <delYsid> | sounds about right |
| 08:34:30 | <arjun> | cool. thanks. |
| 08:35:30 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 08:36:37 | → | shiraeeshi joins (~shiraeesh@109.166.56.135) |
| 08:37:42 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 08:38:58 | × | BobbyKennedy quits (~textual@194.62.169.65.ipv4.parknet.dk) (Quit: Textual IRC Client: www.textualapp.com) |
| 08:42:03 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 250 seconds) |
| 08:44:29 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:47:04 | × | dhil quits (~dhil@195.213.192.47) (Ping timeout: 246 seconds) |
| 08:53:35 | → | kuribas joins (~user@ptr-25vy0iacbcxiwpnsjuf.18120a2.ip6.access.telenet.be) |
| 08:54:18 | × | dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 240 seconds) |
| 08:54:58 | → | MoC joins (~moc@user/moc) |
| 08:55:37 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 08:56:35 | → | ukari joins (~ukari@user/ukari) |
| 08:57:09 | → | mshiraeeshi joins (~shiraeesh@109.166.56.135) |
| 08:58:15 | → | involans joins (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) |
| 08:58:37 | → | oxide joins (~lambda@user/oxide) |
| 08:59:33 | × | shiraeeshi quits (~shiraeesh@109.166.56.135) (Ping timeout: 258 seconds) |
| 09:00:22 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a50f:dc97:cbbc:9783) (Remote host closed the connection) |
| 09:01:35 | × | arjun quits (~user@user/arjun) (Ping timeout: 268 seconds) |
| 09:04:44 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
| 09:08:52 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 09:22:48 | × | haskl quits (~haskeller@user/haskl) (Ping timeout: 256 seconds) |
| 09:27:41 | → | haskl joins (~haskeller@2601:643:897f:561d::af3) |
| 09:27:41 | × | haskl quits (~haskeller@2601:643:897f:561d::af3) (Changing host) |
| 09:27:41 | → | haskl joins (~haskeller@user/haskl) |
| 09:34:44 | × | flipchan quits (~yumman@user/flipchan) (Read error: Connection reset by peer) |
| 09:35:14 | → | flipchan joins (~yumman@88.131.87.132) |
| 09:37:24 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 09:38:07 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 09:39:21 | → | lavaman joins (~lavaman@98.38.249.169) |
| 09:41:37 | → | arjun joins (~user@user/arjun) |
| 09:43:09 | × | xff0x quits (~xff0x@2001:1a81:52c9:c400:bd41:d3e6:23aa:ea67) (Ping timeout: 250 seconds) |
| 09:43:46 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 246 seconds) |
| 09:43:50 | → | xff0x joins (~xff0x@2001:1a81:52c9:c400:8a43:254c:24d1:74a5) |
| 09:46:01 | → | mpt joins (~tom@2a02:908:1862:49e0::6) |
| 09:47:49 | × | Athas quits (athas@2a01:7c8:aaac:1cf:8045:ce82:8893:4981) (Quit: ZNC 1.8.2 - https://znc.in) |
| 09:48:04 | → | Athas joins (~athas@2a01:7c8:aaac:1cf:8045:ce82:8893:4981) |
| 09:55:19 | × | mpt quits (~tom@2a02:908:1862:49e0::6) (Ping timeout: 246 seconds) |
| 09:57:53 | × | xsperry quits (~as@user/xsperry) (Ping timeout: 250 seconds) |
| 10:00:46 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 10:01:51 | <maerwald> | arjun: remember, it's not guaranteed to be atomic |
| 10:01:57 | → | kayprish joins (~kayprish@46.240.143.86) |
| 10:02:20 | <maerwald> | if you want atomic move, you'll have to use unix and Win32 package |
| 10:02:34 | <maerwald> | I'm not a fan of 'directory' |
| 10:02:44 | → | xsperry joins (~as@user/xsperry) |
| 10:03:14 | <arjun> | maerwald: they are already in there right? i think i saw them |
| 10:04:52 | → | __monty__ joins (~toonn@user/toonn) |
| 10:05:06 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 240 seconds) |
| 10:05:10 | → | mason0 joins (~bc817c21@199.204.85.195) |
| 10:05:36 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 10:11:31 | × | Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
| 10:13:05 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:13:55 | × | mshiraeeshi quits (~shiraeesh@109.166.56.135) (Remote host closed the connection) |
| 10:13:55 | × | azeem quits (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 10:14:10 | → | mshiraeeshi joins (~shiraeesh@109.166.56.135) |
| 10:14:16 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 10:14:55 | → | azeem joins (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) |
| 10:15:41 | → | dunkeln joins (~dunkeln@188.71.193.140) |
| 10:18:09 | → | Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
| 10:23:41 | → | minoru_shiraeesh joins (~shiraeesh@109.166.56.135) |
| 10:25:48 | × | mshiraeeshi quits (~shiraeesh@109.166.56.135) (Ping timeout: 258 seconds) |
| 10:28:39 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 10:28:42 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 10:28:49 | × | Guest3613 quits (bart@kobayashi.com.pl) (Quit: SASL go boom) |
| 10:28:57 | × | yin[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM) |
| 10:28:57 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM) |
| 10:28:57 | × | Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM) |
| 10:28:57 | × | adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Quit: Bridge terminating on SIGTERM) |
| 10:28:57 | × | marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM) |
| 10:28:57 | × | amesgen[m] quits (~amesgenam@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM) |
| 10:28:57 | × | Drezil quits (~drezilkif@2001:470:69fc:105::7f8) (Quit: Bridge terminating on SIGTERM) |
| 10:28:57 | × | maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM) |
| 10:28:57 | × | aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (Quit: Bridge terminating on SIGTERM) |
| 10:28:58 | × | oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM) |
| 10:28:58 | × | ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM) |
| 10:30:54 | → | thedward[m] joins (~thedwardm@2001:470:69fc:105::f79) |
| 10:31:29 | <delYsid> | https://blind.guru/blog/2021-06-25-brick.html |
| 10:31:41 | → | maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee) |
| 10:31:41 | → | ac joins (~aloiscoch@2001:470:69fc:105::65) |
| 10:31:41 | → | psydroid joins (~psydroid@user/psydroid) |
| 10:31:41 | → | sm[m] joins (~sm@plaintextaccounting/sm) |
| 10:31:41 | → | hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd) |
| 10:31:41 | → | MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22) |
| 10:31:53 | → | dualinverter[m] joins (~dualinver@2001:470:69fc:105::16a7) |
| 10:31:53 | → | srid[m] joins (~sridmatri@2001:470:69fc:105::1c2) |
| 10:32:06 | → | Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0) |
| 10:32:06 | → | tomferon[m] joins (~tomferon@2001:470:69fc:105::268) |
| 10:32:06 | → | jaror[m] joins (~jaror@2001:470:69fc:105::265) |
| 10:32:06 | → | fgaz joins (~fgaz@2001:470:69fc:105::842) |
| 10:32:06 | → | peddie joins (~peddie@2001:470:69fc:105::25d) |
| 10:32:06 | → | cdsmith joins (~cdsmithma@2001:470:69fc:105::284) |
| 10:32:06 | → | fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db) |
| 10:32:06 | → | ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2) |
| 10:32:21 | → | bb010g joins (~bb010g@2001:470:69fc:105::9a5) |
| 10:32:32 | → | wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae) |
| 10:32:36 | <delYsid> | mondane unscientifi old-school UI work ... :-) |
| 10:32:44 | → | Drezil joins (~drezilkif@2001:470:69fc:105::7f8) |
| 10:32:44 | → | Las[m] joins (~lasmatrix@2001:470:69fc:105::74e) |
| 10:32:44 | → | Artem[m] joins (~artemtype@2001:470:69fc:105::75b) |
| 10:32:44 | → | ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a) |
| 10:32:44 | → | cdepillabout[m] joins (~cdepillab@2001:470:69fc:105::3d3) |
| 10:32:57 | → | amesgen[m] joins (~amesgenam@2001:470:69fc:105::82b) |
| 10:32:57 | → | the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f) |
| 10:33:10 | → | kosmikus[m] joins (~andresloe@2001:470:69fc:105::95d) |
| 10:33:23 | → | adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d) |
| 10:33:23 | → | eddiemundo joins (~eddiemund@2001:470:69fc:105::a9c) |
| 10:33:23 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 10:33:35 | → | Soft joins (~soft-matr@2001:470:69fc:105::c75) |
| 10:33:35 | → | zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32) |
| 10:33:49 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 10:33:49 | → | kadoban joins (~kadoban@user/kadoban) |
| 10:33:49 | → | bitonic joins (~bitonic@2001:470:69fc:105::1812) |
| 10:33:49 | → | carmysilna joins (~brightly-@2001:470:69fc:105::2190) |
| 10:33:49 | → | jophish joins (~jophish@2001:470:69fc:105::670) |
| 10:33:49 | → | ericson2314 joins (~ericson23@2001:470:69fc:105::70c) |
| 10:34:02 | → | Ollie[m] joins (~ollieocha@2001:470:69fc:105::41a5) |
| 10:34:16 | → | ixlun joins (~ixlun@2001:470:69fc:105::41b3) |
| 10:34:16 | → | siraben joins (~siraben@user/siraben) |
| 10:34:16 | → | Deewiant joins (~deewiant@2001:470:69fc:105::2fd3) |
| 10:34:16 | → | unclechu joins (~unclechu@2001:470:69fc:105::354) |
| 10:34:17 | → | bryan[m] joins (~bchreekat@2001:470:69fc:105::16b5) |
| 10:34:28 | → | RohitGoswami[m] joins (~rgoswamim@2001:470:69fc:105::16cc) |
| 10:34:29 | → | unrooted joins (~unrooted@2001:470:69fc:105::a4a) |
| 10:34:30 | → | Aleci[m] joins (~alecilibr@2001:470:69fc:105::32e7) |
| 10:34:43 | → | autrim64[m] joins (~autrim64m@2001:470:69fc:105::16a1) |
| 10:34:55 | → | yin[m] joins (~zwromatri@2001:470:69fc:105::1d4) |
| 10:35:13 | → | Sylveon joins (~sylveonma@2001:470:69fc:105::2d95) |
| 10:35:15 | → | maralorn joins (~maralorn@2001:470:69fc:105::251) |
| 10:35:30 | → | jakefromstatefar joins (~jakefroms@2001:470:69fc:105::15ef) |
| 10:35:36 | Sylveon | is now known as Guest4696 |
| 10:35:43 | × | acidjnk quits (~acidjnk@p200300d0c72b9558546a3d8bcae6e7fd.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 10:35:44 | → | jellz[m] joins (~jellzmatr@2001:470:69fc:105::2daa) |
| 10:36:01 | → | dminuoso[m] joins (~dminuosom@2001:470:69fc:105::33bb) |
| 10:36:01 | → | lwe[m] joins (~dendrumat@2001:470:69fc:105::2f9b) |
| 10:36:01 | → | inkbottle[m] joins (~inkbottle@2001:470:69fc:105::2ff5) |
| 10:36:14 | → | reza[m] joins (~rezaphone@2001:470:69fc:105::3eda) |
| 10:36:14 | → | vbeatrice[m] joins (~vbeatrice@2001:470:69fc:105::3ebf) |
| 10:36:14 | → | gxt joins (~gxt@2001:470:69fc:105::3513) |
| 10:36:26 | → | ecameron[m] joins (~ecameronm@2001:470:69fc:105::35df) |
| 10:36:26 | → | boxscape joins (~boxscape@user/boxscape) |
| 10:36:26 | → | marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8) |
| 10:36:38 | → | aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9) |
| 10:36:38 | → | hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4) |
| 10:36:38 | → | ormaaj joins (~ormaaj@2001:470:69fc:105::35ca) |
| 10:36:38 | → | Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56) |
| 10:37:23 | × | ormaaj quits (~ormaaj@2001:470:69fc:105::35ca) (Changing host) |
| 10:37:23 | → | ormaaj joins (~ormaaj@user/ormaaj) |
| 10:40:21 | × | Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
| 10:40:25 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 10:41:04 | → | ukari joins (~ukari@user/ukari) |
| 10:41:47 | → | Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
| 10:42:42 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 10:42:55 | → | acidjnk joins (~acidjnk@p200300d0c72b9558f908228849627247.dip0.t-ipconnect.de) |
| 10:43:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:45:44 | × | deejaytee quits (~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk) (Ping timeout: 258 seconds) |
| 10:45:46 | × | turlando quits (~turlando@user/turlando) (Read error: Connection reset by peer) |
| 10:46:19 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 10:46:19 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 10:46:19 | → | turlando joins (~turlando@user/turlando) |
| 10:47:50 | → | turlando_ joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 10:50:37 | × | turlando quits (~turlando@user/turlando) (Ping timeout: 246 seconds) |
| 10:50:42 | → | is7s joins (~is7s@2a01:4b00:895f:3d00:b481:aab5:3a81:c922) |
| 10:50:44 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 268 seconds) |
| 10:51:32 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
| 10:51:44 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33) |
| 10:53:19 | × | kayprish quits (~kayprish@46.240.143.86) (Remote host closed the connection) |
| 10:54:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 10:55:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:56:04 | → | ph88^ joins (~ph88@2a02:8109:9e00:7e5c:bd68:2e32:8d11:b728) |
| 10:57:40 | → | pfurla_ joins (~pfurla@216.131.83.22) |
| 10:58:59 | × | ph88_ quits (~ph88@2a02:8109:9e00:7e5c:bd68:2e32:8d11:b728) (Ping timeout: 250 seconds) |
| 10:59:58 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 11:02:29 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 11:05:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 11:06:13 | → | AlexNoo_ joins (~AlexNoo@178.34.163.142) |
| 11:06:30 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:06:52 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 244 seconds) |
| 11:08:24 | × | AlexZenon quits (~alzenon@178.34.150.65) (Ping timeout: 252 seconds) |
| 11:08:46 | × | Alex_test quits (~al_test@178.34.150.65) (Ping timeout: 252 seconds) |
| 11:10:10 | × | AlexNoo quits (~AlexNoo@178.34.150.65) (Ping timeout: 265 seconds) |
| 11:10:14 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:11:23 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 11:11:42 | × | dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 268 seconds) |
| 11:12:17 | × | glguy quits (x@libera/staff/glguy) (Read error: Connection reset by peer) |
| 11:12:35 | → | chele joins (~chele@user/chele) |
| 11:12:43 | → | AlexZenon joins (~alzenon@178.34.163.142) |
| 11:14:19 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 11:15:15 | → | Guest33 joins (~textual@c-107-4-204-12.hsd1.mn.comcast.net) |
| 11:15:23 | → | Alex_test joins (~al_test@178.34.163.142) |
| 11:17:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 11:17:31 | × | delYsid quits (~user@84-115-55-45.cable.dynamic.surfer.at) (Changing host) |
| 11:17:31 | → | delYsid joins (~user@user/delYsid) |
| 11:17:36 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:23:18 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 258 seconds) |
| 11:23:33 | × | arjun quits (~user@user/arjun) (Remote host closed the connection) |
| 11:29:24 | × | turlando_ quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Quit: Leaving) |
| 11:29:38 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 11:29:38 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 11:29:38 | → | turlando joins (~turlando@user/turlando) |
| 11:30:00 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 11:32:20 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 11:32:21 | × | pfurla_ quits (~pfurla@216.131.83.22) (Ping timeout: 250 seconds) |
| 11:37:36 | × | minoru_shiraeesh quits (~shiraeesh@109.166.56.135) (Ping timeout: 268 seconds) |
| 11:38:36 | <__monty__> | delYsid: Interesting. I wonder if there's anything a library like Brick could do to improve the screen reader experience further without relying on program developers? |
| 11:38:46 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 11:39:47 | <merijn> | Doubt it, tbh |
| 11:39:58 | <merijn> | Not without fancy terminal support |
| 11:39:59 | <__monty__> | Might renderList put the cursor on the focused item by default for example? Requiring developers to disable that if they have a good reason, rather than remember to enable it every time? |
| 11:40:45 | → | pera joins (~pera@user/pera) |
| 11:40:58 | <merijn> | __monty__: Most people don't realise what kinda nightmare interface terminals are in reality :p |
| 11:41:20 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds) |
| 11:42:15 | <__monty__> | I maintain an ncurses program, I have some familiarity with the crud. |
| 11:43:52 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds) |
| 11:45:25 | → | boxscape_ joins (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) |
| 11:47:26 | × | Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection) |
| 11:50:49 | → | arjun joins (~arjun@160.202.37.147) |
| 11:50:49 | × | arjun quits (~arjun@160.202.37.147) (Changing host) |
| 11:50:49 | → | arjun joins (~arjun@user/arjun) |
| 11:52:09 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 11:56:30 | → | glguy joins (x@libera/staff/glguy) |
| 11:59:39 | → | zebrag joins (~chris@user/zebrag) |
| 12:02:26 | → | dunkeln_ joins (~dunkeln@94.129.65.28) |
| 12:03:01 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 12:07:19 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 244 seconds) |
| 12:07:56 | × | dunkeln_ quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds) |
| 12:07:59 | × | boxscape_ quits (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) (Quit: Connection closed) |
| 12:08:45 | → | dunkeln_ joins (~dunkeln@188.71.193.140) |
| 12:10:19 | × | haskl quits (~haskeller@user/haskl) (Remote host closed the connection) |
| 12:11:02 | → | arjun_ joins (~arjun@160.202.37.147) |
| 12:11:15 | → | arjun__ joins (~arjun_@160.202.37.147) |
| 12:11:24 | × | arjun_ quits (~arjun@160.202.37.147) (Read error: Connection reset by peer) |
| 12:11:25 | × | arjun quits (~arjun@user/arjun) (Read error: Connection reset by peer) |
| 12:11:45 | × | arjun__ quits (~arjun_@160.202.37.147) (Read error: Connection reset by peer) |
| 12:11:59 | → | arjun joins (~arjun@160.202.37.147) |
| 12:11:59 | × | arjun quits (~arjun@160.202.37.147) (Changing host) |
| 12:11:59 | → | arjun joins (~arjun@user/arjun) |
| 12:14:54 | → | MorrowM joins (~MorrowM_@147.161.13.193) |
| 12:17:57 | × | is7s quits (~is7s@2a01:4b00:895f:3d00:b481:aab5:3a81:c922) (Quit: Client closed) |
| 12:24:32 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 12:28:15 | × | pera quits (~pera@user/pera) (Ping timeout: 250 seconds) |
| 12:29:01 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:29:05 | → | dipankar joins (~dipankar@50.35.187.85) |
| 12:30:23 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 12:31:24 | AlexNoo_ | is now known as AlexNoo |
| 12:35:21 | × | hegstal quits (~hegstal@2a02:c7f:7604:8a00:2b2e:62ff:bd4a:55cb) (Remote host closed the connection) |
| 12:36:29 | → | hegstal joins (~hegstal@2a02:c7f:7604:8a00:b401:1d9:cf08:e9d0) |
| 12:37:15 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 12:39:03 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 12:39:18 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 12:39:57 | × | dipankar quits (~dipankar@50.35.187.85) (Quit: Connection closed) |
| 12:40:27 | → | lavaman joins (~lavaman@98.38.249.169) |
| 12:42:13 | <delYsid> | __monty__: Hmm, interesting suggestion. However, I am not sure if such a change would fit into the brick philosophy. showCursor (and the new putCursor) basically just add a cursor to the head of a list of cursors. If renderList would adds its own cursor unconditionally, and the render function does as well, that would make for two cursors and the possibility of the wrong one being selected. |
| 12:42:59 | <delYsid> | I agree it is not ideal to rely on the programmer to place cursors, but for now I have no better approach. At least I fixed the stock widgets to behave properly. |
| 12:43:03 | × | arjun quits (~arjun@user/arjun) (Read error: Connection reset by peer) |
| 12:43:29 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 244 seconds) |
| 12:44:10 | <delYsid> | Besides, its really only the render function which can know where it wants to place the cursor. Usually, thats Location (0,0), but for a checkbox and/or radio button, Location (1,0) makes more sense. |
| 12:44:28 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 12:45:02 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds) |
| 12:45:14 | <__monty__> | And this information is encoded in the available widgets? As someone who might want to use brick I wouldn't know this for example. |
| 12:48:39 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 244 seconds) |
| 12:50:31 | <delYsid> | What information? |
| 12:50:54 | <__monty__> | The location (1,0) being more useful for a checkbox for example. |
| 12:51:21 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 12:53:03 | → | tbd joins (~user@p200300d9df0f1f00e670b8fffeaa0fa5.dip0.t-ipconnect.de) |
| 12:53:51 | <delYsid> | I guess thats a bit stylistic nitpicking. If you have "Menu item" putting the cursor at the beginning is obvious. But if you have "[ ] Checkbox" a cursious developer might prefer (1,0). These choices cant be reasonably made by the framework. And yes, its not ideal the dev needs to know about this, but thats about how accessibility works. If you want it, you have to learn about it at least a bit. |
| 12:55:33 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 12:56:27 | <delYsid> | The point of putCursor was really to make it possible to fix brick apps if necessary. Previously, placing a visible cursor somewhere might not be what the maintainer wants to accept. with putCursor, we can now fix up accessibility issues without anyone visually noticing. |
| 12:57:12 | → | junkicide joins (~user@2a01:e0a:195:20c0:91d0:f47d:73ce:dac7) |
| 12:59:02 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 12:59:14 | <delYsid> | BTW, if you have a brick application you maintain, I am happy to check it out for cursor issues. Just /msg |
| 13:00:34 | × | jneira quits (~jneira@212.8.115.226) (Quit: Client closed) |
| 13:00:35 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33) (Remote host closed the connection) |
| 13:00:49 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
| 13:00:54 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:01:12 | → | alx741 joins (~alx741@181.196.69.199) |
| 13:06:52 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 13:10:53 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 13:15:57 | → | AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
| 13:18:01 | × | Codaraxis_ quits (~Codaraxis@193.32.126.157) (Remote host closed the connection) |
| 13:18:23 | → | Codaraxis_ joins (~Codaraxis@193.32.126.157) |
| 13:21:29 | × | motte quits (~weechat@82.131.67.98.cable.starman.ee) (Ping timeout: 252 seconds) |
| 13:21:51 | → | MQ-17J joins (~MQ-17J@8.21.10.15) |
| 13:22:26 | × | maerwald quits (~maerwald@user/maerwald) (Ping timeout: 244 seconds) |
| 13:24:17 | → | stevenxl joins (~stevenlei@174.128.179.106) |
| 13:24:24 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 13:24:52 | × | stevenxl quits (~stevenlei@174.128.179.106) (Client Quit) |
| 13:24:58 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:94e8:ee7c:bab7:2086) |
| 13:25:27 | → | stevenxl joins (~stevenlei@174.128.179.106) |
| 13:25:54 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 13:28:57 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 13:29:28 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 244 seconds) |
| 13:29:40 | → | chisui joins (~chisui@200116b8668160004d7885d559e3acba.dip.versatel-1u1.de) |
| 13:30:13 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 250 seconds) |
| 13:30:51 | × | stevenxl quits (~stevenlei@174.128.179.106) (Quit: leaving) |
| 13:31:55 | → | stevenxl joins (~stevenlei@174.128.179.106) |
| 13:34:04 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 13:34:17 | → | smitop joins (~smitop@user/smitop) |
| 13:34:38 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 13:36:03 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev) |
| 13:36:37 | → | slack1256 joins (~slack1256@181.203.79.103) |
| 13:36:53 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 13:37:25 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 13:38:58 | <Arahael> | Oh, wow, PatternSynonyms are a nice extension. Is it a popular one? |
| 13:39:48 | → | kayprish joins (~kayprish@46.240.143.86) |
| 13:41:27 | <merijn> | Define popular |
| 13:41:52 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 244 seconds) |
| 13:41:57 | <Arahael> | I'm not sure how I'd define that. |
| 13:41:59 | <Arahael> | :) |
| 13:42:31 | <Arahael> | I guess "not unusual" would suffice for me. :) |
| 13:43:03 | <chisui> | It's even used in base |
| 13:43:19 | <merijn> | I use it a bit, it allows some quite nice patterns |
| 13:44:31 | <Arahael> | Awesome :) |
| 13:47:28 | × | Guest33 quits (~textual@c-107-4-204-12.hsd1.mn.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:48:34 | × | chomwitt quits (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 256 seconds) |
| 13:50:22 | → | Axman6 joins (~Axman6@user/axman6) |
| 13:50:38 | <delYsid> | Even useful for types without much structure, like giving names to numeric values. |
| 13:51:13 | <delYsid> | pattern A1 = Sq 0 |
| 13:51:25 | <merijn> | I actually use it super different |
| 13:51:47 | <merijn> | Where I have a single "general" data constructor and have several patterns to make it look like their's unique different constructors |
| 13:52:16 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 13:53:52 | <lyxia> | compared to the fiasco that some discussions about blockarguments or typeapplications become, patternsynonyms is quite popular. |
| 13:55:08 | <chisui> | What's the issue with typeapplications? the ambiguity they can produce? |
| 13:55:46 | <merijn> | chisui: The fact that you're making something that is widely *not* considered part of the public API part of the API you depend on |
| 13:56:24 | <merijn> | chisui: The order of type variables becomes important with TypeApplications, but 99% (if not more) of Hackage maintainers do not consider that part of their public API |
| 13:56:51 | → | duckonomy joins (~duckonomy@177.ip-144-217-84.net) |
| 13:56:56 | <merijn> | chisui: If I refactor code and enable ScopedTypeVariables on a function: Whoops, order of type variables changed, TypeApplications code breaks! |
| 13:57:24 | × | elcaro quits (~anonymous@45.32.191.75) (Quit: leaving) |
| 13:57:34 | <merijn> | chisui: It's actually worse, because GHC makes no guarantees about the order in which implicitly forall'ed arguments (i.e. every function with type variables and no forall) are inferred |
| 13:57:55 | <chisui> | Ah, got it. The order of type parameters on class functions always trips me up. |
| 13:58:11 | <merijn> | chisui: Changes in GHC's inference algorithm have already resulted in breaking changes on inferred type variables in 9.0 |
| 13:58:19 | <merijn> | So this isn't merely hypothetical |
| 13:58:49 | <boxscape> | merijn: Is that true? In practice specified (but not inferred, there must be some sort of type signature) type arguments are implicitly forall'd i order of occurence |
| 13:59:05 | → | elcaro joins (~anonymous@45.32.191.75) |
| 13:59:21 | <merijn> | boxscape: There was a GHC release that explicitly noted a change that broke the order in which they were inferred and that change broke existing code |
| 13:59:30 | <boxscape> | hm, interesting |
| 14:00:21 | <merijn> | boxscape: https://downloads.haskell.org/ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html#language |
| 14:00:32 | <merijn> | "In certain situations, this will constitute a breaking change as this can affect TypeApplications." |
| 14:01:36 | <boxscape> | ah, so it doesn't affect the order but the specificity, interesting |
| 14:01:50 | <boxscape> | oh no |
| 14:01:52 | <boxscape> | it affects both |
| 14:01:57 | <merijn> | Personally, I think the proxy solution is superior to TypeApplications in that it doesn't require any extensions and is more robust to change |
| 14:02:26 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
| 14:03:19 | <boxscape> | I think using visible dependent quantification in APIs should make things a lot better since you need an explicit forall (though of course it doesn't help if you don't like extensions) |
| 14:04:14 | <merijn> | boxscape: But how does that improve over the simple proxy solution? |
| 14:04:27 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
| 14:04:43 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:94e8:ee7c:bab7:2086) (Ping timeout: 272 seconds) |
| 14:04:50 | <boxscape> | Yes, it's somewhat easier to read and write, and you don't need to resort to Proxy# to get rid of rumtime overhead |
| 14:04:51 | <boxscape> | s/rum/run |
| 14:05:03 | <boxscape> | s/Yes// |
| 14:05:31 | <merijn> | I don't think the readability improvement is enough to justify the mental overhead of yet another bleeding edge extension |
| 14:07:06 | <boxscape> | merijn: well, tbh I think the main motivation for introducing it is that it's a step on the road to dependent types |
| 14:07:30 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 14:07:59 | <merijn> | I think Dependent Haskell is a mistake anyway, so excuse me for not finding that a convincing argument ;) |
| 14:08:12 | <delYsid> | +1 |
| 14:08:56 | <boxscape> | Yeah I think without DH it probably wouldn't be worth introducing |
| 14:09:23 | × | acid quits (~acid@user/acid) (Ping timeout: 268 seconds) |
| 14:09:49 | → | Guest33 joins (~textual@c-107-4-204-12.hsd1.mn.comcast.net) |
| 14:09:51 | <merijn> | Rather than inventing Dependent Haskell and just making Haskell worse, why not invest all that effort in getting a backend/compiler IR that Idris and Haskell can share instead >.> |
| 14:10:18 | → | acid joins (~acid@user/acid) |
| 14:10:56 | <merijn> | imo, Haskell with LinearHaskell and DependentHaskell crammed in is just gonna end up like C++ a bloated confusing mess that no one understands |
| 14:11:06 | × | acidjnk quits (~acidjnk@p200300d0c72b9558f908228849627247.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 14:11:50 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 244 seconds) |
| 14:12:03 | → | fendor_ joins (~fendor@91.141.57.241.wireless.dyn.drei.com) |
| 14:13:14 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:20c6:146b:d647:f6d9) |
| 14:13:43 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 14:14:20 | <delYsid> | Its a learning curve thing. For beginners, normal haskell already feels that way maybe, with partial functions everywhere and three string types and such. C++ does get better if you persist to learn about it as well... |
| 14:14:39 | × | fendor quits (~fendor@77.119.207.179.wireless.dyn.drei.com) (Ping timeout: 258 seconds) |
| 14:15:19 | <merijn> | C++ only gets worse >.> |
| 14:15:40 | <delYsid> | C++ was a total mystery to me for a decade. But when C++11 came out, I had a phase of finding it extremely interesting which led to me feeling actually quite confident with it, despite its bad reputation. |
| 14:16:04 | <merijn> | delYsid: It's *possible* to write nice code using C++11, sure |
| 14:16:09 | × | lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 250 seconds) |
| 14:16:25 | <merijn> | delYsid: My point is there's too much "bloat" in terms of feature interactions |
| 14:16:34 | <delYsid> | How long did it take to get fail out of Monad I ask :-) |
| 14:16:46 | <merijn> | There's literally not a single person on this planet that knows all of C++ >.> |
| 14:17:03 | <merijn> | hell |
| 14:17:17 | → | slac14737 joins (~slack1256@191.125.49.104) |
| 14:17:20 | <merijn> | I'm willing to bet there isn't a single person on this planet that knows even 50% of C++ |
| 14:17:30 | <delYsid> | I feel every language which is older then a few years somehow has to deal with its legacy. Heck, even rust :-) |
| 14:17:56 | <nitrix> | Seems only possible for Forth. |
| 14:18:29 | <janus> | is there a person on the planet that knows 50% of the firmware running on a modern computer? ;) |
| 14:18:56 | <merijn> | Entirely unrelatedly and slightly off topic |
| 14:19:07 | <janus> | no: all abstractions are useful even if you know only some of them... |
| 14:19:15 | <merijn> | Is there a way to read YAML/JSON and convert it to dhall instead of the other way around? |
| 14:19:24 | <janus> | why is c++ on topic and firmware is not? |
| 14:19:33 | <merijn> | I meant my question |
| 14:19:38 | × | slack1256 quits (~slack1256@181.203.79.103) (Ping timeout: 265 seconds) |
| 14:20:05 | <delYsid> | merijn: Wouldn't that need to infer types? |
| 14:20:18 | <adamse> | merijn: https://hackage.haskell.org/package/dhall-yaml-1.2.7/docs/Dhall-YamlToDhall.html |
| 14:20:24 | <merijn> | delYsid: Why would it? |
| 14:20:29 | <merijn> | adamse: Ah, cool |
| 14:20:48 | <delYsid> | merijn: Maybe I am misunderstanding your question. |
| 14:21:29 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 14:21:45 | <adamse> | delYsid: you can parse it as something like the Value type from aeson which fits all json/yaml |
| 14:22:17 | × | slac14737 quits (~slack1256@191.125.49.104) (Remote host closed the connection) |
| 14:23:52 | <boxscape> | merijn: btw is your gripe with Type :: Type that it's unsound? |
| 14:24:08 | <merijn> | boxscape: No, my gripe is that it's confusing as hell |
| 14:24:14 | <boxscape> | I see |
| 14:24:27 | <boxscape> | that makes more sense :) |
| 14:24:39 | <merijn> | You lose the ability to know whether something is a type, kind, etc. |
| 14:24:57 | → | chomwitt joins (~Pitsikoko@athedsl-16082.home.otenet.gr) |
| 14:24:59 | × | MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 272 seconds) |
| 14:25:07 | <merijn> | Unsoundness isn't something that is practically relevant while programming |
| 14:25:13 | <boxscape> | right |
| 14:25:16 | → | MQ-17J joins (~MQ-17J@8.21.10.15) |
| 14:25:23 | <merijn> | The fact that the same things are sometimes types and sometimes kinds, otoh, makes reading code super confusing |
| 14:25:40 | <boxscape> | fair |
| 14:26:16 | <boxscape> | merijn: would you say the same thing applies to DataKinds? |
| 14:26:24 | <merijn> | To some extent |
| 14:26:32 | <boxscape> | okay |
| 14:26:34 | <merijn> | I'm not thrilled about the need for ' to disambiguate |
| 14:26:40 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 14:26:52 | <merijn> | But DataKinds has more practical uses for me and I *can* explicitly disambiguate using ' |
| 14:27:06 | <boxscape> | I see |
| 14:27:23 | <Gurkenglas> | Can I run a debugger on GHC to investigate a compiler error? |
| 14:27:43 | <merijn> | Gurkenglas: Yes, but whether that does something useful for you...depends :p |
| 14:27:52 | <merijn> | Gurkenglas: What kinda error are you trying to debug? |
| 14:28:00 | <Gurkenglas> | I don't have one in mind right now :( |
| 14:28:35 | <Gurkenglas> | I've been noticing that lots of nonhaskellers don't use debuggers and then I boost their productivity a lot by showing them debuggers and I thought maybe Haskell's missing something. |
| 14:28:38 | <merijn> | Gurkenglas: Recent GHCs support generating DWARF debug symbols, but they're not as accurate as the ones from C compilers |
| 14:28:54 | <merijn> | Gurkenglas: Debuggers are slightly less useful for non-strict code |
| 14:29:04 | <raehik> | I feel like you get most of the compiler errors in Haskell by... compiling |
| 14:29:17 | <merijn> | @quote cmccann stream.of |
| 14:29:17 | <lambdabot> | cmccann says: you want a debugger? GHC has one. Except that stepping through lazy evaluation is like listening to a stream of consciousness narrative told by a 5-year-old with ADHD. |
| 14:29:18 | <Gurkenglas> | raehik, yeah but they're confusing for advanced libraries |
| 14:29:19 | <raehik> | I would love for more material on performance debugging however |
| 14:29:50 | → | argento joins (~argent0@168-227-97-29.ptr.westnet.com.ar) |
| 14:30:01 | <merijn> | Gurkenglas: There is a debugger in ghci, but in practice it's often faster to narrow down problems with some printf debugging |
| 14:30:11 | <Gurkenglas> | merijn, that is sorta weird though, isn't it? Shouldn't there be a way to get useful debugging? |
| 14:30:32 | <merijn> | Gurkenglas: Well, I'm gonna need you to define "useful debugging" first :p |
| 14:30:59 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:31:28 | <boxscape> | raehik: there's this recent talk about memory usage analysis if you haven't seen it https://youtu.be/6Ljv5FHGXDM |
| 14:31:40 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 14:31:48 | <boxscape> | well, I say talk, it's more of a workshop |
| 14:31:50 | <Gurkenglas> | Imagine having an unevaluated expression that might be evaluated in many different orders, some of them equivalent; and then the debugger chooses an order equivalent to the default one that optimizes for usefulness to the debugger's user. |
| 14:32:12 | <merijn> | raehik: Have you heard of our lord and saviour Speedscope? |
| 14:32:56 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 14:33:10 | <Gurkenglas> | If there's a .hs with a do block, ten lines long, then I would like to have a tool that highlights the "current line" and lets you step over and into, etc. |
| 14:33:15 | <raehik> | merijn: I haven't! what is it? |
| 14:33:35 | × | ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat) |
| 14:33:45 | <merijn> | raehik: Browser based, zoomable flamegraph visualiser: https://www.speedscope.app/ |
| 14:34:07 | <merijn> | raehik: https://mpickering.github.io/posts/2019-11-07-hs-speedscope.html |
| 14:34:26 | <raehik> | Oh wow, I can convert .perfs into something to use in a GUI visualizer |
| 14:34:27 | → | jolly joins (~jolly@208.180.97.158) |
| 14:34:38 | <merijn> | raehik: Still some room for improvement when it comes to tracking time spent in foreign calls, etc. |
| 14:34:43 | → | ralu joins (~ralu@static.211.245.203.116.clients.your-server.de) |
| 14:34:43 | <merijn> | raehik: But it's quite nice! |
| 14:35:14 | <merijn> | raehik: mpickering's hs-speedscope can convert eventlogs to a format it supports |
| 14:35:17 | <raehik> | that is fantastic actually, the .perf format confused me before |
| 14:35:22 | <Gurkenglas> | If the do block's monad is [], it might jump back and forth between the lines as the calculation of the list backtracks through it, or it might rearrange the evaluation history to show you the entire branching tree of nondeterminism one do block line at a time |
| 14:35:50 | <merijn> | Gurkenglas: You do see how your current specification might be...challenging to implement? ;) |
| 14:36:35 | <Gurkenglas> | Well, does there exist a library for manipulating sets of evaluation orders? |
| 14:36:56 | <merijn> | Pretty confident there isn't >.> |
| 14:37:23 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 250 seconds) |
| 14:37:26 | <Gurkenglas> | hence my sense that we're doing something wrong |
| 14:37:46 | <merijn> | Gurkenglas: Like, what you just described is several phds worth of research to even figure out :) |
| 14:38:06 | × | kayprish quits (~kayprish@46.240.143.86) (Remote host closed the connection) |
| 14:38:54 | × | involans quits (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 268 seconds) |
| 14:40:13 | <Gurkenglas> | Low-hanging fruit: Is there a tool that annontates a .hs AST with the values produced at every node in a test run? |
| 14:42:13 | → | maerwald joins (~maerwald@mail.hasufell.de) |
| 14:43:09 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 14:44:43 | <Gurkenglas> | aka, every function invocation is decorated with "if this function is ever applied to enough arguments that a Show instance is produced, decorate this invocation's sourceloc with that Show output" |
| 14:46:03 | <Gurkenglas> | and then you mouseover a function invocation in your .hs and get a tooltip listing those show outputs |
| 14:47:03 | <geekosaur> | if I were to write one for some reason I'd probably start from ghc-vis. but tying that back to an AST might be tricky |
| 14:48:05 | <Gurkenglas> | We have a library that provides Prism' String AST, right? |
| 14:50:30 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 14:52:25 | → | winircuser-318 joins (~winircuse@170.250.221.149) |
| 14:54:43 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 250 seconds) |
| 14:54:55 | × | v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
| 14:55:00 | × | alex3 quits (~alex3@bsn-77-82-41.static.siol.net) (Ping timeout: 252 seconds) |
| 14:55:48 | → | alex3 joins (~alex3@BSN-77-82-41.static.siol.net) |
| 14:56:33 | → | dhil joins (~dhil@195.213.192.47) |
| 14:56:59 | × | Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection) |
| 14:57:19 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:57:23 | → | Axman6 joins (~Axman6@user/axman6) |
| 14:59:53 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:20c6:146b:d647:f6d9) (Ping timeout: 244 seconds) |
| 15:00:34 | × | jespada quits (~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:02:21 | → | jespada joins (~jespada@90.254.247.46) |
| 15:07:19 | mnrmnaugh | is now known as thunderfish |
| 15:07:22 | → | zmt00 joins (~zmt00@user/zmt00) |
| 15:08:12 | → | ephemient joins (uid407513@id-407513.tooting.irccloud.com) |
| 15:08:41 | → | Gurkenglas_ joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 15:08:55 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 15:08:55 | × | Gurkenglas_ quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 15:09:40 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 15:11:05 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 15:16:01 | <juri_> | hmm. is anyone else here using the slist library? |
| 15:16:03 | × | Reyu[M] quits (~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection) |
| 15:16:44 | → | Reyu[M] joins (~reyureyuz@matrix.reyuzenfold.com) |
| 15:17:09 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 15:17:58 | → | derelict joins (~derelict@user/derelict) |
| 15:18:20 | → | shapr joins (~user@2601:7c0:8180:89d0:903c:7e54:945b:c68c) |
| 15:18:24 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 15:18:25 | × | wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 15:19:53 | <qrpnxz> | no, but interesting |
| 15:21:47 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 15:22:30 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 15:23:25 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:24:02 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 258 seconds) |
| 15:24:15 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 15:26:13 | → | GIANTWORLDKEEPR_ joins (~pjetcetal@2.95.227.207) |
| 15:26:13 | × | GIANTWORLDKEEPR_ quits (~pjetcetal@2.95.227.207) (Client Quit) |
| 15:26:31 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 15:27:22 | <Axman6> | vector's stream fusion does a similar thing, aiming to allocate vectors of the correct size when they need to become manifest arrays |
| 15:27:26 | <merijn> | hmm, anyone know if I can interpolate imports in Dhall? |
| 15:27:55 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 15:29:16 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 15:30:07 | → | acidjnk joins (~acidjnk@p200300d0c72b9545f908228849627247.dip0.t-ipconnect.de) |
| 15:30:16 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 15:30:49 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 15:31:32 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 15:33:36 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 15:34:52 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 15:35:10 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 15:36:22 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:681:f80c:a16c:65d7) |
| 15:37:43 | × | chisui quits (~chisui@200116b8668160004d7885d559e3acba.dip.versatel-1u1.de) (Ping timeout: 246 seconds) |
| 15:38:06 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 15:39:41 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 15:41:18 | × | yoctocell quits (~user@h87-96-130-155.cust.a3fiber.se) (Remote host closed the connection) |
| 15:42:23 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 15:43:57 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 15:45:31 | → | Deide joins (~Deide@wire.desu.ga) |
| 15:45:31 | × | Deide quits (~Deide@wire.desu.ga) (Changing host) |
| 15:45:31 | → | Deide joins (~Deide@user/deide) |
| 15:46:53 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 15:48:08 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 244 seconds) |
| 15:48:29 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 15:50:22 | → | waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
| 15:51:26 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 15:53:02 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 15:55:55 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 15:56:47 | × | MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 265 seconds) |
| 15:57:08 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 15:57:30 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 15:58:23 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:00:25 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 16:01:59 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 16:04:03 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 250 seconds) |
| 16:04:24 | × | poljar quits (~poljar@93-139-36-109.adsl.net.t-com.hr) (Remote host closed the connection) |
| 16:04:58 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 16:05:02 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:05:03 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
| 16:05:20 | → | MQ-17J joins (~MQ-17J@8.21.10.15) |
| 16:05:26 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 16:05:37 | → | poljar joins (~poljar@93-139-36-109.adsl.net.t-com.hr) |
| 16:07:59 | → | zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
| 16:09:12 | → | NieDzejkob joins (~quassel@195.149.98.3) |
| 16:11:53 | → | renzhi joins (~xp@2607:fa49:655f:a700::3902) |
| 16:11:53 | → | pavonia joins (~user@user/siracusa) |
| 16:16:17 | → | thyriaen joins (~thyriaen@45.178.73.238) |
| 16:17:06 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 16:17:18 | <thyriaen> | howdy, i would like to concatinate 2 lists together - what kind of function do i use for this ? concat takes a list of lists |
| 16:17:46 | <adamCS> | thyriaen: ++ |
| 16:18:10 | <thyriaen> | thanks |
| 16:20:27 | <adamCS> | thyriaen: You could also use <> which is monoidal append, which for lists is concatenation. That would continue to work if you switched from lists to, e.g., Seq or DList or some such. |
| 16:20:47 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
| 16:21:39 | <thyriaen> | i am wondering if i can get something similiar to http://zvon.org/ locally for haskell like man pages for times without internet connections - is there such a thing ? |
| 16:22:21 | <thyriaen> | adamCS, is there a monoidal foldr/foldl too ? |
| 16:22:39 | <adamCS> | thyriaen: There is a way to set up a local "hoogle" |
| 16:23:15 | <adamCS> | yes. fold and foldMap |
| 16:23:30 | <adamCS> | https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Foldable.html#v:foldMap |
| 16:23:59 | × | dunkeln_ quits (~dunkeln@188.71.193.140) (Ping timeout: 250 seconds) |
| 16:24:44 | <thyriaen> | adamCS, ah nice, "normal" fold must have slipped my search |
| 16:25:20 | <adamCS> | thyriaen: Are you using stack? Apparently has a local hoogle feature. |
| 16:25:45 | <adamCS> | I think there's a nix way to set that up as well. |
| 16:25:50 | <thyriaen> | adamCS, what is stack ? fold is not found in Prelude |
| 16:26:13 | <adamCS> | You might need to import "Data.Foldable" |
| 16:27:49 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
| 16:27:51 | <adamCS> | stack is an alternative to "cabal the tool" as the user front-end to managing dependencies, in the stack case via internally consistent snapshots of most packages. |
| 16:28:14 | × | stevenxl quits (~stevenlei@174.128.179.106) (Ping timeout: 244 seconds) |
| 16:28:22 | <Franciman> | stack is not simply an alternative to cabal the tool, its UI is quite different |
| 16:29:13 | <adamCS> | Franciman: Sure. I was trying for a minimal answer, given the context. |
| 16:29:48 | <adamCS> | thyriaen: https://hackage.haskell.org/package/bhoogle might be helpful on the local hoogle front. |
| 16:29:50 | → | stevenxl joins (~stevenlei@174.128.179.103) |
| 16:30:29 | <thyriaen> | ty |
| 16:30:50 | <adamCS> | np |
| 16:33:32 | <maerwald> | Stack has no resolver, does it? |
| 16:33:55 | × | tbd quits (~user@p200300d9df0f1f00e670b8fffeaa0fa5.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 16:35:18 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:36:18 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 16:38:02 | × | hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Ping timeout: 252 seconds) |
| 16:40:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 16:40:40 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 16:41:04 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 16:42:26 | → | Guest53__ joins (~textual@170.250.221.149) |
| 16:42:44 | → | dunkeln joins (~dunkeln@188.71.193.140) |
| 16:42:47 | × | ystael quits (~ystael@user/ystael) (Quit: Lost terminal) |
| 16:42:48 | × | alex3 quits (~alex3@BSN-77-82-41.static.siol.net) (Ping timeout: 272 seconds) |
| 16:43:28 | × | Guest53__ quits (~textual@170.250.221.149) (Remote host closed the connection) |
| 16:48:48 | → | vicfred joins (~vicfred@user/vicfred) |
| 16:49:49 | × | winircuser-318 quits (~winircuse@170.250.221.149) (Read error: Connection reset by peer) |
| 16:51:02 | → | alex3 joins (~alex3@BSN-77-82-41.static.siol.net) |
| 16:51:05 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:51:40 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 16:55:54 | <qrpnxz> | stack is like cabal's cabal, kind of a clusterfuck tbh |
| 16:57:41 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:681:f80c:a16c:65d7) (Ping timeout: 244 seconds) |
| 16:57:58 | <Clint> | cabal's cabal, you say |
| 16:58:07 | <qrpnxz> | yes |
| 16:58:58 | <qrpnxz> | Or maybe like a harness to cabal. Or actually kind of like apt is to dpkg, except if dpkg already did pretty much everything apt did |
| 16:59:19 | <sclv> | lmao these metaphors are not helpful |
| 16:59:45 | × | zmt00 quits (~zmt00@user/zmt00) (Quit: Gone.) |
| 16:59:51 | <qrpnxz> | stack is indeed nonsense, nothing i can do about that |
| 17:01:05 | <nitrix> | Isn't cabal v2, cabal's cabal? And what about: cabal new-install Cabal cabal-install? |
| 17:01:25 | <qrpnxz> | cabal v2 is just cabal v2 afaik |
| 17:03:04 | × | MorrowM quits (~MorrowM_@147.161.13.193) (Ping timeout: 272 seconds) |
| 17:03:37 | <sclv> | anyway to run a local hoogle the best thing one can do is clone the current state of hoogle, then look at its auto-update script (https://github.com/ndmitchell/hoogle/blob/master/misc/Upgrade.hs) to try to understand how it fetches db info (its a bit underdocumented) and then use the cmd line exe directly |
| 17:04:46 | <Las[m]> | can someone explain to me why `fromIntegral (maxBound :: Int) :: CInt` is equal to -1? |
| 17:06:00 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:06:57 | <pavonia> | > fromIntegral (minBound :: Int) :: CInt |
| 17:06:58 | <lambdabot> | error: |
| 17:06:58 | <lambdabot> | Not in scope: type constructor or class ‘CInt’ |
| 17:06:59 | <lambdabot> | Perhaps you meant one of these: |
| 17:07:47 | × | Athas quits (~athas@2a01:7c8:aaac:1cf:8045:ce82:8893:4981) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:07:54 | <qrpnxz> | also on my terminal `fromIntegral (minBound :: Int)` prints 2^63-1 when the max for Int should be 2^29-1, weird |
| 17:07:56 | → | Athas joins (athas@sigkill.dk) |
| 17:08:27 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 17:08:40 | × | thyriaen quits (~thyriaen@45.178.73.238) (Remote host closed the connection) |
| 17:09:01 | <Las[m]> | Even though it's 64 bits wide? |
| 17:09:24 | <qrpnxz> | what is |
| 17:09:38 | <qrpnxz> | Int has 23 bit range according to https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Int.html#t:Int |
| 17:09:45 | <davean> | qrpnxz: no, no |
| 17:09:55 | <davean> | *at least the range* |
| 17:10:12 | <davean> | Thats the smallest it is allowed to be |
| 17:10:33 | <qrpnxz> | ah thanks |
| 17:10:37 | <qrpnxz> | make sense then |
| 17:12:04 | <qrpnxz> | Las[m], well, if you do maxBound for CInt it comes out to like 32-bit |
| 17:12:25 | <davean> | Right so CInt matches the platform |
| 17:12:34 | <qrpnxz> | i'm on 64-bit |
| 17:12:35 | <davean> | you must be on an ILP32 or LP64 platform |
| 17:12:43 | <qrpnxz> | ah yeah |
| 17:13:28 | <davean> | https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models |
| 17:13:37 | <davean> | "Most Unix and Unix-like systems, e.g., Solaris, Linux, BSD, macOS. Windows when using Cygwin; z/OS" |
| 17:13:38 | <Las[m]> | yes and that makes sense, but I don't get why fromIntegral has this odd behavior |
| 17:13:48 | <Las[m]> | where it defaults to -1 if it's out of bounds... |
| 17:13:55 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:13:56 | <Las[m]> | doesn't it make much more sense just to clamp to the bounds? |
| 17:14:03 | <Las[m]> | so that it should evaluate to maxBound if over the max |
| 17:14:09 | <Cale> | It does neither of those |
| 17:14:12 | <davean> | Las[m]: No, understand what a machine Int is |
| 17:14:15 | <davean> | its twos compliment |
| 17:14:33 | <davean> | what you are getting is the 32 bit portion of the max bound 64 bit number |
| 17:15:01 | <davean> | this is how every binary computers you're at all familiar with works basicly. |
| 17:15:10 | <davean> | Its not the only way, but its the only way actually used :) |
| 17:15:12 | → | Morrow joins (~MorrowM_@147.161.13.193) |
| 17:15:19 | <davean> | and for good numerical reasons |
| 17:15:34 | <Cale> | fromInteger is generally going to have the property that fromInteger (x + y) = fromInteger x + fromInteger y |
| 17:16:09 | <Las[m]> | ah, yeah, so if you just take the lower bits, it becomes -1, makes sense in that way |
| 17:16:16 | <qrpnxz> | ah it's masking, makes sense |
| 17:16:24 | <qrpnxz> | in a way lol |
| 17:16:31 | <Las[m]> | though it's still very rarely the behavior you want I assume |
| 17:16:39 | <davean> | But this is a Haskell channel, you're asking CPU questions ;) |
| 17:16:52 | <qrpnxz> | if it were a word it would make more sense |
| 17:16:53 | <Cale> | If it helps, you can also just think of it as the ring homomorphism from the integers |
| 17:16:56 | <qrpnxz> | for int doesn't make much sense |
| 17:16:57 | <qrpnxz> | tbh |
| 17:17:18 | → | kayprish joins (~kayprish@46.240.143.86) |
| 17:17:22 | <Cale> | which is going to be uniquely determined, generally |
| 17:17:37 | × | mason0 quits (~bc817c21@199.204.85.195) (Quit: CGI:IRC (Session timeout)) |
| 17:18:26 | <davean> | qrpnxz: the other options end up being worse in general basicly. |
| 17:18:41 | <Cale> | The wrapping around comes from the fact that CInt is going to be the integers modulo 2^32 or whatever, so that's just what happens when you take 2^64 - 1 and take the remainder after division by 2^32 |
| 17:18:42 | <davean> | qrpnxz: But theres *no* option you want when you take an out of range value to a smaller set, in general |
| 17:19:03 | <davean> | qrpnxz: this ends up being the mathematically least shitty |
| 17:19:08 | <qrpnxz> | indeed |
| 17:19:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 17:19:21 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 17:19:24 | <qrpnxz> | ok, i'm wrapping gang. Moral of the story is, if big nums can happen, use Integer |
| 17:19:25 | <qrpnxz> | xD |
| 17:20:43 | <davean> | qrpnxz: Hey so! Theres actually better conversion functions also! You don't have to take it unconditionally. |
| 17:20:53 | <Las[m]> | yes, and that is extremely inconvenient |
| 17:21:17 | × | howdy quits (~user@2001:8003:2432:d501:7c9a:6d35:e5a2:fb9c) (Ping timeout: 252 seconds) |
| 17:21:31 | × | pbrisbin quits (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Quit: WeeChat 3.1) |
| 17:21:45 | → | pbrisbin joins (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
| 17:22:55 | <davean> | You have things like https://hackage.haskell.org/package/int-cast-0.2.0.0/docs/Data-IntCast.html |
| 17:23:37 | → | notzmv joins (~zmv@user/notzmv) |
| 17:23:41 | <Las[m]> | Cale: thanks, makes sense then |
| 17:24:38 | → | minoru_shiraeesh joins (~shiraeesh@109.166.57.198) |
| 17:25:37 | → | tbd joins (~user@p200300d9df0f1f00e670b8fffeaa0fa5.dip0.t-ipconnect.de) |
| 17:29:40 | × | argento quits (~argent0@168-227-97-29.ptr.westnet.com.ar) (Ping timeout: 272 seconds) |
| 17:31:34 | × | tbd quits (~user@p200300d9df0f1f00e670b8fffeaa0fa5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 17:33:42 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 17:38:57 | → | chronon joins (~chronon@user/chronon) |
| 17:39:25 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 17:45:15 | × | kayprish quits (~kayprish@46.240.143.86) (Remote host closed the connection) |
| 17:46:29 | <ephemient> | > let x = 2 ^ 64 in (x, fromIntegral x) :: (Integer, Int) -- just to give an example; it doesn't "default to -1" |
| 17:46:31 | <lambdabot> | (18446744073709551616,0) |
| 17:47:15 | × | flounders quits (~flounders@173.246.200.33) (Quit: Leaving) |
| 17:49:19 | → | lavaman joins (~lavaman@98.38.249.169) |
| 17:51:08 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 17:52:02 | → | argento joins (~argent0@168-227-97-29.ptr.westnet.com.ar) |
| 17:55:05 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
| 17:55:06 | → | zmt00 joins (~zmt00@user/zmt00) |
| 17:57:48 | × | dajoer quits (~david@user/gvx) (Quit: leaving) |
| 17:58:03 | <gentauro> | > let x = 2 ^ 64 in (x, fromIntegral x) :: (Integer, Int) |
| 17:58:05 | <lambdabot> | (18446744073709551616,0) |
| 17:58:12 | <gentauro> | > let x = 2 ^ 63 in (x, fromIntegral x) :: (Integer, Int) |
| 17:58:13 | <lambdabot> | (9223372036854775808,-9223372036854775808) |
| 17:58:22 | <gentauro> | > let x = (2 ^ 63) - 1 in (x, fromIntegral x) :: (Integer, Int) |
| 17:58:24 | <lambdabot> | (9223372036854775807,9223372036854775807) |
| 17:58:29 | <gentauro> | hmmm |
| 17:59:27 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 17:59:48 | × | MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 252 seconds) |
| 18:00:00 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:01:51 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 18:02:02 | × | minoru_shiraeesh quits (~shiraeesh@109.166.57.198) (Read error: Connection reset by peer) |
| 18:03:06 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds) |
| 18:03:28 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Remote host closed the connection) |
| 18:06:08 | → | econo joins (uid147250@user/econo) |
| 18:06:55 | × | dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 244 seconds) |
| 18:07:14 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 18:08:47 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Quit: Quit) |
| 18:09:01 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:09:36 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:09:49 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 272 seconds) |
| 18:13:06 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 18:13:24 | <dmj`> | > do { x <- [1..10]; fail "oh no"; pure x; } |
| 18:13:25 | <lambdabot> | [] |
| 18:15:15 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 18:15:18 | × | Guest33 quits (~textual@c-107-4-204-12.hsd1.mn.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:15:22 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:17:48 | <dmwit> | > -9223372036854775808 - 1 :: Int |
| 18:17:50 | <lambdabot> | 9223372036854775807 |
| 18:18:24 | → | derelict joins (~derelict@user/derelict) |
| 18:21:24 | → | mason0 joins (~bc817c21@1582020-static.lxtnkya3.metronetinc.net) |
| 18:24:43 | → | Guest33 joins (~textual@c-107-4-204-12.hsd1.mn.comcast.net) |
| 18:25:55 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 18:28:34 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 18:28:39 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:30:58 | × | Morrow quits (~MorrowM_@147.161.13.193) (Read error: Connection reset by peer) |
| 18:31:43 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 244 seconds) |
| 18:33:12 | → | Morrow joins (~MorrowM_@147.161.13.193) |
| 18:36:41 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 18:36:58 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 18:37:07 | × | Erutuon quits (~Erutuon@user/erutuon) (Quit: WeeChat 2.8) |
| 18:38:26 | × | doublex quits (~doublex@2601:542:c480:6ee0:184b:7083:f026:c689) (Ping timeout: 244 seconds) |
| 18:41:32 | × | johnw_ quits (~johnw@2600:1700:cf00:db0:445f:c73e:90ff:5975) (Ping timeout: 244 seconds) |
| 18:41:36 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 18:41:59 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Remote host closed the connection) |
| 18:42:03 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 18:42:29 | × | altern quits (~altern@altern.corbina.com.ua) (Ping timeout: 268 seconds) |
| 18:42:34 | × | azeem quits (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) (Ping timeout: 265 seconds) |
| 18:44:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 18:45:16 | → | dunkeln_ joins (~dunkeln@188.71.193.140) |
| 18:45:40 | → | azeem joins (~azeem@176.201.3.53) |
| 18:45:56 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:47:24 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 18:47:41 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:48:21 | → | derelict joins (~derelict@user/derelict) |
| 18:49:36 | <maerwald> | Oho https://github.com/tanakh/optparse-declarative |
| 18:50:13 | Henselierung | is now known as hrnz |
| 18:50:44 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 18:51:21 | × | alex3 quits (~alex3@BSN-77-82-41.static.siol.net) (Ping timeout: 244 seconds) |
| 18:52:02 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 18:52:38 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds) |
| 18:52:57 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:53:39 | → | safinaskar joins (~safinaska@109.252.90.89) |
| 18:54:16 | <safinaskar> | anybody uses ott lang here? where can i ask ott related questions? is it possible to write in ott not only rules, but also actual proofs? |
| 18:57:02 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 18:57:15 | → | alex3 joins (~alex3@BSN-77-82-41.static.siol.net) |
| 18:57:21 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:58:22 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:58:56 | × | azeem quits (~azeem@176.201.3.53) (Read error: Connection reset by peer) |
| 18:59:25 | → | azeem joins (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) |
| 19:02:39 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
| 19:03:26 | × | Nahra` quits (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection) |
| 19:03:45 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 244 seconds) |
| 19:06:12 | ← | safinaskar parts (~safinaska@109.252.90.89) () |
| 19:08:03 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 19:09:59 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:10:12 | → | hammock joins (~Hammock@2600:1700:19a1:3330::625) |
| 19:11:43 | → | Guest7511 joins (~Guest75@189.56.59.50) |
| 19:12:01 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
| 19:15:08 | <maerwald> | Maybe it's time for optparse-applicative to be superseded |
| 19:16:17 | <dminuoso> | maerwald: DataKinds driven seems a bit extreme. It does work nicely for deriving-aeson, for a parser Im not so sure. |
| 19:16:35 | <dminuoso> | But then again, I don't have any issues with optparse-applicative - generally Im a happy user. |
| 19:17:38 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:21:07 | → | adinfinitum joins (~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) |
| 19:21:26 | <maerwald> | I'm not, too much code |
| 19:22:18 | <dminuoso> | It is interesting how optparse-selective gets this far with just 300ish lines of Haskell code. |
| 19:22:26 | <dminuoso> | heh, optparse-declarative. |
| 19:22:44 | → | m7zs3gzw joins (~m7zs3gzw@178.155.6.220) |
| 19:23:06 | × | m7zs3gzw quits (~m7zs3gzw@178.155.6.220) (Remote host closed the connection) |
| 19:23:41 | <dminuoso> | Or do you mean on the user-facing side? |
| 19:25:03 | × | Guest7511 quits (~Guest75@189.56.59.50) (Quit: Client closed) |
| 19:25:22 | <mason0> | dminuoso, I thought you mistyped it again, and meant optparse-applicative. I'll take a look at optparse-declarative |
| 19:26:17 | <dminuoso> | mason0: Nope, optparse-declarative gets quite a lot of work done in just 300 lines. But to be fair, optparse-applicative is not heavy internally either, it just has a rich feature set with lots of custom hooks. |
| 19:26:52 | <dminuoso> | maerwald: did you look at optparse-applicative-simple by the way? |
| 19:27:52 | <maerwald> | user facing |
| 19:27:54 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:28:55 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 19:35:31 | → | cheater joins (~Username@user/cheater) |
| 19:35:37 | → | Profpatsch joins (~Profpatsc@static.88-198-193-255.clients.your-server.de) |
| 19:35:51 | <Profpatsch> | Hi I’m confused |
| 19:35:54 | <Profpatsch> | > data Foo = Bar | Baz deriving (Read, Show, Typeable) |
| 19:35:55 | <lambdabot> | <hint>:1:1: error: parse error on input ‘data’ |
| 19:36:09 | <Profpatsch> | > typeRep :: TypeRep Foo |
| 19:36:11 | <lambdabot> | error: |
| 19:36:11 | <lambdabot> | Not in scope: type constructor or class ‘Foo’ |
| 19:36:12 | <Profpatsch> | <interactive>:18:12: error: |
| 19:36:14 | <Profpatsch> | • Expected kind ‘* -> *’, but ‘TypeRep’ has kind ‘*’ |
| 19:36:16 | <Profpatsch> | • In an expression type signature: TypeRep Foo |
| 19:36:21 | <Profpatsch> | But data TypeRep (a :: k) |
| 19:36:27 | <Profpatsch> | where does the * -> * come from |
| 19:36:44 | <dminuoso> | You applied TypeRep to Foo. |
| 19:36:51 | <Profpatsch> | I just want to print the type name of Foo |
| 19:37:30 | <Profpatsch> | dminuoso: yes? Isn’t that what (TypeRep a) means? |
| 19:37:34 | <Profpatsch> | A *? |
| 19:37:42 | × | turlando quits (~turlando@user/turlando) (Read error: Connection reset by peer) |
| 19:37:58 | <dminuoso> | Profpatsch: There's TypeRep from Data.Typeable and from Type.Reflections |
| 19:38:09 | <dminuoso> | Those appare to be different and have different kinds |
| 19:38:11 | <Profpatsch> | :k TypeRep |
| 19:38:13 | <Profpatsch> | TypeRep :: * |
| 19:38:14 | <Profpatsch> | okay I am confused |
| 19:38:26 | <dminuoso> | https://hackage.haskell.org/package/base-4.15.0.0/docs/Type-Reflection.html#t:TypeRep |
| 19:38:27 | <dminuoso> | https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Typeable.html#t:TypeRep |
| 19:38:31 | <Profpatsch> | Ah oof |
| 19:38:34 | <Profpatsch> | why would you do that GHC |
| 19:38:37 | <Profpatsch> | why |
| 19:38:44 | <Profpatsch> | The names of Types and function are bad enough |
| 19:38:49 | <Profpatsch> | Why would you overload them |
| 19:39:14 | <geekosaur> | so as not to break existing programs while providing a path to indexed TypeReps |
| 19:40:18 | <Profpatsch> | okay, I see |
| 19:40:23 | <dminuoso> | Profpatsch: The pinnacle of naming is the qualified identifier of Data.Kind.Type |
| 19:40:30 | <dminuoso> | That one is just *chef kiss* |
| 19:40:34 | <Profpatsch> | It is SomeTypeRep in Data.Typeable |
| 19:40:58 | <Profpatsch> | dminuoso: you mean type Type = Type |
| 19:41:15 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:42:40 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 19:42:40 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 19:42:40 | → | turlando joins (~turlando@user/turlando) |
| 19:45:23 | → | derelict joins (~derelict@user/derelict) |
| 19:47:17 | <dminuoso> | Profpatsch: Rather, the identifier Type itself comes from Data.Kind, so if you refer to it qualified by module name, then the whole thing becomes Data.Kind.Type |
| 19:47:46 | <adamse> | "Data.Typeable provides type representations which are qualified over this index", I'm wondering what qualified is supposed to mean there? is it supposed to be quantified? |
| 19:47:49 | <dminuoso> | What is it now. Data? Kind? Type? What's with this scoping. |
| 19:50:53 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:52:37 | <Profpatsch> | > unwrapError $ (parseFromName "evelopment" :: Either Error ServerEnv) |
| 19:52:39 | <lambdabot> | error: |
| 19:52:39 | <lambdabot> | Not in scope: type constructor or class ‘Error’error: |
| 19:52:39 | <lambdabot> | Not in scope: type constructor or class ‘ServerEnv’ |
| 19:52:40 | <Profpatsch> | *** Exception: ServerEnv can only be one of "Development", "Production" |
| 19:52:42 | <Profpatsch> | whoo |
| 19:53:10 | <Profpatsch> | Though now the deriving clauses are longer than the parsing function … |
| 19:53:29 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:53:32 | <Profpatsch> | deriving stock (Generic, Read, Enum, Bounded, Show) |
| 19:53:35 | <Profpatsch> | deriving (ParseValue) via (ParseEnum ServerEnv) |
| 19:53:43 | <Profpatsch> | the Generic is for ToJSON |
| 19:53:46 | <Profpatsch> | nothing to see here |
| 19:54:56 | <dminuoso> | Profpatsch: You should see how this gets with deriving-aeson :) |
| 19:55:08 | <dminuoso> | (A library Im a really big fan of, if you ever want to use deriving based instances) |
| 19:55:28 | <Profpatsch> | Ah |
| 19:55:35 | <Profpatsch> | I’m a fan of just writing parser functions |
| 19:55:45 | <Profpatsch> | those are a lot easier to wrestle with |
| 19:56:07 | <dminuoso> | Sure, but when you have a hundred data types with mostly boilerplate, then handwritten instances quickly introduce typos. |
| 19:56:17 | <Profpatsch> | hrm, maybe |
| 19:56:23 | <Profpatsch> | what kind of typoes? |
| 19:56:30 | <Profpatsch> | field names? |
| 19:56:53 | <dminuoso> | Sure |
| 19:57:14 | <dminuoso> | Or stuff like not checking for extra/unused attribute names |
| 19:57:36 | <Profpatsch> | somehow go has the most pragmatic approach with their blursed comment syntax |
| 19:57:42 | → | MorrowM joins (~MorrowM_@147.161.9.135) |
| 19:57:43 | <dminuoso> | I like refusing input that doesnt exactly match the schema because it reveals errors much quicker. |
| 19:57:59 | <Profpatsch> | there’s a tradeoff |
| 19:58:20 | <Profpatsch> | open records can be good if you want forward-compatibility |
| 20:01:17 | × | Morrow quits (~MorrowM_@147.161.13.193) (Ping timeout: 272 seconds) |
| 20:01:18 | <dminuoso> | forward-compatibility is tough, if you dont even know the distance. If people start talking you to in a protocol that you dont adequately understand, and you just ignore fields that have semantic meaning, then this introduces subtle bugs. |
| 20:01:40 | <dminuoso> | I'd rather have protocol versioned schemas, and then for each protocol version I supply different parsers for things |
| 20:01:50 | <dminuoso> | There I can do all the massaging needed |
| 20:02:40 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 20:03:09 | <dminuoso> | Imagine if at some point you added a field "simulate :: Request -> Bool", if former versions simply ignore this field, then this will misbehave in disastrous ways. And it's difficult to even know you are never going to introduce such a field |
| 20:03:17 | <dminuoso> | But it all depends on the use case I guess. |
| 20:05:07 | <Profpatsch> | Well, you need to support all old semantics indefinitely |
| 20:05:16 | × | derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2) |
| 20:05:18 | <Profpatsch> | And introduce new symbols when you change semantics |
| 20:05:24 | × | juhp quits (~juhp@128.106.188.66) (Ping timeout: 256 seconds) |
| 20:05:37 | <Profpatsch> | instead of changing old ones. Which you can guarantee by having a more-or-less exhaustive test suite |
| 20:05:45 | × | kuribas quits (~user@ptr-25vy0iacbcxiwpnsjuf.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 20:05:52 | <Profpatsch> | ofc there is always a trade-off |
| 20:05:54 | fendor_ | is now known as fendor |
| 20:06:12 | <dminuoso> | This is why everybody should version JSON stuff, perhaps even in a PVP/semver compatible way. |
| 20:06:44 | → | juhp joins (~juhp@128.106.188.66) |
| 20:07:29 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 20:07:42 | <Profpatsch> | I find https://stripe.com/blog/api-versioning intriguing |
| 20:07:54 | <dminuoso> | Not versioning JSON content *inside* the same JSON is usually regretted |
| 20:07:58 | <dminuoso> | Quickly |
| 20:08:08 | <Profpatsch> | tl;dr they guarantee indefinite API stability for every client, and they render *backwards* from their current API to the old versions |
| 20:08:27 | <Profpatsch> | on-the-fly backwards migration so to say |
| 20:08:57 | <Profpatsch> | And since they must always write these backwards migrations for every change to the api, it keeps them honest about semantics I’d wager. |
| 20:09:22 | <Profpatsch> | i.e. you can only add fields to records or remove cases from sum types |
| 20:11:10 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 20:11:19 | <dminuoso> | Profpatsch: I see. So each version gets data-migrations attached to them, such that if a client is pinned to an older version, that data is migrated upwards per-request? |
| 20:11:35 | <dminuoso> | *i.e. that clients request data is migrated upwards. |
| 20:11:57 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 244 seconds) |
| 20:12:06 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:12:26 | <dminuoso> | Profpatsch: So this is an interesting bit. Perhaps the question of "should unparsed fields be rejected" depends on the party. |
| 20:12:46 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:13:23 | <dminuoso> | If you control the API, then you should by all means reject unparsed fields for inbound requests. If you parse requests from someone elses API, then ignoring unparsed fields could less friction every time an API change is made. |
| 20:14:12 | <dminuoso> | The former is important just to ensure you get exact semantics. Common mistake is when people prototype their libraries, and they make typos in field names. If this happened in an optional fields, then Id rather it error out than silently do ignore the typo'd field |
| 20:14:40 | <Profpatsch> | dminuoso: right, client requests have to be forwards-migrated and responses backwards |
| 20:14:51 | <dminuoso> | Sort of how nixos modules error out when setting an option that doesnt exist. It's way better than silently not activating the desired service. |
| 20:14:53 | <Profpatsch> | but not the dual |
| 20:15:02 | <dminuoso> | Right |
| 20:15:39 | <Profpatsch> | dminuoso: regarding ignoring unknown fields, rich hickey has a good talk on how that benefits composability |
| 20:16:08 | <dminuoso> | Do you have a name of the talk? |
| 20:17:13 | <Profpatsch> | https://www.youtube.com/watch?v=2V1FtfBDsLU& |
| 20:17:20 | <Profpatsch> | I *think* it was this one? |
| 20:17:23 | <Profpatsch> | It |
| 20:17:29 | <Profpatsch> | makes Haskell devs shudder :) |
| 20:18:01 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:18:20 | → | teaSlurper joins (~chris@81.96.113.213) |
| 20:18:52 | <dminuoso> | Yes. The amount of static white noise makes me shudder. |
| 20:19:32 | <Profpatsch> | dminuoso: from here as far as I can see https://www.youtube.com/watch?v=2V1FtfBDsLU&t=2267s |
| 20:19:32 | × | azeem quits (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 20:19:37 | → | ajb joins (~ajb@cupid.whatbox.ca) |
| 20:20:32 | × | dunkeln_ quits (~dunkeln@188.71.193.140) (Ping timeout: 268 seconds) |
| 20:20:46 | × | xff0x quits (~xff0x@2001:1a81:52c9:c400:8a43:254c:24d1:74a5) (Ping timeout: 246 seconds) |
| 20:20:48 | → | azeem joins (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) |
| 20:21:43 | → | xff0x joins (~xff0x@2001:1a81:52c9:c400:7297:5fed:23fc:a105) |
| 20:23:50 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 244 seconds) |
| 20:25:50 | × | GIANTWORLDKEEPER quits (~pjetcetal@2.95.227.207) (Remote host closed the connection) |
| 20:31:58 | <c_wraith> | Is there any common type that's equivalent to Maybe but with the connotation that a value being present is a failure? |
| 20:33:57 | <maerwald> | Either |
| 20:34:06 | <c_wraith> | Either is too big |
| 20:34:09 | <MorrowM> | Either err () |
| 20:34:26 | <maerwald> | That's Maybe |
| 20:34:27 | <maerwald> | lol |
| 20:34:58 | <c_wraith> | It's got the right connotations, though |
| 20:35:03 | <MorrowM> | ^ |
| 20:35:27 | <int-e> | I tried, but I got Nothing <-- sounds like a failure to me, too. |
| 20:35:50 | <c_wraith> | "what error did you find?" "Nothing!" |
| 20:36:18 | <__monty__> | Well if you want to indicate which error, you do need Either? |
| 20:36:46 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 20:36:48 | <c_wraith> | Except I don't want to allow a value in the success response. |
| 20:36:51 | <c_wraith> | That's too big |
| 20:37:12 | <c_wraith> | It's either "here's the error" or "it was fine" |
| 20:37:25 | <dminuoso> | Oh you want an inverted Maybe |
| 20:37:37 | <MorrowM> | type Validate err = Either err () |
| 20:37:47 | <dminuoso> | 22:34:08 MorrowM | Either err () |
| 20:37:49 | <dminuoso> | This indeed. |
| 20:38:10 | <c_wraith> | Like I said - it's got the right connotations. It's just awkward. |
| 20:38:38 | <__monty__> | And you don't like Maybe err? |
| 20:38:42 | → | GIANTWORLDKEEPER joins (~pjetcetal@2.95.227.207) |
| 20:38:53 | <c_wraith> | It's got backwards connotations. |
| 20:39:00 | <MorrowM> | Oooh, maybe a pattern synonym would be nice, with Either err () |
| 20:39:18 | <Profpatsch> | I defined the canonical error type to be Error = Error [Text] |
| 20:39:20 | <c_wraith> | I thought about that - it's basically just the same as creating a new type |
| 20:39:28 | <int-e> | c_wraith: Meh, it's not our fault that you're asking the wrong question. |
| 20:39:35 | <Profpatsch> | So Maybe Error wouldn’t be super awkward |
| 20:39:39 | <c_wraith> | Yeah, I know the question is wrong |
| 20:39:51 | <c_wraith> | But I'm sort of forced into it |
| 20:39:59 | <Profpatsch> | Though I would still use Either Error () |
| 20:40:03 | <c_wraith> | Have to maintain compatibility with external stuff |
| 20:40:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:42:33 | <justsomeguy> | Can (time and space) complexity be measured with the λ-calculus? |
| 20:43:33 | × | fendor quits (~fendor@91.141.57.241.wireless.dyn.drei.com) (Remote host closed the connection) |
| 20:43:39 | × | Guest33 quits (~textual@c-107-4-204-12.hsd1.mn.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:43:43 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 20:44:27 | <c_wraith> | justsomeguy: within its own context, yes. You have to define an evaluation model and what the cost of primitive operations is |
| 20:47:34 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
| 20:48:27 | → | fendor joins (~fendor@91.141.57.241.wireless.dyn.drei.com) |
| 20:48:43 | → | qbt joins (~edun@user/edun) |
| 20:48:54 | <c_wraith> | justsomeguy: which... really, those are necessary steps to measure complexity in any programming language. They're just often assumed to be known in more common systems |
| 20:51:13 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 20:52:34 | <dminuoso> | Profpatsch: Okay so I think I finally reached the point that you referred to. |
| 20:52:37 | <justsomeguy> | I guess the evalauation strategy will have to account for the length of expressions somehow, and maybe also how to find them. |
| 20:52:49 | <dminuoso> | https://youtu.be/2V1FtfBDsLU?t=3037 |
| 20:53:11 | <dminuoso> | Profpatsch: And the argument made was extremely poor in my opinion. |
| 20:53:19 | × | qbt quits (~edun@user/edun) (Ping timeout: 258 seconds) |
| 20:54:19 | <davean> | c_wraith: I mean thats not entirely true - you say what thing you're counting when you do algs, and theres often debate about which is the thing to count |
| 20:54:27 | <dminuoso> | Arguing that "ignoring unneeded keys" is good for the same reason that when UPS comes, you dont care about any other packages on the truck.. well. Using completely unrelated programming problems to argue programming design.. yeah, not convincing me. |
| 20:54:41 | <dminuoso> | *completely unrelated non-programming problems |
| 20:55:36 | <c_wraith> | davean: more formal environments are better about it. But in less formal environments, it's very common to throw O(something) around without defining it |
| 20:55:43 | → | Morrow_ joins (~MorrowM_@147.161.9.9) |
| 20:55:59 | <davean> | c_wraith: sure, but I don't think I'd have passed my classes if I did that! |
| 20:56:06 | <__monty__> | The advantages he talks about are pretty much those of Purescript's row types. |
| 20:56:17 | <Profpatsch> | dminuoso: yeah, I’ll have to watch it again |
| 20:56:18 | <davean> | sometimes you count memory accesses, sometimes you count ALU instructions, sometimes ... |
| 20:56:20 | <davean> | it varies a lot |
| 20:56:27 | <davean> | depends on what you think is expensive about the alg |
| 20:58:17 | × | MorrowM quits (~MorrowM_@147.161.9.135) (Ping timeout: 250 seconds) |
| 20:58:21 | × | deshalb quits (~deshalb@user/deshalb) (Quit: leaving) |
| 20:59:32 | × | Xnuk quits (~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in) |
| 21:00:12 | → | Xnuk joins (~xnuk@45.76.202.58) |
| 21:00:22 | <hpc> | and sometimes you aren't even allowed to pretend that multiplication is constant time, your numbers are more like Integer than Int64 |
| 21:00:54 | <davean> | hpc: absolutely! |
| 21:01:03 | <davean> | I said ALU not multiplication! :) |
| 21:01:34 | <davean> | justsomeguy: in the lamba calculus we can count things like combinator applications pretty easily for example |
| 21:02:17 | <davean> | Turing machines and lambda calculus both have sensible primative operations to talk about counting - unlike more real machines |
| 21:02:23 | <davean> | with both of them there is a natural choice. |
| 21:02:39 | <davean> | Said natural choice is irrelivent to Haskell though |
| 21:05:13 | × | adinfinitum quits (~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) (Ping timeout: 250 seconds) |
| 21:06:10 | <justsomeguy> | Heh, this all started with me reading the first chapter of HPFP (haskellbook.com), and now I've become totally diverted (in a good way) asking questions about lambda calculus. Currently reading "Beta Reduction is Invariant, Indeed". |
| 21:06:34 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 21:07:09 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 21:07:09 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 21:07:34 | allbery_b | is now known as geekosaur |
| 21:07:44 | → | HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) |
| 21:08:15 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:09:42 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:10:20 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 244 seconds) |
| 21:10:45 | <justsomeguy> | It's interesting in its own right. :^) |
| 21:11:37 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 21:14:45 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 21:14:51 | × | zeenk quits (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!) |
| 21:15:35 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 21:16:19 | <nitrix> | That chapter is intentional, to open your eyes to the functional world and just how powerful functions can be. |
| 21:16:47 | <ericson2314> | https://hackage.haskell.org/package/regex-tdfa-text should this be deprecated? |
| 21:17:03 | <ericson2314> | if regular regex-tdfa supports text now? |
| 21:18:03 | <ericson2314> | I windy road including https://github.com/Profpatsch/yarn2nix/commit/7db64eaaecf8034f26601d65a22b8a5905c81b18 led me here |
| 21:18:38 | <Profpatsch> | hello |
| 21:18:52 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:bd68:2e32:8d11:b728) (Ping timeout: 246 seconds) |
| 21:19:21 | × | niko quits (~niko@libera/staff/niko) (Quit: EOF) |
| 21:19:33 | → | egoist joins (~egoist@186.235.82.7) |
| 21:20:25 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:65ac:7b6b:22bc:47ee) |
| 21:23:26 | × | shutdown_-h_now quits (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 268 seconds) |
| 21:24:45 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 21:25:29 | → | o joins (~niko@libera/staff/niko) |
| 21:28:15 | → | jess joins (~jess@libera/staff/jess) |
| 21:30:10 | → | ystael joins (~ystael@user/ystael) |
| 21:30:12 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 21:32:33 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 244 seconds) |
| 21:32:34 | → | hendursaga joins (~weechat@user/hendursaga) |
| 21:32:55 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 21:34:46 | <ericson2314> | Profpatsch: hi |
| 21:34:52 | <ericson2314> | now i just gotta get hnix 0.13 going |
| 21:39:01 | → | shutdown_-h_now joins (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) |
| 21:39:27 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:39:54 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 21:40:02 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:44:26 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 21:44:27 | → | killsushi joins (~killsushi@user/killsushi) |
| 21:47:32 | × | michalz quits (~michalz@185.246.204.119) (Remote host closed the connection) |
| 21:53:11 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 21:58:08 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 21:58:08 | → | teaSlurper joins (~chris@81.96.113.213) |
| 21:59:08 | → | n283 joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 21:59:12 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Read error: Connection reset by peer) |
| 21:59:19 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 22:02:18 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 22:02:18 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 22:02:39 | allbery_b | is now known as geekosaur |
| 22:02:42 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 258 seconds) |
| 22:03:26 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 22:05:34 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:06:28 | × | mc47 quits (~mc47@xmonad/TheMC47) (Quit: Leaving) |
| 22:06:56 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 22:09:32 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
| 22:10:36 | → | Codaraxis joins (~Codaraxis@user/codaraxis) |
| 22:10:53 | × | chomwitt quits (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 265 seconds) |
| 22:12:00 | × | n283 quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Read error: Connection reset by peer) |
| 22:12:07 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 22:14:35 | × | dhil quits (~dhil@195.213.192.47) (Ping timeout: 258 seconds) |
| 22:14:40 | × | Codaraxis_ quits (~Codaraxis@193.32.126.157) (Ping timeout: 272 seconds) |
| 22:17:05 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds) |
| 22:17:05 | × | Morrow_ quits (~MorrowM_@147.161.9.9) (Read error: Connection reset by peer) |
| 22:17:12 | × | acidjnk quits (~acidjnk@p200300d0c72b9545f908228849627247.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 22:18:04 | → | Morrow joins (~MorrowM_@147.161.9.9) |
| 22:18:10 | ← | delYsid parts (~user@user/delYsid) (ERC (IRC client for Emacs 27.1.50)) |
| 22:24:00 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 22:26:34 | → | derelict joins (~derelict@user/derelict) |
| 22:30:57 | <sm[m]> | when parsing a datetime string including a timezone with Data.Time.Format.parseTimeM, with a return type of Maybe Day, I think it just discards the timezone. Am I right ? |
| 22:31:49 | <sm[m]> | so it you want to convert it to a local date, you should parse to Maybe UTCTime, then convert that to local date as a separate step ? |
| 22:36:30 | → | ph88^ joins (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) |
| 22:42:09 | × | junkicide quits (~user@2a01:e0a:195:20c0:91d0:f47d:73ce:dac7) (Ping timeout: 272 seconds) |
| 22:47:50 | → | egoist1 joins (~egoist@186.235.82.7) |
| 22:49:28 | <mason0> | > Nothing <|> Just "foo" |
| 22:49:29 | <lambdabot> | Just "foo" |
| 22:49:34 | <mason0> | > Nothing <> Just "foo" |
| 22:49:35 | <lambdabot> | Just "foo" |
| 22:49:40 | <mason0> | which one is preferred? |
| 22:49:58 | <hpc> | > Just "foo" <> Just "bar" |
| 22:49:59 | <lambdabot> | Just "foobar" |
| 22:50:04 | <hpc> | > Just "foo" <|> Just "bar" |
| 22:50:06 | <lambdabot> | Just "foo" |
| 22:50:08 | <mason0> | oh! |
| 22:50:08 | <hpc> | mason0: it depends |
| 22:50:15 | × | fendor quits (~fendor@91.141.57.241.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 22:50:19 | <mason0> | yeah, I definitely want <|> |
| 22:51:00 | × | egoist quits (~egoist@186.235.82.7) (Ping timeout: 265 seconds) |
| 23:02:14 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 23:04:34 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 23:05:16 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:05:26 | → | sleym joins (~sleym@185.124.240.166) |
| 23:06:11 | × | GIANTWORLDKEEPER quits (~pjetcetal@2.95.227.207) (Remote host closed the connection) |
| 23:06:32 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 23:06:37 | <xsperry> | sm[m], if the time in string is in UTC, you could do that, yes |
| 23:07:27 | → | adinfinitum joins (~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) |
| 23:08:43 | → | mikail joins (~mikail@90.212.77.3) |
| 23:08:46 | → | mikail_ joins (~mikail@90.212.77.3) |
| 23:09:00 | × | mikail_ quits (~mikail@90.212.77.3) (Remote host closed the connection) |
| 23:09:07 | <sm[m]> | xsperry: I'm getting really confused by parseTimeM's timezone handling |
| 23:09:08 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 23:09:15 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 23:09:18 | <sm[m]> | if any! |
| 23:10:24 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 23:10:26 | <mason0> | I'm pretty sure it doesn't do any |
| 23:10:51 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:10:55 | <sm[m]> | man, that should be documented |
| 23:12:54 | <mason0> | getCurrentTimeZone returns IO, parseTimeM is a pure function, so I don't think it can do any conversions, even if it wanted, with that type signature |
| 23:13:16 | <mason0> | (and using getCurrentTimeZone would be wrong anyway) |
| 23:13:23 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 23:13:54 | <sm[m]> | it seems to me the ParseTime instance for LocalTime discards parsed timezone info, but the instance for UTCTime does not: https://termbin.com/9fd5 |
| 23:14:02 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 23:14:39 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 23:14:52 | <sm[m]> | or rather: the UTCTime instance uses parsed timezone to adjust the time of day, but not the date. The LocalTime instance adjusts neither. |
| 23:15:06 | <mason0> | oh, interesting |
| 23:15:11 | <mason0> | don't mind me, then :) |
| 23:15:40 | <mason0> | I think LocalTime can't adjust for the reason I mentioned above, though. it can't know find out the current time zone without having IO signature |
| 23:17:08 | × | hiruji quits (~hiruji@user/hiruji) (Ping timeout: 252 seconds) |
| 23:17:12 | <mason0> | note that if you convert UTC to LocalTime using getCurrentTimeZone as an argument, you may get wrong result (if, for example, you are currently on summer time, but weren't at the date in the string) |
| 23:17:12 | <sm[m]> | I agree, we couldn't expect the LocalTime instance to do this with the current type signature. Should still be documented I think. |
| 23:18:39 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:18:58 | <mason0> | I agree, this should be documented |
| 23:19:07 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Ping timeout: 250 seconds) |
| 23:19:09 | <sm[m]> | mason0: yikes |
| 23:20:31 | × | azeem quits (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) (Ping timeout: 258 seconds) |
| 23:20:39 | × | Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
| 23:20:54 | <sm[m]> | how to reliably extract the local date from a timestamp, I wonder ? |
| 23:20:56 | <mason0> | since timezones, and whether there's a summer time or not, is a political decision, conversions for future dates can't even be determined |
| 23:20:58 | × | mikail quits (~mikail@90.212.77.3) (Quit: Leaving) |
| 23:21:14 | <mason0> | for past dates, see this: https://hackage.haskell.org/package/tz-0.1.3.5 |
| 23:22:10 | <geekosaur> | sm[m], in the presence of summer time/DST changes, that's always iffy |
| 23:22:29 | <sm[m]> | if I simplify and say, assume a past timestamp ? |
| 23:22:50 | <geekosaur> | you still have problems around those changes |
| 23:23:03 | <sm[m]> | mason0 do you think tz's utcToLocalTimeTZ would handle it right ? |
| 23:23:23 | <mason0> | it did for me when I had to do something similar in the past |
| 23:26:54 | × | cheater quits (~Username@user/cheater) (Quit: (BitchX) If you gaze into the abyss, the abyss gazes also into you) |
| 23:28:59 | → | hiruji joins (~hiruji@user/hiruji) |
| 23:30:31 | → | Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
| 23:31:00 | → | GIANTWORLDKEEPER joins (~pjetcetal@2.95.227.207) |
| 23:31:08 | <sm[m]> | thanks |
| 23:31:26 | <sm[m]> | I'm reporting a bug, we'll see what the time lord thinks |
| 23:37:01 | × | warnz quits (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
| 23:37:10 | → | azeem joins (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it) |
| 23:42:18 | <sm[m]> | phew, found mistakes in my paste. https://termbin.com/jhze shows the UTCTime instance works fine, adjusting the date as expected. |
| 23:44:51 | <sm[m]> | I think the result of parseTimeM ... :: Maybe UTCTime can be relied on, and it's only when you try to convert that to another time zone things can go wrong, mason0 ? |
| 23:44:55 | → | warnz joins (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
| 23:45:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 23:46:40 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds) |
| 23:46:44 | <mason0> | yes. it should work in combination with tz package |
| 23:46:50 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 23:47:34 | → | cheater joins (~Username@user/cheater) |
| 23:48:23 | → | zebrag_ joins (~chris@user/zebrag) |
| 23:48:35 | × | zebrag quits (~chris@user/zebrag) (Ping timeout: 250 seconds) |
| 23:49:07 | → | is7s joins (~is7s@2a01:4b00:895f:3d00:fd08:7a4b:2db3:57e3) |
| 23:50:19 | → | hmmmas joins (~chenqisu1@183.217.200.246) |
| 23:55:25 | × | hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
| 23:56:44 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
| 23:56:52 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 23:57:45 | → | MorrowM joins (~MorrowM_@147.161.9.7) |
| 23:58:12 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 23:59:38 | <qrpnxz> | i read that this is a free theorem for functors: `map g . f = f . map g` when f :: [a] -> [a], but i don't buy it. It doesn't hold for f = fmap (++"f") and g = (++"g") |
| 23:59:51 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
All times are in UTC on 2021-06-25.