Home liberachat/#haskell: Logs Calendar

Logs on 2021-08-15 (liberachat/#haskell)

00:03:18 × jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 272 seconds)
00:03:54 × _|_ quits (~ding@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Quit: oopsy)
00:04:08 _\_ joins (~flick@2001:19f0:5:14c2:5400:2ff:fee0:a42c)
00:06:29 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
00:08:56 × Atum_ quits (~IRC@user/atum/x-2392232) (Quit: Atum_)
00:09:27 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
00:10:09 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 248 seconds)
00:14:32 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
00:22:58 × Heisen quits (~Heisen@2a02:aa1:1010:e9f8:c4d6:f30c:bbf0:3508) (Ping timeout: 246 seconds)
00:25:37 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
00:25:59 jao joins (jao@gateway/vpn/protonvpn/jao)
00:26:41 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
00:43:20 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
00:44:55 <aarchi> Thanks everyone. This has been very helpful
00:51:32 justsomeguy joins (~justsomeg@user/justsomeguy)
00:55:29 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
00:58:50 Guest35 joins (~Guest35@187.83.249.216.dyn.smithville.net)
00:59:22 × Guest35 quits (~Guest35@187.83.249.216.dyn.smithville.net) (Client Quit)
01:02:54 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
01:09:46 × skykanin quits (~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2)
01:10:22 <aegon> haskell cant overload functions with the same name and parameter types, is there a way to specialize a function for specific parameters?
01:10:31 <aegon> *afaik
01:11:33 <aegon> I'm trying to understand how postgresql-simple manages to have 2 query functions that behave different but take the same arguments, one has a special constraint on one of the outputs but aside from that they seem the same, i thought the compiler complained about that though
01:11:44 <aegon> also, i'm being derpy, i can try this is ghci quick, nevermind
01:12:06 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
01:12:31 Erutuon joins (~Erutuon@user/erutuon)
01:14:05 <aegon> hmm, yeah it complains
01:14:49 Guest47 joins (~Guest47@d24-141-46-200.home.cgocable.net)
01:15:06 × Guest47 quits (~Guest47@d24-141-46-200.home.cgocable.net) (Client Quit)
01:16:40 <aegon> aand its not overloaded in the lib, i'm done for the day
01:16:43 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:20:42 × V quits (~v@anomalous.eu) (Remote host closed the connection)
01:20:57 V joins (~v@anomalous.eu)
01:24:49 pfurla joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
01:25:42 × V quits (~v@anomalous.eu) (Ping timeout: 272 seconds)
01:26:57 allbery_b joins (~geekosaur@xmonad/geekosaur)
01:26:57 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
01:27:00 allbery_b is now known as geekosaur
01:28:01 × pfurla_ quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
01:31:59 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
01:33:51 V joins (~v@anomalous.eu)
01:34:13 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
01:40:31 × HarveyPwca quits (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving)
01:49:49 × aegon quits (~mike@174.127.249.180) (Quit: leaving)
01:50:50 × xff0x quits (~xff0x@2001:1a81:52b4:6700:e48a:7334:5a0f:61a4) (Ping timeout: 252 seconds)
01:51:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
01:51:57 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
01:52:03 Guest|59 joins (~Guest|59@075-129-097-116.res.spectrum.com)
01:52:40 × Guest|59 quits (~Guest|59@075-129-097-116.res.spectrum.com) (Client Quit)
01:52:46 Erutuon joins (~Erutuon@user/erutuon)
01:52:49 xff0x joins (~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e)
01:53:02 <koz> What's a good ASCII approximation of the Unicode DOT MINUS, that would be suitable as an infix operator name?
01:55:08 <monochrom> Is that U+2238?
01:55:18 <koz> monochrom: Yes.
01:55:44 <monochrom> I might consider ^- and -^
01:56:03 <monochrom> and *- , -*
01:56:12 <koz> ^- is my choice because it looks like a cat ear.
01:56:14 <koz> Thanks!
01:56:23 <monochrom> ^-^
01:57:13 <koz> Also, what's the fixity and association of - ?
01:57:19 <koz> (if anyone knows offhand)
01:59:45 <monochrom> infixl 6
02:00:00 <monochrom> You can find out from ghci (and so yahb) by: :info -
02:00:13 <koz> Ah, interesting. TIL.
02:00:46 <monochrom> If :info doesn't tell, then it's using the default, so you have to memorize the default from the Haskell Report.
02:00:58 fvr joins (uid503686@id-503686.highgate.irccloud.com)
02:01:20 <monochrom> the default is infixl 9
02:15:40 × td_ quits (~td@94.134.91.195) (Ping timeout: 272 seconds)
02:15:55 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
02:16:18 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds)
02:17:02 td_ joins (~td@94.134.91.196)
02:21:38 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
02:21:57 geekosaur joins (~geekosaur@xmonad/geekosaur)
02:24:28 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:24:28 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (platinum.libera.chat (Nickname regained by services)))
02:24:28 finn_elija is now known as FinnElija
02:33:17 SincereFox joins (uid337158@user/sincerefox)
02:33:53 SincereFox parts (uid337158@user/sincerefox) ()
02:39:46 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:41:48 × mei quits (~mei@user/mei) (Ping timeout: 258 seconds)
02:52:46 × alx741 quits (~alx741@186.178.108.32) (Quit: alx741)
03:09:14 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
03:14:27 Codaraxis_ joins (~Codaraxis@user/codaraxis)
03:15:12 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
03:19:00 × Codaraxis quits (~Codaraxis@user/codaraxis) (Ping timeout: 272 seconds)
03:24:38 pfurla_ joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
03:27:30 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
03:28:01 × pfurla quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
03:32:28 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
03:45:09 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
03:47:21 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:50:22 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
03:51:56 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
04:03:26 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
04:08:01 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
04:19:56 × dtman34 quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
04:20:45 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
04:21:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
04:23:39 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
04:25:42 AndrewYu is now known as liberacom
04:25:49 liberacom is now known as AndrewYu
04:26:09 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
04:29:13 dtman34 joins (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net)
04:29:53 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
04:33:37 × jespada quits (~jespada@90.254.247.46) (Ping timeout: 248 seconds)
04:35:29 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
04:36:36 jespada joins (~jespada@90.254.247.46)
04:51:09 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
04:51:23 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
04:56:37 indiana-bones joins (~indignant@94.140.8.98)
05:05:44 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
05:10:25 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
05:23:28 × jao quits (jao@gateway/vpn/protonvpn/jao) (Ping timeout: 268 seconds)
05:24:29 pfurla joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
05:28:01 × pfurla_ quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
05:43:33 × notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer)
05:44:41 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
05:44:59 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
05:45:13 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
05:45:47 dcompoze joins (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
05:46:32 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
05:46:59 mei joins (~mei@user/mei)
05:47:12 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
05:47:43 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds)
05:55:18 notzmv joins (~zmv@user/notzmv)
05:57:01 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
06:02:37 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:03:09 ikex1 joins (~ash@user/ikex)
06:04:49 × ikex quits (~ash@user/ikex) (Ping timeout: 248 seconds)
06:04:49 ikex1 is now known as ikex
06:07:28 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
06:13:42 haowenl joins (~Thunderbi@066-215-230-039.res.spectrum.com)
06:17:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:26:07 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
06:26:25 img joins (~img@user/img)
06:30:21 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
06:30:38 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
06:30:52 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
06:31:02 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
06:31:52 Lord_of_Life_ is now known as Lord_of_Life
06:34:18 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
06:35:13 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
06:36:57 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
06:38:41 zaquest joins (~notzaques@5.128.210.178)
06:39:58 × Xnuk quits (~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in)
06:40:21 Xnuk joins (~xnuk@vultr.xnu.kr)
06:43:46 × haowenl quits (~Thunderbi@066-215-230-039.res.spectrum.com) (Quit: haowenl)
06:45:38 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:47:03 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
06:47:12 fendor joins (~fendor@178.115.35.166.wireless.dyn.drei.com)
06:47:29 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
06:50:36 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
06:52:17 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
06:58:28 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
07:02:09 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
07:02:36 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
07:07:31 × dcompoze quits (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: WeeChat 3.2)
07:07:41 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
07:17:55 dcompoze joins (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
07:18:20 × dcompoze quits (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Client Quit)
07:18:31 acidjnk joins (~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de)
07:20:48 dcompoze joins (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
07:25:17 pfurla_ joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
07:25:22 × dcompoze quits (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Client Quit)
07:26:44 dcompoze joins (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
07:27:37 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
07:28:33 sedeki joins (~textual@user/sedeki)
07:28:36 × pfurla quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds)
07:30:55 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
07:35:30 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
07:36:04 × fendor quits (~fendor@178.115.35.166.wireless.dyn.drei.com) (Remote host closed the connection)
07:36:47 × mousey quits (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
07:36:50 Erutuon joins (~Erutuon@user/erutuon)
07:37:13 fendor joins (~fendor@178.115.35.166.wireless.dyn.drei.com)
07:38:04 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
07:38:42 mousey joins (~skymouse@gateway/tor-sasl/mousey)
07:42:44 × sedeki quits (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
07:43:53 wonko joins (~wjc@62.115.229.50)
07:46:06 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
07:56:08 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:59:24 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
08:05:38 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:05:44 hendursa1 joins (~weechat@user/hendursaga)
08:05:59 gehmehgeh joins (~user@user/gehmehgeh)
08:08:18 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:09:48 <hololeap> I have used First and Last (monoids), but I started thinking of a new monoid: data Once a = Once a | TooMany | None
08:10:11 <hololeap> where None is the "zero" and TooMany is an error state. does this already exist in some lib?
08:10:47 <fendor> can I force a cabal project using build-type custom to use a newer lib:Cabal version than what my ghc version is linked against?
08:12:50 × Skyfire quits (~pyon@user/pyon) (Quit: WeeChat 3.2)
08:13:32 <hololeap> wait, is the Once type the quintessential monotonic type, like what edwardk has talked about?
08:14:27 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
08:17:41 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:41 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:17:44 allbery_b is now known as geekosaur
08:21:58 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
08:22:37 × hendursa1 quits (~weechat@user/hendursaga) (Remote host closed the connection)
08:22:58 hendursa1 joins (~weechat@user/hendursaga)
08:23:12 gehmehgeh joins (~user@user/gehmehgeh)
08:24:27 Skyfire joins (~pyon@user/pyon)
08:27:55 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
08:29:53 mc47 joins (~mc47@xmonad/TheMC47)
08:33:05 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
08:38:49 × jmorris quits (~jmorris@2001:19f0:5801:170:5400:3ff:fe81:62fe) (Quit: BYE BITCH)
08:38:58 gauss joins (~gauss@139.180.175.160)
08:46:26 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
08:48:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:49:26 × Arsen quits (~arsen@managarm/dev/Arsen) (Quit: Quit.)
08:49:47 Arsen joins (~arsen@managarm/dev/Arsen)
08:51:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
08:52:53 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
09:00:46 × Arsen quits (~arsen@managarm/dev/Arsen) (Quit: Quit.)
09:01:05 Arsen joins (~arsen@managarm/dev/Arsen)
09:01:05 × Vajb quits (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
09:01:13 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
09:02:41 <fvr> fendor: doesn’t adding the new Cabal library in setup-depends work?
09:04:44 × Arsen quits (~arsen@managarm/dev/Arsen) (Client Quit)
09:06:12 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
09:07:12 × amk quits (~amk@176.61.106.150) (Remote host closed the connection)
09:09:43 amk joins (~amk@176.61.106.150)
09:11:02 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 268 seconds)
09:11:06 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
09:15:29 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Ping timeout: 258 seconds)
09:17:15 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
09:19:51 Arsen joins (~arsen@managarm/dev/Arsen)
09:22:07 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
09:22:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
09:23:42 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
09:24:46 pfurla joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
09:25:06 <fendor> fvr, don't think so
09:25:42 <fendor> https://paste.tomsmeding.com/o4349srP
09:26:00 <fendor> well, actually that error is to be expected
09:26:48 Pickchea joins (~private@user/pickchea)
09:28:55 × pfurla_ quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds)
09:31:53 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:32:04 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
09:32:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:33:41 <fendor> maybe this is just a cabal-testsuite shenanigan
09:36:33 × azeem quits (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
09:38:49 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
09:44:32 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
09:49:28 <tromp> i posted my Haskell based chess counting project to Hacker News at https://news.ycombinator.com/item?id=28187478
09:56:02 <dibblego> tromp: nice, I think these can be improved at least a little: https://github.com/tromp/ChessPositionRanking/blob/main/src/Legality.hs#L94
09:57:30 <tromp> you mean by case checkingpcs of (_:_:_:_) ... to make it lazier ?
09:57:39 <dibblego> yeah, essentially
09:58:03 <dibblego> > length [1..100000000] > 2
09:58:08 <lambdabot> True
09:58:24 <tromp> i tried to optimize for simplicity over gaining some tiny performance improvement. these lists are never long
09:58:50 <tromp> the most number of checking pieces i've seen is 6
09:59:07 <tromp> although in theory up to 16 is possible
10:04:44 keutoi joins (~keutoi@157.47.6.195)
10:07:42 <fvr> fendor, I just changed the dependency of Cabal to >= 3.6 in cabal-testsuite and it's compiling
10:07:50 <fvr> the intree version of Cabal lib is 3.6
10:08:38 <pavonia> tromp: Can you derive any chess position with that library by providing an integer, and vice versa?
10:08:53 <fendor> fvr, the test-case depends on the intree Cabal lib, but when I execute: https://paste.tomsmeding.com/LEtXtyPF
10:09:12 azeem joins (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
10:09:32 <fendor> slight correction: https://paste.tomsmeding.com/3h8W2K7o this contains the actual invocation
10:10:08 <tromp> actually 16 is not possible due to limits on number of promotions, but 14 is
10:10:47 <tromp> @pavonia, any legal chess position can be ranked as an integer
10:10:47 <lambdabot> Unknown command, try @list
10:11:01 <tromp> pavonia, any legal chess position can be ranked as an integer
10:11:25 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
10:12:03 <tromp> as well as many illegal ones that satisfy certain constraints on promotions and pawn placement
10:12:44 <pavonia> Does ranking here imply some meaningful chess moves or just legal ones?
10:14:09 <fvr> I get a similar error with the message "constraint from maximum version of Cabal used by Setup.hs requires <3.6", but when I use in tree cabal-install to build, it goes away. but looks like you are already using it
10:14:20 acidjnk_new joins (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de)
10:15:25 <tromp> it has nothing to do with meaningfull chess
10:15:41 <tromp> just constraints imposed by legal chess
10:16:03 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
10:17:38 × acidjnk quits (~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
10:18:43 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:18:48 oldsk00l_ joins (~znc@ec2-18-170-87-228.eu-west-2.compute.amazonaws.com)
10:19:46 <tromp> feel free to upvote the HN submission:)
10:21:04 <pavonia> tromp: Can you only get completely random results of could you, e.g., say "give me some random position after 10 moves"
10:21:51 <tromp> pavonia: it has nothing to do with number of moves. use perft related tools for that
10:22:39 <pavonia> Sorry, just trying to understand the purpose of that library
10:22:44 <tromp> it's uniformly random in the space of my 8726713169886222032347729969256422370854716254 urpositions
10:23:20 <tromp> the main purpose is getting accurate estimates on the number of legal positions
10:23:42 <tromp> which we never had before
10:24:31 <tromp> perhaps it can also serve as a stress test for chess engines:-)
10:24:46 <pavonia> I see
10:25:26 <tromp> for haskell users, the Data.Ranking is of independent interest
10:25:36 jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
10:25:56 <tromp> and this project is like a showcase of its power
10:26:29 <tromp> it's very similar to Enumeration.Invertible
10:26:29 mt404 joins (~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com)
10:30:39 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
10:33:56 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:35:56 <fvr> fendor, I can reproduce your error when I change version of Cabal lib in one of the cabal-testsuite tests , likely an error in cabal-testsuite itself
10:36:58 oxide joins (~lambda@user/oxide)
10:37:09 <fendor> fvr, nice, if the error is in the test-case, we can fix it!
10:38:35 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
10:38:41 × indiana-bones quits (~indignant@94.140.8.98) (Quit: Leaving)
10:39:59 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
10:41:25 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
10:52:46 × oxide quits (~lambda@user/oxide) (Ping timeout: 268 seconds)
10:57:42 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
11:02:01 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
11:02:38 × hendursa1 quits (~weechat@user/hendursaga) (Remote host closed the connection)
11:03:03 hendursa1 joins (~weechat@user/hendursaga)
11:04:37 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
11:06:02 sedeki joins (~textual@user/sedeki)
11:06:40 geekosaur joins (~geekosaur@xmonad/geekosaur)
11:07:08 × sedeki quits (~textual@user/sedeki) (Client Quit)
11:07:25 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:07:48 <fvr> fendor, the test I am testing has it's own cabal.project file, if I add the the intree Cabal to its project file's packages list, the cabal in the test can see it then
11:08:41 AlexNoo_ joins (~AlexNoo@94.233.240.231)
11:09:53 × fabfianda quits (~fabfianda@37.183.255.57) (Ping timeout: 248 seconds)
11:10:25 × Alex_test quits (~al_test@94.233.240.105) (Ping timeout: 248 seconds)
11:10:37 fabfianda joins (~fabfianda@mob-5-91-124-63.net.vodafone.it)
11:11:17 × AlexZenon quits (~alzenon@94.233.240.105) (Ping timeout: 268 seconds)
11:12:22 × AlexNoo quits (~AlexNoo@94.233.240.105) (Ping timeout: 256 seconds)
11:16:11 Alex_test joins (~al_test@94.233.240.231)
11:16:11 AlexZenon joins (~alzenon@94.233.240.231)
11:19:12 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:20:02 ircbrowse_tom joins (~ircbrowse@static.162.49.55.162.clients.your-server.de)
11:20:04 Server sets mode +Cnt
11:22:24 jakalx joins (~jakalx@base.jakalx.net)
11:24:55 pfurla_ joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
11:28:00 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
11:28:30 lavaman joins (~lavaman@98.38.249.169)
11:28:41 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
11:28:48 × pfurla quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 256 seconds)
11:33:28 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
11:34:55 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
11:36:05 machinedgod joins (~machinedg@24.105.81.50)
11:39:42 <arahael> Been looking at a bug in my haskell server, and started using Debug.trace for the first time. I've discovered that 'https://hackage.haskell.org/package/tar-0.5.1.1/docs/Codec-Archive-Tar.html#v:entryPath' appears to be truncating the filenames1?
11:41:45 <arahael> Can someone suggest a better tarfile implementation?
11:42:03 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
11:42:55 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
11:43:12 <fvr> arahael, would this work https://github.com/hasufell/tar-bytestring/
11:43:27 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
11:44:00 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
11:44:13 <arahael> fvr: Perhaps!
11:45:42 Morimaruza[m] joins (~morimaruz@2001:470:69fc:105::da03)
11:45:42 Morimaruza[m] parts (~morimaruz@2001:470:69fc:105::da03) ()
11:46:37 <arahael> fvr: I think that's a fork originating from https://github.com/haskell/tar/pull/50 maybe. It's such a weird issue, by logging, I notice that there's a pretty short maximum length for the filenames. It's weird.
11:46:55 <tomsmeding> arahael: fvr: there's also libarchive, which is recommended over tar-bytestring by tar-bytestring's author... https://github.com/hasufell/hpath/pull/41#issuecomment-896910037
11:47:04 <tomsmeding> though tar-bytestring is far more similar to 'tar'
11:47:12 <tomsmeding> if you want an easy switch
11:47:38 × oldsk00l quits (~znc@ec2-3-127-148-248.eu-central-1.compute.amazonaws.com) (Remote host closed the connection)
11:47:59 <arahael> tomsmeding: I'm trying the easy switch, but I think I should swap to libarchive regardless but not today (It's nearly 10pm afterall)
11:48:24 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
11:48:43 <arahael> Hmm, tar-bytestring doesn't seem to build in cabal.
11:48:50 <maerwald[m]> tar-bytestring is still maintained, but the idea is to ditch it completely and rewrite it in streamly
11:48:52 × machinedgod quits (~machinedg@24.105.81.50) (Read error: Connection reset by peer)
11:48:53 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
11:49:06 <fvr> tomsmeding: cool didn't know that
11:49:18 <maerwald[m]> libarchive also has better memory consumption
11:49:20 <arahael> (Due to something an error with building streamly-posix-0.1.0.1 )
11:49:41 <maerwald[m]> tar currently forces every file into memory before unpacking
11:49:41 <tomsmeding> arahael: what's the error?
11:49:58 <arahael> Could not find module `Streamly.Internal.Data.Unfold.Types'
11:50:00 <maerwald[m]> So your max memory consumption depends on the biggest file in the archive
11:50:42 <tomsmeding> use streampy-posix-0.1.0.2 https://github.com/hasufell/streamly-posix/pull/1
11:51:10 <arahael> tomsmeding: I'm not the one using streampy, though. It's an indirect dependency.
11:51:32 <maerwald[m]> That sounds like a version bound is off
11:51:32 <fvr> arahael: you can just add it in your extra-deps if stack.yaml or cabal.project
11:51:45 machinedgod joins (~machinedg@24.105.81.50)
11:51:48 <arahael> This is just a regular old cabal.
11:51:48 <maerwald[m]> That shouldn't be needed
11:52:23 <arahael> I think what I'll do is just move to libarchive next chance I have to work on this.
11:52:37 <maerwald[m]> Or share full build log
11:52:54 <maerwald[m]> Otherwise this is a guessing game
11:52:59 <arahael> maerwald[m]: Yeah, but then I have to commit to staying here for a bit longer whilst other people invest in helping me. :)
11:53:09 <tomsmeding> arahael: try a cabal update; the indirect dependency is in hpath-directory. The latest version of that (0.14.2.1) works, but 0.14.2.0 doesn't; tar-bytestring has a ==0.14.* constraint on hpath-directory
11:53:53 <arahael> tomsmeding: Oh, that's intriguing.
11:53:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
11:54:12 <tomsmeding> so you just need cabal to give you the latest hpath-directory (which is very recent, like as of last week)
11:54:19 <arahael> Oh, wow, that is recent.
11:54:49 <tomsmeding> (it's due to an incompatibility with streamly 0.8 that I found, fixed, and sent a PR for last week :p )
11:55:26 <arahael> Oh, awesome! :D
11:55:49 <arahael> It's currently rebuilding the world.
11:56:04 × machinedgod quits (~machinedg@24.105.81.50) (Remote host closed the connection)
11:56:30 <tomsmeding> always fun
11:56:32 <arahael> But I think I should move to libarchive, very not impressed with tar truncating my filenames.
11:56:45 <arahael> (But won't be today. And probably won't be tomorrow either!)
11:59:55 <arahael> Ok, it now dies when trying to compile hpath-directory-0.14.2.1 - but I should get to bed.
12:00:08 <arahael> tomsmeding, fvr: Thanks for your help and recommendations!
12:00:11 <maerwald[m]> Oh dear
12:00:33 <maerwald[m]> Build logs
12:00:42 tomsmeding chants "build logs"
12:00:51 <maerwald[m]> "dies" and "fails" etc aren't useful
12:01:14 <arahael> Ok, one moment...
12:01:24 <tomsmeding> thou shalt not sleep
12:03:29 <fvr> using nix for haskell dependencies for a few months now and I forgot cabal update exists lol
12:04:05 × Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds)
12:04:12 <maerwald[m]> You mean a freeze file?
12:05:35 <arahael> https://gist.github.com/arafangion/a5d8606f798c3319cf3fab8495f73d80
12:05:51 <arahael> Incidentially, I am using nix, but not debugging further tonight I'm afraid.
12:05:59 <arahael> (And it's just cabal in a nix-shell)
12:06:33 <arahael> maerwald[m], tomsmeding: Is that log what you need, though?
12:06:46 <maerwald[m]> MonadFail
12:06:58 <maerwald[m]> Update your ghc lol
12:07:04 <tomsmeding> lol
12:07:15 <tomsmeding> did 8.6.5 have no MonadFail yet?
12:07:23 <tomsmeding> but yeah, in general, update your ghc
12:07:41 <tomsmeding> arahael: and yes that's the log :)
12:07:45 <arahael> tomsmeding: Awesome. :)
12:08:42 <arahael> maerwald[m]: What can I read to learn about the MonadFail thing? Will put it in a browser tab for now... Is this the main page for it? https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-fail
12:09:01 <arahael> tomsmeding: I'll update ghc later in the week!
12:10:17 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 258 seconds)
12:10:20 <tomsmeding> arahael: MonadFail exists and works as it is supposed to since ghc 8.8
12:10:31 <tomsmeding> (as seen in the Transitional Strategy list on the page you linked)
12:10:33 <maerwald[m]> MonadFail was about breaking everyones code and introduce a lot of ifdefs around imports. It achieved thst goal
12:10:52 <tomsmeding> :D
12:11:20 <tomsmeding> it was also about fixing a design imperfection
12:11:26 <tomsmeding> but that's secondary
12:11:27 <arahael> Heh, cool. So next chance i get into this, I should first update ghc to at _least_ 8.8 (in practice: The latest I have on nixos), and then read up on this MonadFail thing just for background info.
12:11:34 <arahael> Thanks. :)
12:11:36 <tomsmeding> sounds good
12:11:41 <tomsmeding> now you can sleep :)
12:11:42 <maerwald[m]> 8.10.6 should be fine
12:12:27 <arahael> Awesome :)
12:12:31 <arahael> THanks for that!
12:13:36 <fvr> I think it should also be a fix in the hpath-directory unless supporting 8.6.5 is not a goal
12:13:54 <arahael> fvr: I have no reason to stick with 8.6.5.
12:14:22 <fvr> I meant non-goal for the library
12:14:49 <maerwald[m]> fvr: ya, PR?
12:15:02 <tomsmeding> fvr: the real fix, if possible, would be that hpath-directory has (streamly < 0.8 && streamly-posix == 0.14.*) || (streamly >= 0.8 && streamly-posix >= 0.14.2.1)
12:15:03 <maerwald[m]> I'm lazy on my bed
12:15:05 <tomsmeding> not sure if cabal can do that
12:15:11 <maerwald[m]> Can't fix all of it
12:15:30 <fvr> maerwald: sure, though I hate to download a old ghc just to test it lol
12:16:04 <maerwald[m]> tomsmeding: we can also msrk 0.14.2.0 as broken
12:16:23 <maerwald[m]> But that won't fix it for freeze files etc
12:16:24 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
12:16:46 <maerwald[m]> fvr: ghcup install gch 8.6.5
12:16:52 <tomsmeding> maerwald[m]: that wouldn't fix anything, right? hpath-directory has 0.14.* on streamly-posix so cabal could just pixk 0.14.1
12:17:03 <tomsmeding> s/pixk/pick/
12:17:26 <maerwald[m]> Can revbump tar-bytestring too
12:18:09 <tomsmeding> so that people can depend on the latest tar-bytestring and be cool?
12:19:03 <maerwald[m]> I'm still not sure how that solver error happened
12:20:09 <maerwald[m]> streamly-posix-0.1.0.1 depends on streamly (==0.7.*)
12:20:44 <maerwald[m]> streamly-posix-0.1.0.2 depends on streamly (>=0.7 && <0.9)
12:20:50 <tomsmeding> ooh you revised 0.1.0.1
12:20:55 <tomsmeding> probably someone didn't cabal update?
12:20:57 <maerwald[m]> Yes
12:21:00 <tomsmeding> and didn't get the revision
12:21:15 <maerwald[m]> Revisions should be pulled in without cabal update, no?
12:21:24 AlexNoo_ is now known as AlexNoo
12:21:39 <tomsmeding> I wouldn't know, but aren't those just modifications of the cabal file?
12:21:46 <maerwald[m]> Yes
12:21:56 <tomsmeding> which get downloaded in bulk when doing 'cabal update'
12:22:22 <maerwald[m]> Maybe there's nothing to fix after all
12:22:36 maerwald[m] goes back to being lazy
12:23:03 <tomsmeding> with that revision you may be right that indeed, a cabal update will always fix this particular issue for tar-bytestring users
12:23:44 <arahael> i did do a cabal update (have gone to bed though so no laptop now)
12:24:02 <tomsmeding> which triggered a rebuild of the world, right?
12:24:39 <arahael> yeah it downloaded and built everything thr project depended on until it got that error.
12:25:06 <arahael> then i re-ran the build to get you those logs as i didnt keep the previous run
12:25:12 <tomsmeding> maerwald[m] was talking about the Streamly.Internal.Data.Unfold.Types error you got before
12:25:25 <tomsmeding> the MonadFail error is something different and was related to your ghc version
12:25:29 <arahael> ah! yeah, cabal update fixed that one
12:25:34 <tomsmeding> cool :)
12:26:46 <arahael> i guess that confirms the "nothing to fix" for that one :)
12:31:02 × mt404 quits (~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds)
12:32:20 mt404 joins (~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com)
12:35:28 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:39:39 × _\_ quits (~flick@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Quit: ___)
12:39:48 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
12:40:13 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
12:40:43 dudek joins (~dudek@185.150.236.112)
12:41:20 × sander quits (~sander@user/sander) (Ping timeout: 256 seconds)
12:42:33 _\_ joins (~o@2001:19f0:5:14c2:5400:2ff:fee0:a42c)
12:44:36 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
12:45:39 sander joins (~sander@user/sander)
12:46:56 geekosaur joins (~geekosaur@xmonad/geekosaur)
12:47:27 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
12:47:40 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
12:48:19 × CannabisIndica quits (~herb@user/mesaboogie) (Quit: ZNC - https://znc.in)
12:49:34 slowButPresent joins (~slowButPr@user/slowbutpresent)
12:49:58 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
12:50:47 × _\_ quits (~o@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Changing host)
12:50:47 _\_ joins (~o@user/ding)
12:51:26 <albet70> ContT r IO a, what it's used for?
12:51:45 <albet70> what is a CPS
12:53:29 thyriaen joins (~thyriaen@dynamic-089-012-237-250.89.12.pool.telefonica.de)
12:54:39 <hpc> at a very high level, it's laying out your code so the notion of "everything my program does after this point" is a function that you can manipulate
12:55:14 <thyriaen> howdy, friends - i have a list of numbers, and i am trying to find a subset of them for which the sum is an exact number - so i generate the powerset of it and then sum them all up and filter accordingly - i found it but now i would like to know which subset was the solution - how do i do that ?
12:55:14 <hpc> that "everything my program does after this point" doesn't have to be a single function either
12:55:17 <hpc> maybe it's two functions
12:55:49 schuelermine joins (~anselmsch@user/schuelermine)
12:55:55 <hpc> imagine you're writing a parser - in CPS style maybe you have two continuations, one for "i consumed input and found what i expected" and one for "there was some sort of a problem"
12:56:13 <thyriaen> this is my current code: https://paste.tomsmeding.com/umLlKbAf
12:56:44 mikoto-chan joins (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
12:56:56 <tomsmeding> thyriaen: what about Data.List.find
12:57:04 <tomsmeding> note also that sumer = sum ;)
12:57:05 <hpc> then a parser like (char x) is written as "do the low-level operation that consumes input - if the character == x, call the success continuation, otherwise call the fail continuation"
12:57:24 <thyriaen> let me look up data.list.find
12:57:31 <hpc> some implementation details later and (>>=) to compose it, and you have parsec
12:57:45 <hpc> https://hackage.haskell.org/package/parsec-3.1.14.0/docs/src/Text.Parsec.Prim.html#ParsecT
12:58:01 <hpc> ContT is the most general form of this sort of thing
12:58:40 <thyriaen> tomsmeding, what is a foldable t ?
12:58:55 <hpc> albet70: hopefully that made sense?
12:59:06 <albet70> yes
12:59:12 <thyriaen> tomsmeding, i don't think i understand find :: Foldable t => (a -> Bool) -> t a -> Maybe a
12:59:15 <tomsmeding> thyriaen: think of that type signature as saying "(a -> Bool) -> [a] -> Maybe a"
12:59:27 <tomsmeding> [] is one example of a Foldable
12:59:33 <thyriaen> okay
13:00:04 × schuelermine quits (~anselmsch@user/schuelermine) (Client Quit)
13:00:06 <fvr> Is there an opposite command to `cabal install --lib`
13:00:10 <tomsmeding> hm you don't even need find
13:00:32 <tomsmeding> thyriaen: the more important thing to do is to put the summing in the filter
13:00:51 <tomsmeding> what you now have is: filter (== 271.36) (map sum (powerset list))
13:01:01 <thyriaen> yes
13:01:02 alx741 joins (~alx741@186.178.108.32)
13:01:06 <tomsmeding> what about: filter (\l -> sum l == 271.36) (powerset list)
13:01:08 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
13:01:19 <thyriaen> what is \l ?
13:01:24 <thyriaen> lambda ?
13:01:26 <tomsmeding> yeah
13:01:41 <tomsmeding> % f = \x -> x + 1
13:01:42 <yahb> tomsmeding:
13:01:44 <albet70> hpc, in the computation chain of >>=, how the ContT can jump back and why?
13:01:45 <tomsmeding> % f 10
13:01:45 <yahb> tomsmeding: 11
13:02:33 <tomsmeding> thyriaen: (== 271.36) is the same as (\x -> x == 271.36)
13:02:35 <thyriaen> tomsmeding, i understand now it makes sense
13:02:46 <thyriaen> but one question remains
13:03:05 <thyriaen> find does not really change anything compared to filter, does it ?
13:03:27 <tomsmeding> nah find just returns the first match, if one exists, while filter returns all matches
13:03:31 <tomsmeding> I was confused for a moment
13:04:30 <thyriaen> tomsmeding, yes - thanks so much ! it worked
13:04:47 <thyriaen> dang it i love haskell
13:05:04 <tomsmeding> :)
13:06:05 <albet70> like Maybe Either can break computation chain of >>=, Read can pass input in it, Writer can append log in it, State can do both, and Cont can jump back to somewhere in it, why Cont can do this?
13:06:48 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 272 seconds)
13:07:07 <albet70> and Traverse can do early exit
13:25:16 pfurla joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
13:27:11 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
13:28:29 × son0p quits (~ff@181.136.122.143) (Ping timeout: 258 seconds)
13:28:54 × pfurla_ quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds)
13:29:52 × mikoto-chan quits (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan)
13:30:39 Pickchea joins (~private@user/pickchea)
13:30:54 frosky joins (~froskyarr@50.7.59.207)
13:34:49 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
13:35:25 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Remote host closed the connection)
13:36:09 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
13:38:03 × Pickchea quits (~private@user/pickchea) (Ping timeout: 268 seconds)
13:40:09 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
13:40:36 hendursaga joins (~weechat@user/hendursaga)
13:40:45 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
13:41:08 × fendor quits (~fendor@178.115.35.166.wireless.dyn.drei.com) (Remote host closed the connection)
13:45:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:46:43 mikoto-chan joins (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
13:47:07 lavaman joins (~lavaman@98.38.249.169)
13:50:30 jgeerds joins (~jgeerds@55d45555.access.ecotel.net)
13:51:29 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
13:54:50 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
13:57:30 fendor joins (~fendor@178.115.35.166.wireless.dyn.drei.com)
14:01:14 × xff0x quits (~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e) (Ping timeout: 252 seconds)
14:04:20 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
14:13:34 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
14:16:01 × Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 248 seconds)
14:22:08 × jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 252 seconds)
14:23:29 xff0x joins (~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e)
14:33:51 × markpythonicbitc quits (~markpytho@2601:647:5a00:35:a0f9:2ba0:ff0:86b4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:36:56 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:40:02 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
14:41:05 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
14:43:02 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
14:43:54 jakalx parts (~jakalx@base.jakalx.net) ()
14:46:25 jakalx joins (~jakalx@base.jakalx.net)
14:46:43 Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk)
14:48:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
14:52:44 × keutoi quits (~keutoi@157.47.6.195) (Quit: leaving)
14:54:52 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
14:57:20 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
14:58:16 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
14:59:10 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
15:00:47 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
15:04:20 <tomsmeding> maerwald[m]: HLS seems to just work for 8.10.6 if you manually compile it? like, literally 'cabal build'?
15:04:36 tomsmeding surprised pikachu face
15:07:43 CnnibisIndica joins (~herb@user/mesaboogie)
15:08:53 CnnibisIndica is now known as CannabisIndica
15:09:14 sam93 joins (~sam@117.210.134.230)
15:10:01 markpythonicbitc joins (~markpytho@50.228.44.6)
15:11:55 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:12:11 × mikoto-chan quits (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan)
15:13:10 × sam93 quits (~sam@117.210.134.230) (Client Quit)
15:13:58 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
15:15:20 × alx741 quits (~alx741@186.178.108.32) (Quit: alx741)
15:15:45 × fabfianda quits (~fabfianda@mob-5-91-124-63.net.vodafone.it) (Ping timeout: 248 seconds)
15:16:06 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
15:16:58 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 258 seconds)
15:17:21 geekosaur joins (~geekosaur@xmonad/geekosaur)
15:21:42 mikoto-chan joins (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
15:23:09 <maerwald> ya
15:24:40 <tomsmeding> had already rebuilt the world before realising that there was no HLS release for 8.10.6
15:24:47 pfurla_ joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
15:24:57 <tomsmeding> then just tried yolo'ing the build and it worked :p
15:28:27 × pfurla quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 245 seconds)
15:29:58 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
15:30:29 benin036932 joins (~benin@183.82.205.178)
15:31:08 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
15:31:12 × acidjnk_new quits (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
15:32:23 × mikoto-chan quits (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan)
15:34:11 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
15:34:24 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
15:34:25 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
15:34:41 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
15:34:55 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
15:35:02 alx741 joins (~alx741@186.178.108.32)
15:35:13 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
15:39:12 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
15:39:42 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Ping timeout: 245 seconds)
15:40:26 fabfianda joins (~fabfianda@37.183.255.57)
15:44:38 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
15:44:44 × fabfianda quits (~fabfianda@37.183.255.57) (Read error: Connection reset by peer)
15:45:21 fabfianda joins (~fabfianda@37.183.255.57)
15:46:30 acidjnk_new joins (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de)
15:48:27 lavaman joins (~lavaman@98.38.249.169)
15:51:42 hoknamahn joins (~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net)
15:53:18 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
15:59:20 × hoknamahn quits (~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net) (Quit: Konversation terminated!)
15:59:41 hoknamahn joins (~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net)
16:01:10 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
16:01:15 <maerwald> every time I use doctest I regret it
16:01:41 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
16:03:26 econo joins (uid147250@user/econo)
16:06:01 <fvr> There is cabal-docspec
16:06:02 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
16:06:07 <fvr> I have never used it though
16:07:13 <hoknamahn> hi guys, I have a FFI related question. There is a C function like void c_test(int **iptr); I want to call this function from Haskell passing to it an address of Ptr CInt (in C it would be a call c_test(&iptr)). The question is how do I get an address?
16:07:13 <maerwald> yeah, looking at the documentation I don't even know what it does
16:07:48 × kritzefitz quits (~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
16:08:03 kritzefitz joins (~kritzefit@picard.host.weltraumschlangen.de)
16:09:37 <fvr> Streamly moved from doctest to cabal-docspec I forgot why
16:09:51 <maerwald> cabal-doctest you mean
16:09:57 <maerwald> that's marked deprecated on hackage
16:10:05 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
16:10:06 <xsperry> hoknamahn, allocate Ptr (Ptr Int), pass it to c_test, then use one of the peek* functions to dereference it
16:10:30 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
16:11:20 <fvr> No cabal-docspec
16:11:55 <hoknamahn> xsperry, should I use alloca for that?
16:12:36 <fvr> maerwald: https://github.com/phadej/cabal-extras/blob/master/cabal-docspec/MANUAL.md
16:12:47 <maerwald> it's a mess
16:12:54 <maerwald> doctest has really bad ux
16:13:47 <xsperry> hoknamahn, one of the alloca* functions yes. what does the function do?
16:13:53 <xsperry> c_test
16:14:15 wonko joins (~wjc@62.115.229.50)
16:14:18 <hoknamahn> basically it will allocate an array of strings and pass it back to haskell
16:14:37 <hoknamahn> at the moment i'm playing with FFI to figure out how to do it
16:14:44 <xsperry> an array of strings, but it accepts int **?
16:15:15 <tomsmeding> hoknamahn: in haskell, you'll have to do the equivalent of the C code: int **ptr = malloc(sizeof(int*)); c_test(ptr); do_something_with(ptr); free(ptr);
16:15:22 <hoknamahn> i'm testing. at the moment it will allocate just 1 int in memory and return a pointer to it
16:15:27 <tomsmeding> where the malloc and free are both done using alloca
16:15:33 <xsperry> anyway, if the function modifies int * refered ot by int **, then just alloca will do
16:17:22 <hoknamahn> what i need is C function allocating memory and returning a pointer to it. haskell should consume that memory
16:18:21 × kritzefitz quits (~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
16:18:29 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
16:18:59 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
16:19:00 kritzefitz joins (~kritzefit@picard.host.weltraumschlangen.de)
16:21:47 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
16:21:48 allbery_b joins (~geekosaur@xmonad/geekosaur)
16:21:51 allbery_b is now known as geekosaur
16:22:31 <fvr> hoknamahn: create a Haskell function to call your function, look at mallocBytes in base
16:22:33 <tomsmeding> hoknamahn: think about what your code would look like in C, but without using & -- instead, you allocate some memory using malloc/free. Then convert all the malloc/free pairs in your hypothetical implementation to haskell's alloca
16:26:59 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
16:28:11 Pickchea joins (~private@user/pickchea)
16:30:47 <hoknamahn> tomsmeding: thanks, i think i see what you mean.
16:32:34 × acidjnk_new quits (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
16:32:40 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
16:33:05 haowenl joins (~Thunderbi@066-215-230-039.res.spectrum.com)
16:33:30 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
16:33:31 × haowenl quits (~Thunderbi@066-215-230-039.res.spectrum.com) (Client Quit)
16:34:15 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:38:16 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:39:20 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
16:42:41 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
16:45:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:48:14 kuribas joins (~user@ptr-25vy0iaezbxroyr1ffb.18120a2.ip6.access.telenet.be)
16:52:36 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:54:09 × Pickchea quits (~private@user/pickchea) (Ping timeout: 268 seconds)
16:56:16 × Xnuk quits (~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in)
16:56:24 gehmehgeh joins (~user@user/gehmehgeh)
16:56:32 Xnuk joins (~xnuk@vultr.xnu.kr)
16:57:54 euandreh joins (~euandreh@2804:14c:33:9fe5:8577:297f:c78a:d1b2)
17:01:10 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
17:03:23 × jespada quits (~jespada@90.254.247.46) (Ping timeout: 268 seconds)
17:03:51 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
17:04:38 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds)
17:05:48 jespada joins (~jespada@90.254.247.46)
17:06:15 tripoli joins (~tripoli@69.233.98.238)
17:06:59 × pgib quits (~textual@173.38.117.66) (Ping timeout: 258 seconds)
17:07:05 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
17:07:34 __monty__ joins (~toonn@user/toonn)
17:07:44 × robertm quits (robertm@rojoma.com) (Quit: WeeChat 2.3)
17:09:44 robertm joins (robertm@rojoma.com)
17:11:35 haowenl joins (~Thunderbi@066-215-230-039.res.spectrum.com)
17:12:20 × haowenl quits (~Thunderbi@066-215-230-039.res.spectrum.com) (Client Quit)
17:16:16 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds)
17:17:11 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
17:19:14 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
17:22:30 vysn joins (~vysn@user/vysn)
17:23:35 jumper149 joins (~jumper149@80.240.31.34)
17:25:00 pfurla joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
17:27:09 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
17:28:33 × pfurla_ quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
17:30:20 <energizer> anybody know what "structural function types" refers to?
17:30:59 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
17:31:14 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
17:32:47 roboguy_ joins (~roboguy_@2605:a601:afe7:9f00:789f:7a:b395:5977)
17:33:17 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
17:33:46 Sgeo joins (~Sgeo@user/sgeo)
17:33:48 burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk)
17:36:46 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
17:37:16 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
17:37:38 vysn joins (~vysn@user/vysn)
17:38:02 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
17:40:56 <hololeap> energizer: context?
17:41:11 <energizer> hololeap: https://github.com/thautwarm/HigherKindedPolymorphisms.jl
17:41:21 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Ping timeout: 248 seconds)
17:42:48 <hololeap> *shrugs* some julia thing?
17:45:14 Pickchea joins (~private@user/pickchea)
17:45:28 × roboguy_ quits (~roboguy_@2605:a601:afe7:9f00:789f:7a:b395:5977) ()
17:45:56 <cdsmith> Hmm, in C++ I can write a template that can be instantiated with any type, but works differently if the argument type is showable. Any hack to do the same for a polymorphic method in Haskell? Is that something a rewrite rule could do?
17:47:35 <opqdonut> rewrite rules are meant to be used for semantics-preserving optimizations, so no
17:47:39 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
17:47:55 <cdsmith> I'm not so concerned with what they are meant for. I'm being evil here...
17:48:02 vysn joins (~vysn@user/vysn)
17:48:43 <opqdonut> I wonder if you could do something like use OverlappingInstances and have a something like `instance MyThing a where stringify x = "<unshowable>"; instance Show a => MyThing a where stringify x = show x`
17:49:02 <opqdonut> probably not since those instances are equal in terms of instance resolution, the class contexts don't get used at that point...
17:49:06 <cdsmith> This is an "optimization" in spirit... it's just an optimization for the programmer by seeing better test failure messages.
17:49:25 <cdsmith> Yeah, I don't think the class approach works.
17:50:17 <hololeap> wouldn't it work if you swapped the order of those two instances?
17:50:19 <opqdonut> a google search leads me here via stackoverflow: https://github.com/mikeizbicki/ifcxt
17:50:42 <opqdonut> so a ConstraintKinds trick
17:54:37 × dcompoze quits (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: Weechat 3.2)
17:55:31 jao joins (jao@gateway/vpn/protonvpn/jao)
18:01:43 <tomsmeding> right, so make an instance (IfCtx (Show a)) for all 'a' that have a Show instance
18:01:51 <tomsmeding> that's... verbose
18:02:22 <tomsmeding> you don't even need ConstraintKinds to apply this trick
18:02:38 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
18:03:17 <tomsmeding> opqdonut's MyThing could work just fine; indeed, if you enumerate all showable types and make an OVERLAPS instance for all of them, and then add an OVERLAPPABLE default one that does the non-Show thing, then it would work fine
18:03:30 Neuromancer joins (~Neuromanc@user/neuromancer)
18:04:03 <tomsmeding> cdsmith: can the method you're talking about be a template haskell splice itself?
18:04:33 <opqdonut> yeah that's a good idea
18:04:36 <tomsmeding> if so, then I believe you can do this with TH by querying in-scope instances at usage site
18:04:40 <opqdonut> yeah
18:05:28 <opqdonut> that might work differently in polymorphic contexts though
18:05:40 <tomsmeding> true
18:06:00 <tomsmeding> but, like, in polymorphic contexts where will you magick up a type class dictionary from at runtime
18:06:31 <tomsmeding> someone has asked about this before, and then and now I immediatealy think of Typeable
18:06:54 <tomsmeding> but I believe the executable doesn't have any embedded information of the classes that a particular Typeable type implements
18:10:05 <tomsmeding> oooooh, make a list of known (Show a, Typeable a) types using templatehaskell, and embed a list in the application containing a list of Thingy, where data Thingy = forall a. (Show a, Typeable a) => Thingy (TypeRep a)
18:10:08 × markpythonicbitc quits (~markpytho@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:10:17 <tomsmeding> where that TypeRep comes from Type.Reflection, not Data.Typeable
18:10:19 <hololeap> there's also the solution of making a Showable newtype and then: instance {-# OVERLAPPING #-} Show a => MyThing (Showable a)
18:10:59 <tomsmeding> and then inside of the method in question, loop over that list comparing all the TypeReps, and if there's a match you get the Show dictionary from there
18:11:02 <hololeap> then you don't get the duplicate instance declarations error
18:11:25 <opqdonut> hololeap: that's kinda what quickcheck does, except it has a newtype for unshowable things
18:12:07 <hololeap> there's also all this: https://wiki.haskell.org/GHC/AdvancedOverlap
18:12:09 <opqdonut> https://hackage.haskell.org/package/QuickCheck-2.14.2/docs/Test-QuickCheck-Modifiers.html#t:Blind
18:12:15 <tomsmeding> hololeap: how would that allow you do determine whether a particular type 'a' implements Show at runtime?
18:13:08 <opqdonut> wow that's a nice wiki page
18:13:19 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:14:38 <hololeap> tomsmeding: why would it need to be known at runtime? wouldn't the compiler catch it first?
18:14:42 <tomsmeding> oh that's smart; you still need the instance enumeration but then you're done and it's all nice haskell
18:15:30 <tomsmeding> hololeap: the point (I think) is that we have a method 'foo :: a -> Something' that wants to call foo1 when 'a' is Show, and foo2 otherwise
18:15:37 <tomsmeding> how would you implement foo using your thing?
18:16:27 hseg joins (~gesh@IGLD-84-228-238-79.inter.net.il)
18:16:48 <tomsmeding> I used the word "runtime" because you might still want this to work if foo is used in a polymorphic context, but then later indirectly gets applied to a concrete, Showable type
18:17:22 <tomsmeding> the wiki version actually wouldn't compile in that situation, I think, because in that polymorphic context, no ShowPred instance could be chosen
18:17:22 <hololeap> idk, this is what I was playing around with, and it seems to work fine when I load it in GHCi: https://dpaste.com/DMPY66STS
18:18:14 <tomsmeding> hololeap: would you need to manually wrap the argument in Showable as the caller of foo, with your thing?
18:18:24 <hololeap> yeah
18:18:32 <tomsmeding> right, and that's precisely the thing that I was trying to avoid
18:18:45 <hseg> just ran into the "would be able to make an instance for this class if I could add constraints to some methods" annoyance again. are there any proposals being considered that would make it easier to refactor classes so they could support such instances?
18:18:58 <tomsmeding> because if you can manually type Showable, then you can also manually type fooShow instead of foo
18:19:09 <hseg> (classic example: FAM for map-like types)
18:19:27 <hololeap> tomsmeding: fair point
18:19:31 <hseg> (in this case, it's a Witherable instance for map-like types)
18:20:14 <tomsmeding> hseg: there is mono-traversable but that's probably not what you're looking for
18:20:24 <tomsmeding> since you come asking
18:21:04 <tomsmeding> that exposes non-type-changing methods like fmap :: (a -> a) -> f a -> f a
18:21:10 <hseg> no, am asking for the general "will writing classes to support such restrictions become easy enough that I can reasonably push library authors for it"
18:21:11 <tomsmeding> (s/fmap/omap/)
18:21:38 <tomsmeding> ah, then no idea
18:23:34 × Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 268 seconds)
18:24:02 <hseg> like, you could unify (Mono)Functor by defining a Functor (-->) (~~>) f where { map :: (a --> b) -> (f a ~~> f b) }, and then instantiate (-->), (~~>) as constrained arrow types
18:24:58 <tomsmeding> where (-->) and (~~>) implement some class so that they can be called as functions by the implementation of 'map'?
18:25:07 <hseg> so for MonoFunctor, pass for (-->) something like data MonoidC a b where arrMonoid :: a -> a -> MonoidC a a
18:25:12 <hseg> y
18:25:14 <tomsmeding> (well, only -->)
18:25:29 <hseg> well, depending on your usecase
18:25:30 × sagax quits (~sagax@213.138.71.146) (Ping timeout: 240 seconds)
18:25:44 <hseg> like, you could subsume Witherable into Functor with this
18:25:54 <hseg> by setting ~~> ~ Kleisli Maybe
18:26:56 <hseg> ofc, at a certain point too much overloading is unclear -- a key point in good design is separating what must be separated, not just unifying what should be unified
18:27:11 <tomsmeding> without additional language support, this would make calling 'map' quite a bit more cumbersome for the non-(->) cases
18:28:36 <hseg> yeah. might want some specializations/coercions to help use this
18:29:04 <hseg> though ig kmett's hask is aiming to go for this
18:29:05 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds)
18:29:14 <hseg> *this design
18:29:21 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 248 seconds)
18:29:40 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:29:42 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
18:30:05 <hseg> still leaves the question open of whether some parts design can/should be pushed into base, and what kind of timescale we're looking at if so
18:33:12 × euandreh quits (~euandreh@2804:14c:33:9fe5:8577:297f:c78a:d1b2) (Quit: WeeChat 3.2)
18:36:35 HeisenLearnsHask joins (~HeisenLea@2a02:aa1:1010:e9f8:2cf9:9af4:b41e:73e9)
18:48:46 Erutuon joins (~Erutuon@user/erutuon)
18:52:41 × HeisenLearnsHask quits (~HeisenLea@2a02:aa1:1010:e9f8:2cf9:9af4:b41e:73e9) (Quit: Ping timeout (120 seconds))
18:54:57 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
18:55:21 MQ-17J joins (~MQ-17J@8.6.144.209)
18:56:14 mrckndt joins (~mrckndt@user/mrckndt)
18:57:09 mt404 parts (~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com) ()
18:57:28 × adium_ quits (adium@user/adium) (Remote host closed the connection)
18:59:37 <kuribas> Is haskell the only language where you mess around two hours, and end up with 20 lines of code?
19:00:15 <kuribas> It's crazy how you end up with deceivingly simple code (especially using generics).
19:00:26 <kuribas> That looks like it took 5 minutes.
19:00:26 <hseg> >:)
19:00:52 <tomsmeding> kuribas: https://github.com/Co-dfns/Co-dfns/tree/master/cmp
19:01:21 <kuribas> tomsmeding: I don't even know what that is?
19:01:25 <tomsmeding> a compiler
19:01:39 <tomsmeding> see the readme in the root
19:01:51 <kuribas> ahhhh APL :)
19:01:55 <tomsmeding> :D
19:02:42 <tomsmeding> oh it seems there's more stuff here apparently https://github.com/Co-dfns/Co-dfns/blob/master/codfns.dyalog
19:03:02 <tomsmeding> but yeah, point was lots of stuff in few lines :p
19:03:19 Arthur joins (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
19:03:23 <kuribas> tomsmeding: but I am not even try to code golf it...
19:03:36 <tomsmeding> I know, it was not a very serious response :)
19:03:38 × Arthur quits (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit)
19:04:40 <tomsmeding> I guess it mostly depends on what you're doing though. I can spend 2 hours on 50 lines of C code if it's a complicated algorithm and I want to get every detail right
19:04:56 <tomsmeding> (I replaced 20 with 50 because haskell is more concise than C, but same thing)
19:05:16 <tomsmeding> I once spent a day on a 100-line recursive mutex implementation in C++
19:05:38 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:05:50 <kuribas> but does the C++ code look simple?
19:06:11 arthur_melo joins (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
19:06:13 <kuribas> It took me two hours to end up with: genCollectFields tables sqid $ splitTranspActMaybe curry prev $ lookupFeature tables sqid
19:06:16 <tomsmeding> depends on what you call simple :p
19:06:34 <tomsmeding> that looks very complicated to me, given that I don't know what those functions do :p
19:06:46 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:06:54 <tomsmeding> if you know what the functions do, it probably looks very simple
19:07:26 <kuribas> it does if you have an IDE that shows the types.
19:07:45 × arthur_melo quits (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit)
19:07:58 <tomsmeding> the individual operations in that C++ code were quite simple -- no long lines anywhere -- but the code was _very_ complex simply because it tried to do locking right in a multithreading context, and there some delicate things in there
19:08:25 adium joins (adium@user/adium)
19:08:28 <tomsmeding> the only complex thing was the comments, so to speak :)
19:08:36 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
19:09:06 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
19:09:53 × mei quits (~mei@user/mei) (Ping timeout: 248 seconds)
19:09:57 <kuribas> sounds very tricky indeed
19:10:50 vysn joins (~vysn@user/vysn)
19:11:40 <tomsmeding> haskell does tend to invite fiddling with abstractions more than other languages do, simply because they're closer at hand, I guess :)
19:11:51 markpythonicbitc joins (~markpytho@2601:647:5a00:35:5f5:523b:3c0:9fe)
19:12:06 arthur_melo joins (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
19:12:16 <tomsmeding> and fiddling with abstractions means writing and re-writing the same code until it has the structure you want, and repeated code-rewriting has the effect of producing little code in the end
19:12:25 <tomsmeding> perhaps that?
19:13:11 × arthur_melo quits (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit)
19:13:24 <kuribas> yes
19:13:40 <kuribas> But also, generics are very hard to write, but usually end up with little code.
19:14:11 <kuribas> It's all induction anyway, but getting the type variables and recursion right is tricky.
19:14:22 <tomsmeding> perhaps C++ templates move into this direction?
19:14:25 <[exa]> re fiddling, layered generic abstractions have pretty much lower chance to break without a compile error than in other languages. That's rewarding.
19:14:32 <tomsmeding> also hard to write, but not necessarily producing much code in the end
19:14:39 <monochrom> Haskell is not the only language in which I mess around two hours and get only 20 lines.
19:15:05 <monochrom> I'm making exam questions. It takes 2 hours of messing around before I get 20 lines, too.
19:15:15 <kuribas> monochrom: which language?
19:15:22 <monochrom> English?
19:15:49 <monochrom> It holds for Haskell exams, C & Unix exams, and data structure theoretical exams.
19:15:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:16:04 <[exa]> if english counts, I should start making stats from the papers we write
19:16:21 arthur_melo joins (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
19:16:34 × hseg quits (~gesh@IGLD-84-228-238-79.inter.net.il) (Quit: WeeChat 3.2)
19:18:25 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 244 seconds)
19:21:18 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
19:21:36 gehmehgeh joins (~user@user/gehmehgeh)
19:23:30 HeisenLearnsHask joins (~HeisenLea@2a02:aa1:1010:e9f8:bc74:fed2:1f26:4c60)
19:23:34 × arthur_melo quits (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Quit: arthur_melo)
19:23:51 <HeisenLearnsHask> intercalate' :: [a] -> [[a]] -> [[a]]
19:23:52 <HeisenLearnsHask> intercalate' _ [] = []
19:23:52 <HeisenLearnsHask> intercalate' x (y:ys) = y:x:intercalate' x ys
19:23:53 <HeisenLearnsHask> intercalate'' = concat . intercalate'
19:24:12 <kuribas> HeisenLearnsHask: use pastebin?
19:24:15 <HeisenLearnsHask> Can someone help me why I can't concat this?
19:24:20 <HeisenLearnsHask> Oh sorry will do.
19:24:26 <tomsmeding> (concat .) . intercalate'
19:24:54 <tomsmeding> if you have (f :: a -> b) and (g :: b -> c), then you can do (g . f :: a -> c)
19:25:02 pfurla_ joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
19:25:14 vysn joins (~vysn@user/vysn)
19:25:16 <tomsmeding> here, however, your f (which is intercalate') has type (a -> b -> c) and your g (concat) has type (c -> d)
19:26:02 <tomsmeding> written out, the first is \x -> g (f x), and the second is \x y -> g (f x y)
19:26:05 <tomsmeding> see the difference?
19:26:28 thelounge9230681 joins (~thelounge@cpe-75-85-161-60.san.res.rr.com)
19:26:41 × vysn quits (~vysn@user/vysn) (Client Quit)
19:27:28 <monochrom> And "a -> b -> c" means "a -> foo, oh foo expands to b -> c", not "(a,b) -> c".
19:28:26 × pfurla quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 258 seconds)
19:28:34 <tomsmeding> yeah: '\x y -> g (f x y)' is really shorthand for '\x -> (\y -> g (f x y))'
19:29:50 <tomsmeding> is there a webpage or something that clearly explains this issue of why using (.) with a two-argument function doesn't work like one might want?
19:30:07 <tomsmeding> it's a common question, it seems
19:30:08 × xff0x quits (~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e) (Ping timeout: 252 seconds)
19:30:27 <dsal> I've run into it a few times and just moved on without thinking about it too much. I'd read that web page someday.
19:30:32 <tomsmeding> (which makes sense -- if you aren't yet familiar with how function types work in haskell, it's kind of opaque)
19:30:40 xff0x joins (~xff0x@2001:1a81:52ed:2b00:dae0:b3ed:9593:292a)
19:35:12 × thelounge9230681 quits (~thelounge@cpe-75-85-161-60.san.res.rr.com) (Quit: The Lounge - https://thelounge.chat)
19:36:10 <monochrom> It can't be helped. Human nature always first consult "intuitive conceptual moral sounds-right first instinct", trying to procrastinate actually looking up and following actual rules.
19:36:24 <tomsmeding> makes sense!
19:36:34 <tomsmeding> I'm just looking for a link to dump whenever someone asks this here :p
19:36:57 <monochrom> Conceptually . is a piping. Conceptually $ saves parentheses. Very attractive stories to tell and hear.
19:37:27 ubert joins (~Thunderbi@178.115.55.14.wireless.dyn.drei.com)
19:39:40 <dsal> Yeah. Stop making me think about what I'm doing.
19:40:32 <monochrom> But there is not much more to explain than "you have (g::X->Y) . (f::A->(B->X)), B->X doesn't match with X".
19:40:54 <tomsmeding> except then in a more accessible form with more examples :p
19:42:52 thelounge9230681 joins (~thelounge@cpe-75-85-161-60.san.res.rr.com)
19:42:58 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:44:55 × MQ-17J quits (~MQ-17J@8.6.144.209) (Ping timeout: 258 seconds)
19:45:33 lavaman joins (~lavaman@98.38.249.169)
19:48:08 × thyriaen quits (~thyriaen@dynamic-089-012-237-250.89.12.pool.telefonica.de) (Remote host closed the connection)
19:49:12 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:49:34 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
19:50:31 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
19:56:24 Neuromancer joins (~Neuromanc@user/neuromancer)
20:00:28 <dsal> Yeah. It's pretty easy to work out the understanding.
20:00:29 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
20:01:40 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
20:01:44 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
20:01:50 haowenl joins (~Thunderbi@066-215-230-039.res.spectrum.com)
20:04:20 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
20:05:18 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 268 seconds)
20:06:32 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Ping timeout: 268 seconds)
20:07:29 juhp joins (~juhp@128.106.188.220)
20:08:07 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:09:00 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 268 seconds)
20:15:23 zephyz joins (~zephyz@156.146.63.16)
20:16:40 <zephyz> Hi there, I'm having issue with the singletons-th and singletons-base libraries, here is the error I get and the code I've written under it https://paste.tomsmeding.com/vj2xh7XX
20:17:01 × ubert quits (~Thunderbi@178.115.55.14.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
20:17:31 <zephyz> It look slike singletons-th is generating the wrong names, or at least names that are not compatible with singletons-base, how can I fix that?
20:22:02 × haowenl quits (~Thunderbi@066-215-230-039.res.spectrum.com) (Ping timeout: 256 seconds)
20:22:23 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 252 seconds)
20:24:14 <HeisenLearnsHask> Hello could someone help me? I want to solve it with where binding not lambda. https://pastebin.com/TyVAsm9i
20:25:30 <tomsmeding> HeisenLearnsHask: did you see our discussion of your question above?
20:25:33 <monochrom> dropWhile (\x -> f x < 1000)
20:26:21 notzmv joins (~zmv@user/notzmv)
20:30:13 × HeisenLearnsHask quits (~HeisenLea@2a02:aa1:1010:e9f8:bc74:fed2:1f26:4c60) (Quit: Client closed)
20:30:48 jgeerds joins (~jgeerds@55d45555.access.ecotel.net)
20:31:21 arthur_melo joins (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
20:32:00 epolanski joins (uid312403@id-312403.brockwell.irccloud.com)
20:37:42 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
20:37:54 <monochrom> Or define your own .< operator as g .< n = \x -> g x < n, then you can use f .< 1000
20:38:23 <monochrom> At which point it's abstraction overdose to rationalize a misguided intuition.
20:42:14 acidjnk_new joins (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de)
20:46:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
20:46:25 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
20:46:37 vysn joins (~vysn@user/vysn)
20:46:59 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:49:42 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
20:54:31 oxide joins (~lambda@user/oxide)
20:54:50 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
20:55:47 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
20:56:45 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
20:58:37 vysn joins (~vysn@user/vysn)
20:59:18 wroathe joins (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
20:59:59 × vysn quits (~vysn@user/vysn) (Client Quit)
21:00:23 vysn joins (~vysn@user/vysn)
21:03:44 <dsal> `f .< 1000` looks like `f` is yelling `one thousand` at someone.
21:04:14 <tomsmeding> but it is! Don't you hear it?
21:04:18 <dsal> Sometimes it's useful to introduce language like that if it's a very common thing that will need to be understood by anyone reading a thing. Sometimes it's a fun novelty that you'll regret later.
21:04:35 × vysn quits (~vysn@user/vysn) (Client Quit)
21:05:12 vysn joins (~vysn@user/vysn)
21:05:17 aegon joins (~mike@174.127.249.180)
21:06:45 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
21:07:46 vicfred joins (~vicfred@user/vicfred)
21:08:45 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
21:09:38 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 258 seconds)
21:12:29 × zephyz quits (~zephyz@156.146.63.16) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:13:01 × sander quits (~sander@user/sander) (Quit: So long! :))
21:13:05 × shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 248 seconds)
21:13:38 chris joins (~chris@81.96.113.213)
21:13:41 chris is now known as Guest1842
21:15:02 sander joins (~sander@user/sander)
21:18:43 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
21:19:42 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
21:19:56 geekosaur joins (~geekosaur@xmonad/geekosaur)
21:20:32 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
21:24:33 × hoknamahn quits (~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net) (Quit: Konversation terminated!)
21:25:21 pfurla joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
21:28:02 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 258 seconds)
21:28:34 × pfurla_ quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds)
21:30:36 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
21:32:30 geekosaur joins (~geekosaur@xmonad/geekosaur)
21:37:57 frosky_ joins (~froskyarr@50.7.59.207)
21:38:35 arthur_melo_ joins (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
21:39:32 × arthur_melo quits (IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Ping timeout: 258 seconds)
21:39:58 vysn joins (~vysn@user/vysn)
21:41:21 × frosky quits (~froskyarr@50.7.59.207) (Ping timeout: 248 seconds)
21:42:08 jeslie0 joins (~user@108.162.150.9)
21:44:42 × hololeap quits (~hololeap@user/hololeap) (Quit: Bye)
21:46:34 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:46:42 jneira joins (~jneira@28.red-80-28-169.staticip.rima-tde.net)
21:50:36 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:51:02 × oxide quits (~lambda@user/oxide) (Ping timeout: 258 seconds)
21:55:00 nsilv joins (~nsilv@host-79-17-175-58.retail.telecomitalia.it)
21:55:19 <nsilv> heya guys, just quickly wanted to ask, you know what the haskell job situation is like in the UK?
21:56:14 <dsal> Locations don't really exist anymore. But there are a few jobs I've seen in that area.
21:56:56 <nsilv> mostly cause stuff came up, and it's at least somewhat likely I move there next year around this time. But I think i'd need a job beforehand to get a visa
21:57:28 <nsilv> since I'm moving there to start from scratch might as well get a haskell job :D
22:00:41 × fendor quits (~fendor@178.115.35.166.wireless.dyn.drei.com) (Read error: Connection reset by peer)
22:01:52 ubert joins (~Thunderbi@178.115.55.14.wireless.dyn.drei.com)
22:03:14 × mousey quits (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
22:03:25 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:05:44 <dsal> You can get location-independent work which is kind of the way to go. That's what I'm doing.
22:05:50 nsilv-phone joins (~nsilv-pho@host-79-17-175-58.retail.telecomitalia.it)
22:06:15 mousey joins (~skymouse@gateway/tor-sasl/mousey)
22:07:46 hexfive joins (~eric@50.35.83.177)
22:07:47 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
22:07:49 × hexfive quits (~eric@50.35.83.177) (Client Quit)
22:08:39 × nsilv quits (~nsilv@host-79-17-175-58.retail.telecomitalia.it) (Ping timeout: 268 seconds)
22:15:41 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
22:16:03 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 268 seconds)
22:17:42 × mousey quits (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
22:19:44 × ubert quits (~Thunderbi@178.115.55.14.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
22:19:53 <sclv> location independent doesn't help with a work visa!
22:20:08 <sclv> but as far as ive seen the job sitch there is pretty ok if you start putting out feelers now
22:20:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
22:25:09 mousey joins (~skymouse@gateway/tor-sasl/mousey)
22:25:18 × jneira quits (~jneira@28.red-80-28-169.staticip.rima-tde.net) (Ping timeout: 268 seconds)
22:26:14 × tripoli quits (~tripoli@69.233.98.238) (Quit: nyaa~)
22:26:15 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
22:27:46 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
22:29:27 o1lo01ol1o joins (~o1lo01ol1@31.22.129.100)
22:33:05 oxide joins (~lambda@user/oxide)
22:33:37 × o1lo01ol1o quits (~o1lo01ol1@31.22.129.100) (Ping timeout: 248 seconds)
22:35:29 lavaman joins (~lavaman@98.38.249.169)
22:36:18 <arahael> tomsmeding: Updated ghc, though only to 8.10.4 - now it's rebuilding the world again! :D
22:39:58 × acidjnk_new quits (~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
22:40:01 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
22:42:09 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
22:42:38 × dudek quits (~dudek@185.150.236.112) (Quit: Leaving)
22:43:36 Erutuon joins (~Erutuon@user/erutuon)
22:47:29 × azeem quits (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
22:47:52 cjb joins (~cjb@user/cjb)
22:53:08 × Guest1842 quits (~chris@81.96.113.213) (Remote host closed the connection)
22:53:39 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
23:00:26 × fvr quits (uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity)
23:10:45 <arahael> tomsmeding: Ok, tar-bytestring compiles and works, but it still truncates file names for some reason, I might have to switch to libarchive before it will work.
23:12:28 haowenl joins (~Thunderbi@066-215-230-039.res.spectrum.com)
23:16:04 machinedgod joins (~machinedg@24.105.81.50)
23:18:29 kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
23:18:44 × kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Client Quit)
23:19:03 kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
23:20:05 <arahael> Aha, ok, did more digging. The truncated names always follow an entry called "././@PaxHeader". I guess I could potentially look into getting that, and parsing it myself, but nah, why bother: I'll just switch to libarchive.
23:22:19 <arahael> Coincidentally, the file names are truncated to 100 bytes! Now it makes sense.
23:22:40 × machinedgod quits (~machinedg@24.105.81.50) (Remote host closed the connection)
23:23:31 machinedgod joins (~machinedg@24.105.81.50)
23:25:18 pfurla_ joins (~pfurla@ool-3f8fcb0f.dyn.optonline.net)
23:25:33 × machinedgod quits (~machinedg@24.105.81.50) (Remote host closed the connection)
23:26:22 machinedgod joins (~machinedg@24.105.81.50)
23:27:20 <geekosaur> that sounds like old tar format
23:27:34 <geekosaur> which had a 100-byte limit on filenames
23:28:12 <arahael> geekosaur: Modern, actually, from the looks of things, except the Tar package in haskell does not support PaxHeaders.
23:28:24 <geekosaur> but that PaxHeader entry sounds like written by the pax program
23:28:48 × pfurla quits (~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds)
23:29:00 <arahael> I think it's posix, just not gnu.
23:29:06 <geekosaur> https://en.wikipedia.org/wiki/Pax_(command)#:~:text=IEEE%2C%20in%202001%2C%20defined%20a,of%20both%20tar%20and%20cpio%20.
23:31:05 × oxide quits (~lambda@user/oxide) (Ping timeout: 258 seconds)
23:31:35 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
23:31:45 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:33:40 <arahael> geekosaur: Sure, but tar arhives themselves use pax headers, as it turns out.
23:33:58 <arahael> OOoh, that's what the IEEE defined in 2001 on that page.
23:37:10 <arahael> Ah! Found it. The tar file is indeed in the older pax format:
23:37:51 <arahael> https://docs.python.org/3/library/tarfile.html -> Says that the default format is pax until until python 3.8, when it started being in gnu format.
23:38:03 × jeslie0 quits (~user@108.162.150.9) (Ping timeout: 268 seconds)
23:39:24 azeem joins (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
23:39:55 × wroathe quits (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Ping timeout: 268 seconds)
23:40:55 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
23:41:02 jeslie0 joins (~user@108.162.150.9)
23:48:53 roboguy_ joins (~roboguy_@2605:a601:afe7:9f00:789f:7a:b395:5977)
23:50:57 <arahael> geekosaur: Anyway, thanks for the quite direct pointer. :)
23:51:05 <arahael> Quite *correct* pointer.
23:53:01 × vysn quits (~vysn@user/vysn) (Remote host closed the connection)
23:53:36 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:53:56 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:54:06 keutoi joins (~keutoi@157.47.84.95)
23:54:39 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
23:54:42 × jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Ping timeout: 245 seconds)
23:56:32 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
23:56:53 × jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 252 seconds)
23:57:27 <justsomeguy> An indirection that pointed directly to the correct point?
23:58:24 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
23:59:01 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)

All times are in UTC on 2021-08-15.