2021/10/11

2021-10-11 00:03:09 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
2021-10-11 00:07:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 00:11:36 +0200machinedgod(~machinedg@24.105.81.50) (Quit: Lost terminal)
2021-10-11 00:11:45 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-11 00:12:44 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-11 00:14:21 +0200 <ph88> how can i do this regex in trifecta ? (.+?)\s+([\d,]) match everything lazily as needed, until some whitespace and some digits. Capturing the "everything" and the "digits" but not the whitespace in between
2021-10-11 00:17:35 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-10-11 00:21:16 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
2021-10-11 00:23:17 +0200 <c_wraith> you want the full regex behavior of maximal matching?
2021-10-11 00:23:32 +0200 <c_wraith> oh, no. that's +?. minimal matching
2021-10-11 00:23:53 +0200 <c_wraith> you can do that with trifecta, but it will be awkward
2021-10-11 00:25:25 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-11 00:28:46 +0200DNH(~DNH@2a02:8108:1100:16d8:1c7b:8442:d05:4640) (Quit: Textual IRC Client: www.textualapp.com)
2021-10-11 00:29:31 +0200 <ph88> ye i don't know when the middle part stops really .. there is no marker for it. I can see it visually because it's the end of the line, and before that a number, and before that the piece i want
2021-10-11 00:29:31 +0200vicfred(~vicfred@user/vicfred)
2021-10-11 00:29:47 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-11 00:31:37 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-11 00:41:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-11 00:43:41 +0200 <ph88> i guess i could use this ? https://hackage.haskell.org/package/parsers-0.12.10/docs/Text-Parser-Combinators.html#v:manyTill
2021-10-11 00:44:19 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-11 00:44:31 +0200 <c_wraith> that's not going to work especially well, as it doesn't return the terminator
2021-10-11 00:45:30 +0200acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de)
2021-10-11 00:47:01 +0200 <ph88> hmm
2021-10-11 00:47:10 +0200 <ph88> im still browsing around the docs
2021-10-11 00:47:37 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-10-11 00:47:53 +0200 <ph88> two other things about manyTill is that in my case i need 1 match before, not zero or more. And it would be matching character by character into a list .. which is not ideal because i want Text
2021-10-11 00:48:17 +0200 <c_wraith> you're going to have to match character-by-character anyway
2021-10-11 00:48:39 +0200acidjnk_new3(~acidjnk@p200300d0c703cb54b4411e2fd211e6ee.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-10-11 00:49:05 +0200 <ph88> ye just dont see how it makes sense to put them in a linked list when the text is already loaded in memory and i could just copy it once i found the end
2021-10-11 00:49:34 +0200 <c_wraith> that's a thing you can do, but it's not a thing trifecta's model is designed for
2021-10-11 00:51:42 +0200 <ph88> edwardk, what could i do best in this case ? is there a function for the lazy match ? can i match without building a linked list ?
2021-10-11 00:55:40 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-10-11 01:03:00 +0200TranquilEcho(~grom@user/tranquilecho) (Quit: WeeChat 2.8)
2021-10-11 01:05:06 +0200gentauro(~gentauro@user/gentauro) (Ping timeout: 245 seconds)
2021-10-11 01:11:59 +0200gentauro(~gentauro@user/gentauro)
2021-10-11 01:12:03 +0200alzgh(~alzgh@user/alzgh) (Ping timeout: 256 seconds)
2021-10-11 01:20:02 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-10-11 01:26:58 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
2021-10-11 01:29:46 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2021-10-11 01:33:12 +0200lavaman(~lavaman@98.38.249.169)
2021-10-11 01:37:25 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-11 01:41:40 +0200seiryn(~seiryn@2a01cb040147e000e4dbf764ff30bd96.ipv6.abo.wanadoo.fr) (Quit: WeeChat 3.3)
2021-10-11 01:46:30 +0200hammock(~Hammock@2600:1700:19a1:3330::588)
2021-10-11 01:50:02 +0200VoidNoir0(~VoidNoir0@72.80.203.52) (Ping timeout: 265 seconds)
2021-10-11 01:50:07 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-11 01:51:30 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-11 02:00:09 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-10-11 02:01:23 +0200roconnor(~roconnor@host-45-58-217-8.dyn.295.ca)
2021-10-11 02:01:54 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-11 02:02:59 +0200ph88(~ph88@2a02:8109:9e00:7e5c::3d56) (Remote host closed the connection)
2021-10-11 02:04:58 +0200ph88(~ph88@2a02:8109:9e00:7e5c::3d56)
2021-10-11 02:06:22 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-11 02:07:03 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 02:09:58 +0200machinedgod(~machinedg@24.105.81.50) (Remote host closed the connection)
2021-10-11 02:11:01 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-11 02:11:18 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-11 02:11:23 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 02:11:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 02:11:24 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 02:13:44 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be)
2021-10-11 02:19:52 +0200hololeap_hololeap
2021-10-11 02:34:21 +0200[Kalisto](~nico@user/kalisto/x-8968079) (Ping timeout: 265 seconds)
2021-10-11 02:36:28 +0200favonia(~favonia@user/favonia)
2021-10-11 02:37:05 +0200Skyfire(~pyon@user/pyon) (Quit: brb)
2021-10-11 02:37:11 +0200acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-10-11 02:37:16 +0200 <hololeap> ph88: it will be easier if you reverse the string and match on it that way, I think
2021-10-11 02:38:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 02:40:27 +0200Skyfire(~pyon@user/pyon)
2021-10-11 02:41:16 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds)
2021-10-11 02:43:05 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-10-11 02:46:00 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-11 02:58:47 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-10-11 03:01:58 +0200ski(~ski@remote12.chalmers.se)
2021-10-11 03:02:23 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-10-11 03:07:40 +0200xff0x(~xff0x@2001:1a81:52ca:8900:7389:7610:d1fa:c93e) (Ping timeout: 252 seconds)
2021-10-11 03:09:18 +0200xff0x(~xff0x@2001:1a81:534f:ad00:a171:1916:9bbd:f9e0)
2021-10-11 03:11:46 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 245 seconds)
2021-10-11 03:12:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-11 03:15:33 +0200lavaman(~lavaman@98.38.249.169)
2021-10-11 03:18:49 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-11 03:21:21 +0200sclv(sid39734@haskell/developer/sclv) (Ping timeout: 245 seconds)
2021-10-11 03:21:21 +0200gonz___(sid304396@id-304396.lymington.irccloud.com) (Ping timeout: 245 seconds)
2021-10-11 03:21:21 +0200hendi(sid489601@id-489601.lymington.irccloud.com) (Ping timeout: 245 seconds)
2021-10-11 03:21:22 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-10-11 03:21:22 +0200slack1256(~slack1256@45.4.2.52) (Ping timeout: 252 seconds)
2021-10-11 03:22:14 +0200acertain(sid470584@id-470584.hampstead.irccloud.com) (Ping timeout: 260 seconds)
2021-10-11 03:22:21 +0200hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com) (Ping timeout: 265 seconds)
2021-10-11 03:22:36 +0200econo(uid147250@user/econo) (Ping timeout: 245 seconds)
2021-10-11 03:22:41 +0200CiaoSen(~Jura@p5dcc1303.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2021-10-11 03:22:42 +0200dmj`(sid72307@id-72307.hampstead.irccloud.com) (Ping timeout: 260 seconds)
2021-10-11 03:23:20 +0200sclv(sid39734@haskell/developer/sclv)
2021-10-11 03:23:24 +0200gonz___(sid304396@lymington.irccloud.com)
2021-10-11 03:23:26 +0200aarchi(sid486183@id-486183.uxbridge.irccloud.com) (Ping timeout: 245 seconds)
2021-10-11 03:23:26 +0200edwardk(sid47016@haskell/developer/edwardk) (Ping timeout: 245 seconds)
2021-10-11 03:23:36 +0200hendi(sid489601@lymington.irccloud.com)
2021-10-11 03:23:37 +0200agander_m(sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 252 seconds)
2021-10-11 03:23:38 +0200pepeiborra(sid443799@id-443799.ilkley.irccloud.com) (Ping timeout: 260 seconds)
2021-10-11 03:23:49 +0200acertain(sid470584@hampstead.irccloud.com)
2021-10-11 03:25:52 +0200hnOsmium0001(uid453710@hampstead.irccloud.com)
2021-10-11 03:26:24 +0200edwardk(sid47016@haskell/developer/edwardk)
2021-10-11 03:26:32 +0200aarchi(sid486183@uxbridge.irccloud.com)
2021-10-11 03:26:43 +0200agander_m(sid407952@tinside.irccloud.com)
2021-10-11 03:26:52 +0200dmj`(sid72307@hampstead.irccloud.com)
2021-10-11 03:36:53 +0200_0x47(sid508683@tinside.irccloud.com) (Read error: Connection reset by peer)
2021-10-11 03:36:56 +0200hongminhee(sid295@tinside.irccloud.com) (Read error: Connection reset by peer)
2021-10-11 03:37:00 +0200taktoa[c](sid282096@tinside.irccloud.com) (Read error: Connection reset by peer)
2021-10-11 03:37:00 +0200glowcoil(sid3405@tinside.irccloud.com) (Read error: Connection reset by peer)
2021-10-11 03:37:02 +0200typetetris(sid275937@tinside.irccloud.com) (Read error: Connection reset by peer)
2021-10-11 03:37:04 +0200bbhoss(sid18216@tinside.irccloud.com) (Read error: Connection reset by peer)
2021-10-11 03:37:11 +0200jmct_(sid160793@tinside.irccloud.com) (Ping timeout: 265 seconds)
2021-10-11 03:37:11 +0200kristjansson_(sid126207@tinside.irccloud.com) (Ping timeout: 265 seconds)
2021-10-11 03:37:19 +0200agander_m(sid407952@tinside.irccloud.com) (Ping timeout: 252 seconds)
2021-10-11 03:37:22 +0200hubvu(sid495858@user/hubvu) (Ping timeout: 252 seconds)
2021-10-11 03:37:22 +0200jackdk(sid373013@cssa/jackdk) (Read error: Connection reset by peer)
2021-10-11 03:37:35 +0200sa(sid1055@tinside.irccloud.com) (Write error: Connection reset by peer)
2021-10-11 03:39:16 +0200pepeiborra(sid443799@ilkley.irccloud.com)
2021-10-11 03:45:08 +0200_0x47(sid508683@id-508683.tinside.irccloud.com)
2021-10-11 03:45:22 +0200typetetris(sid275937@id-275937.tinside.irccloud.com)
2021-10-11 03:45:49 +0200jmct_(sid160793@tinside.irccloud.com)
2021-10-11 03:46:24 +0200sa(sid1055@tinside.irccloud.com)
2021-10-11 03:49:42 +0200glowcoil(sid3405@id-3405.tinside.irccloud.com)
2021-10-11 03:50:36 +0200kristjansson_(sid126207@id-126207.tinside.irccloud.com)
2021-10-11 03:50:38 +0200bbhoss(sid18216@id-18216.tinside.irccloud.com)
2021-10-11 03:50:56 +0200taktoa[c](sid282096@id-282096.tinside.irccloud.com)
2021-10-11 03:51:06 +0200jackdk(sid373013@cssa/jackdk)
2021-10-11 03:51:28 +0200hubvu(sid495858@user/hubvu)
2021-10-11 03:51:39 +0200hongminhee(sid295@id-295.tinside.irccloud.com)
2021-10-11 03:52:06 +0200econo(uid147250@user/econo)
2021-10-11 03:52:19 +0200agander_m(sid407952@id-407952.tinside.irccloud.com)
2021-10-11 03:57:58 +0200roconnor(~roconnor@host-45-58-217-8.dyn.295.ca) (Quit: Konversation terminated!)
2021-10-11 04:04:45 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-11 04:04:45 +0200Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-131-119.cust.tzulo.com)
2021-10-11 04:15:27 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-11 04:16:49 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-11 04:19:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-11 04:27:58 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-11 04:31:13 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-10-11 04:34:16 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
2021-10-11 04:36:20 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
2021-10-11 04:36:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 04:36:26 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 04:36:26 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 04:41:57 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-11 04:45:13 +0200Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-131-119.cust.tzulo.com) (Quit: Leaving)
2021-10-11 04:49:13 +0200lavaman(~lavaman@98.38.249.169)
2021-10-11 04:52:07 +0200td_(~td@muedsl-82-207-238-022.citykom.de) (Ping timeout: 252 seconds)
2021-10-11 04:53:26 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-10-11 04:53:33 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 265 seconds)
2021-10-11 04:53:43 +0200td_(~td@94.134.91.135)
2021-10-11 04:55:20 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-10-11 05:00:00 +0200Taneb(~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.)
2021-10-11 05:00:16 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-10-11 05:01:08 +0200Taneb(~Taneb@runciman.hacksoc.org)
2021-10-11 05:03:51 +0200roconnor(~roconnor@host-45-58-217-8.dyn.295.ca)
2021-10-11 05:06:05 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: leaving)
2021-10-11 05:06:38 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-10-11 05:08:17 +0200tomsmeding(~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-11 05:08:40 +0200tomsmeding(~tomsmedin@tomsmeding.com)
2021-10-11 05:08:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 05:09:46 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-10-11 05:09:50 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 05:09:50 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 05:09:50 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 05:11:33 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-10-11 05:12:09 +0200alx741(~alx741@181.196.69.249) (Quit: alx741)
2021-10-11 05:15:15 +0200roconnor_(~roconnor@host-45-58-217-8.dyn.295.ca)
2021-10-11 05:15:29 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-10-11 05:15:38 +0200roconnor(~roconnor@host-45-58-217-8.dyn.295.ca) (Ping timeout: 260 seconds)
2021-10-11 05:17:10 +0200mbuf(~Shakthi@223.178.93.142)
2021-10-11 05:17:58 +0200hammock(~Hammock@2600:1700:19a1:3330::588) (Ping timeout: 260 seconds)
2021-10-11 05:25:02 +0200falafel(~falafel@2603-8000-d800-688c-c469-52c4-b20d-779e.res6.spectrum.com)
2021-10-11 05:27:12 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-10-11 05:35:28 +0200roconnor_roconnor
2021-10-11 05:43:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-11 05:47:10 +0200falafel(~falafel@2603-8000-d800-688c-c469-52c4-b20d-779e.res6.spectrum.com) (Ping timeout: 252 seconds)
2021-10-11 05:53:21 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-10-11 05:53:30 +0200dfg(dfg@user/dfg) (Quit: I hate quit messages.)
2021-10-11 05:55:27 +0200dfg(dfg@2600:3c00::f03c:92ff:feb4:be75)
2021-10-11 05:55:27 +0200dfg(dfg@2600:3c00::f03c:92ff:feb4:be75) (Changing host)
2021-10-11 05:55:27 +0200dfg(dfg@user/dfg)
2021-10-11 06:02:59 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-10-11 06:39:01 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-10-11 06:43:26 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-11 06:48:17 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-11 06:50:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 06:50:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 06:50:10 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 06:51:35 +0200phma_(~phma@host-67-44-208-35.hnremote.net)
2021-10-11 06:52:04 +0200phma(~phma@host-67-44-209-84.hnremote.net) (Read error: Connection reset by peer)
2021-10-11 06:55:06 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-11 06:57:10 +0200img(~img@user/img)
2021-10-11 07:01:15 +0200phma_phma
2021-10-11 07:03:34 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-11 07:04:43 +0200retroid_(~retro@176.255.22.194) (Ping timeout: 252 seconds)
2021-10-11 07:06:27 +0200aliosablack(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-11 07:11:25 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 07:11:50 +0200tabemann_(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 260 seconds)
2021-10-11 07:15:28 +0200tabemann(~tabemann@2600:1700:7990:24e0:3cc6:48ac:847e:27f3)
2021-10-11 07:15:44 +0200 <vaibhavsagar[m]> looking at the changelog for aeson: https://hackage.haskell.org/package/aeson-2.0.1.0/changelog, it looks like they've switched to `Map Text Value` instead of `HashMap Text Value` by default? This is huge, was it discussed anywhere?
2021-10-11 07:16:41 +0200 <razor[m]> vaibhavsagar[m]: look history
2021-10-11 07:17:08 +0200 <vaibhavsagar[m]> the history of what exactly?
2021-10-11 07:17:22 +0200 <vaibhavsagar[m]> I know about the hash collision problem
2021-10-11 07:17:55 +0200 <vaibhavsagar[m]> but when did we decide that `Map Text` performed better than `HashMap Text`
2021-10-11 07:18:34 +0200 <vaibhavsagar[m]> now I'm thinking about all the code I have to rewrite
2021-10-11 07:20:16 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c)
2021-10-11 07:21:05 +0200 <razor[m]> then rewrite lol
2021-10-11 07:21:13 +0200 <razor[m]> easy peasy
2021-10-11 07:22:43 +0200 <vaibhavsagar[m]> and also maintain backwards compatibility for
2021-10-11 07:24:05 +0200 <razor[m]> 🤦‍♀️
2021-10-11 07:25:24 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-10-11 07:33:51 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-10-11 07:33:58 +0200 <Axman6> looks like there's a flag https://github.com/haskell/aeson/pull/871/files#diff-2c0e389ce159d4726f1597ca2a63f039fe8c35706280f…
2021-10-11 07:34:23 +0200 <dsal> These commits make me sad. :(
2021-10-11 07:35:35 +0200 <vaibhavsagar[m]> Axman6: the flag is on by default now
2021-10-11 07:35:45 +0200 <vaibhavsagar[m]> so far all I can find is https://github.com/haskell/aeson/issues/864#issuecomment-917455382
2021-10-11 07:37:53 +0200 <dsal> I've been arguing with some people I'm working with about writing better commit messages. This project is kind of a poster child for "git as backup." These changes are major design and implementation changes, but the commit messages are all like "Add ordered keymap option\nAlso add alterF, delete and from/toHashMapText to KeyMap module"
2021-10-11 07:38:13 +0200 <dsal> Lost a great opportunity to answer questions like vaibhavsagar[m] and lots of other people are going to be asking.
2021-10-11 07:38:15 +0200retroid_(~retro@2e41e9c8.skybroadband.com)
2021-10-11 07:39:02 +0200 <vaibhavsagar[m]> dsal: I agree in general, but in this case even a pull request/issue linked from the PR would have helped greatly
2021-10-11 07:39:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 07:39:17 +0200 <vaibhavsagar[m]> I consider myself fairly informed when it comes to the Haskell ecosystem
2021-10-11 07:39:22 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2021-10-11 07:39:27 +0200 <vaibhavsagar[m]> I followed the blog post about DOS
2021-10-11 07:40:17 +0200 <vaibhavsagar[m]> I know people were agitating for solutions (which I also want, to be clear)
2021-10-11 07:40:46 +0200 <vaibhavsagar[m]> but there don't seem to be any benchmarks quantifying the performance changes
2021-10-11 07:42:57 +0200 <dsal> Sure, the commit is the best place to write a description of the change (since that *is* the change). Some people like the PR process. I think it's kind of awful, but at least if you have good connectivity while you're reviewing stuff, you might find some information. Bugs are differently useful. But yeah, three places this could've been communicated.
2021-10-11 07:44:25 +0200 <Axman6> I had also managed to miss this change was happening, definitely a bit of a surprise.
2021-10-11 07:44:52 +0200 <awpr> stumbled on this comment: https://github.com/haskell-unordered-containers/unordered-containers/issues/319#issuecomment-91858…
2021-10-11 07:44:55 +0200 <dsal> It's a good change at least.
2021-10-11 07:44:57 +0200wonko(~wjc@62.115.229.50)
2021-10-11 07:45:12 +0200 <awpr> "The problem with SipHash is that apparently it's so slow that you might as well switch to Data.Map"
2021-10-11 07:45:47 +0200 <awpr> if the mitigations all involved hash functions with that property, then using Map would in fact be the best performing way to eliminate the vulnerability
2021-10-11 07:46:01 +0200 <Axman6> feels like a change that could have used backpack or something, but I have no idea how many cans of worms that opens, particularly for such a depended upon library.
2021-10-11 07:46:42 +0200 <dsal> I wonder how big a typical JSON object is.
2021-10-11 07:46:59 +0200 <Axman6> vaibhavsagar[m]: if you can at least use the common interface that this library exposes, which should match most if not all of what's exposed in v1, then it shouldn't be too hard to support v1 and v2 I think...
2021-10-11 07:47:30 +0200 <dsal> I was using lenses to update some of these things because I couldn't be bothered to import and/or learn the HashMap functions.
2021-10-11 07:47:37 +0200 <dsal> I accidentally made compatible code.
2021-10-11 07:48:10 +0200 <vaibhavsagar[m]> Axman6: that's true going forward, but if I have to simultaneously support old and new versions of `aeson` in e.g. `ihaskell` there's no way around CPP crimes against humanity
2021-10-11 07:48:20 +0200 <Axman6> Something I have wanted in aeson for a long time is a way to be more strict about what it parses. at the moment, if someone sends me {"foo": 1, "lolsuckit": <4TB of random text>, "bar": true} I have no way to bail and say "lolsuckit" isn't a key I am expecting
2021-10-11 07:48:42 +0200 <Axman6> vaibhavsagar[m]: I'm saying those CPP parts should be very small
2021-10-11 07:48:51 +0200 <vaibhavsagar[m]> also someone complained about how aeson doesn't preserve insertion order
2021-10-11 07:48:55 +0200 <vaibhavsagar[m]> and it still doesn't
2021-10-11 07:49:18 +0200 <vaibhavsagar[m]> because `ordered` only means that there is an ordering between keys
2021-10-11 07:49:38 +0200 <vaibhavsagar[m]> not that it is the one that was present beforehand
2021-10-11 07:50:07 +0200 <Axman6> waargonaught solves a lot of these problems IIRC
2021-10-11 07:50:22 +0200 <Axman6> including the one I mentioned above, because I asked Sean to add it for me :P
2021-10-11 07:50:32 +0200 <vaibhavsagar[m]> cool but that's not what my dependencies use
2021-10-11 07:51:39 +0200 <vaibhavsagar[m]> I also didn't think Sean was still working on it but I just checked and I am very wrong about that
2021-10-11 07:57:26 +0200 <Axman6> Sean is a much better maintainer than I am
2021-10-11 07:58:50 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-10-11 08:01:28 +0200 <dibblego> Sean handed it over to Emily, myself and whoever else is keen
2021-10-11 08:02:23 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-11 08:07:00 +0200 <Axman6> Also much better maintainers than I am
2021-10-11 08:07:39 +0200desantra(~skykanin@user/skykanin)
2021-10-11 08:10:52 +0200tomsmeding(~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-11 08:11:11 +0200tomsmeding(~tomsmedin@tomsmeding.com)
2021-10-11 08:13:33 +0200michalz(~michalz@185.246.204.89)
2021-10-11 08:13:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-11 08:15:02 +0200desantra(~skykanin@user/skykanin) (Quit: WeeChat 3.3)
2021-10-11 08:15:35 +0200 <dibblego> I've considered writing an API to work over both aeson and waargonaut
2021-10-11 08:20:01 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-11 08:20:24 +0200brainfreeze(~brainfree@2a03:1b20:4:f011::20d) (Remote host closed the connection)
2021-10-11 08:20:58 +0200lavaman(~lavaman@98.38.249.169)
2021-10-11 08:22:45 +0200 <awpr> since I'm apparently not creative enough, how about crowd-sourcing: any ideas for better names for this package? https://github.com/awpr/niche-containers/tree/keyed_containers/keyed-containers
2021-10-11 08:24:16 +0200 <dibblego> woss wrong with keyed-containers?
2021-10-11 08:24:56 +0200 <awpr> just a bit weird to apply it to IntSet
2021-10-11 08:24:58 +0200 <Axman6> "intricate-containers" =)
2021-10-11 08:25:28 +0200 <awpr> "keyed" works well for IntMap and Vector though (if I get around to doing a vector one)
2021-10-11 08:25:44 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-10-11 08:25:44 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-10-11 08:26:02 +0200Skyfire(~pyon@user/pyon) (Ping timeout: 260 seconds)
2021-10-11 08:26:11 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-11 08:27:00 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c) (Remote host closed the connection)
2021-10-11 08:27:28 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c)
2021-10-11 08:28:13 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c) (Client Quit)
2021-10-11 08:29:39 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2021-10-11 08:44:07 +0200Guest63(~Guest63@2607:fb90:8f02:2c9f:6d81:92ca:ea64:2fd8)
2021-10-11 08:45:26 +0200Guest63(~Guest63@2607:fb90:8f02:2c9f:6d81:92ca:ea64:2fd8) (Client Quit)
2021-10-11 08:47:33 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:3723:9200:db0d:b69e)
2021-10-11 08:51:07 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-11 08:51:49 +0200 <jackdk> Can anyone recommend for me a lightweight regex library? I don't need to test for anything more complex than basic character classes
2021-10-11 08:53:44 +0200Skyfire(~pyon@user/pyon)
2021-10-11 09:00:16 +0200 <pavonia> regex-posix
2021-10-11 09:01:04 +0200 <pavonia> Maybe ReadP is an alternative too
2021-10-11 09:05:26 +0200 <jackdk> yes, that's probably what I'm looking for. Thanks pavonia
2021-10-11 09:06:31 +0200 <pavonia> Regexes are rarely used in Haskell, you usually use parser combinators for such tasks
2021-10-11 09:07:04 +0200 <jackdk> Yeah. However, I'm porting code that exists in another language and I specifically want the tests to obviously correspond.
2021-10-11 09:09:49 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-11 09:13:37 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-10-11 09:13:37 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-10-11 09:13:40 +0200allbery_bgeekosaur
2021-10-11 09:18:18 +0200Farzad(~FarzadBek@178.131.27.23)
2021-10-11 09:19:07 +0200wonko(~wjc@62.115.229.50) (*.net *.split)
2021-10-11 09:19:08 +0200hyiltiz(~quassel@31.220.5.250) (*.net *.split)
2021-10-11 09:19:08 +0200td_(~td@94.134.91.135) (*.net *.split)
2021-10-11 09:19:08 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (*.net *.split)
2021-10-11 09:19:08 +0200aarchi(sid486183@uxbridge.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200hnOsmium0001(uid453710@hampstead.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200hendi(sid489601@lymington.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200gonz___(sid304396@lymington.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (*.net *.split)
2021-10-11 09:19:08 +0200terrorjack(~terrorjac@static.3.200.12.49.clients.your-server.de) (*.net *.split)
2021-10-11 09:19:08 +0200sm2n(~sm2n@user/sm2n) (*.net *.split)
2021-10-11 09:19:08 +0200unmanbearpig(~unmanbear@user/unmanbearpig) (*.net *.split)
2021-10-11 09:19:08 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (*.net *.split)
2021-10-11 09:19:08 +0200ghoulguy(x@libera/staff/glguy) (*.net *.split)
2021-10-11 09:19:08 +0200cls(~cls@chalk.lubutu.com) (*.net *.split)
2021-10-11 09:19:08 +0200hook54321(sid149355@user/hook54321) (*.net *.split)
2021-10-11 09:19:08 +0200T_S_(sid501726@uxbridge.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200rembo10(~rembo10@remulis.com) (*.net *.split)
2021-10-11 09:19:08 +0200mniip(~mniip@libera/staff/mniip) (*.net *.split)
2021-10-11 09:19:08 +0200nvmd(~nvmd@user/nvmd) (*.net *.split)
2021-10-11 09:19:08 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (*.net *.split)
2021-10-11 09:19:08 +0200awth13(~awth13@user/awth13) (*.net *.split)
2021-10-11 09:19:08 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (*.net *.split)
2021-10-11 09:19:08 +0200dpratt_(sid193493@helmsley.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200awpr(uid446117@lymington.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200aria(sid380617@lymington.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200bradparker(sid262931@uxbridge.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200tapas(sid467876@ilkley.irccloud.com) (*.net *.split)
2021-10-11 09:19:08 +0200nisstyre(~wes@user/nisstyre) (*.net *.split)
2021-10-11 09:19:08 +0200hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (*.net *.split)
2021-10-11 09:19:08 +0200mjrosenb(~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (*.net *.split)
2021-10-11 09:19:08 +0200ikex(~ash@user/ikex) (*.net *.split)
2021-10-11 09:19:08 +0200AndrewYu(~andrew@user/andrewyu) (*.net *.split)
2021-10-11 09:19:08 +0200sqrt2(~ben@80-108-18-7.cable.dynamic.surfer.at) (*.net *.split)
2021-10-11 09:19:08 +0200dolio(~dolio@130.44.130.54) (*.net *.split)
2021-10-11 09:19:08 +0200jrm(~jrm@156.34.187.65) (*.net *.split)
2021-10-11 09:19:08 +0200poljar(~poljar@93-139-113-226.adsl.net.t-com.hr) (*.net *.split)
2021-10-11 09:19:08 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (*.net *.split)
2021-10-11 09:19:08 +0200tdammers(~tdammers@77.109.72.177.res.static.edpnet.net) (*.net *.split)
2021-10-11 09:19:08 +0200w1gz(~do@159.89.11.133) (*.net *.split)
2021-10-11 09:19:08 +0200gnyeki(~gnyeki@user/gnyeki) (*.net *.split)
2021-10-11 09:19:08 +0200mmarusea1ph2(~mihai@198.199.100.72) (*.net *.split)
2021-10-11 09:19:08 +0200CannabisIndica(~herb@user/mesaboogie) (*.net *.split)
2021-10-11 09:19:08 +0200erisco(~erisco@d24-57-249-233.home.cgocable.net) (*.net *.split)
2021-10-11 09:19:08 +0200piele(~piele@tbonesteak.creativeserver.net) (*.net *.split)
2021-10-11 09:19:08 +0200cods(~fred@82-65-232-44.subs.proxad.net) (*.net *.split)
2021-10-11 09:19:08 +0200m5zs7k(aquares@web10.mydevil.net) (*.net *.split)
2021-10-11 09:19:08 +0200martin02(~silas@141.84.69.76) (*.net *.split)
2021-10-11 09:19:09 +0200tureba(~tureba@tureba.org) (*.net *.split)
2021-10-11 09:19:09 +0200sshine(~simon@hubris.eta.solutions) (*.net *.split)
2021-10-11 09:19:09 +0200samebchase(~thelounge@51.15.68.182) (*.net *.split)
2021-10-11 09:26:16 +0200cfricke(~cfricke@user/cfricke)
2021-10-11 09:27:27 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-11 09:27:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 09:28:38 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-10-11 09:30:52 +0200wonko(~wjc@62.115.229.50)
2021-10-11 09:30:52 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 09:30:52 +0200td_(~td@94.134.91.135)
2021-10-11 09:30:52 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-11 09:30:52 +0200aarchi(sid486183@uxbridge.irccloud.com)
2021-10-11 09:30:52 +0200hnOsmium0001(uid453710@hampstead.irccloud.com)
2021-10-11 09:30:52 +0200hendi(sid489601@lymington.irccloud.com)
2021-10-11 09:30:52 +0200gonz___(sid304396@lymington.irccloud.com)
2021-10-11 09:30:52 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
2021-10-11 09:30:52 +0200terrorjack(~terrorjac@static.3.200.12.49.clients.your-server.de)
2021-10-11 09:30:52 +0200sm2n(~sm2n@user/sm2n)
2021-10-11 09:30:52 +0200unmanbearpig(~unmanbear@user/unmanbearpig)
2021-10-11 09:30:52 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-11 09:30:52 +0200ghoulguy(x@libera/staff/glguy)
2021-10-11 09:30:52 +0200cls(~cls@chalk.lubutu.com)
2021-10-11 09:30:52 +0200hook54321(sid149355@user/hook54321)
2021-10-11 09:30:52 +0200T_S_(sid501726@uxbridge.irccloud.com)
2021-10-11 09:30:52 +0200rembo10(~rembo10@remulis.com)
2021-10-11 09:30:52 +0200mniip(~mniip@libera/staff/mniip)
2021-10-11 09:30:52 +0200nvmd(~nvmd@user/nvmd)
2021-10-11 09:30:52 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2021-10-11 09:30:52 +0200awth13(~awth13@user/awth13)
2021-10-11 09:30:52 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net)
2021-10-11 09:30:52 +0200dpratt_(sid193493@helmsley.irccloud.com)
2021-10-11 09:30:52 +0200awpr(uid446117@lymington.irccloud.com)
2021-10-11 09:30:52 +0200aria(sid380617@lymington.irccloud.com)
2021-10-11 09:30:52 +0200bradparker(sid262931@uxbridge.irccloud.com)
2021-10-11 09:30:52 +0200tapas(sid467876@ilkley.irccloud.com)
2021-10-11 09:30:52 +0200nisstyre(~wes@user/nisstyre)
2021-10-11 09:30:52 +0200hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
2021-10-11 09:30:52 +0200mjrosenb(~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net)
2021-10-11 09:30:52 +0200ikex(~ash@user/ikex)
2021-10-11 09:30:52 +0200AndrewYu(~andrew@user/andrewyu)
2021-10-11 09:30:52 +0200sqrt2(~ben@80-108-18-7.cable.dynamic.surfer.at)
2021-10-11 09:30:52 +0200dolio(~dolio@130.44.130.54)
2021-10-11 09:30:52 +0200jrm(~jrm@156.34.187.65)
2021-10-11 09:30:52 +0200poljar(~poljar@93-139-113-226.adsl.net.t-com.hr)
2021-10-11 09:30:52 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2021-10-11 09:30:52 +0200tdammers(~tdammers@77.109.72.177.res.static.edpnet.net)
2021-10-11 09:30:52 +0200w1gz(~do@159.89.11.133)
2021-10-11 09:30:52 +0200gnyeki(~gnyeki@user/gnyeki)
2021-10-11 09:30:52 +0200mmarusea1ph2(~mihai@198.199.100.72)
2021-10-11 09:30:52 +0200CannabisIndica(~herb@user/mesaboogie)
2021-10-11 09:30:52 +0200erisco(~erisco@d24-57-249-233.home.cgocable.net)
2021-10-11 09:30:52 +0200piele(~piele@tbonesteak.creativeserver.net)
2021-10-11 09:30:52 +0200cods(~fred@82-65-232-44.subs.proxad.net)
2021-10-11 09:30:52 +0200m5zs7k(aquares@web10.mydevil.net)
2021-10-11 09:30:53 +0200martin02(~silas@141.84.69.76)
2021-10-11 09:30:53 +0200tureba(~tureba@tureba.org)
2021-10-11 09:30:53 +0200sshine(~simon@hubris.eta.solutions)
2021-10-11 09:30:53 +0200samebchase(~thelounge@51.15.68.182)
2021-10-11 09:30:53 +0200d34df00d(~d34df00d@2600:1700:8c60:3a10::48) (Excess Flood)
2021-10-11 09:31:51 +0200AndrewYu(~andrew@user/andrewyu) (Max SendQ exceeded)
2021-10-11 09:32:01 +0200unmanbearpig(~unmanbear@user/unmanbearpig) (Max SendQ exceeded)
2021-10-11 09:32:01 +0200ikex(~ash@user/ikex) (Max SendQ exceeded)
2021-10-11 09:32:01 +0200hook54321(sid149355@user/hook54321) (Max SendQ exceeded)
2021-10-11 09:32:01 +0200terrorjack(~terrorjac@static.3.200.12.49.clients.your-server.de) (Max SendQ exceeded)
2021-10-11 09:32:34 +0200ikex(~ash@user/ikex)
2021-10-11 09:32:52 +0200unmanbearpig(~unmanbear@user/unmanbearpig)
2021-10-11 09:33:07 +0200terrorjack(~terrorjac@static.3.200.12.49.clients.your-server.de)
2021-10-11 09:34:22 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-11 09:34:32 +0200hook54321(sid149355@user/hook54321)
2021-10-11 09:34:57 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-11 09:35:27 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-11 09:36:08 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-11 09:36:29 +0200AndrewYu(~andrew@user/andrewyu)
2021-10-11 09:38:37 +0200chele(~chele@user/chele)
2021-10-11 09:38:38 +0200gehmehgeh(~user@user/gehmehgeh)
2021-10-11 09:41:31 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-11 09:41:42 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-11 09:46:06 +0200cjb(~cjb@user/cjb) ()
2021-10-11 09:57:53 +0200gaussrz(~gaussrz@58.247.22.226)
2021-10-11 09:59:14 +0200ssaGuest68(~ssaGuest6@52.187.169.89)
2021-10-11 09:59:28 +0200acidjnk_new(~acidjnk@p200300d0c703cb85b4411e2fd211e6ee.dip0.t-ipconnect.de)
2021-10-11 10:00:39 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-11 10:00:43 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-10-11 10:01:42 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-11 10:02:04 +0200hnOsmium0001(uid453710@hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-11 10:02:27 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2021-10-11 10:05:23 +0200hendursa1(~weechat@user/hendursaga)
2021-10-11 10:08:01 +0200max22-(~maxime@2a01cb08833598001ef87c92a35b854f.ipv6.abo.wanadoo.fr)
2021-10-11 10:08:58 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-10-11 10:09:09 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-11 10:10:15 +0200max22-(~maxime@2a01cb08833598001ef87c92a35b854f.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-11 10:11:30 +0200LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2021-10-11 10:11:52 +0200LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2021-10-11 10:14:19 +0200hololeap_(~hololeap@user/hololeap)
2021-10-11 10:15:15 +0200hololeap(~hololeap@user/hololeap) (Read error: Connection reset by peer)
2021-10-11 10:17:37 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-10-11 10:17:37 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-10-11 10:17:40 +0200allbery_bgeekosaur
2021-10-11 10:20:56 +0200LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2021-10-11 10:21:13 +0200LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2021-10-11 10:21:43 +0200lavaman(~lavaman@98.38.249.169)
2021-10-11 10:26:26 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-11 10:26:35 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-10-11 10:27:06 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-10-11 10:27:07 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-10-11 10:29:30 +0200jushur(~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
2021-10-11 10:30:34 +0200fendor(~fendor@178.165.170.133.wireless.dyn.drei.com)
2021-10-11 10:38:03 +0200LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2021-10-11 10:42:07 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d)
2021-10-11 10:43:51 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-10-11 10:45:39 +0200LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2021-10-11 10:46:21 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d) (Ping timeout: 245 seconds)
2021-10-11 10:49:22 +0200jgeerds(~jgeerds@55d4da80.access.ecotel.net)
2021-10-11 10:51:38 +0200DNH(~DNH@2a02:8108:1100:16d8:d1f:d611:c784:7f39)
2021-10-11 10:53:09 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-11 10:56:25 +0200neurocyte0132889(~neurocyte@IP-185189142031.dynamic.medianet-world.de)
2021-10-11 10:56:25 +0200neurocyte0132889(~neurocyte@IP-185189142031.dynamic.medianet-world.de) (Changing host)
2021-10-11 10:56:25 +0200neurocyte0132889(~neurocyte@user/neurocyte)
2021-10-11 10:58:01 +0200azeem(~azeem@2a00:801:429:e0aa:bd65:9227:b4c:ee58) (Read error: Connection reset by peer)
2021-10-11 10:58:15 +0200fendor_(~fendor@178.115.71.1.wireless.dyn.drei.com)
2021-10-11 10:58:19 +0200Everything(~Everythin@37.115.210.35)
2021-10-11 10:58:55 +0200azeem(~azeem@emp-85-170.eduroam.uu.se)
2021-10-11 11:00:06 +0200SimonWeiss[m](~weiss-dma@2001:470:69fc:105::bebd) (Quit: You have been kicked for being idle)
2021-10-11 11:00:58 +0200fendor(~fendor@178.165.170.133.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-10-11 11:04:28 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-11 11:04:40 +0200hololeap_(~hololeap@user/hololeap) (Remote host closed the connection)
2021-10-11 11:06:02 +0200hololeap_(~hololeap@user/hololeap)
2021-10-11 11:07:54 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 11:11:44 +0200fusion86(~fusion@2a02-a44c-e6e5-1-5889-bfe7-56d3-5d3.fixed6.kpn.net)
2021-10-11 11:15:22 +0200hololeap_(~hololeap@user/hololeap) (Read error: Connection reset by peer)
2021-10-11 11:18:43 +0200hololeap_(~hololeap@user/hololeap)
2021-10-11 11:20:26 +0200 <kuribas> nice, my quickcheck properties are catching errors :)
2021-10-11 11:22:16 +0200 <kuribas> I wonder if the effort is more than to do unit tests.
2021-10-11 11:22:25 +0200 <kuribas> Because it can be hard to find edge cases in unit tests.
2021-10-11 11:22:50 +0200 <kuribas> I told my colleage that tests are some sort of documentation, and he thought I was crazy.
2021-10-11 11:23:09 +0200 <merijn> property testing is less likely to be testing implementation specifics
2021-10-11 11:23:18 +0200 <kuribas> word
2021-10-11 11:23:38 +0200 <merijn> because the properties are generally abstract statements about the interface/API
2021-10-11 11:23:57 +0200 <kuribas> although I also test some internal functions.
2021-10-11 11:24:57 +0200 <kuribas> And the properties teach you about how the system is supposed to work.
2021-10-11 11:25:27 +0200 <kuribas> IMO if your unit test is obvious, then there is no point in keeping it as a test.
2021-10-11 11:26:38 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Ping timeout: 260 seconds)
2021-10-11 11:27:45 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-11 11:38:29 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-10-11 11:40:32 +0200jakalx(~jakalx@base.jakalx.net)
2021-10-11 11:43:34 +0200jgeerds(~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 265 seconds)
2021-10-11 11:44:36 +0200mrmonday(robert@2a01:7e00::f03c:91ff:fe24:1bd) (Quit: .)
2021-10-11 11:44:46 +0200alzgh(~alzgh@user/alzgh)
2021-10-11 11:45:52 +0200mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es)
2021-10-11 11:46:41 +0200kritzefitz[m](~kritzefit@2001:470:69fc:105::1:1186)
2021-10-11 11:49:49 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2021-10-11 11:51:05 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-10-11 12:02:10 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-11 12:04:33 +0200boxscape_(~boxscape_@vpn-44-115.hq.eso.org)
2021-10-11 12:07:36 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 245 seconds)
2021-10-11 12:09:04 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-11 12:12:09 +0200 <arahael> kuribas: Not neccessarily. Unit tests are also good as *regression* testing.
2021-10-11 12:12:32 +0200 <kuribas> arahael: but why should something break that is obvious?
2021-10-11 12:12:41 +0200 <kuribas> unless you do something stupid...
2021-10-11 12:12:53 +0200 <arahael> kuribas: Because it might not be obvious, as your head may be too much in one particular area.
2021-10-11 12:14:01 +0200 <boxscape_> hm, Data.List has sortOn, and the equivalent in Data.List.NonEmpty is sortWith
2021-10-11 12:14:05 +0200 <boxscape_> that seems unfortunate
2021-10-11 12:14:39 +0200notzmv(~zmv@user/notzmv)
2021-10-11 12:14:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-11 12:14:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 12:15:19 +0200 <boxscape_> and GHC.Exts exports sortWith for []
2021-10-11 12:20:07 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2021-10-11 12:20:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-11 12:20:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 12:25:28 +0200ByronJohnson(~bairyn@mail.digitalkingdom.org) (Ping timeout: 265 seconds)
2021-10-11 12:25:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-11 12:26:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 12:27:14 +0200hololeap_hololeap
2021-10-11 12:29:56 +0200 <Hecate> kuribas: can confirm, time is not kind with things you may think are "obvious"
2021-10-11 12:30:18 +0200Guest7083(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Read error: Connection reset by peer)
2021-10-11 12:30:30 +0200Guest7083(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
2021-10-11 12:31:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-11 12:32:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 12:32:48 +0200Guest7083(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Read error: Connection reset by peer)
2021-10-11 12:32:53 +0200 <kuribas> Hecate: I never had trivial code that broke with regressions...
2021-10-11 12:34:11 +0200 <lortabac> to be honest I have rarely caught bugs of any kind with unit tests
2021-10-11 12:34:31 +0200 <lortabac> maybe it's me who don't know how to write good tests
2021-10-11 12:34:58 +0200sirpalee(~sirpalee@28.141.220.111.sta.wbroadband.net.au)
2021-10-11 12:37:28 +0200sirpalee(~sirpalee@28.141.220.111.sta.wbroadband.net.au) (Client Quit)
2021-10-11 12:37:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-11 12:37:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 12:42:27 +0200 <Hecate> kuribas: I had, because although the code was trivial, it interacted with complex systems in complex ways
2021-10-11 12:43:21 +0200azeem(~azeem@emp-85-170.eduroam.uu.se) (Ping timeout: 265 seconds)
2021-10-11 12:43:53 +0200azeem(~azeem@2a00:801:3c1:caaa:afb9:64bd:221b:8a1f)
2021-10-11 12:45:04 +0200 <kuribas> Hecate: that sounds more like integration testing than unit testing.
2021-10-11 12:47:30 +0200fendor_fendor
2021-10-11 12:47:58 +0200 <maerwald> unit testing is also for expected bugs you assume you might write in the future
2021-10-11 12:48:12 +0200 <boxscape_> or someone else
2021-10-11 12:48:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-11 12:48:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 12:49:03 +0200 <maerwald> property testing isn't as useful for most applications, because you either don't really have well defined properties or they are so complicated that it takes a lot of effort to implement arbitrary instances for your data that makes any sense
2021-10-11 12:49:50 +0200 <kuribas> it's good for pure functionality, where the type system doesn't help.
2021-10-11 12:50:19 +0200 <maerwald> even for blockchain smart contracts, I'm much more likely to write unit tests, although there's some overlap between the two methods there... it's just that you're actually interested in *scenarios*, not really *properties*
2021-10-11 12:51:05 +0200 <maerwald> it'll be hard to figure out properties that hold across all scenarios
2021-10-11 12:51:40 +0200 <kuribas> maerwald: you can use implication.
2021-10-11 12:51:50 +0200 <maerwald> I'm aware
2021-10-11 12:51:51 +0200 <kuribas> and you can make generators for different usecases.
2021-10-11 12:52:04 +0200 <maerwald> yep and it's usually more work than unit testing
2021-10-11 12:52:17 +0200 <maerwald> and doesn't do much better
2021-10-11 12:52:44 +0200 <kuribas> if you don't have a lot of possible edge cases, unit tests are good.
2021-10-11 12:52:48 +0200 <maerwald> your property tests end up being unit tests that all test specific scenarios, just with more input data
2021-10-11 12:52:57 +0200 <maerwald> so not really properties
2021-10-11 12:52:57 +0200 <kuribas> otherwise it takes more time to find edge cases than to write a good property test.
2021-10-11 12:54:01 +0200 <maerwald> I've never seen a property test catch a bug that I wouldn't have caught with a unit test in production.
2021-10-11 12:54:49 +0200 <maerwald> But I've seen property tests that failed every other month and no one ever figured out why xD
2021-10-11 12:55:05 +0200acidjnk_new3(~acidjnk@p200300d0c703cb85f89b89a3db90ff65.dip0.t-ipconnect.de)
2021-10-11 12:55:14 +0200 <kuribas> maerwald: I did, just now :)
2021-10-11 12:55:26 +0200 <maerwald> (because some loan period started in 1820 and no one really understood the underlying math well enough)
2021-10-11 12:55:28 +0200 <kuribas> yeah, I could have made a lot of unit tests, but the effort is the same.
2021-10-11 12:55:52 +0200 <kuribas> maerwald: that's why you want pure property tests.
2021-10-11 12:55:58 +0200 <maerwald> then... why would you test loan periods longer than 200 years
2021-10-11 12:56:06 +0200 <kuribas> to test and understand the underlying math
2021-10-11 12:56:09 +0200 <maerwald> lol
2021-10-11 12:56:42 +0200 <kuribas> maerwald: why wouldn't you? You want the math to be solid.
2021-10-11 12:56:51 +0200 <maerwald> as I said... it wasn't trivial math
2021-10-11 12:57:00 +0200 <maerwald> so not something for a programmer to figure out
2021-10-11 12:57:10 +0200 <kuribas> And if those dates makes the property invalid, than change the property to limit the dates.
2021-10-11 12:57:31 +0200 <kuribas> I prefer to understand the math of what I am programming.
2021-10-11 12:57:43 +0200 <kuribas> But in that case, you could work together with the mathematician.
2021-10-11 12:57:55 +0200 <maerwald> They weren't there anymore
2021-10-11 12:58:23 +0200acidjnk_new(~acidjnk@p200300d0c703cb85b4411e2fd211e6ee.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-10-11 12:58:37 +0200 <maerwald> And, honestly... property tests aren't your first choice for math problems
2021-10-11 12:58:43 +0200 <maerwald> there are better tools for that
2021-10-11 12:58:46 +0200 <kuribas> Then it's even more important to understand the math.
2021-10-11 12:58:52 +0200 <kuribas> or you need to hire another mathematician.
2021-10-11 12:59:13 +0200 <maerwald> so I find them to be in a weird spot... not really unit test, not really proof
2021-10-11 12:59:16 +0200 <kuribas> sure, you could plug in a SMT solver :)
2021-10-11 12:59:32 +0200 <maerwald> and yet they seem to be used for both
2021-10-11 12:59:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-11 13:00:24 +0200 <kuribas> It serves two purposes: generate test cases with edge cases that you could easily overlook. 2) Make you think about the properties of the system, and validate them.
2021-10-11 13:00:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 13:00:52 +0200alx741(~alx741@181.196.69.249)
2021-10-11 13:01:04 +0200 <kuribas> validate is not proof, but it's better than not having anything.
2021-10-11 13:01:04 +0200 <maerwald> even for parsers, they're not that great... because pushing random input into your parser might not really test all code branches. Then what people basically do is add a predefined set of input to the random data
2021-10-11 13:01:11 +0200 <maerwald> which is essentially a unit test again
2021-10-11 13:01:48 +0200 <maerwald> right, so I'd argue property tests are maybe 10-20% of your tests
2021-10-11 13:03:54 +0200__monty__(~toonn@user/toonn)
2021-10-11 13:06:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-11 13:06:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 13:11:44 +0200AlexNoo_(~AlexNoo@178.34.161.78)
2021-10-11 13:12:13 +0200Lycurgus(~juan@98.4.112.204)
2021-10-11 13:15:19 +0200AlexNoo(~AlexNoo@94.233.240.247) (Ping timeout: 245 seconds)
2021-10-11 13:15:25 +0200Alex_test(~al_test@94.233.240.247) (Ping timeout: 252 seconds)
2021-10-11 13:15:30 +0200AlexZenon(~alzenon@94.233.240.247) (Ping timeout: 260 seconds)
2021-10-11 13:18:14 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:3723:9200:db0d:b69e) (Quit: WeeChat 2.8)
2021-10-11 13:20:12 +0200Alex_test(~al_test@178.34.161.78)
2021-10-11 13:20:27 +0200AlexZenon(~alzenon@178.34.161.78)
2021-10-11 13:23:38 +0200 <Hecate> < kuribas> Hecate: that sounds more like integration testing than unit testing. // I don't know if I'd call that "integration testing" if it's still in the same monolith
2021-10-11 13:27:07 +0200Lycurgusis slighlty surprised unit/integration/system is still in use
2021-10-11 13:32:39 +0200azeem(~azeem@2a00:801:3c1:caaa:afb9:64bd:221b:8a1f) (Read error: Connection reset by peer)
2021-10-11 13:32:59 +0200azeem(~azeem@emp-85-170.eduroam.uu.se)
2021-10-11 13:34:25 +0200 <kuribas> Hecate: for me unit testing means testing a small part of the system. Ideally just a single function.
2021-10-11 13:34:48 +0200 <kuribas> Of course you can write a unit test which is actually integration test :)
2021-10-11 13:35:09 +0200 <merijn> integration testing makes sense it's testing whole workflows across independent components
2021-10-11 13:35:22 +0200 <merijn> Unit testing is an awkward term, because no one agrees on what a unit is
2021-10-11 13:36:19 +0200 <Lycurgus> it's ur piece
2021-10-11 13:36:34 +0200hololeap_(~hololeap@user/hololeap)
2021-10-11 13:36:47 +0200Inst(~Inst@2601:6c4:4080:3f80:4173:3bb7:a5d4:1bf9)
2021-10-11 13:36:48 +0200 <Lycurgus> ur piece/things it touches/the whole shebang
2021-10-11 13:37:09 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 276 seconds)
2021-10-11 13:38:01 +0200acidjnk_new3(~acidjnk@p200300d0c703cb85f89b89a3db90ff65.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-10-11 13:41:02 +0200kritzefitz[m](~kritzefit@2001:470:69fc:105::1:1186) ()
2021-10-11 13:41:48 +0200kritzefitz[m](~kritzefit@2001:470:69fc:105::1:1186)
2021-10-11 13:46:33 +0200sam__(~sam@modemcable242.171-178-173.mc.videotron.ca)
2021-10-11 13:46:57 +0200sam__Guest5349
2021-10-11 13:55:39 +0200dasfdf(~dasfdf@156.17.43.70)
2021-10-11 13:59:02 +0200acidjnk_new3(~acidjnk@p200300d0c703cb85f89b89a3db90ff65.dip0.t-ipconnect.de)
2021-10-11 13:59:27 +0200 <maerwald> kuribas: well, there's no such thing as tsting only a single function
2021-10-11 13:59:36 +0200 <maerwald> because you're testing the entire callstack
2021-10-11 13:59:47 +0200 <maerwald> depending on which function you test, you might be testing the entire system
2021-10-11 14:00:49 +0200 <maerwald> unit testing to me means: I'm explicitly thinking about what input to test and I consider that a good thing.
2021-10-11 14:01:10 +0200 <maerwald> if I need random input to complement, I go for property tests, but otherwise I don't
2021-10-11 14:01:24 +0200defanor(~defanor@tart.uberspace.net) (Quit: .)
2021-10-11 14:01:36 +0200 <maerwald> for libraries like bytestring/text etc. property testing makes a lot of sense
2021-10-11 14:01:48 +0200 <maerwald> for my API backend that has internal state, not so much
2021-10-11 14:02:01 +0200defanor(~defanor@tart.uberspace.net)
2021-10-11 14:02:02 +0200 <maerwald> yes, you can still use it, but ugh
2021-10-11 14:03:16 +0200neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
2021-10-11 14:03:37 +0200 <exarkun> there's some cool stateful property testing stuff around
2021-10-11 14:03:50 +0200 <exarkun> which is sometimes quite handy and not ugh at all
2021-10-11 14:05:13 +0200 <maerwald> for an API, the subset of actions that even make sense as a sequence is rather limited
2021-10-11 14:05:54 +0200kritzefitzkritzefitz_
2021-10-11 14:05:59 +0200AWizzArd(~code@gehrels.uberspace.de) (Ping timeout: 250 seconds)
2021-10-11 14:06:02 +0200 <maerwald> all your property tests would do would be to randomize input over those... and then they become really awkward, because you're not testing properties anymore, but using the internal functions to calculated the expected outcome
2021-10-11 14:06:06 +0200 <exarkun> that depends a lot on the API, and "something non-catastrophic happens if the API is misused" is also not always a bad property to test
2021-10-11 14:06:12 +0200 <maerwald> which is hilarious if those same functions have a bug
2021-10-11 14:06:15 +0200exarkunshrugs
2021-10-11 14:06:21 +0200 <exarkun> I agree that sometimes it's not useful at all
2021-10-11 14:06:22 +0200 <maerwald> a unit test allows you to freeze the output
2021-10-11 14:06:28 +0200 <exarkun> I'm just pointing out that sometimes it is quite useful.
2021-10-11 14:06:31 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 252 seconds)
2021-10-11 14:06:40 +0200 <maerwald> I've had property tests not failing, because everything returns 0 or []
2021-10-11 14:06:43 +0200AWizzArd(~code@gehrels.uberspace.de)
2021-10-11 14:06:44 +0200kritzefitz[m]kritzefitz
2021-10-11 14:06:57 +0200kritzefitz_(~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-10-11 14:07:01 +0200 <merijn> maerwald: Then your properties are bad :)
2021-10-11 14:07:06 +0200 <maerwald> no
2021-10-11 14:07:09 +0200 <maerwald> the functions were buggy
2021-10-11 14:07:20 +0200 <maerwald> the *implementation*
2021-10-11 14:07:24 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-10-11 14:07:24 +0200dasfdf(~dasfdf@156.17.43.70) (Quit: Client closed)
2021-10-11 14:08:08 +0200 <maerwald> > (reverse $ reverse [1..2]) == [1..2]
2021-10-11 14:08:10 +0200 <lambdabot> True
2021-10-11 14:08:13 +0200 <maerwald> > (id $ id [1..2]) == [1..2]
2021-10-11 14:08:15 +0200 <lambdabot> True
2021-10-11 14:08:15 +0200 <maerwald> oops...
2021-10-11 14:08:31 +0200 <maerwald> so, did you actually test `reverse`? lol
2021-10-11 14:09:53 +0200 <arahael> maerwald: Perhaps that's an argument to not only having property tests like that, but also test some specific scenarios as well.
2021-10-11 14:10:07 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-10-11 14:10:19 +0200 <maerwald> yeah, I consider property tests to be complementary
2021-10-11 14:11:50 +0200aliosablack(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 260 seconds)
2021-10-11 14:12:11 +0200AlexNoo_AlexNoo
2021-10-11 14:17:02 +0200Lycurgus(~juan@98.4.112.204) (Quit: Exeunt)
2021-10-11 14:17:47 +0200hololeap_hololeap
2021-10-11 14:23:32 +0200lavaman(~lavaman@98.38.249.169)
2021-10-11 14:27:58 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-11 14:29:08 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2021-10-11 14:30:04 +0200 <Franciman> what about correctness proofs?
2021-10-11 14:30:08 +0200 <Franciman> are they used by anybody?
2021-10-11 14:30:16 +0200 <Franciman> or are they too hard to get?
2021-10-11 14:34:23 +0200 <merijn> Define "used" and "anybody" :p
2021-10-11 14:34:30 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-10-11 14:34:37 +0200 <merijn> There have, obviously, been more than zero projects that used formal proof methods
2021-10-11 14:34:54 +0200 <merijn> But they aren't particularly mainstream even in niches like Haskell
2021-10-11 14:35:50 +0200 <boxscape_> you also have the same problem as with property tests that you have to decide which properties to prove
2021-10-11 14:36:14 +0200 <boxscape_> the haskell type system usually makes sure that some properties you want provably hold, at least
2021-10-11 14:36:33 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2021-10-11 14:36:42 +0200 <boxscape_> (modulo bottom)
2021-10-11 14:36:49 +0200acidjnk_new3(~acidjnk@p200300d0c703cb85f89b89a3db90ff65.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-11 14:49:17 +0200mbuf(~Shakthi@223.178.93.142) (Quit: Leaving)
2021-10-11 14:51:18 +0200Guest98(~Guest98@2601:547:902:5e80:8983:c84f:9b8:8179)
2021-10-11 14:52:08 +0200slack1256(~slack1256@45.4.2.52)
2021-10-11 14:55:41 +0200 <Guest98> I have a application where I need to read in a file line by line and manipulate the string and write to an output file. I can either create a giant string and flush to the output file at the end or write to the output file multiple times. Which method is more efficient? Thanks in advance!
2021-10-11 14:56:46 +0200acidjnk_new3(~acidjnk@p200300d0c703cb85f89b89a3db90ff65.dip0.t-ipconnect.de)
2021-10-11 14:57:30 +0200 <Hecate> Guest98: you're gonna have to benchmark things, if you have any limitations on your RAM or writing speed for your storage medium
2021-10-11 14:57:32 +0200 <geekosaur> haskell already does output buffering, so even if you do it line at a time it'll be buffered into larger chunks
2021-10-11 14:57:42 +0200 <Hecate> ^ this too
2021-10-11 14:58:28 +0200 <geekosaur> you can use hSetBuffering to set the buffer size, if you need to
2021-10-11 15:00:22 +0200kritzefitz_(~kritzefit@picard.host.weltraumschlangen.de)
2021-10-11 15:01:28 +0200 <geekosaur> but as Hécate says, test and benchmark; it will depend on the data and exactly how you're doing it. in most cases the default buffering to files will be good enough, though
2021-10-11 15:01:34 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-10-11 15:01:58 +0200 <geekosaur> if you really need better performance, there are streaming I/O libraries, but those will be somewhat harder to work with
2021-10-11 15:02:07 +0200cheater(~Username@user/cheater)
2021-10-11 15:02:19 +0200 <Guest98> geekosaur Hecate Thanks!
2021-10-11 15:02:27 +0200 <Hecate> 👍
2021-10-11 15:03:12 +0200kritzefitzkritzefitz[m]
2021-10-11 15:03:12 +0200kritzefitz_kritzefitz
2021-10-11 15:03:53 +0200kritzefitz[m](~kritzefit@2001:470:69fc:105::1:1186) (Quit: issued !quit command)
2021-10-11 15:05:01 +0200pera(~pera@user/pera)
2021-10-11 15:07:10 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 268 seconds)
2021-10-11 15:08:18 +0200cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2021-10-11 15:08:34 +0200cheater(~Username@user/cheater)
2021-10-11 15:09:58 +0200chomwitt(~chomwitt@94.66.61.137)
2021-10-11 15:14:52 +0200Sgeo(~Sgeo@user/sgeo)
2021-10-11 15:15:41 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 15:18:07 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-10-11 15:19:38 +0200Guest5349(~sam@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2021-10-11 15:22:04 +0200noctuks(3ifQGPdAXw@user/noctux) (Quit: WeeChat 3.1)
2021-10-11 15:22:04 +0200yushyin(XZhaV87tPp@karif.server-speed.net) (Quit: WeeChat 3.1)
2021-10-11 15:24:10 +0200noctuks(dzDZscEp9m@user/noctux)
2021-10-11 15:24:11 +0200yushyin(0Ujx9gMz8O@karif.server-speed.net)
2021-10-11 15:39:10 +0200ubert(~Thunderbi@178.115.41.191.wireless.dyn.drei.com)
2021-10-11 15:41:31 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-11 15:44:43 +0200xiongxin(~quassel@119.123.101.136)
2021-10-11 15:46:45 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d)
2021-10-11 15:48:24 +0200boxscape_(~boxscape_@vpn-44-115.hq.eso.org) (Quit: Connection closed)
2021-10-11 15:48:56 +0200CiaoSen(~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-11 15:50:03 +0200ystael(~ystael@user/ystael)
2021-10-11 15:50:59 +0200k``(~user@152.1.137.158)
2021-10-11 15:51:17 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d) (Ping timeout: 250 seconds)
2021-10-11 15:52:01 +0200kayprish(~kayprish@cable-188-2-145-210.dynamic.sbb.rs)
2021-10-11 15:52:07 +0200 <k``> > :m +Data.Bits
2021-10-11 15:52:09 +0200 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2021-10-11 15:52:37 +0200 <merijn> lambdabot is not ghci and doesn't support it's syntax (aside from manually ported commnds)
2021-10-11 15:52:52 +0200 <k``> Oh, oops.
2021-10-11 15:53:04 +0200 <merijn> :t finiteBits
2021-10-11 15:53:04 +0200 <k``> > rotate (1 :: Integer) 1
2021-10-11 15:53:05 +0200 <lambdabot> error: Variable not in scope: finiteBits
2021-10-11 15:53:05 +0200 <lambdabot> 2
2021-10-11 15:53:20 +0200 <merijn> ah, looks like it's already in scope anyway
2021-10-11 15:53:26 +0200TDANG_(~TDANG@2600:1700:13c1:8fe0:8023:fb4d:8e58:e262) (Ping timeout: 245 seconds)
2021-10-11 15:53:27 +0200 <k``> So why isn't `rotate (1 :: Integer) 1` 3?
2021-10-11 15:53:33 +0200 <k``> Oh, never mind.
2021-10-11 15:53:44 +0200TDANG(~TDANG@inet-177-7.ets.org)
2021-10-11 15:53:58 +0200 <k``> > popCount (-1 :: Integer)
2021-10-11 15:53:59 +0200 <lambdabot> -1
2021-10-11 15:54:26 +0200 <k``> rotate (-1 :: Integer) 1
2021-10-11 15:54:41 +0200 <k``> > rotate (-1 :: Integer) 1
2021-10-11 15:54:42 +0200TDANG(~TDANG@inet-177-7.ets.org) (Client Quit)
2021-10-11 15:54:42 +0200 <lambdabot> -2
2021-10-11 15:55:25 +0200 <k``> Shouldn't `rotate (-1 :: Integer)` 1 be -1?
2021-10-11 15:55:35 +0200 <merijn> Why?
2021-10-11 15:56:00 +0200 <k``> It's an infinite string of 1 bits. Rotating it should be identity.
2021-10-11 15:56:25 +0200 <k``> You'll rotate the bit at infinity back into the bit at 0.
2021-10-11 15:56:30 +0200 <k``> Right?
2021-10-11 15:57:09 +0200 <merijn> > popCount (-1 :: Integer)
2021-10-11 15:57:11 +0200 <lambdabot> -1
2021-10-11 15:57:17 +0200 <merijn> hmm
2021-10-11 15:57:39 +0200 <k``> Yeah, I also wondered why they chose to back that in-band rather than `overflowError` .
2021-10-11 15:57:48 +0200 <k``> *make.
2021-10-11 15:57:56 +0200 <merijn> k``: Per the docs: "For unbounded types like Integer, rotate is equivalent to shift."
2021-10-11 15:58:43 +0200gaussrz(~gaussrz@58.247.22.226) (Ping timeout: 252 seconds)
2021-10-11 15:58:53 +0200ssaGuest68(~ssaGuest6@52.187.169.89) (Ping timeout: 256 seconds)
2021-10-11 15:59:01 +0200 <k``> OK, I guess there's no point in arguing with the docs, but still. That makes sense for `Natural` , but it seems to violate 'least surprise' for `Integer` .
2021-10-11 15:59:35 +0200 <merijn> tbh, nothing would surprise me about Integer semantics for bits xD
2021-10-11 16:00:14 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt)
2021-10-11 16:00:23 +0200arahael(~arahael@203-206-94-225.tpgi.com.au) (Ping timeout: 250 seconds)
2021-10-11 16:01:13 +0200acidjnk_new(~acidjnk@p200300d0c703cb85117f917eb3780430.dip0.t-ipconnect.de)
2021-10-11 16:02:59 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2021-10-11 16:03:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 16:03:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 16:03:06 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 16:03:31 +0200 <k``> I mean, as safe test for negativity should be `testBit 0 (rotate x 1)` . Oh well.
2021-10-11 16:04:20 +0200 <k``> Sorry, always write those backward.
2021-10-11 16:04:43 +0200acidjnk_new3(~acidjnk@p200300d0c703cb85f89b89a3db90ff65.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-10-11 16:05:01 +0200 <merijn> k``: Why should that be safe?
2021-10-11 16:05:14 +0200 <merijn> I don't think Bits guarantees anything about the bit representation
2021-10-11 16:06:05 +0200 <merijn> Now, for Int and the likes, that's *usually* going to be 2s complement, but nothing in Bits guarantees that, it's left instance specific
2021-10-11 16:06:06 +0200chomwitt(~chomwitt@94.66.61.137) (Read error: Connection reset by peer)
2021-10-11 16:06:10 +0200aliosablack(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-11 16:07:29 +0200 <sshine> maybe there's a negabinary instance
2021-10-11 16:10:34 +0200 <merijn> I was thinking more like "some 1s complement data"
2021-10-11 16:11:05 +0200 <k``> Good point. I assumed that, say, a 3's complement Integer would pretend to be 2's complement for a Bits instance, but that's unreasonable.
2021-10-11 16:12:52 +0200 <merijn> right, but Bits doesn't specify anything
2021-10-11 16:13:36 +0200 <k``> So what's the point of `isSigned`?
2021-10-11 16:13:48 +0200 <merijn> > isSigned (1 :: Natural)
2021-10-11 16:13:50 +0200 <lambdabot> error:
2021-10-11 16:13:50 +0200 <lambdabot> Not in scope: type constructor or class ‘Natural’
2021-10-11 16:13:55 +0200 <merijn> > isSigned (1 :: Word)
2021-10-11 16:13:56 +0200 <lambdabot> False
2021-10-11 16:13:58 +0200arahael(~arahael@118.208.229.178)
2021-10-11 16:13:59 +0200 <merijn> > isSigned (1 :: Int)
2021-10-11 16:14:01 +0200 <lambdabot> True
2021-10-11 16:14:14 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 265 seconds)
2021-10-11 16:14:22 +0200 <merijn> that? :p
2021-10-11 16:15:19 +0200 <k``> isSigned (mempty :: IntSet)
2021-10-11 16:15:33 +0200 <k``> > isSigned (mempty :: IntSet)
2021-10-11 16:15:34 +0200 <lambdabot> error:
2021-10-11 16:15:34 +0200 <lambdabot> Not in scope: type constructor or class ‘IntSet’
2021-10-11 16:15:35 +0200 <lambdabot> Perhaps you meant ‘IS.IntSet’ (imported from Data.IntSet)
2021-10-11 16:15:50 +0200 <k``> > isSigned (mempty :: IS.IntSet)
2021-10-11 16:15:52 +0200 <lambdabot> error:
2021-10-11 16:15:52 +0200 <lambdabot> • No instance for (Bits IS.IntSet) arising from a use of ‘isSigned’
2021-10-11 16:15:52 +0200 <lambdabot> • In the expression: isSigned (mempty :: IS.IntSet)
2021-10-11 16:15:59 +0200 <k``> Oh, huh.
2021-10-11 16:16:48 +0200 <k``> > isSigned (mempty :: ByteString)
2021-10-11 16:16:50 +0200 <lambdabot> error:
2021-10-11 16:16:50 +0200 <lambdabot> Not in scope: type constructor or class ‘ByteString’
2021-10-11 16:16:50 +0200 <lambdabot> Perhaps you meant one of these:
2021-10-11 16:17:06 +0200 <geekosaur> doesn't Bits have Num as superclass currently?
2021-10-11 16:17:14 +0200 <k``> Nope, just Eq.
2021-10-11 16:17:25 +0200 <sshine> https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Bits.html#t:Bits
2021-10-11 16:18:53 +0200ub(~Thunderbi@178.115.41.191.wireless.dyn.drei.com)
2021-10-11 16:19:52 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-11 16:22:14 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 16:34:07 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 268 seconds)
2021-10-11 16:35:33 +0200max22-(~maxime@2a01cb0883359800e798224cc2755b60.ipv6.abo.wanadoo.fr)
2021-10-11 16:36:56 +0200Guest98(~Guest98@2601:547:902:5e80:8983:c84f:9b8:8179) (Quit: Client closed)
2021-10-11 16:37:05 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2021-10-11 16:37:22 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2021-10-11 16:37:26 +0200acidjnk_new(~acidjnk@p200300d0c703cb85117f917eb3780430.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-11 16:39:07 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Client Quit)
2021-10-11 16:39:23 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2021-10-11 16:42:08 +0200xiongxin(~quassel@119.123.101.136) (Quit: No Ping reply in 180 seconds.)
2021-10-11 16:43:23 +0200xiongxin(~quassel@113.116.34.120)
2021-10-11 16:43:49 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-11 16:45:44 +0200yorick(~yorick@user/yorick) (Quit: brb)
2021-10-11 16:46:55 +0200 <k``> > testBit (-1 :: Integer) maxBound
2021-10-11 16:46:57 +0200 <lambdabot> True
2021-10-11 16:49:11 +0200hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com)
2021-10-11 16:55:20 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2021-10-11 17:05:39 +0200o1lo01ol1o(~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Quit: Leaving...)
2021-10-11 17:06:16 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2021-10-11 17:07:15 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 17:12:01 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be)
2021-10-11 17:13:13 +0200DNH(~DNH@2a02:8108:1100:16d8:d1f:d611:c784:7f39) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-11 17:14:50 +0200DNH(~DNH@2a02:8108:1100:16d8:d1f:d611:c784:7f39)
2021-10-11 17:16:48 +0200xiongxin(~quassel@113.116.34.120) (Quit: No Ping reply in 180 seconds.)
2021-10-11 17:18:04 +0200xiongxin(~quassel@113.116.33.170)
2021-10-11 17:18:11 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-10-11 17:18:30 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-11 17:21:39 +0200Farzad(~FarzadBek@178.131.27.23) (Quit: Leaving)
2021-10-11 17:23:21 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d)
2021-10-11 17:25:56 +0200euandreh(~euandreh@2804:14c:33:9fe5:bea9:a565:1d5e:1b2d) (Ping timeout: 245 seconds)
2021-10-11 17:27:09 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds)
2021-10-11 17:32:50 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-10-11 17:33:26 +0200dermato(~dermatobr@cpe-70-114-219-76.austin.res.rr.com) (Ping timeout: 245 seconds)
2021-10-11 17:35:26 +0200dermato(~dermatobr@cpe-70-114-219-76.austin.res.rr.com)
2021-10-11 17:38:26 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d) (Remote host closed the connection)
2021-10-11 17:38:38 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d)
2021-10-11 17:39:40 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-10-11 17:43:49 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-11 17:44:49 +0200 <k``> For haddock block comments, do you need a space in `{- ^ ... -}` ? or is `{-^ ... -}` OK?
2021-10-11 17:46:00 +0200 <monochrom> I think you should just try. And -- will be different from {-
2021-10-11 17:46:27 +0200 <k``> I mean, it seems to work, but I wasn't sure whether it's kosher.
2021-10-11 17:46:53 +0200 <monochrom> Oh, that's going to be as divisive as editor wars.
2021-10-11 17:47:07 +0200 <k``> Then forget I asked!
2021-10-11 17:47:39 +0200 <monochrom> --^ will not work because Haskell syntax says that --^ is an operator not a comment :)
2021-10-11 17:47:52 +0200jgeerds(~jgeerds@55d4da80.access.ecotel.net)
2021-10-11 17:48:12 +0200 <k``> Probably used in lens...
2021-10-11 17:48:17 +0200 <monochrom> haha
2021-10-11 17:48:55 +0200 <int-e> 'A nested comment begins with "{-" and ends with "-}". No legal lexeme starts with "{-"; hence, for example, "{---" starts a nested comment despite the trailing dashes.'
2021-10-11 17:49:42 +0200 <monochrom> Yeah, people use {--------- and --------} to make great banners, like C's /******** ********/
2021-10-11 17:49:47 +0200 <int-e> So that's half of the answer... {-^ -} is a comment
2021-10-11 17:49:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 17:49:54 +0200 <k``> '--{-' is also a valid one-line comment, yeah?
2021-10-11 17:50:43 +0200 <int-e> k``: yes
2021-10-11 17:50:57 +0200neurocyte0132889(~neurocyte@IP-185189142031.dynamic.medianet-world.de)
2021-10-11 17:50:57 +0200neurocyte0132889(~neurocyte@IP-185189142031.dynamic.medianet-world.de) (Changing host)
2021-10-11 17:50:57 +0200neurocyte0132889(~neurocyte@user/neurocyte)
2021-10-11 17:51:18 +0200 <int-e> But --^ is an infix operator
2021-10-11 17:51:36 +0200 <int-e> As monochrom already said)(OCOCOCOCOC
2021-10-11 17:52:36 +0200 <monochrom> So I chosen {- ^ because the -- ^ case already needs a space and I want to remember less.
2021-10-11 17:53:01 +0200 <monochrom> But this is really personal preference.
2021-10-11 17:53:52 +0200 <int-e> (irssi does not deal well with lag...)
2021-10-11 17:54:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-11 17:55:00 +0200 <k``> Seems like a good policy, then, like indenting 'then' and 'else'. (Unless do blocks don't need the indentation anymore?)
2021-10-11 17:55:33 +0200 <monochrom> Right, do-if-then-else doesn't need the indentation anymore.
2021-10-11 17:56:13 +0200 <monochrom> But if you carefully read how the Haskell 2010 grammar supports it, it's hilarious, it allows a lot of strange layouts too.
2021-10-11 17:56:28 +0200 <k``> Oh, then like not using '-- ^' because you can't use it in type signatures. (Unless you can do that now?)
2021-10-11 17:57:08 +0200 <int-e> Meh, haddock doesn't document its lexical structure?
2021-10-11 17:57:15 +0200 <monochrom> It is OK when interleaving type sig parts with doc parts.
2021-10-11 17:58:01 +0200 <k``> In the past I got parse errors. So I guess it's fixed.
2021-10-11 17:59:10 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-10-11 17:59:18 +0200 <monochrom> This: https://haskell-haddock.readthedocs.io/en/latest/markup.html#function-arguments
2021-10-11 18:01:05 +0200 <monochrom> Oh, I now see that "f :: X -> Y" and then "-- ^ doc for f" is also fine.
2021-10-11 18:02:55 +0200 <monochrom> IIRC very old versions didn't have that.
2021-10-11 18:03:05 +0200Farzad(~FarzadBek@178.239.149.229)
2021-10-11 18:03:18 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-10-11 18:03:53 +0200xiongxin(~quassel@113.116.33.170) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-10-11 18:06:20 +0200lbseale(~lbseale@user/ep1ctetus)
2021-10-11 18:08:16 +0200FarzadBekran_(~FarzadBek@151.234.207.10)
2021-10-11 18:09:10 +0200 <monochrom> What does System.Info.os say on Windows?
2021-10-11 18:10:43 +0200jgeerds(~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 265 seconds)
2021-10-11 18:10:46 +0200Farzad(~FarzadBek@178.239.149.229) (Ping timeout: 252 seconds)
2021-10-11 18:11:06 +0200 <geekosaur> mingw32, per docs
2021-10-11 18:11:25 +0200 <geekosaur> iirc it's hardcoded at RTS compile time
2021-10-11 18:12:13 +0200 <geekosaur> yeh, it's HOST_OS from configure
2021-10-11 18:17:55 +0200neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
2021-10-11 18:18:20 +0200 <k``> Just tested it on a real live Windows box, it is indeed "mingw32".
2021-10-11 18:19:01 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-11 18:19:13 +0200_73(~user@pool-108-49-252-36.bstnma.fios.verizon.net)
2021-10-11 18:19:45 +0200 <monochrom> Thanks.
2021-10-11 18:24:11 +0200max22-(~maxime@2a01cb0883359800e798224cc2755b60.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-11 18:25:16 +0200euandreh(~euandreh@191.181.59.160)
2021-10-11 18:26:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d) (Remote host closed the connection)
2021-10-11 18:27:21 +0200immae1(~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 2.9)
2021-10-11 18:27:51 +0200kayprish(~kayprish@cable-188-2-145-210.dynamic.sbb.rs) (Remote host closed the connection)
2021-10-11 18:27:52 +0200immae(~immae@2a01:4f8:141:53e7::)
2021-10-11 18:27:58 +0200 <_73> I am using a perl parser combinator library that is directly based off of haskell's parsec library and uses the same names as parsec for its combinators. I am trying to parse data blocks with key=val fields where there is a static set of valid keys, where each member of this set must be defined, but in any order. At a high level what combinators/parsing tactics would you reccomend I should look at for this scenario? Example:
2021-10-11 18:27:58 +0200 <_73> http://dpaste.com/3TUL3XA5Q Library: https://metacpan.org/pod/Parser::Combinators
2021-10-11 18:28:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d)
2021-10-11 18:29:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 18:32:14 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-11 18:33:51 +0200aliosablack(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds)
2021-10-11 18:34:55 +0200 <c_wraith> _73: you're looking for "permutation parsing"
2021-10-11 18:36:09 +0200chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-11 18:37:05 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2021-10-11 18:38:22 +0200 <_73> c_wraith: I see haskell has libraries for this that are seperate from parsec. Does this mean it is not a concept easily implemented with the basic parsec combinators?
2021-10-11 18:42:07 +0200tom(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45)
2021-10-11 18:42:29 +0200bontaq`(~user@ool-45779fe5.dyn.optonline.net)
2021-10-11 18:42:44 +0200bontaq`bontaq
2021-10-11 18:42:51 +0200tom(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45) ()
2021-10-11 18:42:55 +0200tom(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45)
2021-10-11 18:43:31 +0200tomGuest2024
2021-10-11 18:45:34 +0200lavaman(~lavaman@98.38.249.169)
2021-10-11 18:45:56 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-11 18:46:21 +0200CiaoSen(~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-10-11 18:47:30 +0200sam__(~sam@modemcable242.171-178-173.mc.videotron.ca)
2021-10-11 18:47:54 +0200sam__Guest9265
2021-10-11 18:48:19 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-11 18:48:37 +0200FarzadBekran_(~FarzadBek@151.234.207.10) (Quit: Leaving)
2021-10-11 18:50:13 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 18:50:16 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-11 18:52:00 +0200 <monochrom> parsec has a function for permutation parsing, no?
2021-10-11 18:52:51 +0200phma(~phma@host-67-44-208-35.hnremote.net) (Read error: Connection reset by peer)
2021-10-11 18:53:36 +0200phma(~phma@host-67-44-209-69.hnremote.net)
2021-10-11 18:56:05 +0200nowl(~nowl@pool-96-230-3-13.bstnma.fios.verizon.net)
2021-10-11 18:56:38 +0200 <_73> monochrom: ya I just found `permute`
2021-10-11 18:59:10 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-10-11 19:02:25 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-10-11 19:02:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-11 19:02:51 +0200arjun(~user@user/arjun)
2021-10-11 19:03:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 19:03:04 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 19:03:04 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 19:03:16 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-10-11 19:04:55 +0200MoC(~moc@user/moc)
2021-10-11 19:07:06 +0200fusion86(~fusion@2a02-a44c-e6e5-1-5889-bfe7-56d3-5d3.fixed6.kpn.net) (Quit: Leaving)
2021-10-11 19:07:28 +0200Guest2024(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45) (Leaving)
2021-10-11 19:07:31 +0200Guest2024(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45)
2021-10-11 19:07:40 +0200Guest2024(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45) (Leaving)
2021-10-11 19:08:05 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-11 19:08:27 +0200Guest2024(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45)
2021-10-11 19:08:53 +0200Guest2024(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45) (Quit: Leaving)
2021-10-11 19:09:08 +0200tom(~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45)
2021-10-11 19:10:32 +0200tomGuest7926
2021-10-11 19:14:54 +0200 <dminuoso> monochrom: Better yet, https://hackage.haskell.org/package/parser-combinators-1.3.0/docs/Control-Applicative-Permutations…
2021-10-11 19:15:33 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-11 19:15:34 +0200 <dminuoso> parser-combinators is really wonderful due to its Alternative/Applicative only interface, it works with practically any parser library. :)
2021-10-11 19:16:02 +0200 <k``> Except perl parser libraries :(
2021-10-11 19:16:15 +0200 <dminuoso> Oh,
2021-10-11 19:16:45 +0200 <dminuoso> I must admit, this is a first time. People coming here for Agda, Idris or Cadano advice happens frequently.
2021-10-11 19:16:48 +0200 <dminuoso> But Perl? :-)
2021-10-11 19:17:05 +0200econo(uid147250@user/econo)
2021-10-11 19:17:26 +0200 <geekosaur> decent overlap between perlers and haskellers, or at least used to be
2021-10-11 19:17:42 +0200 <Franciman> due to raku's original interpreter written in haskell, I guess ^^'
2021-10-11 19:17:49 +0200 <geekosaur> that said, for parsing I would not use perl; I can usely make it work but it's too bloody slow
2021-10-11 19:18:21 +0200 <geekosaur> *surely
2021-10-11 19:18:35 +0200 <Franciman> which perl are we talkin about?
2021-10-11 19:18:38 +0200 <Franciman> <6 I reckon?
2021-10-11 19:18:59 +0200 <geekosaur> the Parser::Combinators mentioned earlier looks to be 5
2021-10-11 19:19:09 +0200pavonia(~user@user/siracusa)
2021-10-11 19:19:09 +0200 <Franciman> 6 has builtin stuff for parsing IIRC
2021-10-11 19:19:12 +0200 <Franciman> oh ok
2021-10-11 19:19:15 +0200 <geekosaur> ]yep
2021-10-11 19:19:19 +0200 <dminuoso> Pugs, hah.
2021-10-11 19:19:21 +0200 <dminuoso> That name. :)
2021-10-11 19:19:44 +0200 <monochrom> Will there be also a GPC? >:)
2021-10-11 19:19:50 +0200 <dminuoso> geekosaur: It's curious because I've never really seen perl being brought up in any of the Haskell places Im in.
2021-10-11 19:20:06 +0200 <geekosaur> mostly I'm going by "same nicks"
2021-10-11 19:20:11 +0200 <dminuoso> Not that I dont believe you, but I just haven't seen any evidence.
2021-10-11 19:20:14 +0200 <dminuoso> Ah.
2021-10-11 19:20:14 +0200 <geekosaur> not it being mentioned as such
2021-10-11 19:20:18 +0200 <dminuoso> Fair enough
2021-10-11 19:20:29 +0200 <monochrom> It was also a long time ago.
2021-10-11 19:20:34 +0200 <geekosaur> yeh
2021-10-11 19:20:44 +0200 <geekosaur> I'm talking 2007ish
2021-10-11 19:20:57 +0200 <monochrom> They have all got real jobs, real families, real lives, no more time for IRC.
2021-10-11 19:21:27 +0200 <monochrom> Audrey Tang got a real government minister position, for example!
2021-10-11 19:21:30 +0200 <dminuoso> monochrom: Let me guess, it's diagnostic routines rather slinging around complicated type theory legalese, it would indulge the reader in linguistic battles?
2021-10-11 19:21:46 +0200smfound haskell via perl/pugs discussion
2021-10-11 19:21:47 +0200 <monochrom> haha
2021-10-11 19:23:35 +0200azeem(~azeem@emp-85-170.eduroam.uu.se) (Read error: Connection reset by peer)
2021-10-11 19:26:20 +0200geekosaursometimes thinks he killed pugs
2021-10-11 19:26:38 +0200 <monochrom> onoes what did you do?!!!
2021-10-11 19:26:39 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-10-11 19:26:57 +0200 <geekosaur> …tried to update and augment its file type checking operations, discovered some severe parsing conflicts in the process
2021-10-11 19:27:01 +0200arjun(~user@user/arjun) (Remote host closed the connection)
2021-10-11 19:27:37 +0200 <geekosaur> then-rakudo got completely redesigned ones, pugs just kinda faded away because it was harder to update and only audrey tang really understood the code :(
2021-10-11 19:27:48 +0200 <monochrom> If you killed pugs, then Gödel killed math, and Turing killed computing. :)
2021-10-11 19:27:57 +0200 <sm> ack
2021-10-11 19:28:12 +0200hendursaga(~weechat@user/hendursaga)
2021-10-11 19:28:12 +0200emf(~emf@2620:10d:c090:400::5:61e3)
2021-10-11 19:28:34 +0200azeem(~azeem@2a00:801:44a:7af2:af4a:bfcd:ab75:2b7e)
2021-10-11 19:36:10 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-11 19:39:38 +0200 <k``> If you want to talk about killing stuff, like an idiot I argued against renaming `Foldable1` to `Semifoldable` . And now there's still no nonempty foldable class in base. Not sure if it's because of my ranting, but, regardless, I wish we had one.
2021-10-11 19:40:50 +0200 <geekosaur> well, some of that is just that changes to base only happen at glacial pace. and that's moving fast :/
2021-10-11 19:41:14 +0200 <int-e> monochrom: What about this guy, https://en.wikipedia.org/wiki/Wilhelm_Killing
2021-10-11 19:42:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 19:42:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 19:42:03 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 19:42:32 +0200 <geekosaur> is there an actual proposal for that change somewhere, or is it just something floated on some list?
2021-10-11 19:43:20 +0200 <geekosaur> (also, changfes to base were pretty much on hold for a couple years and should be starting to become unstuck a bit now that there's a new and larger committee with some actual rules and accountability)
2021-10-11 19:43:54 +0200 <k``> init-e: "Lie was scornful of Killing." Good stuff there.
2021-10-11 19:44:08 +0200 <monochrom> That guy really made a killing heh
2021-10-11 19:44:33 +0200 <k``> geekosaur: It was a few years ago. Not sure anymore.
2021-10-11 19:45:09 +0200narendraj9(~user@2a02:8109:b63f:ff7c::a540)
2021-10-11 19:45:15 +0200 <k``> Back when Edward was more actively trying to improve stuff in the Haskell world.
2021-10-11 19:46:06 +0200 <monochrom> BTW tongue in cheek but I agree that non-empty foldable should not be called semifoldable. You look at monoid and semigroup (so, not semimonoid), and you know in your heart, it's foldable and semitraversable!
2021-10-11 19:46:12 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2021-10-11 19:46:29 +0200 <awpr> huh, I was just reading that GitHub issue this weekend
2021-10-11 19:47:03 +0200gehmehgeh(~user@user/gehmehgeh)
2021-10-11 19:47:52 +0200 <geekosaur> so maybe it's time to reawaken it and possibly move it (I think these days you make a ghc proposal?)
2021-10-11 19:48:36 +0200 <geekosaur> or was that what you meant since the ghc proposals are I think hosted on github? in which case just some pings with a current state/consensus might be enough
2021-10-11 19:48:46 +0200pera(~pera@user/pera) (Ping timeout: 260 seconds)
2021-10-11 19:48:59 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-10-11 19:50:31 +0200pera(~pera@137.221.132.228)
2021-10-11 19:50:55 +0200peraGuest4717
2021-10-11 19:51:27 +0200 <geekosaur> fwiw Foldable1 sounds more right to me than Semifoldable. actually for a reason similar to monochrom's, Semi… feels like it should be an incomplete version of … and …1 feels like the wrong kind of incomplete
2021-10-11 19:51:45 +0200 <geekosaur> but I am not really a mathematician, so who knows
2021-10-11 19:52:10 +0200 <awpr> could steal terminology from the average of 15 lens libraries and use `AffineFoldable` and `AffineTraversable`
2021-10-11 19:52:23 +0200 <awpr> granted those are pretty long names
2021-10-11 19:52:42 +0200 <geekosaur> shorten them to Af…?
2021-10-11 19:52:50 +0200 <awpr> `FoldableAF`
2021-10-11 19:52:50 +0200 <monochrom> AffFoldable
2021-10-11 19:53:14 +0200 <monochrom> Tttttartartargagagagalia
2021-10-11 19:53:22 +0200 <tomsmeding> I mean at that point just go with Affordable
2021-10-11 19:53:33 +0200 <tomsmeding> is in the style of lens and friends
2021-10-11 19:53:34 +0200 <monochrom> haha
2021-10-11 19:53:54 +0200 <k``> I'm super ignorant here, but wouldn't 'affine' mean 'foldable with an empty value and no combining function'?
2021-10-11 19:53:57 +0200 <monochrom> And AffineTraversable -> Aversable? >:)\
2021-10-11 19:54:32 +0200chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds)
2021-10-11 19:54:47 +0200zer0bitz(~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi)
2021-10-11 19:54:49 +0200 <k``> Amble
2021-10-11 19:55:02 +0200 <monochrom> adorable
2021-10-11 19:55:05 +0200 <tomsmeding> Able
2021-10-11 19:55:43 +0200 <tomsmeding> weaken :: Adorable a -> Affordable a
2021-10-11 19:56:09 +0200 <monochrom> I thought that would be "bargain"
2021-10-11 19:56:29 +0200 <tomsmeding> fair point
2021-10-11 19:56:35 +0200 <k``> If it's not already used for `Bizarre` ?
2021-10-11 19:56:43 +0200 <awpr> oh right, I had it backwards, indeed affine should be 0 or 1, and at least one Haddock in profunctor-optics uses it that way
2021-10-11 19:56:52 +0200emf_(~emf@2601:602:9400:84d:83e:973e:4aa8:d9e5)
2021-10-11 19:57:00 +0200ub(~Thunderbi@178.115.41.191.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-11 19:57:12 +0200TomasJakl[m](~jaklttchn@2001:470:69fc:105::a42)
2021-10-11 19:57:15 +0200 <awpr> `RelevantTraversable` is even longerer
2021-10-11 19:57:32 +0200 <tomsmeding> my mental reference for linear/affine is that Linear Haskell is linear and requires you to explicitly 'consume' something you want to throw away, but Rust is affine and allows you to use implicit 'drop!()'
2021-10-11 19:57:39 +0200 <tomsmeding> s/!//
2021-10-11 19:58:02 +0200Guest4717(~pera@137.221.132.228) (Quit: leaving)
2021-10-11 19:58:07 +0200 <awpr> yeah, in theory I know the difference, I just have the magical ability to type without thinking
2021-10-11 19:58:16 +0200 <tomsmeding> most programmers have that
2021-10-11 19:58:40 +0200 <tomsmeding> and sometimes it shows
2021-10-11 19:59:30 +0200emf(~emf@2620:10d:c090:400::5:61e3) (Ping timeout: 260 seconds)
2021-10-11 19:59:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 20:09:41 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds)
2021-10-11 20:09:57 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds)
2021-10-11 20:11:38 +0200emf_(~emf@2601:602:9400:84d:83e:973e:4aa8:d9e5) (Ping timeout: 260 seconds)
2021-10-11 20:12:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d) (Remote host closed the connection)
2021-10-11 20:13:58 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 265 seconds)
2021-10-11 20:15:10 +0200emf(~emf@2620:10d:c090:400::5:8ff4)
2021-10-11 20:19:11 +0200wrengr_away(~wrengr@136.247.83.34.bc.googleusercontent.com) (Quit: leaving)
2021-10-11 20:20:20 +0200Guest9265(~sam@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2021-10-11 20:20:43 +0200Guest9265(~sam@modemcable242.171-178-173.mc.videotron.ca)
2021-10-11 20:22:02 +0200neurocyte0132889(~neurocyte@IP-185189142031.dynamic.medianet-world.de)
2021-10-11 20:22:02 +0200neurocyte0132889(~neurocyte@IP-185189142031.dynamic.medianet-world.de) (Changing host)
2021-10-11 20:22:02 +0200neurocyte0132889(~neurocyte@user/neurocyte)
2021-10-11 20:25:02 +0200Guest9265(~sam@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2021-10-11 20:25:10 +0200ub(~Thunderbi@178.115.41.191.wireless.dyn.drei.com)
2021-10-11 20:28:09 +0200wrengr(~wrengr@150.12.83.34.bc.googleusercontent.com)
2021-10-11 20:31:56 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-11 20:34:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-11 20:35:59 +0200ub(~Thunderbi@178.115.41.191.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-10-11 20:44:41 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-11 20:46:32 +0200nowl(~nowl@pool-96-230-3-13.bstnma.fios.verizon.net) (Quit: Leaving)
2021-10-11 20:47:16 +0200 <maerwald> do we have a canonical place to for new haskell users wrt introduction material?
2021-10-11 20:47:22 +0200 <maerwald> and please don't say "Haskell wiki"
2021-10-11 20:48:11 +0200 <tomsmeding> maerwald: https://www.haskell.org/documentation/
2021-10-11 20:48:14 +0200 <tomsmeding> courtesy of hpc
2021-10-11 20:48:42 +0200 <tomsmeding> (well, the reference courtesy to hpc, they didn't write all that I imagine :p )
2021-10-11 20:53:33 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d)
2021-10-11 20:58:26 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-11 20:59:45 +0200mc47(~mc47@xmonad/TheMC47)
2021-10-11 21:00:46 +0200jgeerds(~jgeerds@55d4da80.access.ecotel.net)
2021-10-11 21:02:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 21:02:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 21:02:48 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 21:07:56 +0200chomwitt(~chomwitt@94.66.61.137)
2021-10-11 21:08:06 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-11 21:08:31 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 21:08:31 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 21:08:31 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 21:14:25 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-11 21:17:24 +0200son0p(~ff@181.136.122.143) (Ping timeout: 245 seconds)
2021-10-11 21:17:50 +0200sedeki(~textual@user/sedeki)
2021-10-11 21:18:53 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
2021-10-11 21:20:59 +0200waleee(~waleee@h-98-128-228-119.na.cust.bahnhof.se)
2021-10-11 21:21:57 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-10-11 21:24:23 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 265 seconds)
2021-10-11 21:26:14 +0200ByronJohnson(~bairyn@mail.digitalkingdom.org)
2021-10-11 21:27:27 +0200max22-(~maxime@2a01cb08833598000bdc249d87a31114.ipv6.abo.wanadoo.fr)
2021-10-11 21:29:28 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-11 21:32:02 +0200rootard(~rootard@172.58.88.54)
2021-10-11 21:32:26 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-11 21:35:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-11 21:39:00 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 21:44:40 +0200 <raehik> Can I build documentation for uploading to Hackage without compiling the project itself?
2021-10-11 21:44:51 +0200 <monochrom> Life was so much simpler when The Gentle Introduction was the canonical starting point.
2021-10-11 21:45:33 +0200lavaman(~lavaman@98.38.249.169)
2021-10-11 21:46:26 +0200 <monochrom> raehik: I haven't tried, but "cabal haddock" has a chance.
2021-10-11 21:46:47 +0200 <sclv> `cabal haddock --for-hackage`
2021-10-11 21:46:55 +0200 <sclv> but building the haddocks requires running ghc afaik
2021-10-11 21:47:08 +0200 <sclv> like you can't extract the type info for all the functions etc without ghc actually doing work
2021-10-11 21:47:38 +0200 <monochrom> I think haddock goes through GHC API for you for that.
2021-10-11 21:47:38 +0200 <raehik> ahhh that's fair, I didn't think too far into the work it does
2021-10-11 21:48:02 +0200 <monochrom> It's why haddock comes with GHC.
2021-10-11 21:48:42 +0200emf_(~emf@2620:10d:c090:400::5:fe52)
2021-10-11 21:48:47 +0200 <sclv> i guess i more meant that if your product doesn't compile, it wont haddock
2021-10-11 21:48:56 +0200 <monochrom> Ah, right.
2021-10-11 21:49:40 +0200 <raehik> true. trying to improve CI without having to build unnecessarily
2021-10-11 21:50:06 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-11 21:50:36 +0200 <sclv> `cabal haddock` should reuse everything it can if you ran `cabal build` prior i believe
2021-10-11 21:50:56 +0200emf(~emf@2620:10d:c090:400::5:8ff4) (Ping timeout: 245 seconds)
2021-10-11 21:51:54 +0200 <raehik> yep. but I've been mix and matching Stack and Cabal so now I've got to mess around with the Cabal side since Stack can't produce Hackage docs! :(
2021-10-11 21:55:10 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds)
2021-10-11 21:58:30 +0200 <sclv> also note that if you're not intending to upload to hackage, running it with or without --for-hackage as flags shouldn't matter (i.e. for CI purposes)
2021-10-11 21:58:49 +0200 <sclv> like it changes linking and formatting, but shouldn't change correctness checks
2021-10-11 22:00:46 +0200 <raehik> thanks, good to know
2021-10-11 22:00:47 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-11 22:01:43 +0200Lycurgus(~juan@98.4.112.204)
2021-10-11 22:02:15 +0200mestre(~mestre@191.177.175.57)
2021-10-11 22:05:28 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 265 seconds)
2021-10-11 22:06:40 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 252 seconds)
2021-10-11 22:06:43 +0200juhp(~juhp@128.106.188.220)
2021-10-11 22:10:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-11 22:10:08 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-10-11 22:10:20 +0200zebrag(~chris@user/zebrag)
2021-10-11 22:13:32 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-10-11 22:20:31 +0200narendraj9(~user@2a02:8109:b63f:ff7c::a540) (Ping timeout: 245 seconds)
2021-10-11 22:21:17 +0200 <sm> why can't stack produce hackage docs ?
2021-10-11 22:22:04 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-10-11 22:22:22 +0200 <geekosaur> becuase they never bothered to add the ability
2021-10-11 22:29:20 +0200Psybur(~Psybur@mobile-166-170-32-197.mycingular.net)
2021-10-11 22:35:36 +0200fendor(~fendor@178.115.71.1.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-11 22:43:50 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-10-11 22:47:55 +0200 <maerwald> sm: https://github.com/commercialhaskell/stack/issues/737
2021-10-11 22:49:04 +0200k``(~user@152.1.137.158) (Quit: ERC (IRC client for Emacs 27.1))
2021-10-11 22:52:11 +0200 <sm> so it can produce them but not upload them eh
2021-10-11 22:52:51 +0200 <sm> damn "them"! Once again, our minions fail us!
2021-10-11 22:55:48 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-11 22:57:18 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
2021-10-11 22:57:24 +0200 <awpr> FWIW I'd find this useful, too. every time I upload a package, I resolve to let Hackage build the docs itself, and then an hour or two later I give up and use the cabal-based script from https://hackage.haskell.org/upload instead
2021-10-11 22:57:26 +0200ikex1(~ash@user/ikex)
2021-10-11 22:57:40 +0200ikex(~ash@user/ikex) (Ping timeout: 265 seconds)
2021-10-11 22:58:03 +0200ikex1ikex
2021-10-11 22:58:24 +0200eco_eco
2021-10-11 23:04:28 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds)
2021-10-11 23:05:51 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-11 23:05:51 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-11 23:05:51 +0200wroathe(~wroathe@user/wroathe)
2021-10-11 23:08:49 +0200zer0bitz(~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-10-11 23:14:41 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-11 23:20:39 +0200CiaoSen(~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-11 23:20:45 +0200emf_(~emf@2620:10d:c090:400::5:fe52) (Quit: emf_)
2021-10-11 23:22:18 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-10-11 23:23:08 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-11 23:23:15 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 250 seconds)
2021-10-11 23:23:26 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2021-10-11 23:23:37 +0200Lord_of_Life_Lord_of_Life
2021-10-11 23:27:07 +0200michalz(~michalz@185.246.204.89) (Remote host closed the connection)
2021-10-11 23:33:42 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-10-11 23:35:44 +0200emf(~emf@2620:10d:c090:400::5:fe52)
2021-10-11 23:40:10 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-10-11 23:42:34 +0200cjb(~cjb@user/cjb)
2021-10-11 23:45:23 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-11 23:48:10 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2021-10-11 23:55:48 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-10-11 23:56:28 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2021-10-11 23:56:38 +0200[_][itchyjunk]