Logs on 2022-07-04 (liberachat/#haskell)
| 00:05:54 | × | is7s quits (~is7s@2a01:4b00:895f:3d00:7d21:5e77:2c62:7a18) (Ping timeout: 252 seconds) |
| 00:06:25 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 260 seconds) |
| 00:08:03 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 00:14:30 | × | jao quits (~jao@guest2.nyenrode.nl) (Ping timeout: 264 seconds) |
| 00:14:30 | × | quarkyalice quits (~alice@user/quarkyalice) (Ping timeout: 264 seconds) |
| 00:16:31 | → | jao joins (~jao@guest2.nyenrode.nl) |
| 00:18:36 | → | causal joins (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) |
| 00:20:13 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds) |
| 00:24:10 | × | jao quits (~jao@guest2.nyenrode.nl) (Ping timeout: 240 seconds) |
| 00:30:31 | × | Me-me quits (~me-me@user/me-me) (Remote host closed the connection) |
| 00:31:14 | → | Me-me joins (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) |
| 00:31:48 | × | pleo quits (~pleo@user/pleo) (Quit: quit) |
| 00:32:42 | × | Me-me quits (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) (Changing host) |
| 00:32:42 | → | Me-me joins (~me-me@user/me-me) |
| 00:33:37 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 00:38:40 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
| 00:40:31 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 00:41:11 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 00:45:44 | × | gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 248 seconds) |
| 00:47:03 | × | machinedgod quits (~machinedg@207.228.78.115) (Ping timeout: 246 seconds) |
| 00:49:59 | → | frost joins (~frost@user/frost) |
| 00:55:48 | × | vandit quits (~vandit@87-97-25-245.pool.digikabel.hu) (Ping timeout: 246 seconds) |
| 00:56:22 | × | xff0x quits (~xff0x@2405:6580:b080:900:b378:cb37:671f:64f7) (Ping timeout: 260 seconds) |
| 00:57:30 | → | vandit joins (~vandit@84-236-40-211.pool.digikabel.hu) |
| 00:57:55 | → | Haskelytic joins (~Haskelyti@118.179.211.17) |
| 00:59:58 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 01:09:34 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
| 01:11:20 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:15:17 | → | FragByte_ joins (~christian@user/fragbyte) |
| 01:15:42 | × | FragByte quits (~christian@user/fragbyte) (Ping timeout: 264 seconds) |
| 01:15:43 | FragByte_ | is now known as FragByte |
| 01:17:27 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:24:42 | → | Inst joins (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) |
| 01:38:44 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 01:53:05 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 01:54:06 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 02:03:55 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 02:04:31 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 02:12:25 | × | epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:16:42 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329) (Remote host closed the connection) |
| 02:20:02 | → | dostoevsky7 joins (~5c42c5384@user/dostoevsky) |
| 02:21:18 | × | dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds) |
| 02:21:18 | dostoevsky7 | is now known as dostoevsky |
| 02:21:43 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
| 02:23:30 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 02:23:37 | × | lawt quits (~lawt@98.56.182.59) (Quit: WeeChat 2.8) |
| 02:24:39 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 02:28:24 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 02:33:49 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 02:34:10 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 02:35:23 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 02:37:39 | × | td_ quits (~td@muedsl-82-207-238-139.citykom.de) (Ping timeout: 246 seconds) |
| 02:38:21 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 02:39:37 | → | td_ joins (~td@94.134.91.91) |
| 02:51:28 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:51:28 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:51:28 | finn_elija | is now known as FinnElija |
| 02:51:54 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 03:02:16 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 248 seconds) |
| 03:02:49 | × | atwm quits (~atwm@81.28.193.19) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 03:03:50 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 03:05:14 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 03:05:41 | <segfaultfizzbuzz> | please feel free to mark this as offtopic, but i know you folks do some ml/statistics type work, and this is relevant to algebraic constructions as well: |
| 03:06:10 | <segfaultfizzbuzz> | i was doing some coding to calculate the entropy of something and accidentally defined the "vector entropy" |
| 03:06:36 | <segfaultfizzbuzz> | i can't find "vector entropy" defined in the literature or anywhere else, and it is simply the contribution of each outcome to the total entropy |
| 03:07:24 | <segfaultfizzbuzz> | that is to say that if you have some event probabilities p_i, conventionally you talk about the (scalar) total entropy - sum p_i*log(p_i) |
| 03:07:58 | <segfaultfizzbuzz> | and i am using the vector entropy to be e_i = -p_i*log(p_i) (no sum) |
| 03:09:29 | <segfaultfizzbuzz> | anyway so my question is, does this have a name somewhere |
| 03:09:35 | × | vandit quits (~vandit@84-236-40-211.pool.digikabel.hu) (Ping timeout: 260 seconds) |
| 03:10:05 | <segfaultfizzbuzz> | i kinda think that the vector entropy should have some nice properties as compared to an ordinary vector of probabilities |
| 03:11:11 | → | vandit joins (~vandit@84-236-60-90.pool.digikabel.hu) |
| 03:15:36 | <segfaultfizzbuzz> | i think this is maybe re-defining entropy here as a functor... and now i am finding a few search results on that but still don't have a clear picture |
| 03:17:10 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) |
| 03:17:32 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 03:21:18 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) (Ping timeout: 240 seconds) |
| 03:34:08 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) |
| 03:34:21 | → | whatsupboy joins (~whatsupbo@user/scobydoo) |
| 03:40:02 | × | Haskelytic quits (~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds) |
| 03:43:37 | × | frost quits (~frost@user/frost) (Quit: Client closed) |
| 03:44:00 | → | frost joins (~frost@user/frost) |
| 03:48:03 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds) |
| 03:48:34 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:52:21 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
| 03:57:27 | → | jargon joins (~jargon@184.101.208.36) |
| 04:00:18 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 04:00:46 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 04:01:26 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 04:07:07 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 04:07:07 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 04:07:57 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 04:09:06 | × | Vajb quits (~Vajb@2001:999:58c:b683:1e3e:e86f:8cdc:e10) (Read error: Connection reset by peer) |
| 04:09:44 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
| 04:10:46 | → | michalz joins (~michalz@185.246.204.94) |
| 04:10:46 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 04:10:55 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 04:12:28 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 04:15:02 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Read error: Connection reset by peer) |
| 04:15:31 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 04:16:50 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 04:17:15 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
| 04:17:16 | → | Vajb joins (~Vajb@2001:999:58c:b683:1e3e:e86f:8cdc:e10) |
| 04:17:22 | × | lambdap2 quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap2) |
| 04:17:58 | → | lambdap23 joins (~lambdap@static.167.190.119.168.clients.your-server.de) |
| 04:22:54 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 04:23:21 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 04:25:10 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 240 seconds) |
| 04:26:13 | × | nonzen quits (~nonzen@user/nonzen) (*.net *.split) |
| 04:26:13 | × | _\_ quits (~o@user/offon) (*.net *.split) |
| 04:26:13 | × | degraafk quits (sid71464@2a03:5180:f:2::1:1728) (*.net *.split) |
| 04:26:13 | × | T_S_ quits (sid501726@2a03:5180:f:5::7:a7de) (*.net *.split) |
| 04:26:13 | × | glowcoil quits (sid3405@2a03:5180:f::d4d) (*.net *.split) |
| 04:26:13 | × | lisq quits (~quassel@lis.moe) (*.net *.split) |
| 04:26:13 | × | edwtjo quits (~edwtjo@fsf/member/edwtjo) (*.net *.split) |
| 04:26:13 | × | Franciman quits (~Franciman@mx1.fracta.dev) (*.net *.split) |
| 04:26:13 | × | S11001001 quits (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split) |
| 04:26:13 | × | enemeth79 quits (sid309041@id-309041.lymington.irccloud.com) (*.net *.split) |
| 04:26:13 | × | sooch_ quits (sid533113@id-533113.hampstead.irccloud.com) (*.net *.split) |
| 04:26:13 | × | xnbya quits (~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split) |
| 04:26:13 | × | astra quits (sid289983@user/amish) (*.net *.split) |
| 04:26:13 | × | amir quits (sid22336@user/amir) (*.net *.split) |
| 04:26:13 | × | mustafa quits (sid502723@rockylinux/releng/mustafa) (*.net *.split) |
| 04:26:13 | × | jackhill quits (~jackhill@kalessin.dragonsnail.net) (*.net *.split) |
| 04:26:13 | × | oats quits (~thomas@user/oats) (*.net *.split) |
| 04:26:13 | × | mxs quits (~mxs@user/mxs) (*.net *.split) |
| 04:26:13 | × | acro quits (~acro@user/acro) (*.net *.split) |
| 04:26:13 | × | dixie quits (~dixie@real.wilbury.sk) (*.net *.split) |
| 04:26:13 | × | red-snail quits (~snail@static.151.210.203.116.clients.your-server.de) (*.net *.split) |
| 04:26:13 | × | Noinia quits (~Frank@77-162-168-71.fixed.kpn.net) (*.net *.split) |
| 04:26:13 | × | SoF quits (~skius@user/skius) (*.net *.split) |
| 04:26:20 | → | mxs joins (~mxs@user/mxs) |
| 04:26:21 | → | jackhill joins (~jackhill@kalessin.dragonsnail.net) |
| 04:26:21 | → | sooch_ joins (sid533113@id-533113.hampstead.irccloud.com) |
| 04:26:21 | → | xnbya joins (~xnbya@2a01:4f8:c17:cbdd::1) |
| 04:26:22 | → | dixie joins (~dixie@real.wilbury.sk) |
| 04:26:25 | → | Noinia joins (~Frank@77-162-168-71.fixed.kpn.net) |
| 04:26:26 | → | lisq joins (~quassel@lis.moe) |
| 04:26:29 | → | amir joins (sid22336@user/amir) |
| 04:26:31 | → | edwtjo joins (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) |
| 04:26:36 | → | glowcoil joins (sid3405@id-3405.tinside.irccloud.com) |
| 04:26:45 | → | degraafk joins (sid71464@id-71464.lymington.irccloud.com) |
| 04:26:51 | → | Franciman joins (~Franciman@mx1.fracta.dev) |
| 04:26:53 | × | edwtjo quits (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host) |
| 04:26:53 | → | edwtjo joins (~edwtjo@fsf/member/edwtjo) |
| 04:27:05 | → | _\_ joins (~o@user/offon) |
| 04:27:12 | → | S11001001 joins (sid42510@id-42510.ilkley.irccloud.com) |
| 04:27:19 | → | oats joins (~thomas@user/oats) |
| 04:27:20 | → | T_S_ joins (sid501726@id-501726.uxbridge.irccloud.com) |
| 04:27:20 | → | enemeth79 joins (sid309041@id-309041.lymington.irccloud.com) |
| 04:27:23 | → | mustafa joins (sid502723@rockylinux/releng/mustafa) |
| 04:27:24 | → | nonzen joins (~nonzen@user/nonzen) |
| 04:27:30 | → | acro joins (~acro@user/acro) |
| 04:27:31 | → | red-snail joins (~snail@static.151.210.203.116.clients.your-server.de) |
| 04:27:35 | → | astra joins (sid289983@id-289983.hampstead.irccloud.com) |
| 04:29:01 | → | pseigo joins (~pseigo@d108-173-20-33.abhsia.telus.net) |
| 04:29:01 | × | pseigo quits (~pseigo@d108-173-20-33.abhsia.telus.net) (Changing host) |
| 04:29:01 | → | pseigo joins (~pseigo@user/pseigo) |
| 04:29:14 | → | quarkyalice joins (~alice@user/quarkyalice) |
| 04:31:19 | → | nate4 joins (~nate@98.45.169.16) |
| 04:34:24 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 04:36:42 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 272 seconds) |
| 04:37:26 | × | ircbrowse_tom quits (~ircbrowse@static.162.49.55.162.clients.your-server.de) (ZNC 1.7.5+deb4 - https://znc.in) |
| 04:38:19 | → | ircbrowse_tom joins (~ircbrowse@2a01:4f8:1c1c:9319::1) |
| 04:38:19 | Server | sets mode +Cnt |
| 04:38:29 | → | _0x47_ joins (sid508683@2a03:5180:f::7:c30b) |
| 04:38:32 | → | Adeon joins (sid418992@id-418992.lymington.irccloud.com) |
| 04:38:33 | → | PotatoGim joins (sid99505@id-99505.lymington.irccloud.com) |
| 04:38:42 | → | iphy joins (sid67735@id-67735.lymington.irccloud.com) |
| 04:38:42 | → | vito joins (sid1962@user/vito) |
| 04:38:42 | → | ephemient joins (uid407513@id-407513.lymington.irccloud.com) |
| 04:38:47 | → | lally joins (sid388228@id-388228.uxbridge.irccloud.com) |
| 04:38:47 | → | aforemny joins (~aforemny@static.248.158.34.188.clients.your-server.de) |
| 04:38:49 | → | erisco joins (~erisco@d24-57-249-233.home.cgocable.net) |
| 04:38:50 | → | adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) |
| 04:38:51 | → | jakesyl___ joins (sid56879@id-56879.hampstead.irccloud.com) |
| 04:38:52 | → | Square joins (~a@user/square) |
| 04:39:03 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 04:40:09 | × | pseigo quits (~pseigo@user/pseigo) (Ping timeout: 246 seconds) |
| 04:41:35 | → | Haskelytic joins (~Haskelyti@118.179.211.17) |
| 04:41:48 | → | pseigo joins (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net) |
| 04:41:48 | × | pseigo quits (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net) (Changing host) |
| 04:41:48 | → | pseigo joins (~pseigo@user/pseigo) |
| 04:47:33 | × | Haskelytic quits (~Haskelyti@118.179.211.17) (Quit: Client closed) |
| 04:54:39 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 04:54:57 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 04:57:32 | → | Haskelytic joins (~Haskelyti@118.179.211.17) |
| 04:59:37 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
| 05:05:22 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 05:08:30 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 05:12:50 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds) |
| 05:14:51 | → | acidjnk joins (~acidjnk@dynamic-046-114-168-149.46.114.pool.telefonica.de) |
| 05:14:55 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 05:15:45 | → | king_gs joins (~Thunderbi@187.201.228.209) |
| 05:18:19 | × | Inst quits (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) (Remote host closed the connection) |
| 05:18:37 | → | Inst joins (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) |
| 05:19:50 | × | vandit quits (~vandit@84-236-60-90.pool.digikabel.hu) (Ping timeout: 240 seconds) |
| 05:21:53 | → | vandit joins (~vandit@87-97-82-184.pool.digikabel.hu) |
| 05:23:17 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 05:25:28 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 05:25:55 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 05:29:57 | × | phma quits (~phma@host-67-44-208-148.hnremote.net) (Read error: Connection reset by peer) |
| 05:30:56 | → | phma joins (phma@2001:5b0:2172:f7b8:2f4:5a75:42c4:5ae8) |
| 05:32:02 | → | dknite joins (~dknite@49.37.45.188) |
| 05:32:02 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 05:32:14 | × | Haskelytic quits (~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds) |
| 05:32:46 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 05:33:31 | × | dknite quits (~dknite@49.37.45.188) (Quit: Konversation terminated!) |
| 05:33:50 | → | dknite joins (~dknite@49.37.45.188) |
| 05:39:00 | × | jargon quits (~jargon@184.101.208.36) (Remote host closed the connection) |
| 05:46:56 | × | king_gs quits (~Thunderbi@187.201.228.209) (Read error: Connection reset by peer) |
| 05:48:00 | → | king_gs joins (~Thunderbi@187.201.228.209) |
| 05:49:45 | × | acidjnk quits (~acidjnk@dynamic-046-114-168-149.46.114.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 05:50:22 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
| 05:50:37 | × | king_gs quits (~Thunderbi@187.201.228.209) (Client Quit) |
| 05:55:14 | → | coot joins (~coot@213.134.190.95) |
| 05:57:49 | → | mbuf joins (~Shakthi@122.164.12.120) |
| 06:01:34 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 06:02:18 | × | jinsun quits (~jinsun@user/jinsun) (Ping timeout: 240 seconds) |
| 06:03:03 | → | Midjak joins (~Midjak@82.66.147.146) |
| 06:04:18 | × | [exa] quits (exa@srv3.blesmrt.net) (Changing host) |
| 06:04:18 | → | [exa] joins (exa@user/exa/x-3587197) |
| 06:06:17 | → | jinsun joins (~jinsun@user/jinsun) |
| 06:14:45 | → | gmg joins (~user@user/gehmehgeh) |
| 06:16:48 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 276 seconds) |
| 06:18:15 | → | mmhat joins (~mmh@p200300f1c709078dee086bfffe095315.dip0.t-ipconnect.de) |
| 06:22:00 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 06:22:17 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 06:35:28 | → | yoneda joins (~mike@193.206.102.122) |
| 06:35:39 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 246 seconds) |
| 06:36:21 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 06:36:57 | → | gmg joins (~user@user/gehmehgeh) |
| 06:39:09 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 246 seconds) |
| 06:48:58 | → | newsham joins (~newsham@2603-800c-2d00-e994-057b-eded-874b-b8f5.res6.spectrum.com) |
| 06:52:32 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 06:52:50 | × | mbuf quits (~Shakthi@122.164.12.120) (Ping timeout: 240 seconds) |
| 06:53:51 | → | cfricke joins (~cfricke@user/cfricke) |
| 06:54:18 | → | MajorBiscuit joins (~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) |
| 06:55:10 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 06:56:23 | → | chomwitt joins (~chomwitt@2a02:587:dc17:ef00:b970:eb1f:3e6:5c29) |
| 06:57:22 | → | acidjnk joins (~acidjnk@dynamic-046-114-168-149.46.114.pool.telefonica.de) |
| 06:57:42 | → | mbuf joins (~Shakthi@122.164.11.134) |
| 07:00:34 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:01:44 | → | quarkyalice_ joins (~alice@172.79.64.198) |
| 07:01:44 | × | quarkyalice_ quits (~alice@172.79.64.198) (Changing host) |
| 07:01:44 | → | quarkyalice_ joins (~alice@user/quarkyalice/x-8092822) |
| 07:02:09 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:5081:f59:6378:2cfd) |
| 07:04:45 | × | quarkyalice quits (~alice@user/quarkyalice) (Ping timeout: 268 seconds) |
| 07:05:19 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 07:07:42 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 07:08:38 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 07:11:55 | × | jinsun quits (~jinsun@user/jinsun) () |
| 07:12:06 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 264 seconds) |
| 07:12:15 | → | jinsun joins (~jinsun@user/jinsun) |
| 07:14:24 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 07:18:38 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:21:06 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 264 seconds) |
| 07:22:45 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 07:22:54 | × | vandit quits (~vandit@87-97-82-184.pool.digikabel.hu) (Ping timeout: 264 seconds) |
| 07:23:23 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:23:58 | → | ccntrq joins (~Thunderbi@p200300c8672791005a3ca8e8619db20b.dip0.t-ipconnect.de) |
| 07:24:30 | → | vandit joins (~vandit@92-249-193-162.pool.digikabel.hu) |
| 07:25:07 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 268 seconds) |
| 07:26:00 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 07:27:47 | × | mbuf quits (~Shakthi@122.164.11.134) (Ping timeout: 256 seconds) |
| 07:30:17 | × | shriekingnoise quits (~shrieking@201.212.175.181) (Quit: Quit) |
| 07:30:26 | → | mbuf joins (~Shakthi@122.164.15.134) |
| 07:32:12 | × | acidjnk quits (~acidjnk@dynamic-046-114-168-149.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 07:32:39 | → | benin0 joins (~benin@183.82.27.194) |
| 07:36:18 | → | acidjnk joins (~acidjnk@dynamic-046-114-168-149.46.114.pool.telefonica.de) |
| 07:39:53 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:41:17 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 07:44:33 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 276 seconds) |
| 07:45:14 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 07:45:55 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 256 seconds) |
| 07:47:28 | → | mixfix41 joins (~slackarti@user/mixfix41) |
| 07:48:10 | × | acidjnk quits (~acidjnk@dynamic-046-114-168-149.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 07:48:44 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Client Quit) |
| 07:49:26 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 07:49:53 | → | acidjnk joins (~acidjnk@dynamic-046-114-168-149.46.114.pool.telefonica.de) |
| 07:50:49 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:51:01 | → | machinedgod joins (~machinedg@207.228.78.131) |
| 07:52:35 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:57:14 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Quit: Client closed) |
| 08:00:02 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 08:00:35 | → | fserucas joins (~fserucas@136.65.114.89.rev.vodafone.pt) |
| 08:00:37 | → | notzmv joins (~zmv@user/notzmv) |
| 08:00:48 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 08:02:30 | → | christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
| 08:04:56 | → | __monty__ joins (~toonn@user/toonn) |
| 08:07:47 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 08:08:52 | → | dschrempf joins (~dominik@mobiledyn-62-240-134-178.mrsn.at) |
| 08:12:59 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 08:16:06 | → | Tops joins (~Tops@host-82-135-30-3.customer.m-online.net) |
| 08:16:24 | × | dschrempf quits (~dominik@mobiledyn-62-240-134-178.mrsn.at) (Quit: WeeChat 3.5) |
| 08:17:09 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 246 seconds) |
| 08:21:36 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 276 seconds) |
| 08:22:01 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 08:22:47 | → | alp joins (~alp@user/alp) |
| 08:26:25 | → | Tuplanolla joins (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) |
| 08:29:20 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:32:23 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 08:33:41 | → | nate4 joins (~nate@98.45.169.16) |
| 08:34:11 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 08:38:30 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 264 seconds) |
| 08:39:02 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:39:20 | → | vglfr joins (~vglfr@88.155.102.174) |
| 08:42:49 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds) |
| 08:44:44 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 08:47:53 | × | Tops quits (~Tops@host-82-135-30-3.customer.m-online.net) (Quit: Client closed) |
| 08:48:10 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
| 08:49:52 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 08:50:35 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 08:50:44 | → | dschrempf joins (~dominik@mobiledyn-62-240-134-178.mrsn.at) |
| 09:01:19 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 09:02:18 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
| 09:05:49 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 256 seconds) |
| 09:06:57 | × | dschrempf quits (~dominik@mobiledyn-62-240-134-178.mrsn.at) (Ping timeout: 256 seconds) |
| 09:10:46 | → | dcoutts joins (~duncan@host-92-23-41-52.as13285.net) |
| 09:11:31 | → | CiaoSen joins (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 09:11:40 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:13:30 | × | m1dnight quits (~christoph@78-22-9-5.access.telenet.be) (Ping timeout: 246 seconds) |
| 09:14:43 | × | dknite quits (~dknite@49.37.45.188) (Quit: Konversation terminated!) |
| 09:14:57 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:15:24 | → | `2jt joins (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) |
| 09:18:51 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 09:21:22 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 09:26:30 | × | dcoutts quits (~duncan@host-92-23-41-52.as13285.net) (Ping timeout: 264 seconds) |
| 09:26:39 | → | davidOhNo joins (~davidOhNo@d24-150-176-203.home.cgocable.net) |
| 09:27:08 | <davidOhNo> | hello. is this the channel where haskell beginners can ask stupid questions when we run into confusion? |
| 09:28:23 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 09:29:03 | → | kuribas joins (~user@silversquare.silversquare.eu) |
| 09:29:53 | <yushyin> | yes, ask away, someone will answer eventually |
| 09:30:11 | <davidOhNo> | oh, i just saw ten seconds ago that there is a #haskell-beginners channel somewhere, too |
| 09:30:18 | <davidOhNo> | maybe i should be in that chatroom instead? |
| 09:30:30 | × | alp quits (~alp@user/alp) (Ping timeout: 276 seconds) |
| 09:30:47 | <davidOhNo> | (oh wait, haskell-beginners is a mailing list, not a chatroom) |
| 09:31:49 | <davidOhNo> | i am going through the Haskell wikibook. in section 14.1.5 , there is an example that is my first encounter with an "unnamed function". |
| 09:31:53 | <davidOhNo> | the line looks like: |
| 09:32:10 | × | vandit quits (~vandit@92-249-193-162.pool.digikabel.hu) (Ping timeout: 240 seconds) |
| 09:32:15 | <davidOhNo> | echoes = foldr (\ x xs -> (replicate x x) ++ xs) [] |
| 09:32:17 | <yushyin> | davidOhNo: you can ask in both channels, sometimes this channel has a lot of traffic and your question can then sometimes get lost. -beginners is a more low-traffic channel |
| 09:32:37 | <davidOhNo> | and i got a little worried because there is no type signature! |
| 09:32:43 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 09:32:46 | <davidOhNo> | (ie no type signature for the unnamed function) |
| 09:33:01 | <yushyin> | however, it is perfectly ok to ask beginner questions here |
| 09:33:13 | <davidOhNo> | so my questions are 1) is there a way for a Haskell programmer to add a type signature to an unnamed function? |
| 09:33:16 | <davidOhNo> | and 2) |
| 09:33:27 | <merijn> | davidOhNo: Yes, but it's a bit inconvenient |
| 09:33:40 | <merijn> | > (\x -> x) True |
| 09:33:42 | <lambdabot> | True |
| 09:33:51 | <merijn> | > ((\x -> x) :: Int -> Int) True |
| 09:33:53 | <lambdabot> | error: |
| 09:33:53 | <lambdabot> | • Couldn't match expected type ‘Int’ with actual type ‘Bool’ |
| 09:33:53 | <lambdabot> | • In the first argument of ‘(\ x -> x) :: Int -> Int’, namely |
| 09:33:56 | <merijn> | > ((\x -> x) :: Int -> Int) 5 |
| 09:33:57 | <lambdabot> | 5 |
| 09:34:07 | → | vandit joins (~vandit@193-226-233-54.pool.digikabel.hu) |
| 09:34:22 | → | dknite joins (~dknite@49.37.45.188) |
| 09:34:23 | <davidOhNo> | when a programmer sees an unnamed function like the one i typed out, is it really true that they have to look at the function definition in order to make a guess of what the type signature is? |
| 09:34:39 | <davidOhNo> | that is, i'm guessing xs has to be a list, because, um .. maybe ++ only works for lists? |
| 09:35:06 | <merijn> | davidOhNo: yeah |
| 09:35:19 | <merijn> | (for both questions ;)) |
| 09:35:34 | <davidOhNo> | oh wow. my poor brain. |
| 09:35:40 | → | king_gs joins (~Thunderbi@2806:103e:29:12be:accf:d6c3:d87:7820) |
| 09:35:49 | <davidOhNo> | my brain feels like it's already melting when i'm given the type signature, haha. |
| 09:36:02 | <merijn> | in practice unnamed functions that aren't trivial are fairly rare |
| 09:36:07 | <davidOhNo> | ok, what can i google to find out how to give a type signature when writing out an anonymous function? |
| 09:36:18 | <davidOhNo> | (i tried googling it but i failed) |
| 09:36:39 | <merijn> | davidOhNo: Realistically, the easiest solution was "turn it into a named function and add a type to that" (that's what I would do( |
| 09:36:48 | <dknite> | If you have to put a type signature on an unnamed function, its time to name it :) |
| 09:36:59 | <merijn> | davidOhNo: You can simply add parentheses with a type annotation like I did a few lines back |
| 09:37:10 | <merijn> | but I wouldn't generally consider doing that |
| 09:37:10 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 09:37:17 | <davidOhNo> | merijn: oh sorry, i didn't know that a response! i'll read it now. |
| 09:37:29 | <dknite> | Unnamed functions work well only with really simply functions |
| 09:37:31 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:38:21 | <davidOhNo> | ah, i see. it doesn't seem messy at all, actually |
| 09:38:39 | <davidOhNo> | dknite: what is "simple" to the writer might not be so "simple" to a beginner ;) |
| 09:38:55 | <davidOhNo> | certainly, the example in the wikibook that they gave for the first introduction to unnamed functions .. wasn't so simple for me. |
| 09:39:34 | <Lears> | davidOhNo: an anonymous function is generally an argument to another function (like foldr here). That being the case, you can focus on the type of foldr, which contains the type of the function it expects (in its most general form). |
| 09:39:40 | <davidOhNo> | [actually, the book just threw the concept in, as if it would be trivial to understand, when talking about a /different/ and new concept. it's so hard for dummies like me to keep up, when textbooks introduce more than one concept at a time...] |
| 09:40:36 | <dknite> | davidOhNo: I'd say that if you're new to Haskell, then "Learn You a Haskell" (http://learnyouahaskell.com/chapters) is better for learning |
| 09:40:40 | <davidOhNo> | @Lears: oh, that does make some sense, for at least to help me see what the "rightmost" type would be in the type signature of the unnamed function. |
| 09:40:40 | <lambdabot> | Unknown command, try @list |
| 09:40:44 | <dknite> | The wikibook is a bit terse |
| 09:40:54 | <davidOhNo> | Lears: oh, that does make some sense, for at least to help me see what the "rightmost" type would be in the type signature of the unnamed function. |
| 09:41:10 | <davidOhNo> | i also notice you all are calling it an "anonymous function", while the book is calling it an "unnamed function". |
| 09:41:23 | <Lears> | They're synonyms. |
| 09:41:26 | <davidOhNo> | [i find the wikibook a /lot/ more easy to understand than Haskell From First Principles, though, which i'm kind of sad i bought] |
| 09:42:10 | <davidOhNo> | i wonder if the wikibook is still open to taking suggestions for edits. i do mostly like their organization, but there are a few places where programming jargon, or even unusual English words, make it hard to understand. |
| 09:42:19 | <davidOhNo> | (ie, hard to understand for someone who has never done programming in their life) |
| 09:42:30 | <davidOhNo> | the recursion section took me a while to understand, for example, haha |
| 09:45:48 | <davidOhNo> | thanks for your help everyone. bye. |
| 09:46:33 | × | davidOhNo quits (~davidOhNo@d24-150-176-203.home.cgocable.net) (Remote host closed the connection) |
| 09:47:10 | × | mmhat quits (~mmh@p200300f1c709078dee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 09:47:39 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 09:50:16 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 09:51:10 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds) |
| 09:54:18 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 240 seconds) |
| 09:54:58 | → | alp joins (~alp@user/alp) |
| 09:55:41 | → | kenaryn joins (~aurele@89-88-44-27.abo.bbox.fr) |
| 09:55:51 | × | benin0 quits (~benin@183.82.27.194) (Ping timeout: 246 seconds) |
| 09:56:56 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 255 seconds) |
| 09:57:24 | → | benin0 joins (~benin@183.82.26.81) |
| 09:58:37 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:59:02 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 10:00:58 | → | mmhat joins (~mmh@p200300f1c70907b2ee086bfffe095315.dip0.t-ipconnect.de) |
| 10:01:42 | → | mattil joins (~mattil@87-92-125-136.bb.dnainternet.fi) |
| 10:02:22 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 10:04:49 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 10:05:35 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Client Quit) |
| 10:06:21 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds) |
| 10:07:53 | × | mattil quits (~mattil@87-92-125-136.bb.dnainternet.fi) (Remote host closed the connection) |
| 10:08:26 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 10:09:18 | × | kenaryn quits (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 10:09:45 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:10:09 | × | CiaoSen quits (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 10:11:35 | <sm> | isn't it editable ? |
| 10:11:50 | × | vglfr quits (~vglfr@88.155.102.174) (Ping timeout: 240 seconds) |
| 10:12:20 | <sm> | ..yes, go for it ! |
| 10:16:37 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 10:18:51 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 10:19:38 | <kuribas> | most haskell material assumes some other programming knowledge. |
| 10:21:45 | → | vglfr joins (~vglfr@88.155.102.174) |
| 10:22:22 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 10:24:01 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Ping timeout: 256 seconds) |
| 10:26:39 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 246 seconds) |
| 10:28:00 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 276 seconds) |
| 10:34:26 | → | haritz joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
| 10:34:26 | × | haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
| 10:34:26 | → | haritz joins (~hrtz@user/haritz) |
| 10:37:05 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 10:37:44 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 10:41:10 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Ping timeout: 240 seconds) |
| 10:41:50 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 10:43:19 | → | mattil joins (~mattil@87-92-125-136.bb.dnainternet.fi) |
| 10:45:44 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 10:46:18 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds) |
| 10:48:24 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 10:49:50 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Ping timeout: 240 seconds) |
| 10:52:34 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 10:52:45 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) (Remote host closed the connection) |
| 10:54:48 | × | mattil quits (~mattil@87-92-125-136.bb.dnainternet.fi) (Remote host closed the connection) |
| 10:55:38 | × | bgamari quits (~bgamari@64.223.226.161) (Ping timeout: 240 seconds) |
| 10:55:57 | → | bgamari joins (~bgamari@64.223.170.242) |
| 11:00:24 | <Profpatsch> | I’m searching for a Constraint IsElem (e :: k) (ls :: '[k]) |
| 11:02:25 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 11:05:21 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 11:06:59 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 11:09:48 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 11:11:50 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Ping timeout: 240 seconds) |
| 11:11:51 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 11:13:50 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 240 seconds) |
| 11:21:57 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 246 seconds) |
| 11:29:58 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 11:30:14 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:30:55 | × | alexhandy quits (~trace@user/trace) (Read error: Connection reset by peer) |
| 11:31:03 | → | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 11:31:07 | → | alexhandy joins (~trace@user/trace) |
| 11:31:37 | → | xff0x joins (~xff0x@2405:6580:b080:900:53be:95fe:7f48:21cc) |
| 11:31:50 | → | acidjnk_new joins (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) |
| 11:32:50 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 11:33:09 | × | vglfr quits (~vglfr@88.155.102.174) (Ping timeout: 246 seconds) |
| 11:34:54 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 11:35:18 | × | acidjnk quits (~acidjnk@dynamic-046-114-168-149.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 11:35:57 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Ping timeout: 276 seconds) |
| 11:36:04 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 11:36:37 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 11:38:33 | × | vandit quits (~vandit@193-226-233-54.pool.digikabel.hu) (Ping timeout: 276 seconds) |
| 11:39:14 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Client Quit) |
| 11:39:42 | → | vandit joins (~vandit@94-21-174-89.pool.digikabel.hu) |
| 11:40:21 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 11:42:04 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Client Quit) |
| 11:42:14 | × | king_gs quits (~Thunderbi@2806:103e:29:12be:accf:d6c3:d87:7820) (Ping timeout: 255 seconds) |
| 11:42:20 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
| 11:44:56 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 11:46:09 | × | mmhat quits (~mmh@p200300f1c70907b2ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.5) |
| 11:46:17 | × | dknite quits (~dknite@49.37.45.188) (Quit: Konversation terminated!) |
| 11:46:19 | → | CiaoSen joins (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:47:00 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
| 11:50:54 | × | `2jt quits (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Ping timeout: 276 seconds) |
| 11:51:45 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 11:53:08 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) |
| 11:54:48 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
| 11:56:24 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 11:58:26 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) (Ping timeout: 255 seconds) |
| 11:59:45 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 12:00:02 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 12:00:44 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 12:01:33 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 12:02:33 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds) |
| 12:03:01 | → | NaturalNumber joins (~monadam@137.229.82.64) |
| 12:03:08 | → | NaturalNumber123 joins (~monadam@137.229.82.64) |
| 12:03:14 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Client Quit) |
| 12:04:03 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 12:04:49 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 12:05:39 | <NaturalNumber123> | does anyone have any advice for installing emacs with native compilation? |
| 12:06:30 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 276 seconds) |
| 12:08:01 | <NaturalNumber123> | oops, i now see that the emacswiki recommends a channel. |
| 12:08:49 | → | `2jt joins (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) |
| 12:09:28 | <geekosaur> | was wondering. last time I installed emacs compiling it myself was 1988 >.> |
| 12:12:11 | → | vglfr joins (~vglfr@88.155.102.174) |
| 12:12:52 | → | adrazalan joins (~adrazalan@42.191.189.65) |
| 12:13:18 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds) |
| 12:14:00 | → | coot joins (~coot@213.134.190.95) |
| 12:15:09 | <Axman6> | Profpatsch: it;'s pretty easy to wright - I'm sure there's agood library which provides it but I can never remember what it or they are |
| 12:15:18 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 12:15:57 | → | NN123 joins (~monadam@137.229.82.64) |
| 12:16:36 | <Axman6> | write even |
| 12:16:47 | <Axman6> | shouldn't IRC after cocktails |
| 12:17:38 | <merijn> | That's one of the best times :p |
| 12:17:50 | × | NaturalNumber123 quits (~monadam@137.229.82.64) (Ping timeout: 240 seconds) |
| 12:17:50 | × | NaturalNumber quits (~monadam@137.229.82.64) (Ping timeout: 240 seconds) |
| 12:17:56 | → | NaturalNumber joins (~monadam@137.229.82.64) |
| 12:20:53 | <Profpatsch> | Axman6: I found one in HList, but it’s too much over my head |
| 12:21:06 | <Profpatsch> | I noticed I actually want to have some values as well, not just a list of Symbol |
| 12:21:24 | <Profpatsch> | So what I’m gonna do is just (ab)use the type level list stuff from superrecord |
| 12:21:44 | <Profpatsch> | And have all the value level primitives be `undefined` |
| 12:21:49 | → | dschrempf joins (~dominik@mobiledyn-62-240-134-178.mrsn.at) |
| 12:22:10 | <Profpatsch> | (I just need it for having a list of permissions on the type level, for a capability-inspired system) |
| 12:22:58 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 268 seconds) |
| 12:24:11 | × | pseigo quits (~pseigo@user/pseigo) (Quit: left) |
| 12:24:25 | → | pseigo joins (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net) |
| 12:24:26 | × | pseigo quits (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net) (Changing host) |
| 12:24:26 | → | pseigo joins (~pseigo@user/pseigo) |
| 12:24:32 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 12:27:10 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
| 12:27:35 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 12:27:44 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 12:29:29 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 12:30:30 | × | CiaoSen quits (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 12:33:18 | <mon_aaraj> | I'm having an issue with the sdl2 bindings in haskell. I'm trying to 1. paint a different background color 2. introduce a sprite using sdl2_image. The issue is that the result I'm getting is kind of a seizure generator. So, be warned. Compiling and running this code could result in epilepsy https://bpa.st/GNDQ |
| 12:34:25 | <mon_aaraj> | What this does is first, set the background to be blue; secondly, it puts in the breaker.png image.. the issue is that when it puts the image, the background becomes black again. And then the background is set to blue, then the breaker.png with a black bg; and it repeats. |
| 12:35:13 | → | nate4 joins (~nate@98.45.169.16) |
| 12:35:26 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 12:36:40 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 12:36:46 | <merijn> | mon_aaraj: Quickly going over the SDL graphics it looks like you're asking it to "blank the screen", then immediately render an image, then loop back |
| 12:36:54 | <merijn> | Which, uh, sounds like a seizure generator, sure |
| 12:37:00 | <merijn> | So "don't do that then"? |
| 12:37:06 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 12:37:47 | <mon_aaraj> | well, i assume by "blank the screen", you mean the "clear renderer" function; but if I don't call that, then the background color is never printed |
| 12:37:55 | <mon_aaraj> | how else would i paint the bg color? |
| 12:38:07 | <merijn> | mon_aaraj: present docs say: "Update the screen with any rendering performed since the previous call." |
| 12:38:20 | <merijn> | mon_aaraj: So present is rendering the freshly cleared screen |
| 12:38:27 | <merijn> | And then you add an image an render that too |
| 12:38:38 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 12:38:47 | × | toluene0 quits (~toluene@user/toulene) (Quit: Ping timeout (120 seconds)) |
| 12:38:48 | <merijn> | so you're updating to a completely blank, coloured background, rendering that, *then* rendering an image |
| 12:39:05 | <merijn> | Which sounds (to me like) "alternating between showing an image and a blank screen every other frame" |
| 12:39:22 | <mon_aaraj> | so you're saying i need to `present renderer` after putting the image onto the screen? |
| 12:39:37 | × | NaturalNumber quits (~monadam@137.229.82.64) (Remote host closed the connection) |
| 12:39:37 | × | NN123 quits (~monadam@137.229.82.64) (Remote host closed the connection) |
| 12:39:42 | <merijn> | I haven't read the docs in enough detail to know the correct answer |
| 12:39:49 | <merijn> | but my intuition says "yes" |
| 12:40:07 | <mon_aaraj> | yeah, figured as much. because i already tried `present renderer` *after* drawing the image, which provides the exact same result |
| 12:40:18 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
| 12:40:19 | → | toluene joins (~toluene@user/toulene) |
| 12:40:38 | <mon_aaraj> | here's the code where the line is moved: https://bpa.st/WDHA |
| 12:41:02 | <mon_aaraj> | i in-fact moved my code a lot, not one combination made it any better |
| 12:41:12 | <merijn> | But also, that seems...a very tight loop for rendering |
| 12:42:47 | <mon_aaraj> | how do you mean? |
| 12:43:22 | <merijn> | mon_aaraj: The recursion in appLoop *immediately* redoes the rendering you just did |
| 12:43:27 | <merijn> | That...sounds wrong :) |
| 12:44:01 | <mon_aaraj> | yes, because if i don't run it as a loop the window will close immediately |
| 12:44:48 | <mon_aaraj> | which i could add a delay like.. im not sure, of 10 seconds by default? but generally an apploop seems like a better way to do things, in my very unexperienced and likely incorrect opinion |
| 12:45:03 | <mon_aaraj> | but if you do have any ideas, i'll be very thankful if you do tell |
| 12:46:01 | <merijn> | I mean, it's not wrong to loop. But you'd ideally wait until you actually have to change something :p |
| 12:46:21 | <merijn> | Redrawing the same picture "as fast as your CPU will allow" is generally "suboptimal" ;) |
| 12:46:42 | <mon_aaraj> | yep, i know! this isn't exactly production quality software currently |
| 12:46:46 | <merijn> | You'd normally sleep until something needs updating |
| 12:46:59 | <mon_aaraj> | it's just me trying things the easy way until i get how this works |
| 12:47:20 | <merijn> | If you add a "threadDelay 10e9" before the recursion, does it still turn into a seizure generator? :p |
| 12:47:36 | <mon_aaraj> | a very slow one, but that doesn't solve the problem either way.. |
| 12:47:44 | <merijn> | hmm |
| 12:49:50 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 12:53:49 | <mon_aaraj> | would you happen to know any place to get help with GUI things in haskell? |
| 12:54:36 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 276 seconds) |
| 12:56:38 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 12:58:06 | × | frost quits (~frost@user/frost) (Ping timeout: 252 seconds) |
| 12:58:45 | → | mmhat joins (~mmh@p200300f1c70907b2ee086bfffe095315.dip0.t-ipconnect.de) |
| 12:58:49 | × | Alex_test quits (~al_test@178.34.160.206) (Quit: ;-) |
| 12:59:03 | × | AlexZenon quits (~alzenon@178.34.160.206) (Quit: ;-) |
| 12:59:27 | × | AlexNoo quits (~AlexNoo@178.34.160.206) (Quit: Leaving) |
| 13:04:00 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 13:05:35 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 13:07:18 | × | vglfr quits (~vglfr@88.155.102.174) (Ping timeout: 264 seconds) |
| 13:07:30 | → | Guest27 joins (~Guest27@h-98-128-228-171.NA.cust.bahnhof.se) |
| 13:08:29 | <Guest27> | Hey! I recently wrote a simple hangman game in Haskell (https://codereview.stackexchange.com/questions/277633/hangman-game-in-haskell-written-using-a-state-monad) but wasn't very pleased with how it looked. Has anybody tried using Denotational Design when creating a project? Would it benefit me? |
| 13:12:26 | → | AlexZenon joins (~alzenon@178.34.160.206) |
| 13:12:56 | → | AlexNoo joins (~AlexNoo@178.34.160.206) |
| 13:14:20 | → | Alex_test joins (~al_test@178.34.160.206) |
| 13:21:34 | → | Guest2776 joins (~Guest27@h-98-128-228-171.NA.cust.bahnhof.se) |
| 13:21:41 | × | Guest2776 quits (~Guest27@h-98-128-228-171.NA.cust.bahnhof.se) (Client Quit) |
| 13:29:27 | → | surobaki joins (~surobaki@user/surobaki) |
| 13:33:19 | × | dschrempf quits (~dominik@mobiledyn-62-240-134-178.mrsn.at) (Quit: WeeChat 3.5) |
| 13:35:02 | → | mikoto-chan joins (~mikoto-ch@d5331k9bbn7t3s8-n-k-4.rev.dnainternet.fi) |
| 13:41:43 | <Profpatsch> | Hrm, now I have a way of passing an open record of permissions as a constraint, but GHC thinks it’s a redundant constraint |
| 13:41:54 | <Profpatsch> | Which is bad if you really want the permissions to exist :) |
| 13:43:54 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 13:47:58 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 240 seconds) |
| 13:51:07 | → | dknite joins (~dknite@49.37.45.188) |
| 13:55:58 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) |
| 13:57:50 | → | dschrempf joins (~dominik@mobiledyn-62-240-134-178.mrsn.at) |
| 13:57:52 | × | Guest27 quits (~Guest27@h-98-128-228-171.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
| 13:59:36 | × | mikoto-chan quits (~mikoto-ch@d5331k9bbn7t3s8-n-k-4.rev.dnainternet.fi) (Ping timeout: 276 seconds) |
| 14:00:21 | → | acidjnk_new3 joins (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) |
| 14:00:42 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) (Ping timeout: 264 seconds) |
| 14:03:10 | × | acidjnk_new quits (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 14:03:30 | × | vandit quits (~vandit@94-21-174-89.pool.digikabel.hu) (Ping timeout: 276 seconds) |
| 14:04:25 | → | vglfr joins (~vglfr@88.155.16.3) |
| 14:04:39 | → | vandit joins (~vandit@92-249-179-93.pool.digikabel.hu) |
| 14:08:01 | <surobaki> | Is there any way to tell Haskell in fewer lines that this pattern match is commutative? https://paste.tomsmeding.com/BT3rm4HC |
| 14:08:35 | <merijn> | no |
| 14:09:22 | <lortabac> | you can use a sorted list instead of matching on the arguments, but it's inefficient |
| 14:09:37 | <surobaki> | merijn: I see, thank you :) |
| 14:09:40 | <surobaki> | lortabac: Good to know |
| 14:09:42 | × | `2jt quits (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Ping timeout: 264 seconds) |
| 14:12:27 | <merijn> | Yeah, you can do some hacky workarounds mapping both cases to a single case and operating on that. But nothing generic like "this is commutative" |
| 14:12:36 | × | dschrempf quits (~dominik@mobiledyn-62-240-134-178.mrsn.at) (Ping timeout: 276 seconds) |
| 14:13:50 | × | christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 14:13:52 | → | rjbaw joins (~rjbl@ppp-124-121-134-206.revip2.asianet.co.th) |
| 14:14:21 | → | atwm joins (~atwm@212-147-33-101.fix.access.vtx.ch) |
| 14:15:22 | → | acidjnk joins (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) |
| 14:16:16 | × | acidjnk_new3 quits (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 14:16:42 | × | atwm quits (~atwm@212-147-33-101.fix.access.vtx.ch) (Client Quit) |
| 14:18:30 | → | shriekingnoise joins (~shrieking@201.212.175.181) |
| 14:21:09 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 14:28:10 | × | yoneda quits (~mike@193.206.102.122) (Ping timeout: 240 seconds) |
| 14:29:23 | → | tromp joins (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) |
| 14:31:05 | × | alexhandy quits (~trace@user/trace) (Read error: Connection reset by peer) |
| 14:31:15 | → | alexhandy joins (~trace@user/trace) |
| 14:35:40 | × | raym quits (~raym@user/raym) (Quit: kernel update, rebooting...) |
| 14:37:58 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 14:39:02 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 14:41:50 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds) |
| 14:42:10 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 240 seconds) |
| 14:43:10 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 14:43:27 | × | ccntrq quits (~Thunderbi@p200300c8672791005a3ca8e8619db20b.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 14:43:41 | × | tromp quits (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:46:05 | → | Guest27 joins (~Guest27@h-98-128-228-171.NA.cust.bahnhof.se) |
| 14:58:02 | × | Guest27 quits (~Guest27@h-98-128-228-171.NA.cust.bahnhof.se) (Quit: Client closed) |
| 14:58:06 | × | alp quits (~alp@user/alp) (Ping timeout: 276 seconds) |
| 15:01:09 | → | tromp joins (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) |
| 15:02:39 | → | moonsheep joins (~user@user/moonsheep) |
| 15:03:07 | <maerwald> | what can inhibit list fusion? |
| 15:03:29 | → | codedmart joins (codedmart@2600:3c01::f03c:92ff:fefe:8511) |
| 15:03:54 | <c_wraith> | sharing, not using functions that fuse, or a lack of inlining |
| 15:06:33 | × | moonsheep quits (~user@user/moonsheep) (Client Quit) |
| 15:07:11 | → | raym joins (~raym@user/raym) |
| 15:08:50 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
| 15:09:48 | × | acidjnk quits (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 15:09:48 | → | pleo joins (~pleo@user/pleo) |
| 15:11:02 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 15:17:05 | <c_wraith> | (or interactions between them, like inlining differently causing more or less things to be shared..) |
| 15:18:28 | × | pseigo quits (~pseigo@user/pseigo) (Quit: left) |
| 15:19:33 | × | vglfr quits (~vglfr@88.155.16.3) (Ping timeout: 276 seconds) |
| 15:20:52 | → | cfricke joins (~cfricke@user/cfricke) |
| 15:21:46 | <maerwald> | context: https://github.com/haskell/bytestring/pull/526 |
| 15:22:27 | <kuribas> | or using more general functions, like fold, instead of concatMap |
| 15:22:29 | <maerwald> | it seems -fexpose-all-unfoldings doesn't work well |
| 15:23:50 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 15:25:58 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:5081:f59:6378:2cfd) (Quit: WeeChat 2.8) |
| 15:26:15 | <c_wraith> | that's even called out as an inlining issue |
| 15:26:27 | <c_wraith> | remember, list fusion is implemented as RULES |
| 15:26:35 | <c_wraith> | and RULES very specifically match syntax |
| 15:26:43 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5) |
| 15:26:56 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 15:27:11 | <c_wraith> | If your code doesn't inline to an application of foldr to the result of a call to build, list fusion won't happen |
| 15:27:53 | <maerwald> | c_wraith: what do you mean with "that's even called out as an inlining issue"? |
| 15:28:34 | → | zebrag joins (~chris@user/zebrag) |
| 15:28:34 | <c_wraith> | hasufell's comment from 7 minutes ago says that adding an INLINE pragma fixes it... |
| 15:28:51 | <maerwald> | yeah, that's me :D |
| 15:28:59 | <c_wraith> | well that's confusing! :P |
| 15:29:23 | <maerwald> | the idea was that -fexpose-all-unfoldings makes INLINE pragmas obsolete |
| 15:29:30 | <maerwald> | apparently it doesn't |
| 15:29:39 | <c_wraith> | sadly, nothing has made INLINE pragmas obsolete yet |
| 15:29:52 | <maerwald> | unpack not fusing is a pretty huge bug imo |
| 15:31:11 | <maerwald> | c_wraith: what's more confusing is that the old strict foldr' version is faster |
| 15:31:18 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Ping timeout: 264 seconds) |
| 15:31:48 | <c_wraith> | for a strict foldr' with bytestring, don't you benefit from actually traversing it in reverse? |
| 15:32:09 | <maerwald> | hmm... so the old version is strict in chunks of 100 bytes |
| 15:32:22 | <maerwald> | (the old unpack, that is) |
| 15:32:42 | <maerwald> | the new unpack dropped this strategy (because it makes no sense for ShortByteString) and then strict foldr' got a lot slower |
| 15:33:40 | <maerwald> | which seems confusing if it has to traverse the entire thing anyway |
| 15:34:00 | <dolio> | It's hard to tell from the doc, but -fexpose-all-unfoldings doesn't sound like it'd replace INLINE, because the latter tells GHC to actually inline the function, regardless of what it thinks. |
| 15:34:10 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
| 15:34:43 | <maerwald> | ah, so it makes INLINEABLE obsolete, but not INLINE |
| 15:34:52 | → | is7s joins (~is7s@2a01:4b00:895f:3d00:7d21:5e77:2c62:7a18) |
| 15:35:21 | <dolio> | I mean, it's only obsolete if you want everything in your entire file to be inlineable, assuming there isn't some other discrepancy. |
| 15:36:29 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 15:36:30 | <dolio> | Inlineable has some other effects that I'm not sure are tied to the unfolding being available. |
| 15:36:44 | <dolio> | But perhaps they are. |
| 15:38:29 | → | alexhandy2 joins (~trace@user/trace) |
| 15:41:10 | × | alexhandy quits (~trace@user/trace) (Ping timeout: 240 seconds) |
| 15:44:02 | → | acidjnk joins (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) |
| 15:44:17 | → | dschrempf joins (~dominik@mobiledyn-62-240-134-178.mrsn.at) |
| 15:44:25 | <maerwald> | c_wraith: is it possible that the GC slows it down? So traversing is faster without chunks of strictness, but there are more allocations... when it bounces back, then maybe there's GC pressure? |
| 15:50:12 | <c_wraith> | for which function? |
| 15:51:01 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 15:51:33 | → | Haskelytic joins (~Haskelyti@118.179.211.17) |
| 15:53:21 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 276 seconds) |
| 15:53:24 | <c_wraith> | like... your foldr' implementation in the comment from an hour ago probably should be the version implied by the TODO |
| 15:54:23 | <c_wraith> | (also, that bang pattern on n does nothing at all. But GHC should notice that and optimize it out, instead of having it slow anything down.) |
| 15:54:39 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
| 15:54:39 | <maerwald> | c_wraith: https://gist.github.com/hasufell/c9614df236bf0a0a78ecf45d52df08b8 |
| 15:54:58 | <maerwald> | the confusion is not about the manual implementation of foldr' |
| 15:55:41 | <c_wraith> | ok |
| 15:55:45 | <maerwald> | here, old is faster than new |
| 15:56:01 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 15:56:03 | <maerwald> | although the old unpack is slower when traversing |
| 15:56:08 | × | pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer) |
| 15:56:26 | <maerwald> | so either it's an optimization quirk, or something with GC |
| 15:56:34 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 15:56:41 | <carbolymer> | how do I make typechecker happy here with this Monoid instance https://ideone.com/eztMdO ? |
| 15:57:07 | <c_wraith> | wait, so what case is old faster in? |
| 15:57:19 | → | moonsheep joins (~user@user/moonsheep) |
| 15:57:56 | <moonsheep> | Is it possible to build GHC for armv6l? Or at least crosscompile for it? |
| 15:58:39 | <maerwald> | c_wraith: S.foldr' (\x acc -> fromIntegral x + acc) (0 :: Int)) s (map (\k -> S.pack $ if k <= 6 then take (2 ^ k) [32..95] else concat (replicate (2 ^ (k - 6)) [32..95])) [0..16]) |
| 15:59:19 | <maerwald> | so the inner function is just (+) |
| 16:00:59 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 16:01:18 | → | ubert joins (~Thunderbi@p548c90fa.dip0.t-ipconnect.de) |
| 16:01:20 | <c_wraith> | oh, and the call to unpack is inside S.foldr' ? |
| 16:01:21 | → | EvanR joins (~EvanR@user/evanr) |
| 16:01:29 | <maerwald> | yeah |
| 16:01:49 | <maerwald> | foldr' k v = Foldable.foldr' k v . unpack |
| 16:02:24 | <c_wraith> | huh, I'd really expect foldr' to perform horribly on lists in every case... |
| 16:03:52 | <c_wraith> | which makes going via list a really weird choice. |
| 16:04:03 | → | segfaultfizzbuzz joins (~segfaultf@135-180-3-34.static.sonic.net) |
| 16:04:10 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
| 16:05:23 | <maerwald> | yeah, but that's not the question... I want to know why a faster unpack can degrade performance for a strict foldr |
| 16:06:26 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 16:06:30 | × | MajorBiscuit quits (~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) (Ping timeout: 240 seconds) |
| 16:10:15 | × | tromp quits (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:10:42 | <c_wraith> | ok. step 1 is that [] seems to use the default implementation of foldr', which is.. in terms of foldl? oh no, this is going very bad already |
| 16:10:54 | × | vandit quits (~vandit@92-249-179-93.pool.digikabel.hu) (Ping timeout: 276 seconds) |
| 16:11:33 | × | segfaultfizzbuzz quits (~segfaultf@135-180-3-34.static.sonic.net) (Quit: segfaultfizzbuzz) |
| 16:12:14 | → | vandit joins (~vandit@84-236-40-151.pool.digikabel.hu) |
| 16:13:09 | × | surobaki quits (~surobaki@user/surobaki) (Quit: Goodbye!) |
| 16:14:17 | <c_wraith> | hmm. Ok, whatever, it's calling the same function on both versions. Are you sure this is a fusion issue? Just looking at the code, I'd question the user of unsafeIndex vs indexWord8Array |
| 16:14:26 | <c_wraith> | *use of |
| 16:15:02 | → | dsrt^ joins (~dsrt@128-092-173-067.biz.spectrum.com) |
| 16:15:10 | × | machinedgod quits (~machinedg@207.228.78.131) (Ping timeout: 240 seconds) |
| 16:15:21 | <c_wraith> | mostly because I have no clue how unsafeIndex is implemented |
| 16:16:34 | <c_wraith> | Ok, nevermind. those are the same thing. |
| 16:16:38 | × | elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 240 seconds) |
| 16:17:56 | → | yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) |
| 16:18:42 | <c_wraith> | still.. I'm curious if fusion is the real culprit. |
| 16:19:10 | × | acidjnk quits (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 16:19:25 | → | reda joins (~reda@user/reda) |
| 16:20:42 | <c_wraith> | If it is, I'm suspicious of the interaction between map and enumFromTo there |
| 16:21:20 | <c_wraith> | I wonder if things can inline such that RULES get applied in the "wrong" order and an opportunity for fusion is lost... |
| 16:22:36 | × | yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 276 seconds) |
| 16:25:51 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
| 16:26:04 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 16:29:04 | × | zaquest quits (~notzaques@5.130.79.72) (Read error: Connection reset by peer) |
| 16:29:08 | → | acidjnk joins (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) |
| 16:29:29 | → | zaquest joins (~notzaques@5.130.79.72) |
| 16:30:00 | <maerwald> | c_wraith: no, I don't think this has to do anything with fusion |
| 16:30:10 | <maerwald> | fusion is only relevant for lazy foldr |
| 16:32:31 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:32:37 | <maerwald> | what I'm thinking is that maybe the old version with the chunks advances to the end of the list, then when the first strict function application happens, it evaluates 100 elements strictly (indexWord8Array), then bounces back in chunks of 100... so maybe that's less thunks? |
| 16:35:14 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:36:42 | → | nate4 joins (~nate@98.45.169.16) |
| 16:36:47 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 16:37:46 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 16:38:23 | × | kuribas quits (~user@silversquare.silversquare.eu) (Remote host closed the connection) |
| 16:39:24 | <maerwald> | unpackAppendBytesStrict sbs off sz remainder where remainder = go (off+sz) (len-sz) ws |
| 16:39:29 | <maerwald> | this recurses like a foldr... |
| 16:40:45 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 16:41:00 | <c_wraith> | unpackAppendBytesLazy traverses front to back. unpackAppendBytesStrict traverses back to front. |
| 16:41:57 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 16:42:03 | × | quarkyalice_ quits (~alice@user/quarkyalice/x-8092822) (Remote host closed the connection) |
| 16:42:10 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 16:42:11 | <c_wraith> | the net result is that it's going to have a lazy tail of the list with 100 Word8s from the bytestring ahead of it. |
| 16:42:39 | <maerwald> | yeah, so globally, it evaluates the list right to left in chunks of 100 |
| 16:43:24 | <maerwald> | which seems beneficial for a strict foldr', which also kinda goes that direction |
| 16:43:54 | → | quarkyalice joins (~alice@172.79.64.198) |
| 16:43:54 | × | quarkyalice quits (~alice@172.79.64.198) (Changing host) |
| 16:43:54 | → | quarkyalice joins (~alice@user/quarkyalice) |
| 16:43:56 | <c_wraith> | a strict foldr' should be written to work only from back to front when possible, to minimize stack use |
| 16:46:20 | <c_wraith> | the performance you've described only makes sense if the cost of thunks is high |
| 16:46:54 | <c_wraith> | and if unpackAppendBytesStrict only puts one thunk into the list per 100 entries |
| 16:47:53 | → | agumonkey joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) |
| 16:47:55 | <c_wraith> | well, only one unevaluated thunk. |
| 16:48:08 | <c_wraith> | Which is... actually quite plausible, given that (:) is a constructor. |
| 16:49:12 | <c_wraith> | the new version should actually be friendlier to GC. though chunks of 100 aren't a big deal anyway. |
| 16:49:49 | → | gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) |
| 16:50:06 | <maerwald> | well, let's hope people don't actually use foldr' lol |
| 16:50:23 | <c_wraith> | foldr' should have a different implementation anyway |
| 16:50:40 | <c_wraith> | it definitely shouldn't be going through [], that's just wasting stack space |
| 16:51:21 | <c_wraith> | even if that isn't a problem for ShortByteString, it's still just backwards. the strictness should allow using less stack! |
| 16:51:25 | → | tromp joins (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) |
| 16:54:30 | → | econo joins (uid147250@user/econo) |
| 16:55:45 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
| 16:57:05 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 16:58:06 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) |
| 17:02:10 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) (Ping timeout: 240 seconds) |
| 17:04:46 | → | beka joins (~beka@104.193.170.240) |
| 17:06:06 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 17:06:35 | → | ph88 joins (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) |
| 17:10:22 | × | quarkyalice quits (~alice@user/quarkyalice) (Remote host closed the connection) |
| 17:10:54 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds) |
| 17:11:19 | → | Topsi joins (~Topsi@host-88-217-154-179.customer.m-online.net) |
| 17:11:39 | <Haskelytic> | Does the `join` implementation for a monad `m` necessarily induce a monoid for `m a`? |
| 17:11:58 | <Haskelytic> | or am I way off base here |
| 17:11:59 | <dolio> | Yes. |
| 17:12:55 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 17:13:06 | <Haskelytic> | dolio: I see. Is that the "monoid" in the "monad is a *monoid* is the category of endofunctors" |
| 17:13:12 | <c_wraith> | err. well. sort of. it necessarily means m is a monoid. |
| 17:13:17 | <c_wraith> | but that's not m a |
| 17:13:32 | <c_wraith> | and yes, it's that monoid |
| 17:13:43 | <Haskelytic> | Hm...I seem to have internalized the idea that a monoid is necesarily a type constant |
| 17:14:06 | <Haskelytic> | as in, you can say `m a` is a monoid for all a |
| 17:14:13 | <dolio> | Oh wait. It's only a monoid if a is a monoid. |
| 17:14:41 | <Haskelytic> | where `m` has kind `* -> *` |
| 17:14:47 | <c_wraith> | the Monoid in the category of endofunctors thing is M x M -> M |
| 17:14:51 | × | mbuf quits (~Shakthi@122.164.15.134) (Quit: Leaving) |
| 17:14:57 | <c_wraith> | Which is exactly what join is an implementation of |
| 17:15:06 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 264 seconds) |
| 17:15:06 | <c_wraith> | But it's not exactly haskell |
| 17:15:10 | <Haskelytic> | dolio: what about list w.resp to append? it doesn't need the list members `a` to be monoid |
| 17:15:37 | <dolio> | That uses other structure on lists. |
| 17:15:51 | → | christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
| 17:15:55 | <c_wraith> | In Haskell, you can't type about functors as arguments to -> |
| 17:16:06 | <c_wraith> | so you end up with M (M a) -> M a |
| 17:16:13 | × | pleo quits (~pleo@user/pleo) (Quit: quit) |
| 17:16:14 | <c_wraith> | instead of M x M -> M |
| 17:17:03 | <c_wraith> | But that is what "monoid in the category of endofunctors" means |
| 17:17:09 | <Haskelytic> | Ah, I see. So if I squint there really hard I can see the implicit M x M |
| 17:17:14 | <c_wraith> | yeah |
| 17:18:04 | <c_wraith> | as always, category theory is much more general than the tiny bits of it realized in Haskell code. :) |
| 17:19:37 | <Haskelytic> | Haha yeah I'm starting to notice that now |
| 17:19:39 | <Haskelytic> | Thanks fellas! |
| 17:20:18 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 17:20:42 | <dolio> | Note that every type with a decidable value (like, you can tell if any other value is or is not equal to the particular value) can be given a monoid structure. |
| 17:21:37 | <dolio> | By using the distinguished value as a unit, and otherwise taking the first non-unit value. |
| 17:21:44 | <c_wraith> | Or the last! |
| 17:21:48 | <dolio> | Yeah. |
| 17:21:58 | <c_wraith> | or... the middlest? wait, no. that probably doesn't work. :) |
| 17:22:32 | <c_wraith> | (middleness is not associative!) |
| 17:22:37 | <dolio> | Right. |
| 17:23:23 | → | quarkyalice joins (~alice@172.79.64.198) |
| 17:23:23 | × | quarkyalice quits (~alice@172.79.64.198) (Changing host) |
| 17:23:23 | → | quarkyalice joins (~alice@user/quarkyalice) |
| 17:23:47 | <Haskelytic> | dolio: Oh wow I never thought of it that way :) |
| 17:24:25 | <dolio> | You can relax that to having a semigroup on every type, just by taking the first/last, and you can make that a monoid by adding a distinguished value with Maybe. |
| 17:27:07 | × | newsham quits (~newsham@2603-800c-2d00-e994-057b-eded-874b-b8f5.res6.spectrum.com) (Quit: Client closed) |
| 17:27:14 | × | is7s quits (~is7s@2a01:4b00:895f:3d00:7d21:5e77:2c62:7a18) (Ping timeout: 252 seconds) |
| 17:27:39 | × | quarkyalice quits (~alice@user/quarkyalice) (Remote host closed the connection) |
| 17:28:54 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 264 seconds) |
| 17:30:38 | <dolio> | Anyhow, one common observation is that this means `m ()` is a monoid for any monad m. |
| 17:30:42 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 17:37:30 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 17:38:39 | × | agumonkey quits (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 276 seconds) |
| 17:41:04 | × | tromp quits (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:42:26 | × | dknite quits (~dknite@49.37.45.188) (Quit: Konversation terminated!) |
| 17:42:33 | → | elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
| 17:43:59 | → | dknite joins (~dknite@49.37.45.188) |
| 17:45:45 | × | moonsheep quits (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)) |
| 17:47:10 | × | adrazalan quits (~adrazalan@42.191.189.65) (Ping timeout: 240 seconds) |
| 17:47:35 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c881:8121:4ac3:5267) |
| 17:48:33 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 17:50:36 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 17:53:47 | × | turlando quits (~turlando@user/turlando) () |
| 17:54:07 | <dolio> | Also, you might think that every type has a distinguished value, ⊥, but you cannot make the first/last monoid with ⊥ as the unit. |
| 17:54:12 | → | turlando joins (~turlando@user/turlando) |
| 18:00:50 | × | fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:02:39 | → | edinwood joins (~edinwood@109.249.184.205) |
| 18:03:15 | <edinwood> | do linear types include linear functions? |
| 18:03:41 | <edinwood> | since my functions have parameters supplied in a shaped thing, they are only used "in that position" if that makes sense |
| 18:03:52 | <edinwood> | ie, one function per params in the container |
| 18:04:08 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 244 seconds) |
| 18:04:16 | <edinwood> | i guess you could think of it as applicative zipWith |
| 18:04:29 | <edinwood> | so, in that case, all those functions are only run once |
| 18:04:36 | <edinwood> | can we use linear types to say that? |
| 18:04:43 | × | benin0 quits (~benin@183.82.26.81) (Quit: The Lounge - https://thelounge.chat) |
| 18:04:54 | <dminuoso> | Mmm I forgot. How were uniqueness types like in Clean dual to linear types as they are in Haskell again? |
| 18:05:14 | <edinwood> | idk Clean sry |
| 18:05:46 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 18:05:47 | <edinwood> | linear types just have an annotation on the arguments to the arrow saying if this input is "consumed" |
| 18:05:56 | → | pwug joins (~pwug@user/pwug) |
| 18:06:04 | <edinwood> | and strictly destroyed upon its first use |
| 18:06:13 | → | quarkyalice joins (~alice@172.79.64.198) |
| 18:06:13 | × | quarkyalice quits (~alice@172.79.64.198) (Changing host) |
| 18:06:13 | → | quarkyalice joins (~alice@user/quarkyalice) |
| 18:06:32 | × | chomwitt quits (~chomwitt@2a02:587:dc17:ef00:b970:eb1f:3e6:5c29) (Ping timeout: 260 seconds) |
| 18:07:18 | <edinwood> | or was this uniquesness question trying to comunicate more than just whats a linear type? |
| 18:07:36 | <edinwood> | like, is the duality you mention of any relavence here in particular? |
| 18:07:39 | <dminuoso> | No, Im just trying to remember a previous discussion. |
| 18:07:45 | <edinwood> | fair |
| 18:08:04 | <dminuoso> | I do not have logs any longer. @tomsmeding any chance I can get hold of ircbrowse logs for #haskell? |
| 18:08:23 | <edinwood> | sure there still at tunes? |
| 18:08:25 | <dminuoso> | The old site exposed them via simple http file browser |
| 18:08:35 | <dminuoso> | Nope, not any longer |
| 18:08:40 | <edinwood> | we lost all the logs! god damn freenode |
| 18:08:51 | <dminuoso> | Nothing to do with freenode |
| 18:08:55 | <edinwood> | sure enough pppl had snapshots |
| 18:09:27 | <edinwood> | dminuoso, changing the access from freenode to libera will have knocked off a load of trackers |
| 18:09:50 | <edinwood> | i dont understand whats going on atall |
| 18:10:13 | <edinwood> | some kind of moral panic, idk, the dork web took over or something? |
| 18:10:30 | <geekosaur[m]> | Tunes died before freenode |
| 18:10:30 | × | dschrempf quits (~dominik@mobiledyn-62-240-134-178.mrsn.at) (Ping timeout: 240 seconds) |
| 18:10:44 | <edinwood> | forshaddowing |
| 18:11:13 | <edinwood> | something weird was happening with haskell ecosystem forward facing something |
| 18:11:31 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 18:11:33 | <geekosaur[m]> | And I'm not sure we'll ever know the truth about Andrew Lee |
| 18:11:34 | <edinwood> | maybe ructions as it reaches critical mass |
| 18:11:44 | <edinwood> | lol, the ** is andrew lee? |
| 18:12:10 | <geekosaur[m]> | The whackjob that took over freenode |
| 18:12:33 | <dminuoso> | geekosaur[m]: Based on some recent evidence, I think he may have either lost control of freenode, sold it, or lost interest completely |
| 18:12:49 | <geekosaur[m]> | Ah |
| 18:13:01 | <edinwood> | not just some grand reset shakeup |
| 18:13:35 | <edinwood> | i like how your actual explanations seem less likely |
| 18:13:58 | <dolio> | dminuoso: x is unique if it hasn't been shared yet. x is affine if it may not be further shared (but it's possible it's already shared). |
| 18:14:03 | <edinwood> | i think i can use linear types at a constructor to a list of functions anyway maybe |
| 18:14:06 | <geekosaur[m]> | First a big reset then a bad reddit clone then something else then back to irc |
| 18:14:50 | <edinwood> | nope, the past was where the future was at, now we have to live through its crumbling as its design is played in reverse |
| 18:15:20 | <dolio> | Linear includes a condition on necessary use that doesn't enter in to uniqueness, really. |
| 18:15:33 | <dminuoso> | dolio: Oh I see. So with linear types you couldn't know its previous history. Is there a mechanism to turn non-linear things into linear things then? |
| 18:15:56 | <dolio> | Yeah, you can pass non-linear values to linear functions, I think. |
| 18:15:57 | <edinwood> | you have to |
| 18:16:11 | <edinwood> | it means you load them up at some concrete copying stage |
| 18:16:30 | <edinwood> | having that clear in the program graph can be helpful to the compiler during optimisation i presume |
| 18:17:00 | <edinwood> | have to "to turn non-linear things into linear things then" |
| 18:17:08 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 18:17:11 | <dminuoso> | dolio: So I guess similarly, a unique thing may be shared in the future. |
| 18:17:23 | <edinwood> | dolio: that sounds wrong |
| 18:17:35 | <edinwood> | and what do you mean by linear function? |
| 18:17:54 | <edinwood> | if you mean an arrow that specifies the input argument is linear, no you cant supply something nonlinear |
| 18:18:22 | <dolio> | Yeah, if you share a unique thing it becomes non-unique. Although I don't exactly know how the checker operated. |
| 18:18:28 | <edinwood> | what i want is that a *function* is used only once, and im not sure if i can express that |
| 18:18:45 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 18:18:50 | <edinwood> | i guess it just is suppled as a linear type, but i didnt know if functions are still first class citizens in this case |
| 18:19:16 | <edinwood> | and basically, the partial application of a function, even that takes nonlinear type in its first arg, should produce then a "linear function" |
| 18:19:36 | <dolio> | edinwood: f :: A -o B means that f uses its argument exactly once. There's no problem with providing it a value that needn't be used exactly once. |
| 18:19:38 | <edinwood> | unless it somehow intrinsically copys the parameters for its reuse or something |
| 18:19:56 | <edinwood> | so A is a linear type |
| 18:20:05 | <edinwood> | in not sure you should say f is a linear function |
| 18:20:10 | <dminuoso> | dolio: Would that imply that if you had uniqueness and affine types for sharing at the same time, you could identify the largest possible region in which mutation was safe to do? |
| 18:20:55 | <edinwood> | so if i have a list with linear cons... |
| 18:21:03 | <dminuoso> | That is, a region in which all operations on that value can be expressed as mutation |
| 18:21:04 | <edinwood> | then i have a bunch of linear values |
| 18:21:21 | <edinwood> | now if i map any function over them, they would hide the linearity |
| 18:21:49 | <edinwood> | i get a nonlinear value as a result! |
| 18:21:51 | <dolio> | dminuoso: I'm not sure about that. :) |
| 18:22:22 | <edinwood> | how am i supposed to do a partial application which doesnt ruin the linearity of the undelying first argument, by allowing a function which has it partially applied to be reused |
| 18:22:43 | <edinwood> | seems like its copying it under the hood |
| 18:23:19 | <edinwood> | and i wanted to be able to say this wasnt possible, to avoid a branching computation specified on one of the intermediate value types or inputs |
| 18:23:50 | <edinwood> | "i have given you a linear value, you will do no copy branching in the program graph after this" |
| 18:26:07 | → | machinedgod joins (~machinedg@207.228.78.155) |
| 18:31:11 | <edinwood> | ok, this doesnt work because the linear types thing we have is just linearity on inputs |
| 18:31:26 | <edinwood> | i was wondering how you could insist the return type was linear also |
| 18:31:38 | <edinwood> | i think you can return a linear continuation |
| 18:31:55 | <edinwood> | and then what i want is some kind of free extension of this |
| 18:32:28 | <edinwood> | so it returns a linear continuation that returns a linear continuation and so on |
| 18:32:42 | <edinwood> | thereby insisting the rest of the program graph is a line |
| 18:33:04 | <edinwood> | idk how you would write the free linear continuation though |
| 18:33:17 | <edinwood> | can anyone easily terll how that would be written? |
| 18:34:48 | → | tromp joins (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) |
| 18:35:57 | <edinwood> | right, so my problem with not being able to express a "linear function", was to do with this lack of support for outputing linear values? |
| 18:36:29 | <dolio> | Yeah. My understanding is that you need to write in continuation passing style for that. |
| 18:36:32 | <edinwood> | and if you want to say that you have to use a free linear continuation!? |
| 18:36:50 | <dolio> | Which seems a bit annoying. |
| 18:36:53 | <edinwood> | its hellish! |
| 18:37:39 | <troydm> | quick dumb question, I have [IO ()] how can I turn it into IO (), e.g run all IO monads in a list |
| 18:37:46 | <troydm> | forgot it :( |
| 18:37:46 | <edinwood> | but allows to say; "consuming this value makes you linear, making that value ... like, more linear" |
| 18:37:56 | <dminuoso> | troydm: Use `sequence_` |
| 18:38:03 | <troydm> | dminuoso: thx |
| 18:38:11 | <dminuoso> | troydm: Also, chances are the spot you produced it in should have used traverse_ or for_ instead |
| 18:38:43 | <dminuoso> | `sequence/sequence_` is usually an indicator for this. :) |
| 18:38:43 | × | machinedgod quits (~machinedg@207.228.78.155) (Ping timeout: 256 seconds) |
| 18:39:28 | <troydm> | dminuoso: worked, thx |
| 18:39:41 | <edinwood> | hmm, if you want to have a function you only use once that does not output a more-linear value, then you dont need to use the free continuation |
| 18:40:24 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
| 18:40:30 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds) |
| 18:40:35 | <edinwood> | so what i want to say is "consumption of the linear value by partial application results in a function which can only be used one" |
| 18:40:50 | × | dknite quits (~dknite@49.37.45.188) (Quit: Konversation terminated!) |
| 18:42:48 | <edinwood> | partiallyApplyLinearly :: (p -o a -o b) -> p -o (a -o b) |
| 18:42:51 | <edinwood> | does not do this |
| 18:43:11 | <edinwood> | the resulting function (a -o b) can be reused |
| 18:43:32 | <edinwood> | duplicating p under the hood, which it is desired to forbid |
| 18:43:58 | <edinwood> | how do i do this continuation thing? |
| 18:44:17 | <edinwood> | its because its a "linear continuation" so its first arg is linear |
| 18:44:57 | × | vandit quits (~vandit@84-236-40-151.pool.digikabel.hu) (Ping timeout: 276 seconds) |
| 18:45:00 | <edinwood> | i forget what continuations look like; ((a -> x) -> x) is a continuation on `a' right? |
| 18:45:33 | → | machinedgod joins (~machinedg@207.228.78.156) |
| 18:45:58 | <edinwood> | looks like i should return; (((a -o b) -> x) -o x) |
| 18:46:02 | <edinwood> | does that seem right? |
| 18:46:15 | → | vandit joins (~vandit@92-249-141-171.pool.digikabel.hu) |
| 18:46:26 | × | Topsi quits (~Topsi@host-88-217-154-179.customer.m-online.net) (Quit: Leaving.) |
| 18:46:31 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 18:46:46 | <edinwood> | argh, but there is nothing stopping this being copied! |
| 18:46:57 | <edinwood> | so it looks like you might need the free thing afterall |
| 18:47:13 | <edinwood> | im lost at this point |
| 18:47:59 | × | Kevin578 quits (~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
| 18:48:38 | <edinwood> | all i can do is require another function which consumes that linearly |
| 18:48:54 | <edinwood> | cant see how to handle this free extension |
| 18:49:56 | <edinwood> | it doesnt seem like i can do anything else except keep asking for more linear functions to consume the outputs |
| 18:50:19 | <edinwood> | i wonder if actually what i need is a good way to express *that* |
| 18:50:57 | <edinwood> | more functions to consume the outputs linearly* |
| 18:52:23 | → | pleo joins (~pleo@user/pleo) |
| 18:52:31 | <edinwood> | its just a typed list with tied neighbouring types, of linear functions |
| 18:52:50 | <edinwood> | functions specifying linear arguments* |
| 18:53:58 | <edinwood> | this is kinda clunky, the free extension sounds nicer because you could pass it around, maybe you could make one that uses this list |
| 18:54:25 | → | agumonkey joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) |
| 18:54:30 | × | machinedgod quits (~machinedg@207.228.78.156) (Ping timeout: 240 seconds) |
| 18:56:09 | <edinwood> | partially applied constructor (of a list with a linear constructor)? |
| 18:56:38 | → | machinedgod joins (~machinedg@207.228.78.80) |
| 19:00:41 | <edinwood> | "i will consume the value linearly, and the argument (tail) i require to return, is of functions that will consume this value subsequently, in the same linear way" |
| 19:01:06 | <edinwood> | the linear constructor of a linear dotlist |
| 19:01:19 | <edinwood> | (a dot-list of linear functions) |
| 19:01:49 | → | vglfr joins (~vglfr@88.155.16.3) |
| 19:02:47 | <edinwood> | so wrapped in the partially applied linear constructor of the "linear-dot linear-list", all the functions consume the subsequently resulting values linearly |
| 19:02:51 | <edinwood> | whew |
| 19:03:05 | <edinwood> | no continuations |
| 19:04:01 | <edinwood> | so if i return a value wrapped in the partially applied linear constructor, the only way to retrive it is to provide the tail |
| 19:05:54 | <edinwood> | you could have a continuation where you supply this tail (which should be a datatype which stores the output at the "last" constructor (instead of an empty basecase) |
| 19:06:45 | <edinwood> | (Tail moreTypeData o -> o) |
| 19:07:44 | <edinwood> | not sure where the value wrapped in the partially appled constructor goes |
| 19:09:30 | × | machinedgod quits (~machinedg@207.228.78.80) (Ping timeout: 240 seconds) |
| 19:11:43 | <edinwood> | instead of (a -o b), its `a -o (Tail b xs o -o o)' |
| 19:11:52 | <edinwood> | does this seem alright result? |
| 19:12:48 | <edinwood> | it returns the type of the partially applied constructor by the looks of it |
| 19:13:05 | <edinwood> | encouraging you to do so, thereby consuming the value linearly! |
| 19:13:49 | <edinwood> | oh, this is literally the type of the constructor |
| 19:13:53 | <edinwood> | duh |
| 19:15:14 | <edinwood> | or would that be; (a -o b) -o (Tail b xs o -o o) |
| 19:15:37 | <edinwood> | im not sure why it evaluates the tail, some confusion with the continuation, i have no idea what im doing and so will stop |
| 19:16:30 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
| 19:18:56 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 19:22:21 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 19:24:32 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:28:47 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 19:33:42 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds) |
| 19:33:42 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 264 seconds) |
| 19:34:12 | → | alexhandy joins (~trace@user/trace) |
| 19:36:57 | × | cosimone quits (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Ping timeout: 260 seconds) |
| 19:38:15 | × | alexhandy2 quits (~trace@user/trace) (Ping timeout: 276 seconds) |
| 19:39:12 | → | coot joins (~coot@213.134.190.95) |
| 19:40:19 | × | edinwood quits (~edinwood@109.249.184.205) (Remote host closed the connection) |
| 19:47:43 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 19:48:00 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
| 19:49:32 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 19:50:33 | → | Guest2745 joins (~Guest27@h-155-4-15-75.A163.priv.bahnhof.se) |
| 19:50:51 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Read error: Connection reset by peer) |
| 19:55:03 | → | king_gs joins (~Thunderbi@2806:103e:29:12be:accf:d6c3:d87:7820) |
| 19:56:22 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 19:56:36 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 19:56:46 | × | pleo quits (~pleo@user/pleo) (Quit: quit) |
| 19:59:54 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 20:00:57 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:08:12 | × | Guest2745 quits (~Guest27@h-155-4-15-75.A163.priv.bahnhof.se) (Ping timeout: 252 seconds) |
| 20:13:45 | → | MoC joins (~moc@user/moc) |
| 20:14:10 | × | king_gs quits (~Thunderbi@2806:103e:29:12be:accf:d6c3:d87:7820) (Ping timeout: 240 seconds) |
| 20:15:05 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Read error: Connection reset by peer) |
| 20:20:57 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 20:20:58 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 20:22:27 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
| 20:23:27 | → | yauhsien joins (~yauhsien@61-231-27-107.dynamic-ip.hinet.net) |
| 20:24:14 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 20:26:02 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 20:28:18 | × | yauhsien quits (~yauhsien@61-231-27-107.dynamic-ip.hinet.net) (Ping timeout: 276 seconds) |
| 20:30:15 | × | mixfix41 quits (~slackarti@user/mixfix41) (Ping timeout: 276 seconds) |
| 20:34:35 | → | atwm joins (~atwm@81.28.193.19) |
| 20:34:38 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 20:35:27 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds) |
| 20:35:54 | × | sayola quits (~vekto@dslb-088-078-152-210.088.078.pools.vodafone-ip.de) (Quit: Leaving.) |
| 20:38:12 | → | nate4 joins (~nate@98.45.169.16) |
| 20:39:09 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 20:42:10 | × | atwm quits (~atwm@81.28.193.19) (Ping timeout: 240 seconds) |
| 20:42:50 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 20:43:27 | × | acidjnk quits (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 20:45:32 | → | chomwitt joins (~chomwitt@2a02:587:dc17:ef00:6aee:6c8:90ff:eaab) |
| 20:47:37 | → | machinedgod joins (~machinedg@206.174.196.27) |
| 20:48:23 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 20:48:57 | × | vandit quits (~vandit@92-249-141-171.pool.digikabel.hu) (Ping timeout: 246 seconds) |
| 20:49:40 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 20:50:00 | → | acidjnk joins (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) |
| 20:50:50 | → | vandit joins (~vandit@87-97-25-200.pool.digikabel.hu) |
| 20:51:16 | → | dcoutts joins (~duncan@host-92-23-41-52.as13285.net) |
| 20:51:24 | → | pleo joins (~pleo@user/pleo) |
| 20:53:00 | × | vglfr quits (~vglfr@88.155.16.3) (Ping timeout: 276 seconds) |
| 20:53:14 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 20:56:30 | × | christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
| 20:59:15 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds) |
| 21:00:25 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 21:01:23 | → | bu99ed[m] joins (~bu99edm4t@2001:470:69fc:105::1:bd9e) |
| 21:06:30 | × | dsrt^ quits (~dsrt@128-092-173-067.biz.spectrum.com) (Ping timeout: 240 seconds) |
| 21:06:32 | → | pavonia joins (~user@user/siracusa) |
| 21:06:45 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 21:11:02 | → | king_gs joins (~Thunderbi@187.201.228.209) |
| 21:11:10 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 21:11:10 | × | tromp quits (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:12:35 | → | dsrt^ joins (~dsrt@128-092-173-067.biz.spectrum.com) |
| 21:14:27 | × | machinedgod quits (~machinedg@206.174.196.27) (Ping timeout: 276 seconds) |
| 21:15:45 | × | king_gs quits (~Thunderbi@187.201.228.209) (Ping timeout: 276 seconds) |
| 21:19:39 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 21:20:49 | → | tromp joins (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) |
| 21:21:25 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 21:22:12 | × | tromp quits (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 21:22:58 | → | tromp joins (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) |
| 21:25:28 | × | tromp quits (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 21:26:40 | → | tromp joins (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) |
| 21:32:51 | × | pwug quits (~pwug@user/pwug) (Quit: Leaving) |
| 21:35:14 | → | MajorBiscuit joins (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) |
| 21:35:17 | × | tromp quits (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:35:52 | → | tromp joins (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) |
| 21:38:11 | × | tromp quits (~textual@84-106-209-5.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 21:42:24 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
| 21:43:55 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 21:46:18 | × | chomwitt quits (~chomwitt@2a02:587:dc17:ef00:6aee:6c8:90ff:eaab) (Ping timeout: 276 seconds) |
| 21:46:57 | × | agumonkey quits (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 276 seconds) |
| 21:49:41 | <shapr> | Do any of the db libraries make it easy to generate a bunch of test data that follows the db schema? |
| 21:52:04 | → | king_gs joins (~Thunderbi@187.201.228.209) |
| 21:52:50 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 21:53:21 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:56:18 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:56:41 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 21:58:50 | × | michalz quits (~michalz@185.246.204.94) (Remote host closed the connection) |
| 22:00:41 | → | atwm joins (~atwm@81.28.193.19) |
| 22:01:45 | → | acidjnk_new joins (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) |
| 22:05:22 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 22:05:48 | × | atwm quits (~atwm@81.28.193.19) (Ping timeout: 276 seconds) |
| 22:05:48 | × | acidjnk quits (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 22:07:45 | × | acidjnk_new quits (~acidjnk@dynamic-046-114-168-070.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 22:07:55 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 22:09:06 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 22:09:42 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 22:12:18 | × | MajorBiscuit quits (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 240 seconds) |
| 22:21:53 | → | atwm joins (~atwm@19-193-28-81.ftth.cust.kwaoo.net) |
| 22:27:45 | × | ph88 quits (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 22:28:07 | → | ph88 joins (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) |
| 22:28:37 | → | jargon joins (~jargon@184.101.208.36) |
| 22:30:14 | × | aeka quits (~aeka@user/hiruji) (Ping timeout: 255 seconds) |
| 22:31:03 | × | merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 22:31:59 | → | aeka joins (~aeka@2606:6080:1001:16:3492:5f11:f1fb:66ae) |
| 22:42:51 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
| 22:44:09 | × | king_gs quits (~Thunderbi@187.201.228.209) (Ping timeout: 276 seconds) |
| 22:44:23 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 22:44:47 | × | atwm quits (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 260 seconds) |
| 22:48:13 | × | steve[m] quits (~stevetrou@2001:470:69fc:105::e0b) (Quit: Reconnecting) |
| 22:48:27 | → | steve[m] joins (~stevetrou@2001:470:69fc:105::e0b) |
| 22:54:30 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 22:54:42 | × | vandit quits (~vandit@87-97-25-200.pool.digikabel.hu) (Ping timeout: 264 seconds) |
| 22:56:25 | → | vandit joins (~vandit@193-226-238-226.pool.digikabel.hu) |
| 23:03:42 | × | ph88 quits (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Quit: Leaving) |
| 23:06:45 | × | tomgus1 quits (~tomgus1@90.218.25.145) (Ping timeout: 256 seconds) |
| 23:13:17 | × | pleo quits (~pleo@user/pleo) (Quit: quit) |
| 23:18:08 | → | machinedgod joins (~machinedg@207.228.78.152) |
| 23:22:30 | × | gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 276 seconds) |
| 23:22:41 | → | pleo joins (~pleo@user/pleo) |
| 23:25:10 | × | dsrt^ quits (~dsrt@128-092-173-067.biz.spectrum.com) (Ping timeout: 240 seconds) |
| 23:26:06 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds) |
| 23:28:24 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 23:31:07 | × | AlexNoo quits (~AlexNoo@178.34.160.206) (Read error: Connection reset by peer) |
| 23:31:30 | → | AlexNoo joins (~AlexNoo@178.34.160.206) |
| 23:32:15 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds) |
| 23:33:11 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 23:45:30 | × | machinedgod quits (~machinedg@207.228.78.152) (Ping timeout: 240 seconds) |
| 23:47:38 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds) |
| 23:48:24 | → | merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) |
| 23:51:38 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
All times are in UTC on 2022-07-04.