Logs on 2021-09-03 (liberachat/#haskell)
| 00:01:24 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 00:03:52 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
| 00:06:22 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 00:07:03 | <sm> | tsk hseg we are waiting |
| 00:07:30 | <hseg> | hey, one corner of the universe at a time! |
| 00:08:30 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 00:25:08 | × | ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec) |
| 00:25:20 | × | hseg quits (~gesh@IGLD-84-228-238-9.inter.net.il) (Quit: WeeChat 3.2) |
| 00:35:33 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) (Remote host closed the connection) |
| 00:37:46 | → | machinedgod joins (~machinedg@135.23.192.217) |
| 00:39:27 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 00:40:03 | → | hololeap_ joins (~hololeap@user/hololeap) |
| 00:43:49 | × | lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 00:43:58 | × | retroid_ quits (~retro@5ec19a54.skybroadband.com) (Ping timeout: 252 seconds) |
| 00:44:02 | × | opac quits (~opac@ip-28-56.sn2.clouditalia.com) (Remote host closed the connection) |
| 00:49:49 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) |
| 00:57:17 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 00:57:34 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 01:13:48 | → | dextaa5 joins (~DV@user/dextaa) |
| 01:14:37 | × | dextaa quits (~DV@user/dextaa) (Ping timeout: 245 seconds) |
| 01:14:37 | dextaa5 | is now known as dextaa |
| 01:15:24 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
| 01:15:32 | → | neurocyte2 joins (~neurocyte@94.46.75.10) |
| 01:15:32 | × | neurocyte2 quits (~neurocyte@94.46.75.10) (Changing host) |
| 01:15:32 | → | neurocyte2 joins (~neurocyte@user/neurocyte) |
| 01:17:31 | × | neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
| 01:17:31 | neurocyte2 | is now known as neurocyte |
| 01:18:40 | × | xsperry quits (~as@user/xsperry) (Remote host closed the connection) |
| 01:22:33 | hololeap_ | is now known as hololeap |
| 01:22:59 | × | koz quits (~koz@121.99.240.58) (Remote host closed the connection) |
| 01:24:40 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds) |
| 01:25:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:26:22 | × | dsrt^ quits (~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection) |
| 01:27:30 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 01:32:26 | → | koz joins (~koz@2404:4408:430d:7700:a966:62f6:949e:94f7) |
| 01:32:40 | × | xff0x quits (~xff0x@2001:1a81:5329:9c00:9b27:ac34:a98:1a7c) (Ping timeout: 240 seconds) |
| 01:33:02 | × | waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 245 seconds) |
| 01:34:29 | → | xff0x joins (~xff0x@2001:1a81:5362:1000:f7a:10f6:c105:a65a) |
| 01:37:02 | → | retroid_ joins (~retro@176.255.22.194) |
| 01:49:22 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 01:49:57 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 01:54:22 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 01:54:27 | × | alx741 quits (~alx741@186.178.109.154) (Quit: alx741) |
| 01:54:55 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 01:58:32 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:59:40 | → | stites[m] joins (~sammtopoi@2001:470:69fc:105::e887) |
| 01:59:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 02:00:00 | × | sander quits (~sander@user/sander) (Quit: So long! :)) |
| 02:00:19 | × | pbrisbin quits (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Ping timeout: 244 seconds) |
| 02:01:25 | → | sander joins (~sander@user/sander) |
| 02:02:40 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 02:03:10 | × | Everything quits (~Everythin@128-124-169-247.mobile.vf-ua.net) (Ping timeout: 240 seconds) |
| 02:05:10 | × | koz quits (~koz@2404:4408:430d:7700:a966:62f6:949e:94f7) (Ping timeout: 240 seconds) |
| 02:07:03 | → | koz joins (~koz@2404:4408:430f:a900:ca69:658c:ba89:aa9f) |
| 02:07:34 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds) |
| 02:08:27 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:08:27 | FinnElija | is now known as Guest4486 |
| 02:08:27 | × | Guest4486 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (calcium.libera.chat (Nickname regained by services))) |
| 02:08:27 | finn_elija | is now known as FinnElija |
| 02:18:15 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 02:18:34 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 02:21:30 | × | td_ quits (~td@muedsl-82-207-238-003.citykom.de) (Ping timeout: 244 seconds) |
| 02:22:28 | × | voldial quits (~user@195.179.201.175) (Changing host) |
| 02:22:28 | → | voldial joins (~user@user/voldial) |
| 02:23:33 | → | td_ joins (~td@muedsl-82-207-238-018.citykom.de) |
| 02:24:37 | × | renzhi quits (~xp@2607:fa49:6500:3d00::d986) (Ping timeout: 252 seconds) |
| 02:34:42 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:34:42 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 02:34:42 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:35:10 | ← | delYsid parts (~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50)) |
| 02:39:17 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 02:40:00 | → | Topik[m] joins (~topikmatr@2001:470:69fc:105::a082) |
| 02:49:22 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds) |
| 02:51:17 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 02:53:02 | × | Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Remote host closed the connection) |
| 02:53:23 | → | Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 02:53:46 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:53:46 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 02:53:46 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:58:10 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 02:59:11 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 03:01:28 | × | Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 252 seconds) |
| 03:01:56 | × | neurocyte quits (~neurocyte@user/neurocyte) (Quit: Ping timeout (120 seconds)) |
| 03:02:08 | → | neurocyte joins (~neurocyte@94.46.75.10) |
| 03:02:08 | × | neurocyte quits (~neurocyte@94.46.75.10) (Changing host) |
| 03:02:08 | → | neurocyte joins (~neurocyte@user/neurocyte) |
| 03:02:18 | → | aerona joins (~aerona@2600:6c54:4600:f300:5098:ea7e:8fa8:e9c) |
| 03:10:04 | × | otto_s quits (~user@p5de2f28d.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 03:12:02 | → | otto_s joins (~user@p5de2f91c.dip0.t-ipconnect.de) |
| 03:20:50 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 03:22:50 | → | sleblanc joins (~sleblanc@user/sleblanc) |
| 03:26:33 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:30:02 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 03:30:02 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 03:30:02 | → | wroathe joins (~wroathe@user/wroathe) |
| 03:31:42 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 03:36:39 | × | Jonno_FTW quits (~come@api.carswap.me) (Changing host) |
| 03:36:39 | → | Jonno_FTW joins (~come@user/jonno-ftw/x-0835346) |
| 03:52:57 | × | zaquest quits (~notzaques@5.128.210.178) (Read error: Connection reset by peer) |
| 03:56:29 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:01:48 | → | zaquest joins (~notzaques@5.128.210.178) |
| 04:02:14 | → | lavaman joins (~lavaman@98.38.249.169) |
| 04:06:36 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 04:07:28 | × | sleblanc quits (~sleblanc@user/sleblanc) (Ping timeout: 252 seconds) |
| 04:11:52 | × | machinedgod quits (~machinedg@135.23.192.217) (Ping timeout: 252 seconds) |
| 04:12:43 | × | kawpuh quits (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Quit: Client closed) |
| 04:27:02 | → | asdofindia-m joins (~akshaymat@2001:470:69fc:105::831) |
| 04:30:40 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 04:37:06 | → | lavaman joins (~lavaman@98.38.249.169) |
| 04:41:10 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 04:56:03 | × | jess quits (~jess@libera/staff/jess) () |
| 05:01:55 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 05:02:59 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 05:32:40 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 05:33:48 | → | michalz joins (~michalz@185.246.204.125) |
| 05:34:38 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:36:10 | → | mei joins (~mei@user/mei) |
| 05:38:17 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 05:44:49 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 05:45:35 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 244 seconds) |
| 05:46:57 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 05:49:49 | → | Neuromancer joins (~Neuromanc@user/neuromancer) |
| 05:58:18 | → | slavaqq joins (~slavaqq@sdmail.sdserver.cz) |
| 06:00:46 | × | jespada quits (~jespada@90.254.245.194) (Ping timeout: 252 seconds) |
| 06:05:37 | → | jespada joins (~jespada@90.254.245.194) |
| 06:06:52 | lep | is now known as lep- |
| 06:15:35 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 06:21:12 | → | vysn joins (~vysn@user/vysn) |
| 06:24:01 | → | agoraphobic joins (~agoraphob@ip11-173.bon.riksnet.se) |
| 06:25:52 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:5028:d3a0:f64f:ec15) |
| 06:27:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:36:04 | × | aegon quits (~mike@174.127.249.180) (Quit: leaving) |
| 06:40:31 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:40:35 | → | Akronymus joins (~Akronymus@85.31.8.180) |
| 06:40:56 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 06:48:37 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 06:49:44 | → | kenran joins (~kenran@b2b-37-24-119-190.unitymedia.biz) |
| 06:51:40 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 06:53:05 | × | aerona quits (~aerona@2600:6c54:4600:f300:5098:ea7e:8fa8:e9c) (Quit: Leaving) |
| 06:59:52 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 07:01:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 07:05:32 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 07:05:32 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 07:05:32 | → | wroathe joins (~wroathe@user/wroathe) |
| 07:10:19 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
| 07:10:25 | → | max22- joins (~maxime@2a01cb0883359800f71e865f3b8a9569.ipv6.abo.wanadoo.fr) |
| 07:12:05 | × | me_ quits (~me@178.70.139.179) (Quit: Leaving) |
| 07:13:43 | → | Gurkenglas joins (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) |
| 07:15:24 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:18:03 | → | me_ joins (~me@178.70.139.179) |
| 07:18:35 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 07:18:53 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 07:19:34 | → | vpan joins (~vilius@212.117.1.172) |
| 07:22:00 | → | kuribas joins (~user@ptr-25vy0i9db35irr18tb3.18120a2.ip6.access.telenet.be) |
| 07:23:14 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
| 07:23:14 | → | dsp joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
| 07:23:31 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 07:25:24 | × | dsp quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Client Quit) |
| 07:26:07 | → | dsp joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
| 07:26:22 | → | acidjnk_new joins (~acidjnk@p200300d0c720308244f5798d54dcee82.dip0.t-ipconnect.de) |
| 07:30:23 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) (Remote host closed the connection) |
| 07:31:34 | → | lavaman joins (~lavaman@98.38.249.169) |
| 07:33:43 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 07:35:55 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 07:35:57 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 07:43:41 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 07:45:10 | × | johnw quits (~johnw@2600:1700:cf00:db0:ddb1:e5fb:471:495e) (Ping timeout: 240 seconds) |
| 07:46:50 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 07:53:40 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:55:07 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
| 07:55:25 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 07:56:19 | → | jneira joins (~jneira@212.8.115.226) |
| 07:57:43 | → | Guest10 joins (~Guest10@93-172-153-232.bb.netvision.net.il) |
| 07:57:58 | → | aman joins (~aman@user/aman) |
| 07:59:40 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds) |
| 07:59:48 | × | jneira quits (~jneira@212.8.115.226) (Client Quit) |
| 08:00:01 | → | jneira joins (~jneira@212.8.115.226) |
| 08:00:36 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:02:14 | JavierNeira[m] | is now known as jneira[m] |
| 08:02:24 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 08:03:49 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 08:04:12 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:04:16 | → | johnw joins (~johnw@2600:1700:cf00:db0:5468:db28:5c48:90a6) |
| 08:05:22 | × | jneira quits (~jneira@212.8.115.226) (Quit: Client closed) |
| 08:06:57 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 08:07:28 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 08:07:37 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 08:07:39 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:10:46 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 08:10:59 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 08:13:53 | → | nschoe joins (~quassel@178.251.84.79) |
| 08:14:36 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2) |
| 08:17:29 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 244 seconds) |
| 08:19:38 | × | bakinonion[m] quits (~bakinonio@2001:470:69fc:105::ddb3) (Ping timeout: 250 seconds) |
| 08:19:38 | × | masaeedu[m] quits (~masaeedum@2001:470:69fc:105::e256) (Ping timeout: 250 seconds) |
| 08:19:38 | × | maralorn quits (~maralorn@2001:470:69fc:105::251) (Ping timeout: 250 seconds) |
| 08:19:42 | × | reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Ping timeout: 245 seconds) |
| 08:19:42 | × | bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Ping timeout: 245 seconds) |
| 08:19:42 | × | Drew[m] quits (~drewefenw@2001:470:69fc:105::c8c4) (Ping timeout: 245 seconds) |
| 08:19:42 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Ping timeout: 245 seconds) |
| 08:19:42 | × | boxscape quits (~boxscape@user/boxscape) (Ping timeout: 245 seconds) |
| 08:19:54 | × | rosariopulella[m quits (~rosariopu@2001:470:69fc:105::a57) (Ping timeout: 256 seconds) |
| 08:19:54 | × | aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (Ping timeout: 256 seconds) |
| 08:19:54 | × | adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Ping timeout: 256 seconds) |
| 08:19:54 | × | wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (Ping timeout: 256 seconds) |
| 08:19:54 | × | infinisil quits (~infinisil@2001:470:69fc:105::ff8) (Ping timeout: 256 seconds) |
| 08:19:54 | × | Magnus[m] quits (~magthetch@2001:470:69fc:105::d1a7) (Ping timeout: 256 seconds) |
| 08:19:54 | × | OndejSkup[m] quits (~mimivxmat@2001:470:69fc:105::c300) (Ping timeout: 256 seconds) |
| 08:19:54 | × | jakefromstatefar quits (~jakefroms@2001:470:69fc:105::15ef) (Ping timeout: 256 seconds) |
| 08:19:59 | × | jkachmar quits (~jkachmar@2001:470:69fc:105::c72d) (Ping timeout: 252 seconds) |
| 08:19:59 | × | denbrahe[m] quits (~denbrahem@2001:470:69fc:105::19c0) (Ping timeout: 252 seconds) |
| 08:19:59 | × | psydroid quits (~psydroid@user/psydroid) (Ping timeout: 252 seconds) |
| 08:20:04 | × | oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Ping timeout: 250 seconds) |
| 08:20:04 | × | jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Ping timeout: 250 seconds) |
| 08:20:37 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit) |
| 08:21:13 | → | bakinonion[m] joins (~bakinonio@2001:470:69fc:105::ddb3) |
| 08:21:23 | → | maralorn joins (~maralorn@2001:470:69fc:105::251) |
| 08:21:28 | → | masaeedu[m] joins (~masaeedum@2001:470:69fc:105::e256) |
| 08:22:10 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 08:22:37 | × | kar1 quits (~kar1@2001:470:69fc:105::c308) (Ping timeout: 245 seconds) |
| 08:22:37 | × | jaror[m] quits (~jaror@2001:470:69fc:105::265) (Ping timeout: 245 seconds) |
| 08:22:40 | × | commuswift[m] quits (~commuswif@2001:470:69fc:105::e862) (Ping timeout: 250 seconds) |
| 08:22:40 | × | cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Ping timeout: 250 seconds) |
| 08:22:44 | × | Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (Ping timeout: 256 seconds) |
| 08:22:44 | × | zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Ping timeout: 256 seconds) |
| 08:22:49 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 08:23:08 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 08:23:11 | → | reza[m] joins (~rezaphone@2001:470:69fc:105::3eda) |
| 08:23:38 | → | boxscape joins (~boxscape@user/boxscape) |
| 08:23:45 | → | Drew[m] joins (~drewefenw@2001:470:69fc:105::c8c4) |
| 08:23:57 | → | aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9) |
| 08:23:57 | → | wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae) |
| 08:23:57 | → | adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d) |
| 08:24:12 | → | Magnus[m] joins (~magthetch@2001:470:69fc:105::d1a7) |
| 08:24:23 | → | OndejSkup[m] joins (~mimivxmat@2001:470:69fc:105::c300) |
| 08:24:30 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 276 seconds) |
| 08:25:19 | → | jakefromstatefar joins (~jakefroms@2001:470:69fc:105::15ef) |
| 08:25:25 | → | rosariopulella[m joins (~rosariopu@2001:470:69fc:105::a57) |
| 08:25:30 | → | infinisil joins (~infinisil@2001:470:69fc:105::ff8) |
| 08:25:33 | → | jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae) |
| 08:26:39 | → | bb010g joins (~bb010g@2001:470:69fc:105::9a5) |
| 08:27:07 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 08:27:12 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 08:27:13 | → | denbrahe[m] joins (~denbrahem@2001:470:69fc:105::19c0) |
| 08:27:57 | → | jkachmar joins (~jkachmar@2001:470:69fc:105::c72d) |
| 08:28:40 | → | Pickchea joins (~private@user/pickchea) |
| 08:29:03 | → | kar1 joins (~kar1@2001:470:69fc:105::c308) |
| 08:29:32 | → | jaror[m] joins (~jaror@2001:470:69fc:105::265) |
| 08:30:50 | → | commuswift[m] joins (~commuswif@2001:470:69fc:105::e862) |
| 08:30:54 | → | psydroid joins (~psydroid@user/psydroid) |
| 08:30:55 | → | cdsmith joins (~cdsmithma@2001:470:69fc:105::284) |
| 08:31:13 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:b12f:f6e7:be8:89a1) |
| 08:31:31 | → | zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32) |
| 08:31:35 | → | Deewiant joins (~deewiant@2001:470:69fc:105::2fd3) |
| 08:32:07 | → | Vajb joins (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) |
| 08:34:17 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 08:35:32 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:b12f:f6e7:be8:89a1) (Ping timeout: 245 seconds) |
| 08:38:17 | × | kuribas quits (~user@ptr-25vy0i9db35irr18tb3.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 08:39:01 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:43:41 | × | bw quits (sid2730@user/betawaffle) () |
| 08:44:12 | → | bw joins (sid2730@user/betawaffle) |
| 08:46:15 | lep- | is now known as lep |
| 08:48:18 | → | chomwitt joins (~chomwitt@2a02:587:dc1c:8c00:12c3:7bff:fe6d:d374) |
| 08:48:19 | × | Vajb quits (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
| 08:48:51 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 08:49:31 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 08:49:44 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 08:51:04 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 244 seconds) |
| 08:51:59 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 08:53:08 | × | jonrh quits (sid5185@id-5185.charlton.irccloud.com) () |
| 08:53:23 | → | jonrh joins (sid5185@id-5185.ilkley.irccloud.com) |
| 08:54:34 | → | burnsidesLlama joins (~burnsides@client-8-65.eduroam.oxuni.org.uk) |
| 08:54:35 | × | burnsidesLlama quits (~burnsides@client-8-65.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 08:55:01 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 08:56:10 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
| 08:56:10 | → | azeem joins (~azeem@2a00:801:3c7:f1df:e0c7:71a9:98ee:cabb) |
| 08:57:04 | → | ubert1 joins (~Thunderbi@77.119.216.109.wireless.dyn.drei.com) |
| 08:57:47 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 244 seconds) |
| 08:57:52 | × | ubert quits (~Thunderbi@91.141.75.40.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 08:57:52 | ubert1 | is now known as ubert |
| 08:59:25 | × | sa1 quits (sid7690@id-7690.charlton.irccloud.com) () |
| 08:59:25 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 08:59:41 | → | sa1 joins (sid7690@id-7690.ilkley.irccloud.com) |
| 09:01:42 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 09:03:59 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 09:04:06 | × | Guest10 quits (~Guest10@93-172-153-232.bb.netvision.net.il) (Quit: Client closed) |
| 09:06:44 | × | caasih quits (sid13241@id-13241.charlton.irccloud.com) () |
| 09:06:59 | → | caasih joins (sid13241@id-13241.ilkley.irccloud.com) |
| 09:08:50 | × | SethTisue__ quits (sid14912@id-14912.charlton.irccloud.com) () |
| 09:09:08 | → | SethTisue__ joins (sid14912@id-14912.ilkley.irccloud.com) |
| 09:09:25 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 09:10:53 | × | rune quits (sid21167@id-21167.charlton.irccloud.com) () |
| 09:11:07 | → | rune joins (sid21167@id-21167.ilkley.irccloud.com) |
| 09:17:33 | → | hololeap_ joins (~hololeap@user/hololeap) |
| 09:18:17 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Quit: Leaving) |
| 09:18:27 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
| 09:18:45 | → | cheater joins (~Username@user/cheater) |
| 09:18:57 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 09:19:53 | → | fendor joins (~fendor@178.165.178.184.wireless.dyn.drei.com) |
| 09:21:06 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds) |
| 09:25:31 | × | S11001001 quits (sid42510@id-42510.charlton.irccloud.com) () |
| 09:25:47 | → | S11001001 joins (sid42510@id-42510.ilkley.irccloud.com) |
| 09:25:55 | × | slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Quit: Client closed) |
| 09:30:12 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Ping timeout: 272 seconds) |
| 09:30:16 | × | edwardk quits (sid47016@haskell/developer/edwardk) () |
| 09:30:20 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 244 seconds) |
| 09:30:30 | → | Taneb joins (~Taneb@runciman.hacksoc.org) |
| 09:30:32 | → | edwardk joins (sid47016@haskell/developer/edwardk) |
| 09:31:59 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38de:e6e9:ea75:8d72) |
| 09:33:24 | → | acidjnk_new3 joins (~acidjnk@p200300d0c7203082044439077358aa69.dip0.t-ipconnect.de) |
| 09:34:12 | × | stites[m] quits (~sammtopoi@2001:470:69fc:105::e887) (Ping timeout: 245 seconds) |
| 09:34:12 | × | RohitGoswami[m] quits (~rgoswamim@2001:470:69fc:105::16cc) (Ping timeout: 245 seconds) |
| 09:34:30 | → | stites[m] joins (~sammtopoi@2001:470:69fc:105::e887) |
| 09:35:27 | × | ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Ping timeout: 245 seconds) |
| 09:35:37 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 09:35:56 | → | RohitGoswami[m] joins (~rgoswamim@2001:470:69fc:105::16cc) |
| 09:36:26 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38de:e6e9:ea75:8d72) (Ping timeout: 252 seconds) |
| 09:36:55 | × | acidjnk_new quits (~acidjnk@p200300d0c720308244f5798d54dcee82.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 09:37:03 | × | gmc quits (sid58314@id-58314.charlton.irccloud.com) () |
| 09:37:18 | → | gmc joins (sid58314@id-58314.ilkley.irccloud.com) |
| 09:40:40 | → | ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a) |
| 09:44:48 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 244 seconds) |
| 09:45:46 | × | ProofTechnique quits (sid79547@id-79547.charlton.irccloud.com) () |
| 09:46:01 | → | ProofTechnique joins (sid79547@id-79547.ilkley.irccloud.com) |
| 09:51:08 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 09:51:42 | × | the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Ping timeout: 245 seconds) |
| 09:52:02 | → | the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f) |
| 09:52:36 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 09:58:16 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 09:58:50 | → | Vajb joins (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) |
| 10:00:33 | → | xsperry joins (~as@user/xsperry) |
| 10:01:22 | × | hook54321 quits (sid149355@user/hook54321) () |
| 10:02:39 | → | kuribas joins (~user@ptr-25vy0i9db35irr18tb3.18120a2.ip6.access.telenet.be) |
| 10:02:50 | → | hook54321 joins (sid149355@user/hook54321) |
| 10:04:57 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 10:06:17 | × | deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Remote host closed the connection) |
| 10:06:18 | × | Vajb quits (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
| 10:06:46 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 10:13:53 | × | ozzymcduff quits (~mathieu@81-234-151-21-no94.tbcn.telia.com) (Ping timeout: 248 seconds) |
| 10:13:57 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 10:14:07 | → | ozzymcduff joins (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
| 10:14:52 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 10:16:13 | × | angerman quits (sid209936@id-209936.charlton.irccloud.com) () |
| 10:16:28 | → | angerman joins (sid209936@id-209936.ilkley.irccloud.com) |
| 10:20:13 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 10:27:12 | × | chomwitt quits (~chomwitt@2a02:587:dc1c:8c00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds) |
| 10:27:42 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 10:39:46 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 10:40:10 | → | dsrt^ joins (~dsrt@wsip-98-188-244-188.mc.at.cox.net) |
| 10:40:24 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-fe4c-6fb4-341e-bc1f.fixed6.kpn.net) |
| 10:42:27 | → | chomwitt joins (~chomwitt@2a02:587:dc1c:8c00:12c3:7bff:fe6d:d374) |
| 10:42:37 | → | jtomas joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
| 10:42:40 | × | nschoe quits (~quassel@178.251.84.79) (Ping timeout: 244 seconds) |
| 10:44:01 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 10:46:13 | × | cln quits (sid336875@id-336875.charlton.irccloud.com) () |
| 10:46:30 | → | cln joins (sid336875@id-336875.ilkley.irccloud.com) |
| 10:46:49 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 10:49:21 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:49:45 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 10:53:16 | → | APic joins (apic@apic.name) |
| 10:55:07 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 245 seconds) |
| 10:55:46 | × | mrianbloom quits (sid350277@id-350277.charlton.irccloud.com) () |
| 10:56:00 | → | mrianbloom joins (sid350277@id-350277.ilkley.irccloud.com) |
| 10:58:45 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 11:00:27 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-fe4c-6fb4-341e-bc1f.fixed6.kpn.net) (Remote host closed the connection) |
| 11:00:42 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-6787-6675-a7ba-bbb9.fixed6.kpn.net) |
| 11:00:49 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:00:51 | → | alx741 joins (~alx741@186.178.109.154) |
| 11:05:40 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-6787-6675-a7ba-bbb9.fixed6.kpn.net) (Ping timeout: 240 seconds) |
| 11:06:09 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:10:57 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
| 11:11:24 | <kuribas> | Wouldn't it be possible to define monadTransformers based on lift? |
| 11:12:00 | <kuribas> | For example, a statemonad would just do the state functions, then lift up the parent stacks? |
| 11:12:16 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 11:13:19 | <kuribas> | wouldn't that solve the quadratic instances problem? |
| 11:18:24 | × | acidjnk_new3 quits (~acidjnk@p200300d0c7203082044439077358aa69.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 11:20:18 | × | rtpg quits (sid443069@charlton.irccloud.com) () |
| 11:20:19 | → | sm2n_ joins (~sm2n@user/sm2n) |
| 11:20:33 | → | rtpg joins (sid443069@id-443069.ilkley.irccloud.com) |
| 11:20:54 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 11:21:20 | × | sm2n quits (~sm2n@user/sm2n) (Read error: Connection reset by peer) |
| 11:24:07 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 11:25:34 | → | fendor_ joins (~fendor@91.141.58.223.wireless.dyn.drei.com) |
| 11:26:10 | × | aman quits (~aman@user/aman) (Ping timeout: 240 seconds) |
| 11:27:55 | <lortabac> | kuribas: you can avoid the quadratic instances by using overlappable instances |
| 11:28:02 | × | fendor quits (~fendor@178.165.178.184.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
| 11:28:11 | <lortabac> | I have seen various packages using this technique |
| 11:29:06 | <lortabac> | kuribas: see for example the MonadMetrics instances here: https://hackage.haskell.org/package/monad-metrics-0.2.2.0/docs/Control-Monad-Metrics.html |
| 11:29:57 | <kuribas> | ah it uses lift, that is what I mean... |
| 11:30:42 | × | tapas quits (sid467876@id-467876.charlton.irccloud.com) () |
| 11:30:57 | → | tapas joins (sid467876@id-467876.ilkley.irccloud.com) |
| 11:33:24 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38de:e6e9:ea75:8d72) |
| 11:34:05 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 11:34:51 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 11:35:43 | → | jippiedoe joins (~david@77-171-152-62.fixed.kpn.net) |
| 11:35:45 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 11:37:02 | × | phma quits (~phma@host-67-44-208-129.hnremote.net) (Read error: Connection reset by peer) |
| 11:37:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38de:e6e9:ea75:8d72) (Ping timeout: 240 seconds) |
| 11:37:41 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 11:37:58 | → | phma joins (~phma@host-67-44-208-165.hnremote.net) |
| 11:38:59 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 11:40:18 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:43:22 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 11:44:39 | → | MoC joins (~moc@user/moc) |
| 11:45:56 | → | nschoe joins (~quassel@178.251.84.79) |
| 11:49:39 | × | supersven quits (uid501114@id-501114.charlton.irccloud.com) () |
| 11:49:53 | → | supersven joins (sid501114@id-501114.ilkley.irccloud.com) |
| 11:50:59 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 11:51:01 | → | Guest8166 joins (~lordgrenv@31.210.180.48) |
| 11:53:13 | → | slavaqq joins (~slavaqq@sdmail.sdserver.cz) |
| 11:57:35 | × | Guest8166 quits (~lordgrenv@31.210.180.48) (Quit: WeeChat 3.2) |
| 11:59:45 | → | acidjnk_new3 joins (~acidjnk@p200300d0c7203082044439077358aa69.dip0.t-ipconnect.de) |
| 12:02:44 | × | max22- quits (~maxime@2a01cb0883359800f71e865f3b8a9569.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds) |
| 12:04:18 | → | chris joins (~chris@81.96.113.213) |
| 12:04:22 | chris | is now known as Guest6534 |
| 12:04:39 | → | sleblanc joins (~sleblanc@user/sleblanc) |
| 12:09:42 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
| 12:11:41 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:18:07 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 12:18:43 | <jumper149> | Hi, I was wondering, if it's possible to set `default-extensions` for all targets in a cabal file (I have split up library, executable and test). |
| 12:19:12 | <jumper149> | Same goes for other options like `default-language` |
| 12:19:29 | <tomsmeding> | jumper149: check out https://cabal.readthedocs.io/en/3.4/cabal-package.html#common-stanzas |
| 12:24:25 | <jumper149> | tomsmeding: Perfect, ty :) |
| 12:26:34 | × | dsp quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Quit: Leaving) |
| 12:26:58 | → | dsp joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
| 12:32:11 | × | Guest6534 quits (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 12:34:26 | × | Akronymus quits (~Akronymus@85.31.8.180) (Quit: Akronymus) |
| 12:35:12 | → | chris joins (~chris@81.96.113.213) |
| 12:35:16 | chris | is now known as Guest855 |
| 12:37:05 | <jumper149> | Is there something like: `Enum a => Proxy (x :: a) -> a` |
| 12:38:03 | <jumper149> | It should function similar to natVal. |
| 12:39:54 | × | dsp quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection) |
| 12:40:34 | × | azeem quits (~azeem@2a00:801:3c7:f1df:e0c7:71a9:98ee:cabb) (Ping timeout: 256 seconds) |
| 12:41:31 | → | azeem joins (~azeem@m83-185-46-36.cust.tele2.se) |
| 12:42:49 | × | Guest855 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
| 12:49:15 | × | ubert quits (~Thunderbi@77.119.216.109.wireless.dyn.drei.com) (Ping timeout: 244 seconds) |
| 12:50:39 | → | chris joins (~chris@81.96.113.213) |
| 12:50:44 | chris | is now known as Guest4670 |
| 12:51:37 | → | pbrisbin joins (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) |
| 12:55:50 | → | acidjnk_new joins (~acidjnk@p200300d0c72030822833470607f1d13e.dip0.t-ipconnect.de) |
| 12:56:07 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 12:56:32 | hololeap_ | is now known as hololeap |
| 12:56:56 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 12:57:27 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 12:57:58 | → | acidjnk joins (~acidjnk@p200300d0c72030822833470607f1d13e.dip0.t-ipconnect.de) |
| 12:59:19 | × | acidjnk_new3 quits (~acidjnk@p200300d0c7203082044439077358aa69.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 12:59:23 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds) |
| 13:00:17 | → | ubert joins (~Thunderbi@77.119.216.109.wireless.dyn.drei.com) |
| 13:00:58 | × | acidjnk_new quits (~acidjnk@p200300d0c72030822833470607f1d13e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 13:01:47 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 245 seconds) |
| 13:01:59 | <ski> | jumper149 : which value in `a' do you expect as result ? the least one ? the greatest one ? some other ? |
| 13:03:40 | × | xff0x quits (~xff0x@2001:1a81:5362:1000:f7a:10f6:c105:a65a) (Ping timeout: 240 seconds) |
| 13:03:45 | <ski> | for `natVal :: KnownNat n => Proxy n -> Integer', the constraint `KnownNat n' carries information about a particular natural. the `Enum a' constraint does not carry such information, it just tells you how to enumerate ranges, given bounds (and possibly step), and how to convert to and from `Int' |
| 13:04:10 | <ski> | @src Enum |
| 13:04:10 | <lambdabot> | class Enum a where |
| 13:04:10 | <lambdabot> | succ, pred :: a -> a |
| 13:04:10 | <lambdabot> | toEnum :: Int -> a |
| 13:04:10 | <lambdabot> | fromEnum :: a -> Int |
| 13:04:12 | <lambdabot> | enumFrom :: a -> [a] |
| 13:04:14 | <lambdabot> | enumFromThen, enumFromTo :: a -> a -> [a] |
| 13:04:16 | <lambdabot> | enumFromThenTo :: a -> a -> a -> [a] |
| 13:04:41 | → | xff0x joins (~xff0x@2001:1a81:5362:1000:ab65:46f5:7289:f422) |
| 13:04:49 | <ski> | if you want least or greatest, try `Bounded a'. otherwise, i dunno what you're looking for |
| 13:05:07 | × | ubert quits (~Thunderbi@77.119.216.109.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
| 13:05:43 | → | Unhammer joins (~Unhammer@user/unhammer) |
| 13:05:52 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 13:05:53 | <ski> | (well, not exactly step but the next value in the enumeration sequence ..) |
| 13:06:21 | → | hendursaga joins (~weechat@user/hendursaga) |
| 13:07:35 | → | ubert joins (~Thunderbi@178.115.65.0.wireless.dyn.drei.com) |
| 13:07:51 | × | deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 244 seconds) |
| 13:08:38 | × | Guest4670 quits (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 13:09:53 | <jumper149> | ski: Well, ignore the `Enum`. I just want something that works for basic Enumeration types like `data X = A | B | C` |
| 13:10:31 | <jumper149> | I can certainly write a type class like `KnownX` where I set it manually. |
| 13:10:45 | <jumper149> | But it would be nice if there was some automiatic mechanism for this. |
| 13:11:04 | <ski> | perhaps you could try converting the `Integer' result from `natVal', using `toEnum' (with a "to `Int'" conversion inbetween) |
| 13:11:47 | × | ubert quits (~Thunderbi@178.115.65.0.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
| 13:12:22 | <ski> | perhaps you could declare a `KnownEnum' class for this |
| 13:13:11 | × | vpan quits (~vilius@212.117.1.172) (Quit: Leaving.) |
| 13:14:35 | <jumper149> | ski: Exactly. I was hoping this exists already x) |
| 13:14:42 | × | xff0x quits (~xff0x@2001:1a81:5362:1000:ab65:46f5:7289:f422) (Ping timeout: 245 seconds) |
| 13:14:57 | <int-e> | type family FromEnum (x :: a) :: Nat |
| 13:14:57 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 13:15:30 | → | chris joins (~chris@81.96.113.213) |
| 13:15:34 | chris | is now known as Guest1035 |
| 13:16:04 | <ski> | and `ToEnum' ? |
| 13:16:07 | <int-e> | hmm, and type KnownEnum x = KnownNat (FromEnum x) |
| 13:16:56 | <int-e> | Anyway, the point here is that you'd need Enum-like machinery on the type level, and none of that currently exists. |
| 13:17:21 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 13:18:14 | <int-e> | ski: Maybe, but it's not needed for KnownEnum x => Prxoy (x :: a) -> a |
| 13:18:45 | <lortabac> | there is probably something in singletons-base |
| 13:18:49 | <int-e> | Or rather, (KnownEnum x, Enum a) => Prxoy (x :: a) -> a |
| 13:18:54 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 13:19:20 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:19:27 | <int-e> | Oh I should've added "in base" |
| 13:19:39 | <jumper149> | Do type level Fins exist yet? |
| 13:19:53 | <ski> | i was thinking of operations `enumVal :: (Enum a,KnownEnum a e) => proxy e -> a' and `someEnumVal :: Enum a => a -> Maybe (SomeEnum a)', where `SomeEnum a' encodes `exists e. KnownEnum a e *> ()', iow `data SomeEnum a = forall e. KnownEnum a e => MkSomeEnum' |
| 13:20:50 | × | Guest1035 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
| 13:21:32 | <lortabac> | jumper149: I got stuck on this same problem in one of my projects |
| 13:21:42 | <lortabac> | I haven't found any satisfactory solutions yet |
| 13:21:58 | <ski> | er, need some additional constraint on `a', for `someEnumVal', i think |
| 13:22:11 | ski | ponders |
| 13:23:25 | <ski> | (oh, btw, if you prefer, you could replace `()' by `Proxy e', iow instead of `MkSomeEnum', we say `MkSomeEnum (Proxy e)') |
| 13:25:42 | <ski> | hm, i guess we probably don't need an additional constraint on `a'. being able to embed `a' in `Integer' should suffice |
| 13:25:42 | <lortabac> | basically I want to allow users of my library to do dependent pattern-matching on a finite subset of the natural numbers |
| 13:26:35 | <ski> | (iow, you shouldn't need to declare the `Enum' types that you want to use with `enumVal' and `someEnumVal' as instances of some type class. it should suffice that they're already instances of `Enum') |
| 13:27:17 | → | chris joins (~chris@81.96.113.213) |
| 13:27:20 | → | ubert joins (~Thunderbi@178.115.65.0.wireless.dyn.drei.com) |
| 13:27:22 | chris | is now known as Guest5677 |
| 13:27:28 | → | xff0x joins (~xff0x@2001:1a81:5362:1000:ab65:46f5:7289:f422) |
| 13:31:23 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 13:31:23 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 13:31:23 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:32:11 | <lortabac> | maybe one can avoid a dependency on singletons with some TemplateHaskell |
| 13:34:43 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38de:e6e9:ea75:8d72) |
| 13:34:44 | <lortabac> | some TH magic that generates the moral equivalent of FromEnum |
| 13:38:52 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38de:e6e9:ea75:8d72) (Ping timeout: 245 seconds) |
| 13:41:11 | → | acidjnk_new joins (~acidjnk@p200300d0c7203082e12fc7ac6d75bf2a.dip0.t-ipconnect.de) |
| 13:41:24 | × | dsrt^ quits (~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection) |
| 13:42:52 | → | Pickchea joins (~private@user/pickchea) |
| 13:44:42 | × | acidjnk quits (~acidjnk@p200300d0c72030822833470607f1d13e.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 13:45:56 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
| 13:46:13 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 13:48:07 | <hololeap> | so, I'm making a Semigroup instance for my sum type with three constructors... 3^2 = 9 different declarations needed. is there any way to ease this and/or automate it? |
| 13:49:55 | × | sleblanc quits (~sleblanc@user/sleblanc) (Ping timeout: 252 seconds) |
| 13:51:30 | <hololeap> | the type closely resembles These: data MinMax = MyMin Min | MyMax Max | MyMinMax Min Max |
| 13:52:40 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 13:53:05 | <hololeap> | and then you have the various declarations: MyMin n1 <> MyMin n2 = MyMin (n1 <> n2) ; MyMin n <> MyMax x = MyMinMax n x ; MyMin n1 <> MyMinMax n2 x = MyMinMax (n1 <> n2) x |
| 13:53:58 | <hololeap> | so, everything sort of "gravitates" towards MyMinMax... I'm not sure if this makes it a "monotonic type" or whatever it's called |
| 13:54:01 | → | yangby joins (~secret@115.199.101.158) |
| 13:54:44 | <hololeap> | *"gravitates" towards the _constructor_ MyMinMax |
| 13:55:10 | → | wonko joins (~wjc@62.115.229.50) |
| 13:57:18 | → | jonatan joins (~nate@h85-8-60-194.cust.a3fiber.se) |
| 13:57:49 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
| 13:57:50 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 13:57:56 | <jippiedoe> | jumper149: It sounds a lot like something Singletons could do, but I don't have experience with the actual library to tell you how :) |
| 13:59:00 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
| 13:59:12 | <jumper149> | hololeap: If it's a common pattern `DerivingVia` can be useful. |
| 13:59:28 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 14:00:02 | × | slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Quit: Client closed) |
| 14:02:10 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
| 14:02:27 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 14:02:33 | <hololeap> | jumper149: yeah, although I'm not sure what pattern this would be. it definitely looks like it would be a common pattern |
| 14:02:44 | <hololeap> | sadly there is no semigroup instance for These |
| 14:04:11 | → | vs^ joins (~vs@wsip-98-188-244-188.mc.at.cox.net) |
| 14:05:12 | <jumper149> | Does this work? https://hackage.haskell.org/package/these |
| 14:05:19 | <jumper149> | Didn't check the instance though |
| 14:05:46 | <jumper149> | oh... I just see |
| 14:05:54 | <jumper149> | You already know about it x) |
| 14:07:02 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 14:07:19 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 14:08:37 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:10:49 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 252 seconds) |
| 14:13:05 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 14:13:22 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 14:14:58 | × | kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Quit: WeeChat info:version) |
| 14:15:44 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:15:44 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 14:15:44 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:15:49 | <kuribas> | hololeap: toMinMax MyMin n = MyMinMax n mempty, etc... |
| 14:16:20 | × | acidjnk_new quits (~acidjnk@p200300d0c7203082e12fc7ac6d75bf2a.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 14:16:41 | × | yangby quits (~secret@115.199.101.158) (Quit: Go out for a walk and buy a drink.) |
| 14:16:45 | <hololeap> | kuribas: there is no Monoid instance for Min or Max :p |
| 14:16:52 | <kuribas> | oh... |
| 14:16:56 | <hololeap> | yeah |
| 14:17:07 | <kuribas> | hololeap: 9 isn't so bad though... |
| 14:17:19 | <hololeap> | fair enough... xp |
| 14:17:36 | × | deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 244 seconds) |
| 14:18:01 | <ski> | > case someNatVal 3 of Nothing -> 42; Just (SomeNat p) -> natVal p |
| 14:18:02 | <lambdabot> | 3 |
| 14:18:06 | <ski> | > case someNatVal (-1) of Nothing -> 42; Just (SomeNat p) -> natVal p |
| 14:18:08 | <lambdabot> | 42 |
| 14:18:19 | → | max22- joins (~maxime@2a01cb0883359800fe0ea54f1b68cc60.ipv6.abo.wanadoo.fr) |
| 14:18:21 | <ski> | @let newtype EnumType a = ET Nat |
| 14:18:22 | <lambdabot> | Defined. |
| 14:18:34 | <ski> | @let class Enum a => KnownEnum a e where enumVal :: proxy e -> a |
| 14:18:36 | <lambdabot> | Defined. |
| 14:18:50 | <ski> | @let instance (Enum a,KnownNat n) => KnownEnum a (ET n :: EnumType a) where enumVal (pn :: proxy (ET n)) = toEnum (fromIntegral (natVal (Proxy :: Proxy n) + fromIntegral (minBound :: Int))) |
| 14:18:51 | <lambdabot> | Defined. |
| 14:18:59 | <ski> | @let data SomeEnum a = forall e. KnownEnum a e => WrapEnum (Proxy e) |
| 14:19:01 | <lambdabot> | Defined. |
| 14:19:11 | <ski> | @let someEnumVal :: forall a. Enum a => a -> SomeEnum a; someEnumVal x = case someNatVal (fromIntegral (fromEnum x) - fromIntegral (minBound :: Int)) of Just (SomeNat (Proxy :: Proxy n)) -> WrapEnum (Proxy :: Proxy (ET n :: EnumType a)) |
| 14:19:12 | <lambdabot> | Defined. |
| 14:19:21 | <ski> | @let data X = A | B | C deriving (Show,Enum) |
| 14:19:23 | <lambdabot> | Defined. |
| 14:19:29 | <ski> | > case someEnumVal B of WrapEnum pe -> enumVal pe :: X |
| 14:19:30 | <lambdabot> | B |
| 14:19:40 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 14:19:41 | <kuribas> | hololeap: convert to (Maybe a, Maybe b)? |
| 14:19:51 | <ski> | jumper149,lortabac,int-e ^ |
| 14:20:11 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
| 14:20:41 | <int-e> | ski: uh, can you put that into a pastebin |
| 14:20:52 | <ski> | (don't export `EnumType',`ET'. if you want to, also don't export `enumVal', *as* a member of `KnownNat'. (it should still be exported as a function)) |
| 14:20:53 | <hololeap> | kuribas: I thought of this, but it doesn't preclude (Nothing, Nothing), which isn't a possibility, so I would have to have have: (Nothing, Nothing) -> error "Can't happen" |
| 14:21:15 | <kuribas> | hololeap: well, if it can't happen, it can't happen :) |
| 14:22:03 | <hololeap> | It ends up being more than 9 lines of code anyway with that approach, so whatever... I'll just stick to enumerating them by hand |
| 14:22:19 | <kuribas> | hololeap: it's less error prone... |
| 14:22:43 | <kuribas> | but yeah, not that big of a deal.. |
| 14:23:20 | <hololeap> | hm, no I think that with the "Pattern match(es) are non-exhaustive" warning and the type system doing its thing, there isn't actually any room for error here, but IDK |
| 14:24:49 | <kuribas> | well: MinMax n1 m <> Min n2 = MinMax n1 m |
| 14:25:39 | <hololeap> | oh, that is true |
| 14:26:35 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 14:27:19 | <int-e> | :t someNatVal |
| 14:27:20 | <lambdabot> | Integer -> Maybe SomeNat |
| 14:27:39 | <hololeap> | http://sprunge.us/MgQpvG (just for reference) |
| 14:28:01 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 14:28:15 | <int-e> | damn, where is that from... |
| 14:28:56 | <hololeap> | ? |
| 14:28:58 | <int-e> | GHC.TypeLits, not GHC.TypeNats. Meh. |
| 14:29:32 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:29:32 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 14:29:32 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:29:33 | <lortabac> | it's in both |
| 14:29:53 | <int-e> | :t GHC.TypeNats.someNatVal |
| 14:29:54 | <lambdabot> | GHC.Natural.Natural -> SomeNat |
| 14:30:02 | <int-e> | lortabac: not really |
| 14:30:11 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 14:30:30 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 14:31:28 | <lortabac> | it's confusing, the one in GHC.TypeLits accepts Integers |
| 14:31:36 | → | vicfred joins (~vicfred@user/vicfred) |
| 14:31:41 | <lortabac> | they should have used a different name |
| 14:31:46 | <int-e> | lortabac: yes, hence my annoyance |
| 14:32:34 | → | aliosablack joins (~chomwitt@ppp-94-69-12-184.home.otenet.gr) |
| 14:33:27 | × | chomwitt quits (~chomwitt@2a02:587:dc1c:8c00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds) |
| 14:33:40 | × | jippiedoe quits (~david@77-171-152-62.fixed.kpn.net) (Ping timeout: 240 seconds) |
| 14:34:32 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
| 14:35:53 | <int-e> | ski: that's kind of cheating though, isn't it? |
| 14:37:47 | <int-e> | ski: see the `test'` attempt in https://paste.tomsmeding.com/3WleQYYc ...I thought something like that was what jumper149 wanted. |
| 14:38:40 | <int-e> | And that's what made me reach for additional type families. |
| 14:38:49 | → | enick_877 joins (~matrixbot@130.44.141.131) |
| 14:39:17 | → | stites[m]1 joins (~stitescoc@130.44.141.131) |
| 14:41:44 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 14:42:51 | → | MQ-17J joins (~MQ-17J@8.21.10.6) |
| 14:45:28 | × | stites[m]1 quits (~stitescoc@130.44.141.131) (Quit: Bridge terminating on SIGTERM) |
| 14:45:28 | × | enick_877 quits (~matrixbot@130.44.141.131) (Quit: Bridge terminating on SIGTERM) |
| 14:45:43 | → | stites joins (~stitescoc@130.44.141.131) |
| 14:45:43 | → | enick_902 joins (~matrixbot@130.44.141.131) |
| 14:46:31 | <ski> | int-e : <https://paste.tomsmeding.com/VOHU1gWT> |
| 14:46:45 | → | zebrag joins (~chris@user/zebrag) |
| 14:47:37 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 14:49:15 | <int-e> | ski: thanks... though I was too impatient |
| 14:50:36 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 14:51:13 | <ski> | int-e, ah, yes, that would require some way of lifting the type `a' (where `Enum a') into a kind, so that `a's values would correspond to types of that kind, and then you would want to pass those types to `Proxy', passing that to some other version of `enumVal' |
| 14:52:32 | <int-e> | it would need some serious support to make convenient... probably a bit of Template Haskell to fill in the type family values. |
| 14:52:38 | <int-e> | (hah, family values...) |
| 14:52:42 | <ski> | it wasn't clear to me whether jumper149 wanted something like this, or only the more basic, "abstract", functionality, being able to use `someEnumVal', and then back through `enumVal'. (rather, i only considered the latter functionality) |
| 14:53:11 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 14:53:16 | <int-e> | ski: I agree that it's unclear. Maybe reflection support (which is what you have) is enough. |
| 14:53:35 | <int-e> | (pet peeve: reify/reflect are named the wrong way) |
| 14:54:29 | <ski> | (hm, i suppose that's true. hadn't noticed that before) |
| 14:54:56 | <int-e> | (also completely tangential and not really important. But to my mind, values are more concrete than types. So types should be the reflections of values, not vice versa, but the literature thinks otherwise.) |
| 14:56:09 | <ski> | (can you give an example of how/where the literature thinks otherwise ? (not particularly looking for a specific source, but rather in which sense the literature thinks values are reflections of types, in this context)) |
| 14:56:16 | <hololeap> | oh, there actually _is_ a semigroup instance for These that mirrors what I was trying to do... nice. I was looking at These1 for some reason |
| 14:56:16 | × | stites quits (~stitescoc@130.44.141.131) (Quit: Bridge terminating on SIGTERM) |
| 14:56:16 | × | enick_902 quits (~matrixbot@130.44.141.131) (Quit: Bridge terminating on SIGTERM) |
| 14:56:32 | → | enick_913 joins (~matrixbot@130.44.141.131) |
| 14:56:33 | → | stites joins (~stitescoc@130.44.141.131) |
| 14:57:30 | <int-e> | ski: Hrm, I ought to be able to find papers on this if pressed, but maybe this is sufficient evidence? https://hackage.haskell.org/package/reflection-2.1.6/docs/Data-Reflection.html#v:reflect |
| 14:59:11 | <jumper149> | Like int-e was guessing correctly I wanted something I can easily use with Proxy. I'm not too sure, why it doesnt work though. |
| 14:59:26 | <ski> | hm, ok. i was thinking perhaps there was some kind of rationale or analogy that you knew off-hand, that could explain why the present use of `reify' vs. `reflect' was chosen |
| 14:59:55 | <ski> | (i already quickly looked up those operations, to confirm your observation) |
| 15:00:25 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
| 15:01:16 | <ski> | hm, perhaps one reason might be that, a use of that `reflect' typically occurs (dynamically) inside a use of `reify', which i guess is also the pattern with say monadic reflection (how about other cases of reification/reflection ?) |
| 15:01:45 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:5028:d3a0:f64f:ec15) (Quit: WeeChat 2.8) |
| 15:01:51 | <ski> | jumper149 : see my paste above, and see if that suffices for what you want to do ? |
| 15:01:58 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 252 seconds) |
| 15:02:14 | <ski> | (also see my example with lambdabot, using your `data X = A | B | C', further up) |
| 15:02:31 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 15:02:49 | <ski> | ("something I can easily use with Proxy" is unclear to me) |
| 15:03:01 | <c_wraith> | So... Do pi types totally subsume reify/reflect? |
| 15:03:32 | <EvanR> | is this similar to the difference between type classes and just records of functions |
| 15:03:55 | <EvanR> | accomplish the same goal but with different flavor and feel |
| 15:04:09 | <int-e> | ski: I know of no source that dives into etymology. |
| 15:04:21 | ski | nods |
| 15:05:05 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:05:05 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 15:05:05 | → | wroathe joins (~wroathe@user/wroathe) |
| 15:05:16 | <int-e> | ski: My own speculation is that it's derived from Java's use of reflection... but in Java, you actually get a weird *description* of types (as values)... whereas we tend to produce values. So... the roles get flipped. |
| 15:05:21 | <c_wraith> | Or even.. not "totally", but "at all"? |
| 15:05:48 | <int-e> | (I expect this predates Java, but I don't know where it came from. Does SmallTalk have reflection?) |
| 15:07:01 | <ski> | hm, iirc, in SmallTalk, classes are objects. to instantiate a new object of a class, you send it the `new' message, or somesuch |
| 15:07:18 | <ski> | (although classes are not identical with types ..) |
| 15:07:23 | <c_wraith> | Like, I have this silly monoid, https://paste.tomsmeding.com/AYZgs8hO , and I'm wondering if anyone knows if pi types in dependent haskell might replace the use of reflection in it |
| 15:11:54 | <dolio> | I think I agree that they're backwards. The value is the 'real' thing, and the type is its reflection. But it's already named backwards in the paper cited as original. |
| 15:12:05 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2) |
| 15:12:21 | <dolio> | It must be because it's an academic paper, so they think types are more real than values. |
| 15:12:56 | <ski> | "they're backwards" -- who/where ? `Data.Reflection' ? Java reflection ? |
| 15:13:23 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:13:25 | <dolio> | They're backwards in Data.Reflection, because in that case you are reflecting values in the type system. |
| 15:13:45 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 15:13:49 | <dolio> | They're named correctly in Java because there you're reflecting types as values you can access. |
| 15:14:52 | <ski> | in monadic reflection, you're reifying implicit side-effects (of a particular kind, introduced originally via explicitly defining a monad) into a monadic action, explicitly expressing the effects. and reflection does the opposite, reflects the description of the effects in the action, into actual side-effects |
| 15:15:01 | <dolio> | Even though the same words might be used for the same direction (type->value vs. value->type) in both cases. |
| 15:15:31 | <ski> | (i got that in mind, since i recently revisited Filinski's papers on monadic reflection) |
| 15:16:18 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 15:16:23 | <ski> | anyway, i agree with your "I think I agree that ..." |
| 15:19:08 | <ski> | c_wraith : fun example. i wonder if it could be extended to handle parsing .. |
| 15:20:16 | <EvanR> | at compile time, the types are real and values not xD |
| 15:20:38 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 244 seconds) |
| 15:21:07 | <EvanR> | in an advanced type system, you never get around to actually running the completed program |
| 15:21:10 | <ski> | EvanR : hmm .. i'm not sure, but i think the "only one instance of a type for a type class" thing isn't really an issue, in the comparision between the type class based reflection, and pi types |
| 15:21:31 | <EvanR> | it's not? |
| 15:21:56 | <EvanR> | because you can make many instances dynamically? |
| 15:22:36 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-7-205.prtc.net) |
| 15:22:48 | <ski> | you don't have multiple distinct instances of `KnownNat n' being threaded around. if it's the same `n', then the instances encode the same `Integer'. if you want a different (non-negative) `Integer', then you get `KnownNat n1' for `n1' distinct from `n' |
| 15:23:09 | <jumper149> | http://ix.io/3xQ9 |
| 15:23:35 | <jumper149> | ski: I can' get around defining those instances manually with your module I guess. |
| 15:24:48 | <jumper149> | can't |
| 15:25:17 | <EvanR> | interesting |
| 15:25:42 | <ski> | jumper149 : so you do want to be able to say KnownNat X 'A and not just be able to pass `A' to `someEnumVal' (converting `A' to a constraint that is propagated around implicitly), and later pass a proxy enabling a handle on that constraint back to `enumVal', recovering `A' ? |
| 15:26:44 | <EvanR> | similar to a category whose arrows from A to B represent a relation holding between A and B. Regardless of the number of arrows, the same relation holds |
| 15:26:47 | <ski> | jumper149 : with my module, you'd simply not declare those instances at all. you'd only need `Enum X', and then you're set to go |
| 15:27:32 | <EvanR> | can *that* sort of thing be expressed with pi types... |
| 15:27:34 | <ski> | (but that only enables you to do what i just sketched above. it does not enable you to say something like KnownNat X 'A .. which is what int-e was going for) |
| 15:28:56 | → | kawpuh joins (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) |
| 15:29:23 | <ski> | EvanR : hm, can you elaborate on where the multiplicity of arrows (/instances ?) vs. singularity of them matters here ? |
| 15:30:00 | <jumper149> | ski: I think that is correct. I do kinda have trouble to wrap my head around, what your module _can_ do. |
| 15:30:26 | <ski> | > case someEnumVal B of WrapEnum pe -> enumVal pe :: X |
| 15:30:28 | <lambdabot> | B |
| 15:30:33 | <EvanR> | can you set up a pi type which represents something like, if you can implement this pi type at all, that is the interesting bit |
| 15:31:12 | <EvanR> | a possble type vs impossible type |
| 15:31:26 | × | xstill quits (~xstill@fimu/xstill) (Quit: ZNC - https://znc.in) |
| 15:31:55 | <EvanR> | i know sigma can do this |
| 15:32:41 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 15:32:54 | <ski> | you can pass a value of your type `X' to `someEnumVal'. you'll get back a constraint `KnownEnum X x' (packaged inside `WrapEnum'), for an unknown type variable `x' (which represents the value of type `X' you passed to `someEnumVal'). now you can let this `KnownEnum X x' constraint be propagated implicitly to other operations you call, until you want to "grab the `X' value associated with `x' out of thin air" |
| 15:33:00 | <ski> | again, by passing a proxy for `x' to `enumVal' |
| 15:33:03 | <ski> | jumper149 ^ |
| 15:33:37 | <int-e> | jumper149, ski: What I had in mind was this https://paste.tomsmeding.com/fx6ODlf4 (it doesn't cover the reflection use case) |
| 15:34:34 | <int-e> | ...not sure why I defined enumVal after X... |
| 15:37:08 | <int-e> | But yes, it does suffer from having to define a type instance for every constructor of interest. Oh and there's nothing that ensures consistency of FromEnum and fromEnum. |
| 15:37:09 | → | xstill joins (~xstill@gate.vstill.cz) |
| 15:37:09 | × | xstill quits (~xstill@gate.vstill.cz) (Changing host) |
| 15:37:09 | → | xstill joins (~xstill@fimu/xstill) |
| 15:38:30 | <ski> | EvanR : how can sigma do this (whatever "this" is. answering might help me understand what your desired "this" is about) ? |
| 15:38:31 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 15:38:43 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) |
| 15:39:03 | <EvanR> | sigma x . x < 0 sort of type |
| 15:39:11 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 15:39:14 | <EvanR> | no examples |
| 15:39:19 | <ski> | for `x' a natural ? |
| 15:39:22 | <EvanR> | yeah |
| 15:39:23 | × | phma quits (~phma@host-67-44-208-165.hnremote.net) (Read error: Connection reset by peer) |
| 15:39:37 | <ski> | so an uninhabitated type |
| 15:39:53 | <jumper149> | ski: Ok, I get it now. As long as I'm behind the case `WrapEnum pe ->` I can get `pe` from type level to value level. |
| 15:39:59 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 15:40:42 | <ski> | `pi x :: t. u[x]' is only uninhabited, in case `t' isn't (there is some `v' in it), while `u[v]' is uninhabited |
| 15:40:44 | → | phma joins (~phma@host-67-44-208-28.hnremote.net) |
| 15:41:05 | <ski> | (i'm still unsure if this is what you're asking about) |
| 15:41:21 | → | chisui joins (~chisui@200116b8681f270090a84dee76546807.dip.versatel-1u1.de) |
| 15:41:28 | <EvanR> | doh ... right. It's been a while |
| 15:41:46 | <jumper149> | int-e: Your example is closer to what I had in mind too. |
| 15:42:02 | → | jess joins (~jess@libera/staff/jess) |
| 15:42:04 | <ski> | jumper149 : yes. also, if you call some other operations from "behind the case", then that operation can also get back the value in `X' from `KnownEnum X x', as long as that operation has such a constraint |
| 15:42:28 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds) |
| 15:43:36 | × | nschoe quits (~quassel@178.251.84.79) (Ping timeout: 256 seconds) |
| 15:43:39 | <ski> | (iow, you don't have to put the `enumVal' call syntactically inside the `case' branch. it can be inside the definition of some operation called (perhaps indirectly, in multiple steps) from that branch) |
| 15:44:17 | <jumper149> | ski: Ok thank you! That really cleared it up for me. |
| 15:45:18 | <ski> | so, it seems that the only thing my version doesn't give you, out of what's been discussed, is to be able to say things like KnownEnum X 'A or enumVal (Proxy :: Proxy 'A) |
| 15:47:26 | <ski> | iow, you can't explicitly write your `X' values in the types. but you still can convert a value of type `X' into a corresponding type variable `x' (using `someEnumVal'), together with constraint `KnownEnum X x', and then later, possibly elsewhere (as long as the constraint is propagated there) get back the original value of type `X' (by using `enumVal' on a `Proxy x') |
| 15:48:09 | → | nschoe joins (~quassel@178.251.84.79) |
| 15:48:46 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:48:48 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection) |
| 15:51:12 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 15:52:28 | × | chisui quits (~chisui@200116b8681f270090a84dee76546807.dip.versatel-1u1.de) (Quit: Client closed) |
| 15:52:34 | × | nschoe quits (~quassel@178.251.84.79) (Ping timeout: 252 seconds) |
| 15:52:45 | → | chisui joins (~chisui@200116b8681f270090a84dee76546807.dip.versatel-1u1.de) |
| 15:53:03 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) |
| 15:53:39 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 15:56:35 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-7-205.prtc.net) (Ping timeout: 256 seconds) |
| 15:56:58 | fendor_ | is now known as fendor |
| 15:57:31 | × | MQ-17J quits (~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds) |
| 15:58:52 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 15:59:01 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 16:02:03 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 16:04:07 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
| 16:04:56 | stites[m] | is now known as stites[m]1 |
| 16:05:07 | × | BestSteve quits (~beststeve@220-135-3-239.HINET-IP.hinet.net) (*.net *.split) |
| 16:06:02 | → | BestSteve joins (~beststeve@220-135-3-239.HINET-IP.hinet.net) |
| 16:06:30 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 16:07:43 | × | kawpuh quits (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Quit: Client closed) |
| 16:08:39 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:10:31 | × | BestSteve quits (~beststeve@220-135-3-239.HINET-IP.hinet.net) (Ping timeout: 250 seconds) |
| 16:10:47 | → | kawpuh joins (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) |
| 16:12:22 | → | BestSteve joins (~beststeve@220-135-3-239.HINET-IP.hinet.net) |
| 16:13:04 | × | wonko quits (~wjc@62.115.229.50) (Ping timeout: 256 seconds) |
| 16:15:36 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 16:16:08 | → | wonko joins (~wjc@62.115.229.50) |
| 16:17:37 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
| 16:17:58 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:20:16 | × | wz1000 quits (~zubin@static.11.113.47.78.clients.your-server.de) (Quit: WeeChat 2.8) |
| 16:20:25 | → | wz1000 joins (~zubin@static.11.113.47.78.clients.your-server.de) |
| 16:22:16 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 16:22:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 16:25:06 | → | dsp joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
| 16:28:19 | × | ubert quits (~Thunderbi@178.115.65.0.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 16:30:39 | × | Guest5677 quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 16:33:41 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 16:34:12 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 16:34:31 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 16:34:31 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 16:34:40 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 16:34:48 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:35:04 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 16:36:04 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 16:36:34 | × | deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 252 seconds) |
| 16:37:09 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 16:38:26 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
| 16:40:16 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
| 16:42:47 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 16:43:13 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:44:48 | × | fendor quits (~fendor@91.141.58.223.wireless.dyn.drei.com) (Remote host closed the connection) |
| 16:47:18 | → | aegon joins (~mike@174.127.249.180) |
| 16:48:27 | <aegon> | i'm confused by the interweb reports. seems most places claim that when transporting ascii over the network you don't have to worry about big vs little endian because its a 1 byte encoding but wouldn't it still matter for each bit or are the bits allways in the same arrangement |
| 16:50:47 | → | fendor joins (~fendor@91.141.58.223.wireless.dyn.drei.com) |
| 16:51:57 | <aegon> | nvm did more looking |
| 16:52:52 | <int-e> | You don't have to worry. People working on the physical level (network adapters) do the worrying for you... |
| 16:53:08 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 16:53:15 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 16:53:28 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 16:54:26 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:54:53 | <maerwald> | just keep those bytes coming |
| 16:55:08 | → | adelon joins (~adelon@user/adelon) |
| 16:55:56 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 16:56:55 | × | xff0x quits (~xff0x@2001:1a81:5362:1000:ab65:46f5:7289:f422) (Ping timeout: 252 seconds) |
| 16:57:40 | → | xff0x joins (~xff0x@2001:1a81:5362:1000:c47d:ed82:441b:712b) |
| 16:57:46 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 16:59:40 | × | charukiewicz quits (~quassel@irouteince04.i.subnet.rcn.com) (Ping timeout: 252 seconds) |
| 17:01:47 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
| 17:02:05 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 17:09:59 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 17:09:59 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 17:09:59 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:14:40 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 17:21:07 | × | Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds) |
| 17:22:04 | → | __monty__ joins (~toonn@user/toonn) |
| 17:29:10 | → | favonia joins (~favonia@user/favonia) |
| 17:30:06 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 17:35:58 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 17:38:06 | <aegon> | oh, cool to now that is a thing just at the network adapter level. I keep running into this same pattern in my code that is awkword to deal with and i'm wondering how to clean it up https://paste.tomsmeding.com/L2F0BKBk |
| 17:39:37 | → | vysn joins (~vysn@user/vysn) |
| 17:41:41 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 17:41:53 | <maerwald> | aegon: MaybeT |
| 17:45:08 | → | awpr joins (uid446117@id-446117.tooting.irccloud.com) |
| 17:47:35 | <aegon> | maerwald: so add something like MonadFail to the outer monad, but the failure only makes sense in these little blocks, application wide failure on the outer monad would be a bug. should i be doing a runMaybeT for each of these blocks? |
| 17:47:53 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
| 17:48:11 | <maerwald> | no, you use `MaybeT m a` and then have one runMaybeT before the do |
| 17:48:27 | <awpr> | I've got some newly-uploaded packages on Hackage failing CI on GHC versions they don't intend to support (missing extensions, etc.) -- what's the recommended way to exclude them? tweaking the base dependency to indirectly require a new enough compiler? some Cabal config that constrains the GHC version? |
| 17:48:53 | <aegon> | i see, oo, is maybeT a MonadFail instance? that would be pretty slick |
| 17:49:06 | × | alx741 quits (~alx741@186.178.109.154) (Quit: alx741) |
| 17:49:08 | <aegon> | oh it is |
| 17:49:10 | <aegon> | :D |
| 17:49:15 | <maerwald> | aegon: it might not do what you think it does |
| 17:50:00 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 17:50:04 | <aegon> | maerwald: i think it allows me to write my failure code in terms of monadFail then decide between either / maybe / whatever at the call site. I might be wrong on that though, I havent used anything around MonadFail yet |
| 17:50:20 | <maerwald> | `fail _ = MaybeT (return Nothing)` |
| 17:50:37 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 17:51:12 | <aegon> | yeah but if then if i wanted the string value i could use EitherT right? |
| 17:51:54 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 17:52:40 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds) |
| 17:52:51 | <maerwald> | MonadFail for ExceptT runs the fail for the inner monad I think |
| 17:52:57 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 17:53:10 | <maerwald> | so if you have `ExceptT e IO a` fail will raise an IO exception |
| 17:54:06 | <aegon> | darn, that isn't what i expected :X |
| 17:54:39 | <maerwald> | https://paste.tomsmeding.com/hr1X1HN0 |
| 17:54:46 | <maerwald> | yeah, so MonadFail isn't a great API |
| 17:54:56 | <maerwald> | it's useful for "dunno what to do" |
| 17:55:07 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 17:56:46 | <monochrom> | You should not trust your guess of what "fail" in "Monadfail" means. |
| 17:57:58 | <monochrom> | The correct meaning is that if you have a refutable pattern in do-notation, "x:xs <- getLine", then the MonadFail method is used for pattern mismatch. |
| 17:58:04 | <maerwald> | transformers often have non-intuitive API |
| 17:59:32 | <monochrom> | Very quickly you realize that different instances should handle it differently, hell oppositely. |
| 18:00:12 | × | nurupo quits (~nurupo.ga@user/nurupo) (Quit: nurupo.ga) |
| 18:00:26 | → | nurupo joins (~nurupo.ga@user/nurupo) |
| 18:00:32 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 18:01:24 | <maerwald> | MonadThrow also propagates to the inner monad very often |
| 18:01:29 | <monochrom> | The other thing you realize is that "fail" does not mean some kind of user-defined notion of "failure". |
| 18:01:51 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection) |
| 18:03:32 | → | goepsilongo joins (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) |
| 18:03:35 | <aegon> | wierd, that makes sense though. I need to get a better feel for exception handling, from my experience with it so far my feelings are that I never want code to throw exceptions, only thing i've worked with that excepts (outside of IO errors) is httpclient |
| 18:04:04 | <aegon> | but maybe ErrorT is what i want if I wnat to use either in a transformer stack that will short circuit on Left's |
| 18:04:13 | <monochrom> | Writers who limit themselves to "simple English" most-popular 5000-word vocab meet readers who are in a delusion that such bland words mean anything at all. |
| 18:04:46 | → | slep joins (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) |
| 18:07:37 | <maerwald> | I don't think it's easy to get a *feel* for exception handling |
| 18:07:46 | <maerwald> | but you can develop a strong paranoia |
| 18:08:03 | <sclv> | awpr: yeah you want to set base constraints to exclude ghcs you don't want. https://wiki.haskell.org/Base_package |
| 18:08:07 | <maerwald> | that guides you through your memories of past horrors |
| 18:09:28 | <awpr> | sclv: that seems a bit less than satisfying since base isn't properly what provides the functionality it depends on, but indeed it ought to work. if there's not a "more correct" way, I'll go with that. |
| 18:09:50 | <awpr> | sclv: thanks for confirming that's a common way to approach it |
| 18:09:50 | <sclv> | its the standard way |
| 18:09:57 | <maerwald> | aegon: https://www.fpcomplete.com/haskell/tutorial/exceptions/ |
| 18:10:35 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Remote host closed the connection) |
| 18:10:37 | × | ArctVaulMarsHMPJ quits (~pjetcetal@128-71-152-79.broadband.corbina.ru) (Ping timeout: 252 seconds) |
| 18:10:43 | <awpr> | re exceptions, reading Michael Snoyman's writings on exceptions over the past few years is a great way to cultivate the appropriate level of abject horror |
| 18:10:52 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 18:12:02 | <awpr> | IIRC a recent-ish article concluded that it's actually impossible to be async-exception-safe in certain important contexts, or something similarly concerning |
| 18:13:55 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 18:14:12 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:14:18 | → | nfd joins (~nfd@c-73-83-2-237.hsd1.wa.comcast.net) |
| 18:14:32 | × | kosmikus quits (~kosmikus@nullzig.kosmikus.org) (Ping timeout: 252 seconds) |
| 18:14:42 | <sclv> | i disagree with all that |
| 18:14:45 | → | kosmikus joins (~kosmikus@nullzig.kosmikus.org) |
| 18:14:50 | <sclv> | async exceptions are fine when used for the purpose designed |
| 18:15:13 | <sclv> | i don't know why everybody gets mad at the |
| 18:15:14 | <sclv> | them |
| 18:17:14 | <maerwald> | Snoymans arguments against `ExceptT e IO` are confusing at best. And MonadThrow isn't that great either |
| 18:18:28 | → | aplainze1akind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 18:19:40 | → | alzgh joins (~alzgh@user/alzgh) |
| 18:19:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:21:06 | × | lambdap quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: Ping timeout (120 seconds)) |
| 18:21:21 | → | lambdap joins (~lambdap@static.167.190.119.168.clients.your-server.de) |
| 18:21:37 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 252 seconds) |
| 18:21:51 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 276 seconds) |
| 18:21:51 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
| 18:22:11 | <maerwald> | I'm still a `Excepts` user... not a firm believer, but in lack of better alternatives |
| 18:22:30 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 18:22:30 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
| 18:22:32 | <aegon> | maerwald: bookmarked'd for the weekend |
| 18:23:05 | <awpr> | my recollection of the details is pretty fuzzy, and I can't seem to find the article. it might have been a much more limited scope, like some particular issue in safe-exceptions or unliftio that can't be solved properly. I do agree async-exception safety seems to be okay in my own experience if you stick to bracket/finally/etc. or think _really_ hard about the masking situation |
| 18:23:20 | <alzgh> | hello, I sent a question in #haskell-beginners a few hours ago. If anyone can help, really appreciate it. Thanks. |
| 18:23:22 | × | noctuks quits (FtRbHWeJFU@user/noctux) (Ping timeout: 240 seconds) |
| 18:24:30 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 18:24:36 | → | noctuks joins (SOLseiizId@user/noctux) |
| 18:24:44 | × | cjay- quits (cjay@nerdbox.nerd2nerd.org) (Ping timeout: 272 seconds) |
| 18:25:06 | → | cjay joins (cjay@nerdbox.nerd2nerd.org) |
| 18:25:11 | <maerwald> | awpr: yeah, there was a debate about safe-exceptions and not everyone agrees |
| 18:25:36 | <maerwald> | it boils down to "what happens if your handler has a bug" afair |
| 18:25:39 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:26:38 | × | max22- quits (~maxime@2a01cb0883359800fe0ea54f1b68cc60.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds) |
| 18:26:47 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) |
| 18:28:46 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 18:29:02 | → | hendursaga joins (~weechat@user/hendursaga) |
| 18:29:23 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 18:32:42 | → | hololeap joins (~hololeap@user/hololeap) |
| 18:33:17 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:33:23 | <alzgh> | 'm trying to set the prompt in stack ghci. I added 'set prompt "λ> "' (also with a colon at the beginning) to both ~/.ghci and ~/ghc/.ghci and none worked for me. I also started stack ghci from both folders and it didn't have any effect. Looking online I alsofound references to yaml file and was not sure if they are |
| 18:33:25 | <alzgh> | for packaging only or have effects on the REPL too. |
| 18:35:32 | → | theproffesor joins (~theproffe@2601:282:847f:8010::bd6d) |
| 18:35:32 | × | theproffesor quits (~theproffe@2601:282:847f:8010::bd6d) (Changing host) |
| 18:35:32 | → | theproffesor joins (~theproffe@user/theproffesor) |
| 18:36:43 | × | chisui quits (~chisui@200116b8681f270090a84dee76546807.dip.versatel-1u1.de) (Quit: Client closed) |
| 18:39:24 | → | Everything joins (~Everythin@37.115.210.35) |
| 18:39:45 | ← | theproffesor parts (~theproffe@user/theproffesor) () |
| 18:39:46 | <alzgh> | sorry, I have to leave. Would've waited for an answer but can only connect through a vpn and need to disconnect it rn. |
| 18:39:49 | × | alzgh quits (~alzgh@user/alzgh) (Quit: WeeChat 2.8) |
| 18:41:29 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:41:29 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 18:41:29 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:43:23 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection) |
| 18:43:38 | × | nvmd quits (~nvmd@user/nvmd) (Quit: Later, nerds.) |
| 18:43:52 | × | deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 245 seconds) |
| 18:44:06 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) |
| 18:47:52 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 18:49:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:49:49 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:50:05 | × | nfd quits (~nfd@c-73-83-2-237.hsd1.wa.comcast.net) (Changing host) |
| 18:50:05 | → | nfd joins (~nfd@user/nfd) |
| 18:51:48 | <maerwald> | I want an infix operator to combine `ToString a => a -> a -> a`, I'm too uncreative to come up with one, most <x> are already taken |
| 18:54:04 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 18:54:10 | × | vs^ quits (~vs@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 240 seconds) |
| 18:55:37 | → | chris joins (~chris@81.96.113.213) |
| 18:55:40 | chris | is now known as Guest6220 |
| 18:56:08 | → | max22- joins (~maxime@2a01cb08833598002548cafda19f7929.ipv6.abo.wanadoo.fr) |
| 18:58:12 | <maerwald> | `(<#>) :: (ToString s1, ToString s2) => s1 -> s2 -> String` looks ok |
| 19:00:07 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 19:00:11 | × | Guest6220 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
| 19:03:22 | × | phma quits (~phma@host-67-44-208-28.hnremote.net) (Read error: Connection reset by peer) |
| 19:04:17 | → | phma joins (~phma@host-67-44-209-108.hnremote.net) |
| 19:04:19 | → | chris joins (~chris@81.96.113.213) |
| 19:04:25 | chris | is now known as Guest5270 |
| 19:05:49 | × | VoidNoir0 quits (~VoidNoir0@72.80.203.52) (Quit: Connection closed) |
| 19:07:52 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 19:11:47 | → | kenran joins (~kenran@200116b82b4ba500eab1ecf6a48465f7.dip.versatel-1u1.de) |
| 19:13:44 | → | vs^ joins (~vs@wsip-98-188-244-188.mc.at.cox.net) |
| 19:14:01 | <tomsmeding> | s/ToString/IsString/? |
| 19:14:06 | <maerwald> | no |
| 19:15:05 | <tomsmeding> | oh some show-but-different class? then your a -> a -> a is not going to work :p |
| 19:15:38 | <maerwald> | see above |
| 19:15:50 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 19:15:56 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Client Quit) |
| 19:16:11 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 19:16:41 | <nfd> | your second signature looks fine |
| 19:17:34 | <nfd> | your example one probably made at least a third of us go "...that clearly wasn't what you menat" |
| 19:17:52 | <maerwald> | pseudo code |
| 19:18:05 | <maerwald> | guys, we're moving fast here :D |
| 19:18:36 | <tomsmeding> | feels like a very specific operator that isn't very reusable, though, to me |
| 19:18:39 | <int-e> | let's reinvent Text.Pretty for the 101st time |
| 19:18:48 | <tomsmeding> | unless ToString String is id |
| 19:19:10 | <maerwald> | this isn't about pretty |
| 19:19:14 | <maerwald> | it is id |
| 19:19:30 | <int-e> | actually my first thought here was that you'd probably want (<#>) :: ... -> Endo String |
| 19:19:33 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 19:19:34 | <tomsmeding> | right, then it works well |
| 19:19:50 | <maerwald> | I'm also not asking about the function itself or the class, just operator "name" |
| 19:19:57 | <tomsmeding> | <++> |
| 19:20:05 | <tomsmeding> | ++++++ |
| 19:20:17 | <maerwald> | quite javascript-esque, that might work |
| 19:20:23 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:20:24 | <tomsmeding> | "kind of ++" |
| 19:20:30 | <int-e> | tomsmeding: https://wiki.haskell.org/Obfuscation |
| 19:20:49 | × | enick_913 quits (~matrixbot@130.44.141.131) (Quit: Bridge terminating on SIGTERM) |
| 19:20:49 | × | stites quits (~stitescoc@130.44.141.131) (Quit: Bridge terminating on SIGTERM) |
| 19:21:04 | <tomsmeding> | :p |
| 19:21:04 | → | stites joins (~stitescoc@130.44.141.131) |
| 19:21:07 | → | enick_769 joins (~matrixbot@130.44.141.131) |
| 19:21:09 | <int-e> | (sure, it uses ???, but +++ would do the trick too) |
| 19:21:46 | <maerwald> | also, this conflicts really badly with OverloadedStrings :p |
| 19:24:22 | <tomsmeding> | > let (?) = (+) ; (???) = (*) ; (??) = 6 in (??)???(??)?(??) |
| 19:24:24 | <lambdabot> | 42 |
| 19:24:52 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 19:25:17 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 19:25:20 | <tomsmeding> | too heavy use of () in that haskell wiki code |
| 19:25:26 | <tomsmeding> | too few infix operators |
| 19:27:23 | <maerwald> | so I also need `(<.#>) :: ToString s => String -> s -> String` and `(<#.>)` to get around the ambiguity errors |
| 19:27:26 | <monochrom> | sclv: I don't get mad at async exceptions! I think Haskell, or GHC, or whatever Simon Marlow did, has made async exceptions good. |
| 19:27:52 | <maerwald> | and all this just so I can avoid T.pack |
| 19:28:31 | <tomsmeding> | perhaps haskell needs to steal c++'s thing where you can define string literal suffixes |
| 19:28:42 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
| 19:28:47 | <tomsmeding> | where "abc" :: char* but "abc"s :: std::string |
| 19:28:54 | <monochrom> | Async exceptions in C would be too much trouble for the effort, sure. But Haskell doesn't have C's problems. |
| 19:29:05 | <tomsmeding> | banish OverloadedStrings |
| 19:30:44 | <nfd> | haskell still has a few of C's problems, like "it runs on an actual computer" |
| 19:30:49 | <nfd> | ;-; |
| 19:31:31 | <monochrom> | tomsmeding: No no no, C++ should steal Haskell's string literal prefix. pack"abc" >:) |
| 19:31:41 | <monochrom> | > length"abc" |
| 19:31:42 | <lambdabot> | 3 |
| 19:32:36 | <maerwald> | I always confine OverloadedStrings to specific modules, but it's still a mess |
| 19:33:51 | <maerwald> | tomsmeding: "abc" for IsStrinng, "abc"s for String, "abc"t for Text etc? |
| 19:34:03 | <tomsmeding> | yes |
| 19:34:34 | <tomsmeding> | (""tom) :: String -> TomString ; (""tom) a = TomString a -- then use "abc"tom |
| 19:34:43 | <maerwald> | that won't be fun to make parse, but yeah |
| 19:34:49 | <tomsmeding> | okay that definition syntax might be crappy |
| 19:35:10 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 19:35:32 | <tomsmeding> | not sure it'll be that bad to parse; the lexer will just have to pick it up |
| 19:35:44 | <tomsmeding> | larger problem is that now spacing matters even _more_ |
| 19:36:09 | <maerwald> | It would be an extension, so it's fine |
| 19:36:10 | <monochrom> | This is why my prefix idea is better. It already works today. Here and now. |
| 19:36:12 | <tomsmeding> | c.f. negative literals |
| 19:36:37 | <monochrom> | And it is not so hard to alias t = T.pack |
| 19:36:52 | <maerwald> | uh |
| 19:36:54 | <tomsmeding> | only issue being that now 't' is defined |
| 19:36:59 | <maerwald> | that's gonna give a lot of scoping warnings |
| 19:37:11 | <monochrom> | But to be honest I would prefer text = T.pack |
| 19:37:34 | → | chisui joins (~chisui@200116b8681f2700339b8e78de8fcf37.dip.versatel-1u1.de) |
| 19:37:40 | <monochrom> | Because to be honest in C++ I would prefer "abc"string not "abc"s. |
| 19:37:58 | <monochrom> | or at least "abc"str |
| 19:38:18 | <maerwald> | so the real answer is quasi quotes again |
| 19:38:21 | <maerwald> | but they're more typing |
| 19:38:32 | <monochrom> | Right? This "abc"s feature brough to you by people who say that single-letter names are bad. |
| 19:38:49 | <tomsmeding> | and if you allow more typing, you might as well `pack "kaas"` as monochrom suggests :p |
| 19:38:54 | <maerwald> | so we just need shorter syntax for quasi quotes |
| 19:39:29 | <maerwald> | [s|abc|] and [t|abc|] are annoying |
| 19:39:50 | × | gehmehgeh quits (~user@user/gehmehgeh) (Client Quit) |
| 19:40:18 | <monochrom> | Just define a control-meta-shift-[ macro to enter [|] for you. |
| 19:40:53 | <maerwald> | I'm already suffering from joint inflammation, if I do emacs stuff now it's gonna get worse :D |
| 19:41:10 | <monochrom> | In fact I set a ctrl-x " macro to enter “” for me. |
| 19:41:21 | <maerwald> | wait, there's a snippet plugin that works with auto completer |
| 19:41:23 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 19:41:34 | <maerwald> | e.g. you type `s` and it would suggest the macro |
| 19:41:58 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 19:42:00 | <monochrom> | Ah yeah snippets work too. I used to set up xml snippets in gedit. |
| 19:42:36 | <maerwald> | https://github.com/Shougo/deoppet.nvim |
| 19:42:40 | × | xerox quits (~edi@user/edi) (Ping timeout: 240 seconds) |
| 19:42:45 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 276 seconds) |
| 19:43:06 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 276 seconds) |
| 19:43:07 | → | chexum_ joins (~quassel@gateway/tor-sasl/chexum) |
| 19:43:41 | <monochrom> | I have another great idea. |
| 19:43:51 | → | xerox joins (~edi@user/edi) |
| 19:43:58 | <monochrom> | Dedicate a module to all string literals. |
| 19:44:21 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Remote host closed the connection) |
| 19:44:24 | <tomsmeding> | I'm writing haskell, not assembly |
| 19:44:32 | <monochrom> | It can have OverloadedStrings safely because it has nothing but string literals that need implicit T.pack (for example). |
| 19:44:37 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 19:44:53 | <monochrom> | The other benefit is that it is easy to internationalize. |
| 19:45:20 | <maerwald> | str1, str2, str3, ... |
| 19:45:25 | <monochrom> | Write an alternative for the Chinese language, use backpack and mixin etc to select Chinese or English. >:) |
| 19:46:10 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 19:46:35 | <tomsmeding> | so need to recompile to select a different language? |
| 19:46:43 | <maerwald> | I think I'm just gonna kill OverloadedStrings |
| 19:48:34 | <monochrom> | xmonad users are already fine with recompiling to, say, just change one keybinding. So yeah. >:) |
| 19:48:57 | tomsmeding | thought xmonad could load a new xmonad.hs at runtime |
| 19:49:19 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 19:49:32 | <monochrom> | Too bad Hugs doesn't do backpack mixins. I would really love to say, "if you use Hugs, you don't need to recompile". |
| 19:50:22 | <geekosaur> | tomsmeding, we recompile and re-exec the config |
| 19:51:00 | <monochrom> | Oh hey geekosaur, not sure if I should raise this... printf %d for double??!!! |
| 19:51:14 | <geekosaur> | whoops |
| 19:51:23 | <monochrom> | hahaha OK no further question! |
| 19:51:24 | <geekosaur> | I was not fully awake I guess |
| 19:51:53 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 19:52:02 | <monochrom> | Sorry I was teaching a unix-and-C course this summer, very sensitive to these little things that normally shouldn't matter. |
| 19:52:05 | <geekosaur> | I had a scratching itch that I was wrong but didn't double check. I usually pay for that |
| 19:52:11 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 19:52:26 | <geekosaur> | been too long since I dealt with printfd |
| 19:52:38 | → | Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 19:52:47 | <geekosaur> | (printf should die. in both c and haskell) |
| 19:53:30 | <monochrom> | But what should replace printf in C? C++'s iostream thingies? |
| 19:53:51 | → | econo joins (uid147250@user/econo) |
| 19:54:52 | <monochrom> | I'm actually OK with "fprint_int(stdout, i); fprint_str(stdout, " "); fprint_double(stdout, sin(0.0));" if that's what you have in mind. |
| 19:55:47 | <dsal> | `fprint_double2f_double4f_double2f_double0f_double_int` |
| 19:57:34 | <monochrom> | My pet peeve with C printf (and Pascall writeln) is that it is inextensible. I cannot declare "%b now means the struct type I have defined". |
| 19:58:16 | <dsal> | I was writing some purescript a couple days ago using a generated API for Google stuff which included a function named `sendEmailWithStringStringStringObjectBlobsourcearrayStringStringStringObjectStringBooleanString` -- I immediately imposed an 80 column limit on my project. |
| 19:58:17 | <monochrom> | whereas the fprint_footype convention is trivially extensible. And C++ iostream is also designed to be extensible and syntactically nice. |
| 19:58:36 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 19:58:37 | <dsal> | Go sort of has extensibility with %v and then %#v or %+v (I get those two confused) |
| 19:58:53 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 19:59:21 | <monochrom> | Ugh I have talked about Haskell too much. I now type Pascal as Pascall. |
| 19:59:23 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 19:59:55 | <dsal> | Do you also pronounce it Paskell? |
| 20:00:05 | <tomsmeding> | dsal: probably came from a language with keyword arguments |
| 20:00:07 | <monochrom> | At the beginning I did! |
| 20:00:18 | <dsal> | tomsmeding: It didn't. :( It's a JS API. |
| 20:00:21 | <monochrom> | Err no, I misunderstood. |
| 20:00:27 | <dsal> | Pronunciation is deprecated, anyway. |
| 20:00:43 | <monochrom> | At the beginning I pronounced Haskell as Hascal. |
| 20:01:16 | <dsal> | I'm pretty sure I pronounced Pascal Paskell, so we've got good coverage. |
| 20:01:31 | <monochrom> | :) |
| 20:02:23 | ← | adelon parts (~adelon@user/adelon) () |
| 20:03:08 | → | dsp__ joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
| 20:03:15 | × | dsp quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Ping timeout: 244 seconds) |
| 20:04:48 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 20:05:19 | × | juhp quits (~juhp@128.106.188.220) (Ping timeout: 244 seconds) |
| 20:07:05 | → | juhp joins (~juhp@128.106.188.220) |
| 20:07:16 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:08:52 | × | mei quits (~mei@user/mei) (Ping timeout: 252 seconds) |
| 20:10:21 | × | Guest5270 quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 20:10:56 | → | chris joins (~chris@81.96.113.213) |
| 20:11:00 | chris | is now known as Guest6864 |
| 20:11:53 | → | acidjnk_new joins (~acidjnk@p200300d0c72030664ce73bae7fb97d69.dip0.t-ipconnect.de) |
| 20:12:27 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 20:13:35 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 20:13:53 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 20:15:08 | × | Guest6864 quits (~chris@81.96.113.213) (Ping timeout: 244 seconds) |
| 20:17:37 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 245 seconds) |
| 20:22:07 | → | pgib joins (~textual@173-38-117-70-rtp-corp-nat-pool.cisco.com) |
| 20:24:22 | <maerwald> | [t||] is already taken? |
| 20:24:46 | <geekosaur> | type quasiquoter iirc |
| 20:25:06 | <maerwald> | I can't find what imports it |
| 20:26:16 | <maerwald> | `t` is a great search term |
| 20:26:50 | <tomsmeding> | not in scope in my plain ghci shell |
| 20:26:50 | × | kawpuh quits (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Quit: Client closed) |
| 20:27:09 | → | chris joins (~chris@81.96.113.213) |
| 20:27:13 | chris | is now known as Guest4623 |
| 20:29:09 | <geekosaur> | hm, maybe not. I thought there were 4 predefined quasiquoters but the docs only mention [q||] |
| 20:29:31 | <maerwald> | well, I get "Actual type: Language.Haskell.TH.Lib.Internal.TypeQ" |
| 20:30:00 | → | pragma- joins (~chaos@user/pragmatic-chaos) |
| 20:32:12 | <tomsmeding> | maerwald: it's a predefined TH quote https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/template_haskell.html#extension-TemplateHaskellQuotes |
| 20:32:29 | <tomsmeding> | % :set -XQuasiQuotes -XTemplateHaskell |
| 20:32:30 | <yahb> | tomsmeding: |
| 20:32:34 | <tomsmeding> | % [t|Int|] |
| 20:32:35 | <yahb> | tomsmeding: ConT GHC.Types.Int |
| 20:32:40 | <tomsmeding> | you need both extensions to get this |
| 20:35:20 | × | lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 20:36:11 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:37:04 | → | pavonia joins (~user@user/siracusa) |
| 20:38:19 | <maerwald> | can't win |
| 20:38:54 | <tomsmeding> | law of preservation of misery |
| 20:38:54 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
| 20:40:56 | → | ubert joins (~Thunderbi@178.115.65.0.wireless.dyn.drei.com) |
| 20:44:21 | × | vysn quits (~vysn@user/vysn) (Remote host closed the connection) |
| 20:46:37 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 20:48:20 | → | Pickchea joins (~private@user/pickchea) |
| 20:48:31 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 20:49:51 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:49:51 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 20:49:51 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:50:23 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:52:15 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 20:52:16 | × | Everything quits (~Everythin@37.115.210.35) (Quit: leaving) |
| 20:52:51 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 20:53:25 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 20:54:55 | Lord_of_Life_ | is now known as Lord_of_Life |
| 20:55:10 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection) |
| 21:02:08 | × | talismanick quits (~user@2601:644:8500:8350::cc04) (Quit: ERC (IRC client for Emacs 27.2)) |
| 21:02:40 | × | dsp__ quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection) |
| 21:03:46 | × | ubert quits (~Thunderbi@178.115.65.0.wireless.dyn.drei.com) (Ping timeout: 256 seconds) |
| 21:04:26 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 21:04:44 | <hololeap> | I remember there was a data type that was recommended to me that was like Either, but values on the Left would accumulate like Writer. anyone have an idea what it was? |
| 21:05:30 | <tomsmeding> | Valuation? or the thing written by kuribas a while back |
| 21:05:46 | × | Guest4623 quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 21:06:25 | → | chris joins (~chris@81.96.113.213) |
| 21:06:29 | chris | is now known as Guest9733 |
| 21:06:31 | <monochrom> | Validation? These? |
| 21:06:34 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) |
| 21:06:47 | <geekosaur> | Chronicle maybe |
| 21:06:50 | <geekosaur> | ? |
| 21:06:52 | tomsmeding | meant Validation -- shows that I haven't actually used it |
| 21:07:02 | <monochrom> | Ah yeah Chronicle too. |
| 21:07:15 | <hololeap> | Validation looks correct |
| 21:07:21 | <hololeap> | right, it can't be a Monad |
| 21:09:26 | × | wonko quits (~wjc@62.115.229.50) (Ping timeout: 252 seconds) |
| 21:10:00 | <hololeap> | Chronicle also looks very interesting |
| 21:10:40 | × | Guest9733 quits (~chris@81.96.113.213) (Ping timeout: 240 seconds) |
| 21:12:37 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 21:15:06 | → | talismanick joins (~user@2601:644:8500:8350::9c19) |
| 21:16:09 | → | acidjnk_new3 joins (~acidjnk@p200300d0c7203066b4100de8298a9571.dip0.t-ipconnect.de) |
| 21:19:20 | × | acidjnk_new quits (~acidjnk@p200300d0c72030664ce73bae7fb97d69.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 21:20:14 | × | vs^ quits (~vs@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 244 seconds) |
| 21:21:10 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:22:46 | → | slack1256 joins (~slack1256@ip-64-134-164-2.public.wayport.net) |
| 21:23:14 | × | zer0bitz quits (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 21:23:59 | × | kenran quits (~kenran@200116b82b4ba500eab1ecf6a48465f7.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 21:24:17 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 21:26:14 | <slack1256> | Does anyone know if there is a FP/haskell group that will meet this week on chicago? |
| 21:26:31 | <slack1256> | There is a "meetup" that looks dead. |
| 21:27:16 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
| 21:27:31 | × | TranquilEcho quits (~grom@user/tranquilecho) (Ping timeout: 252 seconds) |
| 21:28:34 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 21:29:02 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:29:02 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 21:29:02 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:31:00 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
| 21:31:59 | → | hololeap joins (~hololeap@user/hololeap) |
| 21:33:13 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 21:34:07 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 21:35:30 | × | Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds) |
| 21:35:44 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 244 seconds) |
| 21:37:40 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
| 21:38:00 | <[exa]> | slack1256: any info about the meetup? |
| 21:38:12 | <[exa]> | you might actually un-dead it by posting it here. :D |
| 21:40:42 | × | fendor quits (~fendor@91.141.58.223.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 21:41:46 | → | Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 21:43:57 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:46:53 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection) |
| 21:47:02 | → | ArctVaulMarsHMPJ joins (~pjetcetal@128-71-152-79.broadband.corbina.ru) |
| 21:47:26 | → | vs^ joins (~vs@wsip-98-188-244-188.mc.at.cox.net) |
| 21:49:40 | → | hololeap_ joins (~hololeap@user/hololeap) |
| 21:50:30 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
| 22:00:31 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) |
| 22:01:59 | × | kuribas quits (~user@ptr-25vy0i9db35irr18tb3.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 22:03:07 | → | mestre joins (~mestre@191.177.175.57) |
| 22:13:49 | <slack1256> | Hahah I don't think so. But that would be convenient. |
| 22:14:10 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds) |
| 22:15:11 | → | wroathe joins (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) |
| 22:15:11 | × | wroathe quits (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host) |
| 22:15:11 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:15:18 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:16:26 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 22:17:11 | → | tzh_ joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 22:18:28 | × | tzh_ quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Remote host closed the connection) |
| 22:18:46 | → | tzh_ joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 22:20:16 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 256 seconds) |
| 22:20:41 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 244 seconds) |
| 22:21:12 | × | max22- quits (~maxime@2a01cb08833598002548cafda19f7929.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 22:21:18 | <bontaq> | hmm I'm running into an error trying to setup side-by-side hspec tests, has anyone seen |
| 22:21:34 | <bontaq> | /src/Spec.hs:2:8: error: |
| 22:21:34 | <bontaq> | File name does not match module name: |
| 22:21:34 | <bontaq> | Saw: ‘Main’ |
| 22:21:34 | <bontaq> | Expected: ‘Spec’ |
| 22:21:37 | <bontaq> | before? |
| 22:21:48 | aplainze1akind | is now known as aplainzetakind |
| 22:21:58 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds) |
| 22:22:47 | <maerwald[m]> | Yeah |
| 22:23:37 | <bontaq> | ez fix? |
| 22:24:18 | × | tzh_ quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 244 seconds) |
| 22:32:47 | × | nfd quits (~nfd@user/nfd) (Remote host closed the connection) |
| 22:33:43 | → | nfd joins (~nfd@user/nfd) |
| 22:36:43 | × | Skyfire quits (~pyon@user/pyon) (Quit: WeeChat 3.2) |
| 22:37:25 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:38:26 | <dsal> | bontaq: Try not having a `module Main where` in the Spec.hs file. |
| 22:38:42 | × | michalz quits (~michalz@185.246.204.125) (Remote host closed the connection) |
| 22:39:04 | <geekosaur> | they may not have one, absence of a modue declaration implies "module Main where" |
| 22:39:24 | <c_wraith> | I was going to warn about that. |
| 22:39:43 | <dsal> | Hmm... I often have Spec.hs with no module definitions. |
| 22:40:17 | <dsal> | The error says line 2, which suggests it may be explicit. |
| 22:40:21 | <c_wraith> | you'll only get that error if something is trying to import Spec and ghc finds Spec.hs and assume it's going to have the right module |
| 22:40:43 | <dsal> | I see. So, more info needed. |
| 22:41:40 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 22:43:53 | → | peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
| 22:46:47 | × | turlando quits (~turlando@user/turlando) (Remote host closed the connection) |
| 22:49:14 | → | benin0369323 joins (~benin@183.82.179.90) |
| 22:51:08 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 22:51:08 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 22:51:08 | → | turlando joins (~turlando@user/turlando) |
| 22:53:34 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 22:57:04 | × | turlando quits (~turlando@user/turlando) (Remote host closed the connection) |
| 22:58:16 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 22:58:55 | × | nfd quits (~nfd@user/nfd) (Remote host closed the connection) |
| 23:01:18 | <monochrom> | More actual code and actual files are always needed. |
| 23:01:44 | <monochrom> | verbatim unabridged complete |
| 23:02:46 | <hpc> | https://img.libquotes.com/pic-quotes/v2/arthur-conan-doyle-quote-lbp9a7g.jpg |
| 23:03:15 | <phaazon> | sometimes I feel like I would love to have PureScript’s section / lambda shortcut notation in Haskell :) |
| 23:04:00 | <monochrom> | What does it look like? |
| 23:04:04 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 23:08:11 | <bontaq> | lol dsal |
| 23:09:06 | → | nfd joins (~nfd@user/nfd) |
| 23:09:11 | <bontaq> | I think it's my unfamilitary with hpack messing stuff up tbh, I never ran into this before |
| 23:09:31 | → | nfd_ joins (~nfd@user/nfd) |
| 23:09:42 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) (Remote host closed the connection) |
| 23:12:58 | <phaazon> | monochrom: I have an example, wait |
| 23:13:08 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a1c6:3309:167f:5bb1) |
| 23:13:22 | <phaazon> | monochrom: https://twitter.com/phaazon_/status/1431605994463842304 |
| 23:13:30 | <phaazon> | so basicalyl, they use _ as a placeholder for \a |
| 23:13:42 | <phaazon> | but if you use more _ in an expression, it increments the arity of the function |
| 23:13:49 | <phaazon> | so _ + _ is basically \a b -> a + b |
| 23:14:05 | <phaazon> | it unlocks so cool things, like the applicative expression in my tweet |
| 23:14:14 | <phaazon> | or case _ of, removing the need of Lambdacase |
| 23:14:18 | <phaazon> | LambdaCase* |
| 23:14:33 | × | Gurkenglas quits (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 23:15:12 | <phaazon> | so here basically { location: _, history: _, emptyForeign: _ } is the same as \l h e -> location: l, history: h, emptyForeign: e |
| 23:15:37 | <phaazon> | it’s pretty fun to map over functors of records, too |
| 23:15:40 | <phaazon> | map _.theFild |
| 23:15:42 | <phaazon> | <3 |
| 23:20:42 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:22:10 | × | jespada quits (~jespada@90.254.245.194) (Ping timeout: 244 seconds) |
| 23:23:39 | → | turlando joins (~turlando@user/turlando) |
| 23:24:10 | <hpc> | in agda you define operators that way, or even combinations of operators |
| 23:24:40 | × | acidjnk_new3 quits (~acidjnk@p200300d0c7203066b4100de8298a9571.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 23:25:17 | <hpc> | Σ[_:_]_ for instance |
| 23:25:41 | <hpc> | and to use it, Σ[ l : Nat ] Vec l Boolean |
| 23:25:43 | → | jespada joins (~jespada@90.254.245.194) |
| 23:25:58 | <hpc> | (plus or minus the actual names for things) |
| 23:26:48 | × | pragma- quits (~chaos@user/pragmatic-chaos) (Quit: Bye!) |
| 23:26:49 | × | turlando quits (~turlando@user/turlando) (Remote host closed the connection) |
| 23:33:36 | → | pragma- joins (~chaos@user/pragmatic-chaos) |
| 23:36:37 | × | nfd quits (~nfd@user/nfd) (Killed (NickServ (GHOST command used by nfd_))) |
| 23:37:00 | nfd_ | is now known as nfd |
| 23:39:17 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
| 23:41:58 | → | kawpuh joins (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) |
| 23:46:27 | → | iqubic joins (~user@2601:602:9502:c70:af68:e4d7:d422:2ae6) |
| 23:47:29 | → | alx741 joins (~alx741@186.178.108.137) |
| 23:48:00 | <iqubic> | Is there some clever reason that Data.Tree from containers doesn't have a function "foldTreeM :: Monad m => (a -> [b] -> m b) -> b -> m b"? |
| 23:49:11 | → | turlando joins (~turlando@user/turlando) |
| 23:49:16 | <iqubic> | It doesn't seem all that hard to write. |
| 23:51:34 | <nfd> | iqubic: i was expecting to see a "Tree" somewhere in that signature |
| 23:51:43 | <iqubic> | Yeah. My bad. |
| 23:52:00 | <hololeap_> | is there anything for embedding haskell into a text file? I want to have a text template with various placeholders that will be replaced by Text or String values |
| 23:52:11 | hololeap_ | is now known as hololeap |
| 23:52:29 | <iqubic> | "foldTreeM :: Monad m => (a -> [b] -> m b) -> Tree a -> m b" is what I'd like to have. |
| 23:52:36 | × | turlando quits (~turlando@user/turlando) (Remote host closed the connection) |
| 23:53:08 | <iqubic> | Why is that not present in the module? |
| 23:54:55 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 23:55:24 | <hololeap> | iqubic: are you sure that's the type signature you want? |
| 23:55:30 | <iqubic> | I am sure. |
| 23:55:38 | <iqubic> | Why do you think I don't actually want that? |
| 23:56:03 | <kaol> | I'm thinking of that "result of applying f to each subForest" part. If your proposed function's return type is m b then how can you get a list of [b] by applying f to subForests? |
| 23:56:37 | <iqubic> | kaol: use traverse. |
| 23:58:02 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 23:58:29 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 23:58:49 | × | chisui quits (~chisui@200116b8681f2700339b8e78de8fcf37.dip.versatel-1u1.de) (Ping timeout: 256 seconds) |
All times are in UTC on 2021-09-03.