2021-10-28 00:00:06 +0200 | Guest|12 | (~Guest|12@89.187.239.178) () |
2021-10-28 00:07:31 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-28 00:11:20 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-10-28 00:12:09 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-10-28 00:17:23 +0200 | f-a | (f2a@f2a.jujube.ircnow.org) |
2021-10-28 00:22:06 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-28 00:22:07 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-10-28 00:22:08 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
2021-10-28 00:22:31 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 00:24:47 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-10-28 00:25:16 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-10-28 00:27:06 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-10-28 00:29:41 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-10-28 00:30:34 +0200 | Skyfire | (~pyon@user/pyon) |
2021-10-28 00:30:57 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 258 seconds) |
2021-10-28 00:37:32 +0200 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 260 seconds) |
2021-10-28 00:37:59 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-28 00:37:59 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-28 00:37:59 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-28 00:42:14 +0200 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) |
2021-10-28 00:44:04 +0200 | <ski> | zincy : anyway .. Haskell doesn't have an `exists' keyword (a few implementations did have it as extension, but only in the "trivial" case of occuring to the left of a function arrow (possibly indirected through type synonyms, iirc)). so, in actual current Haskell (with extensions), you do need to *encode* `exists' (in one of two main ways, sometimes a third applies). nonetheless, i think it helps to think |
2021-10-28 00:44:10 +0200 | <ski> | about it conceptually, at the level i described, with a pseudo-Haskell `exists', before delving into how to actually get code today working |
2021-10-28 00:45:04 +0200 | f-a | (f2a@f2a.jujube.ircnow.org) () |
2021-10-28 00:45:30 +0200 | jstolarek | (~jstolarek@137.220.120.162) (Ping timeout: 260 seconds) |
2021-10-28 00:52:41 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 00:53:10 +0200 | AlexNoo | (~AlexNoo@178.34.150.219) (Read error: Connection reset by peer) |
2021-10-28 00:53:53 +0200 | AlexNoo | (~AlexNoo@178.34.150.219) |
2021-10-28 00:57:07 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-10-28 00:57:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 00:59:24 +0200 | gdd1 | gdd |
2021-10-28 01:01:44 +0200 | Psybur | (~Psybur@mobile-166-170-30-165.mycingular.net) |
2021-10-28 01:03:33 +0200 | max22- | (~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-10-28 01:04:06 +0200 | chomwitt | (~chomwitt@ppp-94-68-249-8.home.otenet.gr) (Remote host closed the connection) |
2021-10-28 01:12:55 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-28 01:13:35 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2021-10-28 01:13:53 +0200 | MQ-17J | (~MQ-17J@8.6.144.240) |
2021-10-28 01:15:23 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
2021-10-28 01:21:59 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 264 seconds) |
2021-10-28 01:22:59 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2021-10-28 01:25:15 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-10-28 01:25:56 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-10-28 01:26:06 +0200 | michalz | (~michalz@185.246.204.97) (Remote host closed the connection) |
2021-10-28 01:26:10 +0200 | yinghua | (~yinghua@2800:2121:1400:900:b457:83cc:995e:57e) |
2021-10-28 01:32:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-10-28 01:35:52 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d76b9ac87bdf676c186.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-10-28 01:38:42 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection) |
2021-10-28 01:44:45 +0200 | mvk | (~mvk@2607:fea8:5cc1:300::d3fb) |
2021-10-28 01:49:52 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:e876:dcb:76b1:818b) (Ping timeout: 260 seconds) |
2021-10-28 01:49:57 +0200 | Null_A | (~null_a@2601:645:8700:2290:25a5:cf0c:746a:f835) (Remote host closed the connection) |
2021-10-28 01:51:10 +0200 | Cajun | (~Cajun@user/cajun) (Ping timeout: 256 seconds) |
2021-10-28 01:52:35 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-10-28 01:52:59 +0200 | Null_A | (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
2021-10-28 01:55:44 +0200 | alx741 | (~alx741@186.178.109.79) (Quit: alx741) |
2021-10-28 01:57:04 +0200 | alx741 | (~alx741@186.178.109.79) |
2021-10-28 01:57:59 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 264 seconds) |
2021-10-28 02:03:52 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:fa59:2f99:edd:cd7b) (Ping timeout: 260 seconds) |
2021-10-28 02:04:28 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 02:04:31 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:ece1:b35e:c9b0:1b9e) |
2021-10-28 02:05:15 +0200 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-10-28 02:05:56 +0200 | Null_A | (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2021-10-28 02:11:47 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 264 seconds) |
2021-10-28 02:15:13 +0200 | jushur | (~human@user/jushur) (Quit: ¯\_(ツ)_/¯) |
2021-10-28 02:15:22 +0200 | trog | (~trog@user/trog) (Ping timeout: 252 seconds) |
2021-10-28 02:16:13 +0200 | dajoer | (~david@user/gvx) |
2021-10-28 02:18:10 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2021-10-28 02:18:11 +0200 | trog | (~trog@user/trog) |
2021-10-28 02:18:44 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-10-28 02:22:04 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-10-28 02:32:17 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-10-28 02:35:25 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 02:36:27 +0200 | faultline | (~christian@185.65.241.21) |
2021-10-28 02:39:21 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 02:40:23 +0200 | Null_A | (~null_a@2601:645:8700:2290:403:ec69:5129:2d3e) |
2021-10-28 02:45:24 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 260 seconds) |
2021-10-28 02:46:50 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-10-28 02:48:13 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 02:49:10 +0200 | Null_A | (~null_a@2601:645:8700:2290:403:ec69:5129:2d3e) (Read error: Connection reset by peer) |
2021-10-28 02:50:24 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-10-28 02:52:31 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-10-28 02:52:36 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
2021-10-28 02:57:20 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
2021-10-28 03:00:01 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-28 03:02:21 +0200 | zebrag | (~chris@user/zebrag) |
2021-10-28 03:02:39 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
2021-10-28 03:03:18 +0200 | obfusk_ | (~quassel@a82-161-150-56.adsl.xs4all.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-10-28 03:03:43 +0200 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) |
2021-10-28 03:04:20 +0200 | zebrag | (~chris@user/zebrag) (Client Quit) |
2021-10-28 03:14:17 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-28 03:18:04 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-10-28 03:18:26 +0200 | mmhat | (~mmh@55d4b27c.access.ecotel.net) (Ping timeout: 268 seconds) |
2021-10-28 03:19:27 +0200 | MQ-17J | (~MQ-17J@8.6.144.240) (Ping timeout: 260 seconds) |
2021-10-28 03:23:29 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-28 03:25:37 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 03:25:56 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-10-28 03:27:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 03:29:47 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-10-28 03:30:35 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-28 03:30:41 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 264 seconds) |
2021-10-28 03:31:24 +0200 | mmhat | (~mmh@55d4b856.access.ecotel.net) |
2021-10-28 03:33:25 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-28 03:37:22 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 03:37:54 +0200 | mmhat | (~mmh@55d4b856.access.ecotel.net) (Quit: WeeChat 3.3) |
2021-10-28 03:39:20 +0200 | faultline | (~christian@185.65.241.21) (Ping timeout: 260 seconds) |
2021-10-28 03:41:35 +0200 | Psybur | (~Psybur@mobile-166-170-30-165.mycingular.net) (Remote host closed the connection) |
2021-10-28 03:42:23 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 264 seconds) |
2021-10-28 03:43:13 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-10-28 03:44:53 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-28 03:45:56 +0200 | xff0x | (~xff0x@2001:1a81:5218:9100:9942:dd03:d29b:2938) (Ping timeout: 245 seconds) |
2021-10-28 03:48:08 +0200 | xff0x | (~xff0x@2001:1a81:525b:da00:d10:7b28:3140:c276) |
2021-10-28 03:55:41 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-28 03:55:42 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-28 03:55:42 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-28 03:57:17 +0200 | alx741 | (~alx741@186.178.109.79) (Quit: alx741) |
2021-10-28 03:57:25 +0200 | yinghua | (~yinghua@2800:2121:1400:900:b457:83cc:995e:57e) (Quit: Leaving) |
2021-10-28 03:58:53 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-28 03:59:20 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Quit: Leaving) |
2021-10-28 04:01:06 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-28 04:02:24 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-10-28 04:10:56 +0200 | <zzz> | i'm doing some church in js and i can't seem to make folds work. can anyone find out what the problem is? https://paste.jrvieira.com/1635385396222 |
2021-10-28 04:11:39 +0200 | <zzz> | FOLDL and FOLDR are defined at lines 66 and 73, respectively |
2021-10-28 04:14:33 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-10-28 04:15:38 +0200 | <monochrom> | Ugh so there is no such thing as an empty list. |
2021-10-28 04:15:59 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-10-28 04:17:16 +0200 | <ski> | zzz : i guess i would make the nullary continuations take an empty argument list |
2021-10-28 04:17:28 +0200 | <monochrom> | Also I haven't checked but most fixed point combinators assume non-eager lambda calculi. JS is an eager lambda calculus. |
2021-10-28 04:17:45 +0200 | <ski> | (otherwise you might run into executing both branches of a conditional ..) |
2021-10-28 04:17:56 +0200 | <ski> | yes, exactly |
2021-10-28 04:19:00 +0200 | <ski> | however, `z' is eta-expanded, so i think that would probably work out (?) |
2021-10-28 04:19:10 +0200 | <ski> | (although i'd have eta-expanded in a different place) |
2021-10-28 04:19:57 +0200 | <monochrom> | There is an easy way to check. |
2021-10-28 04:20:06 +0200 | <ski> | (as it is now, you're "odd", in that `f' gets called (on one parameter), before you provide the input to the result of `z' |
2021-10-28 04:20:09 +0200 | <ski> | ) |
2021-10-28 04:20:18 +0200 | bradparker_ | bradparker |
2021-10-28 04:20:56 +0200 | <ski> | (but if `f' is `\f. \x. ..f..x..', it shouldn't matter. only if it's `\f. ..f..(\x. ..f..x..)..' or perhaps not a lambda at all) |
2021-10-28 04:21:28 +0200 | <monochrom> | Define church numerals. Define the recursive function "f 0 = 0; f (succ n) = f n" using Z. If that works, you have much better confidence that Z doesn't go wrong. |
2021-10-28 04:22:24 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 04:22:38 +0200 | <monochrom> | In general, it's a good idea to get peano naturals to work before you try your hands at cons lists. |
2021-10-28 04:22:58 +0200 | <ski> | also, instead of this `ISNONE' nonsense, why don't you do a `CASELIST' ? |
2021-10-28 04:23:07 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-28 04:23:11 +0200 | <monochrom> | This also holds when one day you go to grad school and do this all over again in System F. |
2021-10-28 04:23:21 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 04:23:29 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-28 04:23:47 +0200 | <monochrom> | In fact I thought the point of church list is that you get foldr for free. |
2021-10-28 04:24:31 +0200 | <monochrom> | "foldr" op z mylst = mylst op z. Or mylst z op, I don't know your favourite argument order. |
2021-10-28 04:24:31 +0200 | <ski> | yea, you can do `FOLDLIST', if you prefer |
2021-10-28 04:25:16 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds) |
2021-10-28 04:25:49 +0200 | jkaye | (~jkaye@2601:281:8300:7530:906c:9805:416e:fccf) |
2021-10-28 04:34:15 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-10-28 04:39:23 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 264 seconds) |
2021-10-28 04:40:58 +0200 | a6a45081-2b83 | (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) |
2021-10-28 04:40:59 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-10-28 04:43:28 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-10-28 04:50:00 +0200 | <zzz> | Z is working fine i think. see MOD, MAP, SIZE... everything is working fine except the folds |
2021-10-28 04:50:32 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-10-28 04:52:07 +0200 | <zzz> | about the eagerness, notice that i wrap the recursive branch in (x => ...(x)) |
2021-10-28 04:52:25 +0200 | <ski> | yes, i did |
2021-10-28 04:52:49 +0200 | <ski> | for most ordinary cases, it shouldn't matter, i think |
2021-10-28 04:53:55 +0200 | <zzz> | i have no formal education in this, am trying to learn by myself. how do we get foldr "for free" with church lists? |
2021-10-28 04:54:03 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 04:55:14 +0200 | td_ | (~td@94.134.91.76) (Ping timeout: 246 seconds) |
2021-10-28 04:56:20 +0200 | <zzz> | oh i see |
2021-10-28 04:56:37 +0200 | <zzz> | list z op |
2021-10-28 04:57:09 +0200 | td_ | (~td@94.134.91.221) |
2021-10-28 04:57:16 +0200 | <ski> | yep |
2021-10-28 04:57:28 +0200 | ski | 's no formal education in it, either |
2021-10-28 04:58:51 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-10-28 05:01:07 +0200 | <mjrosenb_> | with lens, if I have (at foo) in the middle of the lens, the lens's target type becomes (Maybe foo). Is there a way to convert this to a lens that targets foo? |
2021-10-28 05:01:32 +0200 | <ski> | zzz : iow, instead of building lists out of optional pairs, nested in the second component, simply use the same approach as you already used for naturals |
2021-10-28 05:01:35 +0200 | <mjrosenb_> | err, I should probably change one of those foos to a bar. |
2021-10-28 05:02:11 +0200 | <mjrosenb_> | (at 4 . to fromJust) doesn't do what I want, because that's only for getting, not also setting. |
2021-10-28 05:03:38 +0200 | <zzz> | ski: i see |
2021-10-28 05:04:16 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
2021-10-28 05:05:01 +0200 | <zzz> | i found it elegand to have 'head : a' and 'tail : maybe (list a)' naturally from fst and snd |
2021-10-28 05:05:32 +0200 | <mjrosenb_> | I can probably use lens here, assuming there's nothing in the standard library. |
2021-10-28 05:05:55 +0200 | <zzz> | but i see why 'null | cons a (list a)' is a more interesting approach |
2021-10-28 05:06:58 +0200 | <zzz> | but i still can't understand why my fold is not working |
2021-10-28 05:07:16 +0200 | <zzz> | it seems simple |
2021-10-28 05:07:17 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-28 05:08:29 +0200 | <zzz> | s/elegand/elegant |
2021-10-28 05:09:03 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-28 05:10:54 +0200 | a6a45081-2b83 | (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Remote host closed the connection) |
2021-10-28 05:15:30 +0200 | <zzz> | and of course i meant 'head : list a -> a' and 'tail : list a -> maybe (list a)' |
2021-10-28 05:16:04 +0200 | ski | didn't get as far as checking the fold |
2021-10-28 05:16:52 +0200 | <zzz> | i also like the idea of assuming lists as non empty and using 'maybe (list a)' for possibly empty lists |
2021-10-28 05:17:25 +0200 | <zzz> | but i'm just playing around |
2021-10-28 05:18:34 +0200 | <dsal> | mjrosenb_: Are you looking for the _Just prism? |
2021-10-28 05:21:48 +0200 | <dsal> | > (1, M.fromList [("a", 1)]) & _2 . at "a" . _Just .~ 5 & _2 . at "b" . _Just .~ 9 -- mjrosenb_ |
2021-10-28 05:21:49 +0200 | <lambdabot> | (1,fromList [("a",5)]) |
2021-10-28 05:23:47 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-28 05:25:52 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 268 seconds) |
2021-10-28 05:26:04 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-10-28 05:26:52 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-10-28 05:27:16 +0200 | nrr_ | (sid20938@lymington.irccloud.com) (Ping timeout: 258 seconds) |
2021-10-28 05:27:19 +0200 | carter | (sid14827@helmsley.irccloud.com) (Ping timeout: 268 seconds) |
2021-10-28 05:27:39 +0200 | NiKaN | (sid385034@helmsley.irccloud.com) (Ping timeout: 258 seconds) |
2021-10-28 05:27:49 +0200 | <mjrosenb_> | dsal: maybe? I did something that was probably unwise, and I'm passing this as an argument into a function that is explicitly expecting a (Lens' foo bar) |
2021-10-28 05:28:11 +0200 | <mjrosenb_> | I'm guessing that using _Just means that the whole thing is a prism, and I should change the expected type of this function. |
2021-10-28 05:28:23 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 05:28:25 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2021-10-28 05:28:30 +0200 | <mjrosenb_> | looks like I can also use ix and singular |
2021-10-28 05:29:03 +0200 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) |
2021-10-28 05:29:13 +0200 | akspecs__ | (~akspecs@user/akspecs) (Read error: Connection reset by peer) |
2021-10-28 05:30:28 +0200 | carter | (sid14827@id-14827.helmsley.irccloud.com) |
2021-10-28 05:30:48 +0200 | nrr_ | (sid20938@id-20938.lymington.irccloud.com) |
2021-10-28 05:31:22 +0200 | <dsal> | :t _Just |
2021-10-28 05:31:23 +0200 | <lambdabot> | (Choice p, Applicative f) => p a (f b) -> p (Maybe a) (f (Maybe b)) |
2021-10-28 05:31:37 +0200 | <mjrosenb_> | yeah, if I try foo ^. _2 . at "a" . _Just, I get the standard error about no instance Monoid Int |
2021-10-28 05:31:53 +0200 | <dsal> | Well, yes. That's a different question. |
2021-10-28 05:32:07 +0200 | <dsal> | > (1, M.fromList [("a", 1)]) ^? _2 . at "a" . _Just |
2021-10-28 05:32:08 +0200 | <lambdabot> | Just 1 |
2021-10-28 05:32:31 +0200 | <dsal> | > (1, M.fromList [("a", 1)]) ^. _2 . at "a" . _Just . to Sum |
2021-10-28 05:32:33 +0200 | <lambdabot> | Sum {getSum = 1} |
2021-10-28 05:33:01 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
2021-10-28 05:34:52 +0200 | akspecs__ | (~akspecs@136-24-214-166.cab.webpass.net) |
2021-10-28 05:34:52 +0200 | akspecs__ | (~akspecs@136-24-214-166.cab.webpass.net) (Changing host) |
2021-10-28 05:34:52 +0200 | akspecs__ | (~akspecs@user/akspecs) |
2021-10-28 05:35:48 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-10-28 05:36:04 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-10-28 05:37:32 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-10-28 05:38:00 +0200 | <mjrosenb_> | yeah, sorry, I'm definitely still wrapping my head around the terminology of these things. I'm currently using the lens with ^., and by putting (at "a") into the chain, I'm either forcing a Maybe into the type, or forcing it to be something other than a lens |
2021-10-28 05:38:12 +0200 | <mjrosenb_> | neither of which the type that I've set up is prepared to handle. |
2021-10-28 05:38:26 +0200 | mvk | (~mvk@2607:fea8:5cc1:300::d3fb) (Ping timeout: 245 seconds) |
2021-10-28 05:38:31 +0200 | bongobrown | (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Ping timeout: 265 seconds) |
2021-10-28 05:40:44 +0200 | <c_wraith> | there's also a good question about *why* you're using at |
2021-10-28 05:40:55 +0200 | <c_wraith> | And would it be appropriate to combine it with non ? |
2021-10-28 05:41:24 +0200 | <c_wraith> | that gets you back to a straight lens, but with possibly-surprising behavior |
2021-10-28 05:42:12 +0200 | <c_wraith> | On the other hand, sometimes that gives you *exactly* the behavior you want |
2021-10-28 05:42:15 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
2021-10-28 05:43:20 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-10-28 05:43:31 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-28 05:43:31 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-28 05:43:31 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-28 05:44:18 +0200 | <dsal> | mjrosenb_: You have to consider a case where nothing exists. ^. will get a monoid. ^? will get you a maybe. ^?! will let you promise that it'll definitely be a Just. |
2021-10-28 05:44:59 +0200 | <c_wraith> | and non lets you declare a value to be treated the same as if it was Nothing |
2021-10-28 05:46:05 +0200 | <dsal> | > (1, M.fromList [("a", 1)]) ^? _2 . at "a" . non 6 |
2021-10-28 05:46:07 +0200 | <lambdabot> | Just 1 |
2021-10-28 05:46:08 +0200 | <dsal> | > (1, M.fromList [("a", 1)]) ^? _2 . at "b" . non 6 |
2021-10-28 05:46:09 +0200 | <lambdabot> | Just 6 |
2021-10-28 05:46:31 +0200 | <mjrosenb_> | oh, that is horrifying. |
2021-10-28 05:46:40 +0200 | <jackdk> | > (1, M.fromList [("a", 1)]) ^.. _2 . at "a" . traverse |
2021-10-28 05:46:42 +0200 | <lambdabot> | [1] |
2021-10-28 05:46:51 +0200 | <jackdk> | > (1, M.fromList [("a", 1)]) ^.. _2 . at "b" . traverse |
2021-10-28 05:46:53 +0200 | <lambdabot> | [] |
2021-10-28 05:46:56 +0200 | <mjrosenb_> | wait, if there's more than one thing in the map, and nothing is "b", does that just set every value to 6? |
2021-10-28 05:47:06 +0200 | <jackdk> | > (1, M.fromList [("a", 1)]) ^.. _2 . ix "a" |
2021-10-28 05:47:08 +0200 | <lambdabot> | [1] |
2021-10-28 05:47:09 +0200 | <dsal> | It didn't set anything to anything. |
2021-10-28 05:47:32 +0200 | <c_wraith> | > (1, M.fromList [("a", 1)]) & _2 . at "a" . non 6 .~ 6 |
2021-10-28 05:47:34 +0200 | <lambdabot> | (1,fromList []) |
2021-10-28 05:47:53 +0200 | <c_wraith> | non declares the value you provide to be the same as Nothing, in *both* directions |
2021-10-28 05:48:01 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-10-28 05:48:08 +0200 | <mjrosenb_> | err, no, I totally misread what the result of that expression was. |
2021-10-28 05:48:32 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-10-28 05:49:06 +0200 | <c_wraith> | non is really nice when you're nesting data structures. a list inside a map, for instance. If you have a `non []` in there, it will remove empty lists that you insert through it |
2021-10-28 05:50:35 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
2021-10-28 05:52:03 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-10-28 05:52:04 +0200 | aegon | (~mike@174.127.249.180) (Remote host closed the connection) |
2021-10-28 05:53:39 +0200 | <mjrosenb_> | so, this code used to be (ix "b"), and it *happened* to work because I was explicitly fetching a list. Now, I'm doing something else, and I only need the first element of it |
2021-10-28 05:54:16 +0200 | <c_wraith> | But if there is no element at "b"? |
2021-10-28 05:55:26 +0200 | <mjrosenb_> | if that happens, then this code deserves to crash. |
2021-10-28 05:56:34 +0200 | <c_wraith> | then use ix and singular. :P |
2021-10-28 05:57:22 +0200 | <c_wraith> | singular is lens for "this always returns a value. no, I don't feel like proving it" |
2021-10-28 05:57:50 +0200 | <mjrosenb_> | yeah. I'm also using singular _head :-) |
2021-10-28 05:58:15 +0200 | <jackdk> | > (1, M.fromList [("a", 1)]) ^?! _2 . at "a" |
2021-10-28 05:58:17 +0200 | <lambdabot> | Just 1 |
2021-10-28 05:58:25 +0200 | <jackdk> | > (1, M.fromList [("a", 1)]) ^?! _2 . at "b" |
2021-10-28 05:58:26 +0200 | <lambdabot> | Nothing |
2021-10-28 05:58:33 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 05:58:42 +0200 | <jackdk> | > (1, M.fromList [("a", 1)]) ^?! _2 . ix "b" -- er, this one |
2021-10-28 05:58:43 +0200 | <lambdabot> | *Exception: (^?!): empty Fold |
2021-10-28 05:58:46 +0200 | <mjrosenb_> | although this code is hella buggy, so I may write my own singular that takes a String argument, and sticks that in the error message |
2021-10-28 05:59:13 +0200 | <jackdk> | perhaps the tolerance of partial functions is not helping ;-) |
2021-10-28 06:00:28 +0200 | jkaye | (~jkaye@2601:281:8300:7530:906c:9805:416e:fccf) (Ping timeout: 260 seconds) |
2021-10-28 06:01:01 +0200 | <mjrosenb_> | HsCompilation finished at Thu Oct 28 00:00:03 |
2021-10-28 06:01:06 +0200 | <mjrosenb_> | \o/ |
2021-10-28 06:01:12 +0200 | <jackdk> | o/ |
2021-10-28 06:01:20 +0200 | <mjrosenb_> | I should probably also do something about this function. |
2021-10-28 06:01:53 +0200 | <mjrosenb_> | it is an abomination against man, god, and line limits. |
2021-10-28 06:02:45 +0200 | <jackdk> | and since eighty columns was a divinely-handed-down limit, the third is a strict subset of the second |
2021-10-28 06:04:38 +0200 | <mjrosenb_> | hah, eighty. |
2021-10-28 06:04:53 +0200 | <mjrosenb_> | looks like this function tops out at 168 characters wide. |
2021-10-28 06:07:26 +0200 | <mjrosenb_> | oh, it is only 92 lines long, I guess it only feels longer because I have only the vaguest clue of how it works. |
2021-10-28 06:10:58 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2021-10-28 06:13:39 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-28 06:14:34 +0200 | <kronicmage> | does anyone know how to query for a fixity of some operator? |
2021-10-28 06:14:47 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 264 seconds) |
2021-10-28 06:15:03 +0200 | <jackdk> | % :info $ |
2021-10-28 06:15:03 +0200 | <yahb> | jackdk: ($) :: (a -> b) -> a -> b -- Defined in `GHC.Base'; infixr 0 $ |
2021-10-28 06:15:05 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-28 06:15:13 +0200 | <kronicmage> | thank you jackdk! |
2021-10-28 06:15:15 +0200 | <jackdk> | kronicmage: `:info` or `:i` in ghci |
2021-10-28 06:15:20 +0200 | <kronicmage> | :info (*) |
2021-10-28 06:15:24 +0200 | <kronicmage> | oops |
2021-10-28 06:15:31 +0200 | <kronicmage> | % :info (*) |
2021-10-28 06:15:31 +0200 | <yahb> | kronicmage: type Num :: * -> Constraint; class Num a where; ...; (*) :: a -> a -> a; ...; -- Defined in `GHC.Num'; infixl 7 *; type (*) :: GHC.Base.Nat -> GHC.Base.Nat -> GHC.Base.Nat; type family (*) a b; -- Defined in `GHC.TypeNats'; infixl 7 * |
2021-10-28 06:15:32 +0200 | <jackdk> | prefix with `%` for yahb to see it |
2021-10-28 06:17:01 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:ece1:b35e:c9b0:1b9e) (Quit: WeeChat 3.3) |
2021-10-28 06:17:23 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:ece1:b35e:c9b0:1b9e) |
2021-10-28 06:21:18 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-10-28 06:22:36 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 06:26:56 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 06:29:36 +0200 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2021-10-28 06:29:49 +0200 | mbuf | (~Shakthi@122.178.213.7) |
2021-10-28 06:30:10 +0200 | hubvu | (sid495858@user/hubvu) (Ping timeout: 260 seconds) |
2021-10-28 06:30:36 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-10-28 06:31:27 +0200 | hubvu | (sid495858@user/hubvu) |
2021-10-28 06:33:13 +0200 | mjrosenb_ | mjrosenb |
2021-10-28 06:33:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-10-28 06:34:41 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 245 seconds) |
2021-10-28 06:38:28 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-28 06:41:02 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-10-28 06:41:55 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-28 06:44:56 +0200 | a6a45081-2b83 | (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) |
2021-10-28 06:46:12 +0200 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 260 seconds) |
2021-10-28 06:47:23 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 06:48:45 +0200 | a6a45081-2b83 | (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Remote host closed the connection) |
2021-10-28 06:51:59 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 264 seconds) |
2021-10-28 07:03:45 +0200 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) |
2021-10-28 07:04:52 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-10-28 07:09:10 +0200 | hendursaga | (~weechat@user/hendursaga) (Remote host closed the connection) |
2021-10-28 07:09:46 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-10-28 07:15:57 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-10-28 07:18:06 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-28 07:19:23 +0200 | MQ-17J | (~MQ-17J@8.6.144.240) |
2021-10-28 07:22:57 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-10-28 07:23:13 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-10-28 07:24:16 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-28 07:24:35 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-10-28 07:25:40 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2021-10-28 07:34:25 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 260 seconds) |
2021-10-28 07:35:26 +0200 | <awpr> | ever wished StateT supported the case where the state is an instance dictionary? gotcha covered https://replit.com/@AndrewPritchard/TartUnsungCron#main.hs |
2021-10-28 07:36:10 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2021-10-28 07:39:11 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-28 07:39:24 +0200 | Neuromancer | (~Neuromanc@user/neuromancer) |
2021-10-28 07:41:38 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-10-28 07:48:44 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 07:53:52 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 260 seconds) |
2021-10-28 08:09:59 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-10-28 08:13:47 +0200 | michalz | (~michalz@185.246.204.109) |
2021-10-28 08:19:33 +0200 | Inst__ | (~Inst@2601:6c4:4080:3f80:7857:9ec8:a629:d6a8) |
2021-10-28 08:20:59 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 08:22:33 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 08:23:15 +0200 | lortabac | (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) |
2021-10-28 08:23:26 +0200 | Inst_ | (~Inst@2601:6c4:4080:3f80:9ce5:6f05:3959:43f5) (Ping timeout: 245 seconds) |
2021-10-28 08:25:01 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-28 08:25:05 +0200 | fendor | (~fendor@178.165.200.199.wireless.dyn.drei.com) |
2021-10-28 08:25:31 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 245 seconds) |
2021-10-28 08:26:59 +0200 | MQ-17J | (~MQ-17J@8.6.144.240) (Ping timeout: 260 seconds) |
2021-10-28 08:29:11 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-10-28 08:29:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 08:30:13 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-28 08:32:45 +0200 | xff0x | (~xff0x@2001:1a81:525b:da00:d10:7b28:3140:c276) (Ping timeout: 260 seconds) |
2021-10-28 08:32:58 +0200 | _xor | (~xor@72.49.199.147) (Quit: brb) |
2021-10-28 08:33:20 +0200 | xff0x | (~xff0x@2001:1a81:525b:da00:5f35:171b:1f01:7273) |
2021-10-28 08:33:32 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-10-28 08:35:45 +0200 | Vajb | (~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi) |
2021-10-28 08:40:32 +0200 | trcc_ | (~trcc@users-1190.st.net.au.dk) |
2021-10-28 08:41:04 +0200 | trcc_ | (~trcc@users-1190.st.net.au.dk) (Client Quit) |
2021-10-28 08:45:09 +0200 | Skyfire | (~pyon@user/pyon) (Quit: brb) |
2021-10-28 08:45:41 +0200 | Skyfire | (~pyon@user/pyon) |
2021-10-28 08:49:14 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 08:50:25 +0200 | v01d4lph4 | (~v01d4lph4@223.177.229.33) |
2021-10-28 08:50:25 +0200 | v01d4lph4 | (~v01d4lph4@223.177.229.33) (Changing host) |
2021-10-28 08:50:25 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-10-28 08:51:33 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 08:52:11 +0200 | Inst__ | (~Inst@2601:6c4:4080:3f80:7857:9ec8:a629:d6a8) (Ping timeout: 245 seconds) |
2021-10-28 08:54:03 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 260 seconds) |
2021-10-28 08:55:56 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
2021-10-28 08:57:18 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-10-28 09:02:37 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-10-28 09:06:05 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-28 09:06:49 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-10-28 09:08:07 +0200 | eruditass | (uid248673@id-248673.uxbridge.irccloud.com) |
2021-10-28 09:11:31 +0200 | nschoe | (~quassel@178.251.84.79) |
2021-10-28 09:14:41 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-10-28 09:15:01 +0200 | kawpuh | (~kawpuh@66.42.81.80) (Ping timeout: 252 seconds) |
2021-10-28 09:15:03 +0200 | kawpuh1 | (~kawpuh@66.42.81.80) |
2021-10-28 09:15:03 +0200 | Skyfire | (~pyon@user/pyon) (Quit: brb ffs, frickin configuration) |
2021-10-28 09:15:28 +0200 | Skyfire | (~pyon@user/pyon) |
2021-10-28 09:22:01 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-10-28 09:22:41 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 09:25:48 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2021-10-28 09:26:37 +0200 | mcglk_ | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
2021-10-28 09:26:38 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d76b9ac87bdf676c186.dip0.t-ipconnect.de) |
2021-10-28 09:27:04 +0200 | mcglk | (~mcglk@131.191.49.120) |
2021-10-28 09:27:41 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 264 seconds) |
2021-10-28 09:27:46 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8) |
2021-10-28 09:30:45 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 09:32:48 +0200 | Skyfire | (~pyon@user/pyon) (Quit: brb ffs frickin configuration) |
2021-10-28 09:33:47 +0200 | d0ku | (~d0ku@178.43.15.137.ipv4.supernova.orange.pl) |
2021-10-28 09:34:16 +0200 | Skyfire | (~pyon@user/pyon) |
2021-10-28 09:42:12 +0200 | Vajb | (~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-10-28 09:42:29 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-10-28 09:43:38 +0200 | jinsun | (~quassel@user/jinsun) |
2021-10-28 09:47:40 +0200 | <zincy> | Is the existentialQuantification just using RankNTypes under the hood for type declarations? |
2021-10-28 09:54:00 +0200 | chele | (~chele@user/chele) |
2021-10-28 09:57:04 +0200 | cads | (~cads@ip-64-72-99-234.lasvegas.net) (Remote host closed the connection) |
2021-10-28 09:57:19 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-10-28 09:57:25 +0200 | cads | (~cads@ip-64-72-99-234.lasvegas.net) |
2021-10-28 09:59:41 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
2021-10-28 10:01:07 +0200 | nschoe | (~quassel@178.251.84.79) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-10-28 10:02:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-10-28 10:03:04 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-10-28 10:05:17 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-10-28 10:08:09 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-10-28 10:13:05 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 260 seconds) |
2021-10-28 10:14:36 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 10:17:34 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-10-28 10:17:34 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-10-28 10:17:37 +0200 | allbery_b | geekosaur |
2021-10-28 10:20:20 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-10-28 10:22:36 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 10:22:45 +0200 | jstolarek | (~jstolarek@137.220.120.162) |
2021-10-28 10:22:48 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-28 10:25:18 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2021-10-28 10:30:18 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2021-10-28 10:30:23 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 264 seconds) |
2021-10-28 10:32:47 +0200 | xff0x | (~xff0x@2001:1a81:525b:da00:5f35:171b:1f01:7273) (Ping timeout: 264 seconds) |
2021-10-28 10:33:04 +0200 | stefan-__ | stefan-_ |
2021-10-28 10:33:35 +0200 | xff0x | (~xff0x@2001:1a81:525b:da00:3f7d:da8c:9e9b:e904) |
2021-10-28 10:35:22 +0200 | rond_ | (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) |
2021-10-28 10:40:58 +0200 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-10-28 10:46:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 10:53:31 +0200 | ubert | (~Thunderbi@91.141.46.110.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2021-10-28 10:54:35 +0200 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-10-28 10:54:49 +0200 | gentauro | (~gentauro@user/gentauro) |
2021-10-28 10:59:33 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-10-28 11:01:45 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 11:03:26 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-10-28 11:03:47 +0200 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-10-28 11:04:14 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-10-28 11:05:09 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2021-10-28 11:05:37 +0200 | img | (~img@user/img) |
2021-10-28 11:09:44 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-10-28 11:10:01 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 11:17:02 +0200 | eruditass | (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-28 11:19:55 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-10-28 11:20:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-10-28 11:21:17 +0200 | img | (~img@user/img) |
2021-10-28 11:23:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 11:26:00 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2021-10-28 11:28:04 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Ping timeout: 260 seconds) |
2021-10-28 11:28:35 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 264 seconds) |
2021-10-28 11:32:00 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-28 11:34:16 +0200 | fendor_ | (~fendor@178.165.166.121.wireless.dyn.drei.com) |
2021-10-28 11:34:39 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-10-28 11:35:21 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-28 11:35:46 +0200 | <kuribas> | is there a dependent pair, or should I roll a new one every time? |
2021-10-28 11:36:59 +0200 | fendor | (~fendor@178.165.200.199.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
2021-10-28 11:38:07 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2021-10-28 11:38:11 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
2021-10-28 11:38:31 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2021-10-28 11:40:03 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-10-28 11:41:18 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-10-28 11:42:40 +0200 | img | (~img@user/img) |
2021-10-28 11:43:31 +0200 | <kuribas> | again tooling issues with emacs/stack... |
2021-10-28 11:43:43 +0200 | <kuribas> | Suspicious state from syntax checker haskell-stack-ghc: Flycheck checker haskell-stack-ghc returned 1, but its output contained no errors: <command line>: cannot satisfy -package hspec |
2021-10-28 11:43:59 +0200 | <kuribas> | How tf does anyone get work done in haskell? |
2021-10-28 11:46:06 +0200 | <lortabac> | kuribas: regarding dependent pairs, there is Data.Dynamic |
2021-10-28 11:46:22 +0200 | <kuribas> | lortabac: that's not quite a dependent pair. |
2021-10-28 11:46:31 +0200 | <lortabac> | otherwise if you are using your own singletons there is exinst |
2021-10-28 11:46:38 +0200 | <lortabac> | @hackage exinst |
2021-10-28 11:46:39 +0200 | <lambdabot> | https://hackage.haskell.org/package/exinst |
2021-10-28 11:46:53 +0200 | <jneira[m]> | not using emacs nor stack :-P |
2021-10-28 11:46:59 +0200 | <lortabac> | but I think rolling your own is simpler in most cases |
2021-10-28 11:47:19 +0200 | <kuribas> | yeah |
2021-10-28 11:47:27 +0200 | <kuribas> | jneira[m]: what then? |
2021-10-28 11:47:54 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 11:48:06 +0200 | <jneira[m]> | i was mainly joking but the fact is for example hls works better with cabal right now |
2021-10-28 11:48:29 +0200 | <kuribas> | yeah, but hls doesn't even work on my project. |
2021-10-28 11:48:29 +0200 | <jneira[m]> | it should not be and we are working in get the same support for both though |
2021-10-28 11:48:39 +0200 | <kuribas> | Presumable because of a large amount of TH generated code. |
2021-10-28 11:49:06 +0200 | <kuribas> | I am hoping haskell tooling will get at a decent point, but it definitely isn't now. |
2021-10-28 11:49:07 +0200 | <jneira[m]> | have you tried an hls version built from source, dinamically linked? |
2021-10-28 11:49:27 +0200 | <jneira[m]> | it fixes issues with th for some people |
2021-10-28 11:49:55 +0200 | <jneira[m]> | mmm let me find the issue about... |
2021-10-28 11:50:09 +0200 | <kuribas> | jneira[m]: I just don't want to solve/debug tooling issues. |
2021-10-28 11:50:10 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-10-28 11:50:12 +0200 | <kuribas> | I want to get work done. |
2021-10-28 11:50:56 +0200 | <jneira[m]> | ya, lucky me solve/debug tooling issue is my work done :-P |
2021-10-28 11:51:03 +0200 | <jneira[m]> | (volunteer work) |
2021-10-28 11:51:49 +0200 | <kuribas> | I want to use haskell as an experiment in a production environment, I cannot justify spending lots of time fixing tooling. |
2021-10-28 11:52:12 +0200 | <jneira[m]> | yeah, totally understandable |
2021-10-28 11:52:16 +0200 | <kuribas> | I don't mean spending some time setting up a working environment, I mean fixing actual bugs. |
2021-10-28 11:52:46 +0200 | <jneira[m]> | but someone has to improve tooling, if users dont do it and there is no enough money for more paid work |
2021-10-28 11:52:53 +0200 | <jneira[m]> | 🤷 |
2021-10-28 11:53:00 +0200 | <kuribas> | So get up some kind of fund. |
2021-10-28 11:53:25 +0200 | <jneira[m]> | we have! https://opencollective.com/haskell-language-server |
2021-10-28 11:53:31 +0200 | <jneira[m]> | :-) |
2021-10-28 11:53:43 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 260 seconds) |
2021-10-28 11:55:17 +0200 | <jneira[m]> | nevertheless afaiu the th issue is related with ghc and linking |
2021-10-28 11:55:20 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-28 11:55:22 +0200 | comandingo | (~drever@2001:a61:3462:da01:7aec:4329:8eb0:7c56) |
2021-10-28 11:55:43 +0200 | <jneira[m]> | will try to pest ghc maintainers about :-) |
2021-10-28 11:56:31 +0200 | <kuribas> | jneira[m]: I'll see how much I can contribute. |
2021-10-28 11:58:15 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-10-28 11:58:17 +0200 | <kuribas> | hmm, maybe flycheck is expecting the exe libraries, but they aren't build... |
2021-10-28 11:59:42 +0200 | <kuribas> | "cannot satisfy -package hspec" |
2021-10-28 11:59:52 +0200 | <kuribas> | it shouldn't need that package, because it's only used for the exe, not the library. |
2021-10-28 12:03:00 +0200 | OscarH_ | (~OscarH@90.201.86.195) (Ping timeout: 268 seconds) |
2021-10-28 12:05:53 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2021-10-28 12:06:34 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2021-10-28 12:09:39 +0200 | OscarH | (~OscarH@90.201.86.195) |
2021-10-28 12:10:03 +0200 | xff0x | (~xff0x@2001:1a81:525b:da00:3f7d:da8c:9e9b:e904) (Ping timeout: 260 seconds) |
2021-10-28 12:10:46 +0200 | xff0x | (~xff0x@2001:1a81:525b:da00:1097:4d57:43e2:986f) |
2021-10-28 12:13:05 +0200 | <jneira[m]> | iirc you were not using hls, right? not sure what is using emacs in that case |
2021-10-28 12:13:26 +0200 | <kuribas> | it's using ghc or stack directly. |
2021-10-28 12:13:30 +0200 | <jneira[m]> | i dont use it since quite time ago :-/ |
2021-10-28 12:13:47 +0200 | <kuribas> | And passing the package list explicitly to stack/cabal. |
2021-10-28 12:14:02 +0200 | <jneira[m]> | you see what precise commands is it triggering to get the info from stack? |
2021-10-28 12:14:07 +0200 | <kuribas> | likely something went wrong there, mixing the exe with the lib packages. |
2021-10-28 12:14:24 +0200 | <jneira[m]> | ya, sounds probable |
2021-10-28 12:14:42 +0200 | <jneira[m]> | jneira[m]: from any of the logs |
2021-10-28 12:15:35 +0200 | <jneira[m]> | in that case i guess if you open only lib modules, the error is not triggered? |
2021-10-28 12:15:47 +0200 | <kuribas> | no, this error is in a lib module. |
2021-10-28 12:15:53 +0200 | <kuribas> | I have both a lib and a exe in my cabal. |
2021-10-28 12:16:44 +0200 | <jneira[m]> | so commenting out the exe component will confirm somewhat the hypothesis |
2021-10-28 12:18:15 +0200 | <kuribas> | actually, it's used in the tests. |
2021-10-28 12:18:35 +0200 | <jneira[m]> | hmm |
2021-10-28 12:18:52 +0200 | <kuribas> | hmm, maybe building the test will fetch the packages... |
2021-10-28 12:18:57 +0200 | <jneira[m]> | ok, what about `stack build --enable-tests --no-un-tests` |
2021-10-28 12:19:04 +0200 | <jneira[m]> | just that :-) |
2021-10-28 12:19:15 +0200 | <jneira[m]> | `--no-run-tests` |
2021-10-28 12:19:43 +0200 | <jneira[m]> | you can put tests: true in your stack.yaml to have it by default with `stack build` |
2021-10-28 12:20:41 +0200 | <kuribas> | If I am right, stack test should solve the problem, because if fetches the missing libs. |
2021-10-28 12:21:05 +0200 | mmhat | (~mmh@55d4b856.access.ecotel.net) |
2021-10-28 12:21:18 +0200 | <jneira[m]> | sorry it is `stack build --test --no-run-tests` |
2021-10-28 12:21:21 +0200 | <jneira[m]> | the other one is for cabal |
2021-10-28 12:21:42 +0200 | <jneira[m]> | i would put `test: true` (or `tests: true`) in the stack.yaml |
2021-10-28 12:22:32 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 12:22:40 +0200 | <kuribas> | and.. it did! |
2021-10-28 12:22:59 +0200 | <jneira[m]> | yeah, with hls there is the same problem |
2021-10-28 12:23:14 +0200 | <kuribas> | So I changed one version in my stack.yaml, which caused other libs to be changed. |
2021-10-28 12:23:50 +0200 | <kuribas> | Then flycheck-haskell just passes "all" modules to ghc, even the one from test which aren't needed by the lib, and not build. |
2021-10-28 12:30:08 +0200 | comandingo | (~drever@2001:a61:3462:da01:7aec:4329:8eb0:7c56) (Ping timeout: 260 seconds) |
2021-10-28 12:36:39 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2021-10-28 12:37:57 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-28 12:44:30 +0200 | comandingo | (~drever@2001:a61:3462:da01:1d3:8bd7:fc2b:56af) |
2021-10-28 12:48:10 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-10-28 12:48:16 +0200 | boxscape_ | (~boxscape_@134.171.69.87) |
2021-10-28 12:53:28 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 12:56:36 +0200 | Cajun | (~Cajun@user/cajun) |
2021-10-28 12:58:10 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-10-28 13:00:54 +0200 | alx741 | (~alx741@186.178.109.79) |
2021-10-28 13:03:59 +0200 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 264 seconds) |
2021-10-28 13:08:58 +0200 | whez | (sid470288@lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-28 13:10:03 +0200 | mrckndt | (~mrckndt@user/mrckndt) (Quit: mrckndt) |
2021-10-28 13:10:25 +0200 | mrckndt | (~mrckndt@user/mrckndt) |
2021-10-28 13:10:53 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 13:14:42 +0200 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds) |
2021-10-28 13:16:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 13:18:59 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 264 seconds) |
2021-10-28 13:20:28 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-10-28 13:21:21 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-28 13:23:17 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-10-28 13:23:34 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 13:25:21 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 13:26:10 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2021-10-28 13:29:47 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Ping timeout: 264 seconds) |
2021-10-28 13:30:20 +0200 | bongobrown | (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
2021-10-28 13:31:25 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 260 seconds) |
2021-10-28 13:37:52 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 13:45:15 +0200 | ubert | (~Thunderbi@91.141.46.110.wireless.dyn.drei.com) |
2021-10-28 13:46:24 +0200 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) |
2021-10-28 13:46:27 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
2021-10-28 13:46:56 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-10-28 13:47:23 +0200 | Freyr | (~Freyr@host109-158-44-114.range109-158.btcentralplus.com) |
2021-10-28 13:47:40 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-28 13:48:48 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-10-28 13:51:21 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-10-28 13:59:51 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-28 14:01:53 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 264 seconds) |
2021-10-28 14:03:29 +0200 | <maerwald> | stack runs configure of a package, even if it's marked as unbuildable? |
2021-10-28 14:06:53 +0200 | mbuf | (~Shakthi@122.178.213.7) (Quit: Leaving) |
2021-10-28 14:08:27 +0200 | amk | (~amk@109.255.169.126) (Read error: Connection reset by peer) |
2021-10-28 14:08:42 +0200 | amk | (~amk@109.255.169.126) |
2021-10-28 14:08:54 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-28 14:09:15 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-28 14:10:46 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-10-28 14:11:05 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 14:15:58 +0200 | <maerwald> | or is this cabals fault for not allowing resolving the package without running Setup.hs? |
2021-10-28 14:17:29 +0200 | <geekosaur> | cabal shouldn't require Setup.hs unless it's build-type: custom, and even then shouldn't run it if it's marked unbuildable |
2021-10-28 14:18:27 +0200 | <geekosaur> | I could well imagine a setup involving windows-only packages on a windows platform but some other package (e.g. unix) on others, for example |
2021-10-28 14:19:05 +0200 | <maerwald> | yes, that's what I have and it's running the unix configure script on windows |
2021-10-28 14:19:17 +0200 | <geekosaur> | shouldn't be doing that at all |
2021-10-28 14:19:28 +0200 | <geekosaur> | either stack or cabal |
2021-10-28 14:19:29 +0200 | <maerwald> | afterwards it skips building it |
2021-10-28 14:19:37 +0200 | <maerwald> | but it's problematic already |
2021-10-28 14:20:49 +0200 | alphabeta | (~kilolympu@185.65.135.177) |
2021-10-28 14:21:12 +0200 | kilolympus | (~kilolympu@185.65.135.177) (Ping timeout: 260 seconds) |
2021-10-28 14:21:59 +0200 | Cajun | (~Cajun@user/cajun) (Ping timeout: 256 seconds) |
2021-10-28 14:22:32 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 14:22:56 +0200 | abrantesasf | (~abrantesa@187.36.170.211) |
2021-10-28 14:25:05 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 258 seconds) |
2021-10-28 14:25:28 +0200 | faultline | (~christian@nat-eduroam-01.scc.kit.edu) |
2021-10-28 14:25:47 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) |
2021-10-28 14:26:04 +0200 | comandingo | (~drever@2001:a61:3462:da01:1d3:8bd7:fc2b:56af) (Ping timeout: 268 seconds) |
2021-10-28 14:26:42 +0200 | comandingo | (~drever@2001:a61:3462:da01:22ed:63f7:5f22:784b) |
2021-10-28 14:31:33 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-10-28 14:31:50 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-10-28 14:32:48 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-10-28 14:33:01 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-10-28 14:33:08 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-28 14:34:15 +0200 | guniberas | (~guniberas@42.191.188.121) |
2021-10-28 14:37:10 +0200 | <adamCS> | when I read a text file via some interface using chunks, what is an efficient way to get lines of text? I'm trying to write a streamly unfold from a handle to a stream of lines ofd text. As reference, I'm using hGetLine from Text. I want to see if reading chunks, converting to ByteString and then to Text will be faster. But those chunks aren't lines, right? So how do I convert a stream of ByteString coming from chunks to |
2021-10-28 14:37:10 +0200 | <adamCS> | lines of Text? |
2021-10-28 14:38:40 +0200 | <maerwald> | adamCS: you use a Parser |
2021-10-28 14:39:24 +0200 | <adamCS> | Ah. Which keeps some state as the stream goes and then emits lines of text as they happen? |
2021-10-28 14:39:51 +0200 | <maerwald> | Parser has an optional internal state and a backtrack buffer |
2021-10-28 14:40:49 +0200 | <maerwald> | something like https://hackage.haskell.org/package/streamly-0.8.0/docs/Streamly-Internal-Data-Parser.html#v:takeW… maybe |
2021-10-28 14:41:28 +0200 | <adamCS> | maerwald: Thanks! That makes sense. I've never used that part of the interface. |
2021-10-28 14:41:56 +0200 | <maerwald> | also note that there are two parser types: direct style parser (ParserD) and CPS (ParserK) |
2021-10-28 14:42:10 +0200 | <maerwald> | if you need monadic or alternative actions, you'll have to use ParserK |
2021-10-28 14:42:30 +0200 | <maerwald> | but ParserD has better inlining behavior (though with monads, performance degrades quadratic) |
2021-10-28 14:42:44 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-28 14:44:28 +0200 | <maerwald> | https://streamly.composewell.com/haddocks/streamly-0.8.0/Streamly-Internal-Data-Parser-ParserD-Typ… |
2021-10-28 14:44:50 +0200 | <maerwald> | and https://streamly.composewell.com/haddocks/streamly-0.8.0/Streamly-Internal-Data-Parser-ParserK-Typ… |
2021-10-28 14:44:59 +0200 | <adamCS> | I don't, I don't think. I just have Text (or ByteString) "chunks" and I want Text lines. Preferably all still in Unfold form. But I can let that go, I guess. |
2021-10-28 14:45:23 +0200 | <maerwald> | that might work with ParserD then I guess |
2021-10-28 14:49:20 +0200 | <maerwald> | Stream.parse (P.takeWhile (/= '\n') F.toList) $ Prelude.fromList "abcdef\n lol" |
2021-10-28 14:49:31 +0200 | <maerwald> | yield "abcdef" |
2021-10-28 14:50:59 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-10-28 14:51:17 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-10-28 14:51:33 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-28 14:52:22 +0200 | wonko | (~wjc@62.115.229.50) |
2021-10-28 14:52:53 +0200 | <adamCS> | Cool. If you used "parseMany" there would you get both lines? |
2021-10-28 14:53:05 +0200 | neurocyte0132889 | (~neurocyte@212.232.89.185) |
2021-10-28 14:53:05 +0200 | neurocyte0132889 | (~neurocyte@212.232.89.185) (Changing host) |
2021-10-28 14:53:06 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-10-28 14:55:18 +0200 | wonko | (~wjc@62.115.229.50) (Remote host closed the connection) |
2021-10-28 14:55:24 +0200 | a6a45081-2b83 | (~aditya@pal-210-106-60.itap.purdue.edu) |
2021-10-28 14:55:42 +0200 | wonko | (~wjc@62.115.229.50) |
2021-10-28 14:55:56 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Ping timeout: 245 seconds) |
2021-10-28 14:56:13 +0200 | <maerwald> | that doesn't terminate for me |
2021-10-28 14:56:38 +0200 | wonko | (~wjc@62.115.229.50) (Changing host) |
2021-10-28 14:56:38 +0200 | wonko | (~wjc@user/wonko) |
2021-10-28 14:58:44 +0200 | <adamCS> | The parser stuff is all so internal that it's hard, for me at least, to figure out. But that might also just be because I don't understand parsers that well. |
2021-10-28 14:59:52 +0200 | <adamCS> | I also wish that streamly--which I really like!--had a Text module, or something close, for doing exactly this. It seems like a fairly common use-case, but maybe that's just me... |
2021-10-28 15:08:12 +0200 | wonko | (~wjc@user/wonko) (Read error: Connection reset by peer) |
2021-10-28 15:08:45 +0200 | <maerwald> | Stream.parse (P.many (P.takeWhile (/= '\n') F.toList <* next) F.toList) $ Prelude.fromList "abcdef\nlol" |
2021-10-28 15:08:47 +0200 | <maerwald> | this works |
2021-10-28 15:09:00 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-10-28 15:09:02 +0200 | <maerwald> | with: let next = (Just <$> P.satisfy (const True)) <|> pure Nothing |
2021-10-28 15:09:20 +0200 | <boxscape_> | % let x :: Eq b => b; x = undefined in x `seq` () |
2021-10-28 15:09:20 +0200 | <yahb> | boxscape_: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:167:25 in interactive:Ghci38 |
2021-10-28 15:09:20 +0200 | <maerwald> | there's a PR to add that function https://github.com/composewell/streamly/pull/1301 |
2021-10-28 15:09:39 +0200 | <adamCS> | huh. Gonna have to stare at that for a bit. Thanks! |
2021-10-28 15:09:43 +0200 | <boxscape_> | hm, I'm a bit surprised by that, I would have expected the constraint to result in seq only forcing x to be a lambda |
2021-10-28 15:09:58 +0200 | <maerwald> | adamCS: we have to consume the '\n' afterwards, but we may also be at the end of input |
2021-10-28 15:10:11 +0200 | <maerwald> | unfortunately, that causes us to use Alternative here |
2021-10-28 15:10:35 +0200 | <maerwald> | the implementation in the PR doesn't use that |
2021-10-28 15:10:40 +0200 | <maerwald> | so it may be more efficient |
2021-10-28 15:11:10 +0200 | max22- | (~maxime@2a01cb08833598007c8a2cbd9d715d88.ipv6.abo.wanadoo.fr) |
2021-10-28 15:11:20 +0200 | <boxscape_> | % let x :: forall b . Eq b => (b, Bool); x = (undefined, (undefined :: b) == undefined) in x `seq` () |
2021-10-28 15:11:20 +0200 | <yahb> | boxscape_: () |
2021-10-28 15:11:21 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-10-28 15:11:36 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2021-10-28 15:14:16 +0200 | <boxscape_> | % let x | !() <- undefined = x in 1 |
2021-10-28 15:14:16 +0200 | <yahb> | boxscape_: 1 |
2021-10-28 15:14:28 +0200 | <boxscape_> | I think I used to know why this doesn't crash... don't remember though :( |
2021-10-28 15:15:23 +0200 | <boxscape_> | oh I'm not using x, sorry -.- |
2021-10-28 15:15:41 +0200 | rond_ | (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed) |
2021-10-28 15:17:43 +0200 | hendursa1 | (~weechat@user/hendursaga) (Remote host closed the connection) |
2021-10-28 15:18:26 +0200 | feliix42 | (~felix@gibbs.uberspace.de) (Read error: Connection reset by peer) |
2021-10-28 15:18:34 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-10-28 15:19:35 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Ping timeout: 264 seconds) |
2021-10-28 15:21:30 +0200 | feliix42 | (~felix@gibbs.uberspace.de) |
2021-10-28 15:22:12 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-10-28 15:22:43 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-28 15:23:31 +0200 | MQ-17J | (~MQ-17J@8.6.144.240) |
2021-10-28 15:25:35 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds) |
2021-10-28 15:26:50 +0200 | <maerwald> | adamCS: https://paste.tomsmeding.com/TP5Ub9Kh |
2021-10-28 15:26:54 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 15:27:23 +0200 | <adamCS> | maerwald: Thanks! |
2021-10-28 15:27:28 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
2021-10-28 15:29:22 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-10-28 15:30:13 +0200 | <maerwald> | but parseMany is probably better, so we retain a stream and can then print per line |
2021-10-28 15:30:23 +0200 | <maerwald> | that'll allow better benchmarking I guess |
2021-10-28 15:30:28 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 15:31:22 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-10-28 15:31:39 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Ping timeout: 260 seconds) |
2021-10-28 15:36:58 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 15:40:50 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-10-28 15:42:16 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-10-28 15:47:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 15:51:54 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-10-28 15:52:41 +0200 | <maerwald> | adamCS: I just tested... and ParserD is indeed much faster here |
2021-10-28 15:54:42 +0200 | <maerwald> | https://github.com/hasufell/parselines |
2021-10-28 15:54:59 +0200 | <maerwald> | 2s on 100mb file with ParserD, 3.5s with ParserK |
2021-10-28 15:55:23 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-10-28 15:55:47 +0200 | <maerwald> | now would be interesting to compare with attoparsec |
2021-10-28 15:55:55 +0200 | MQ-17J | (~MQ-17J@8.6.144.240) (Ping timeout: 260 seconds) |
2021-10-28 15:57:11 +0200 | <maerwald> | and from my understanding... if you use CPS style parsers, you'll need to parse in chunks, so `Parser m (Array Char) b` instead of `Parser m Char b` |
2021-10-28 15:57:44 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
2021-10-28 15:57:46 +0200 | <maerwald> | otherwise performance drops (which is probably happening here) |
2021-10-28 16:02:01 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 16:02:52 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-28 16:03:16 +0200 | hseg | (~gesh@185.120.126.13) |
2021-10-28 16:04:33 +0200 | <hseg> | Hi. happy-1.21.0 fails to build ('happy' required but not found) and it is a transitive dep of mine |
2021-10-28 16:04:47 +0200 | <hseg> | can't find this discussed online though |
2021-10-28 16:07:35 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
2021-10-28 16:07:37 +0200 | ubert1 | (~Thunderbi@178.165.177.232.wireless.dyn.drei.com) |
2021-10-28 16:08:18 +0200 | <maerwald> | attoparsec is indeed much faster |
2021-10-28 16:08:32 +0200 | ubert | (~Thunderbi@91.141.46.110.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2021-10-28 16:08:32 +0200 | ubert1 | ubert |
2021-10-28 16:10:05 +0200 | <hseg> | nm, downgrade to happy-1.20.0 works |
2021-10-28 16:10:06 +0200 | <adamCS> | maerwald: is there a way I can use that for ```Streamly.Unfold m Handle (Streamly.Array Word8) -> Streamly.Unfold m Handle Text``` where that returned ```Unfold``` is lines? |
2021-10-28 16:10:09 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2021-10-28 16:10:37 +0200 | <maerwald> | you don't usually keep the unfold type for long, you just turn it into a stream |
2021-10-28 16:10:47 +0200 | <maerwald> | I think it will be dropped in the next major release anyway |
2021-10-28 16:11:18 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-10-28 16:12:45 +0200 | <maerwald> | turning `t m (Array Word8)` into `t m Word8` is possible though, but I don't remember the exact function |
2021-10-28 16:12:48 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d76b9ac87bdf676c186.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2021-10-28 16:12:55 +0200 | <maerwald> | it'll also degrade performance potentially I think |
2021-10-28 16:13:48 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) |
2021-10-28 16:17:52 +0200 | ubert | (~Thunderbi@178.165.177.232.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2021-10-28 16:19:05 +0200 | a6a45081-2b83 | (~aditya@pal-210-106-60.itap.purdue.edu) (Remote host closed the connection) |
2021-10-28 16:19:20 +0200 | <adamCS> | maerwald: Right. What I'm ultimately trying to do is two things: 1. Generate a stream of Text lines from a (csv or tsv) text file that then get parsed by some user defined functions and then, likely, folded into efficient storage. So for that I just want the most efficient possible ```FilePath -> t m Text``` where the resulting stream is lines. |
2021-10-28 16:20:12 +0200 | Freyr | (~Freyr@host109-158-44-114.range109-158.btcentralplus.com) (Quit: Connection closed) |
2021-10-28 16:20:36 +0200 | <adamCS> | 2. Some versions of that are so common that i want to put the entire thing (file -> lines of Text -> haskell structures -> efficient container of haskell structure) in one function because I wonder if that will make fusion more likely and the entire operation faster. |
2021-10-28 16:21:29 +0200 | <maerwald> | sounds all pretty straight forward... my linked code already does most of that |
2021-10-28 16:21:35 +0200 | <maerwald> | https://github.com/hasufell/parselines/blob/master/app/Main.hs |
2021-10-28 16:21:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-10-28 16:22:13 +0200 | dajoer | (~david@user/gvx) (Quit: leaving) |
2021-10-28 16:22:18 +0200 | <maerwald> | to turn [Word8] into Text you just fmap |
2021-10-28 16:22:37 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 16:22:48 +0200 | <adamCS> | It's for that 2nd version that I was trying to express things as an unfold. Because in that version I'm going to have a user supplied scan do the (line of Text -> haskell structure) bit and I want to apply that scan to the output of the unfold or the input of the fold. But It doesn't need to be all unfolds and fodsl, it just needs to fuse well. |
2021-10-28 16:23:00 +0200 | johnjay | (~pi@192.142.100.50) |
2021-10-28 16:23:11 +0200 | <johnjay> | does anybody use haskell through homebrew on mac os? |
2021-10-28 16:23:22 +0200 | <johnjay> | or is the shell script from haskell dot org preferable? |
2021-10-28 16:23:31 +0200 | <adamCS> | maerwald: Right. I'll just need to understand it and apply to my case. Thanks! |
2021-10-28 16:24:11 +0200 | <maerwald> | adamCS: (Text -> m Data) -> t m Text -> t m Data |
2021-10-28 16:24:16 +0200 | <maerwald> | that's mapM |
2021-10-28 16:24:48 +0200 | <adamCS> | maerwald: yes. But it's actually a scan because it all depends on the first line, which is a header and needs processing and dropping. |
2021-10-28 16:24:51 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-10-28 16:24:56 +0200 | <maerwald> | then you want a Parser |
2021-10-28 16:25:10 +0200 | <maerwald> | `Parser m Text Data` I guess |
2021-10-28 16:25:12 +0200 | <adamCS> | a Parser at the line of text level? |
2021-10-28 16:25:16 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
2021-10-28 16:25:31 +0200 | <adamCS> | The scan works fine. Would parser be faster? |
2021-10-28 16:25:33 +0200 | <maerwald> | and then you use the `next` function I supplied to read one line |
2021-10-28 16:25:40 +0200 | <maerwald> | not sure |
2021-10-28 16:26:01 +0200 | <adamCS> | It's that I need information from the header in the subsequent Text -> Data |
2021-10-28 16:26:56 +0200 | <adamCS> | I originally used fromEffect but--just to complicate things!--I'm trying to write this in a way that works for Pipes as well. I've abstracted some bits of those interfaces into a typeclass. |
2021-10-28 16:27:07 +0200 | <maerwald> | is it truly monadic? As in: the current line decides the next step? |
2021-10-28 16:27:21 +0200 | <adamCS> | The first line affects all the rest of the steps |
2021-10-28 16:27:28 +0200 | <adamCS> | but only the first line |
2021-10-28 16:27:37 +0200 | jkaye | (~jkaye@2601:281:8300:7530:66b0:89cb:9eb6:ddde) |
2021-10-28 16:27:44 +0200 | <maerwald> | then just use uncons |
2021-10-28 16:27:49 +0200 | <maerwald> | and keep the rest efficient |
2021-10-28 16:27:50 +0200 | <geekosaur> | johnjay, we recommend ghcup on all systems. afaik brew will work but ghcup is easier and faster to update, plus you don't have to worry about versioning as much, you can have multiple versions installed and quickly switch with "ghcup set" |
2021-10-28 16:27:54 +0200 | <maerwald> | https://hackage.haskell.org/package/streamly-0.8.0/docs/Streamly-Prelude.html#v:uncons |
2021-10-28 16:29:25 +0200 | <johnjay> | i think brew just gave me stack. and it segfaults if i tell it to do anything |
2021-10-28 16:30:26 +0200 | <johnjay> | i guess i have to guess the names of ghc and the other components and install them manually |
2021-10-28 16:30:32 +0200 | <johnjay> | (new to macs so idk what i'm doing) |
2021-10-28 16:30:34 +0200 | <adamCS> | Right. I can't remember if there was a reason I didn't. I think, roughly, that it had something to do with then needing Monad (t m) but I'm not sure. Right now, I'm just trying to get the lines of Text thing efficient and then I can start testing the other bits. The scan seems no slower than the fromEffect version which I'm guessing would be more similar to unCons |
2021-10-28 16:30:49 +0200 | <geekosaur> | I saw ghc@8.10 and ghc@9 (avoid the latter, it's buggy) |
2021-10-28 16:31:08 +0200 | <geekosaur> | if you're on an M1, make sure you get 8.10.7 |
2021-10-28 16:31:25 +0200 | <johnjay> | 8.10 is the default |
2021-10-28 16:31:35 +0200 | <johnjay> | yes i'm on an Emm Won |
2021-10-28 16:31:38 +0200 | <maerwald> | adamCS: the other possibility would be to parse the first line of the file twice |
2021-10-28 16:31:40 +0200 | <johnjay> | it's nice so far. |
2021-10-28 16:31:46 +0200 | <johnjay> | but i want to run the haskell |
2021-10-28 16:31:48 +0200 | <johnjay> | on the arm |
2021-10-28 16:31:56 +0200 | <maerwald> | and then decide what you do with the entire file |
2021-10-28 16:33:16 +0200 | ikex | (~ash@user/ikex) (Ping timeout: 260 seconds) |
2021-10-28 16:33:17 +0200 | zebrag | (~chris@user/zebrag) |
2021-10-28 16:33:34 +0200 | <maerwald> | adamCS: https://hackage.haskell.org/package/streamly-0.8.0/docs/Streamly-Prelude.html#v:head |
2021-10-28 16:33:45 +0200 | <maerwald> | this *terminates* the stream |
2021-10-28 16:34:16 +0200 | <adamCS> | maerwald: Back to Text for a sec: in the streamly gitter/matrix channel, readChunks was suggested but your example uses read. Even at this level I'm just sort of confused about how to choose. |
2021-10-28 16:34:40 +0200 | <maerwald> | read is inefficient yeah |
2021-10-28 16:35:20 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-28 16:35:33 +0200 | <adamCS> | so do I readChunks and then concat? Or parse within chunks? This is why some efficient version of this would be so useful if it were already in streamly... |
2021-10-28 16:35:34 +0200 | <maerwald> | But if you do readChunks, you'll have to deal with Array forever |
2021-10-28 16:35:49 +0200 | <maerwald> | I think otherwise it's degrading performance |
2021-10-28 16:36:35 +0200 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
2021-10-28 16:36:54 +0200 | <maerwald> | I'm also not sure how this all plays along with the different stream types... `read` does IO requests in chunk size too |
2021-10-28 16:37:01 +0200 | <maerwald> | just your loop will be smaller afaiu |
2021-10-28 16:37:24 +0200 | <adamCS> | I guess I'll just try some things... |
2021-10-28 16:37:32 +0200 | <maerwald> | and from what I gathered a small loop is fine if you have ParserD/StreamD or so? |
2021-10-28 16:37:43 +0200 | <maerwald> | But I do remember that implementing file copying with `read` was way too slow |
2021-10-28 16:38:16 +0200 | <adamCS> | And I don't get how to make sure things are StreamD where that is possible. But mostly streamly should just get that right? |
2021-10-28 16:38:25 +0200 | <maerwald> | :D |
2021-10-28 16:38:51 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-10-28 16:38:52 +0200 | <maerwald> | I'd say it always needs experiments... if you want something stable, go for conduit |
2021-10-28 16:39:08 +0200 | <maerwald> | but conduit will also never surprise you with crazy high performance |
2021-10-28 16:39:19 +0200 | <adamCS> | there is always flattenArrays :: Stream m (Array a) -> Stream m a |
2021-10-28 16:39:38 +0200 | <maerwald> | right, but I'd be surprised if that doesn't kill your performance |
2021-10-28 16:39:48 +0200 | <adamCS> | ugh |
2021-10-28 16:39:55 +0200 | <maerwald> | because now your hot loop is over `a`, not over chunks |
2021-10-28 16:40:14 +0200 | <adamCS> | but don't I need it to be for the Parsing to lines? |
2021-10-28 16:40:33 +0200 | <adamCS> | Because I don't know where the line boundaries fall in the chunks? |
2021-10-28 16:41:40 +0200 | <adamCS> | I think I'm misunderstanding since if I use read, the loop is also over a, right? So what do you mean by "hot loop" here? |
2021-10-28 16:41:41 +0200 | <maerwald> | I think `Parser m (Array Word) (Array Word)` would be the right efficient type... and then you turn it into a stream and there you can (Array Word -> Text) |
2021-10-28 16:42:28 +0200 | <adamCS> | Where that parser takes undifferentiated chunks and spits out one array per line? |
2021-10-28 16:43:06 +0200 | <maerwald> | the parser stops after having read one line yeah, then you use parseMany and get [Array Word] |
2021-10-28 16:43:36 +0200 | <maerwald> | but at this point I'm really not sure what's the most efficient thing |
2021-10-28 16:43:52 +0200 | amk | (~amk@109.255.169.126) (Read error: Connection reset by peer) |
2021-10-28 16:44:03 +0200 | amk | (~amk@109.255.169.126) |
2021-10-28 16:44:16 +0200 | <adamCS> | but the streamly version so Stream (Array Word)? |
2021-10-28 16:44:59 +0200 | <maerwald> | yeah, a stream of lines |
2021-10-28 16:45:38 +0200 | <maerwald> | I think there's no zero-cost `flattenArrays` |
2021-10-28 16:45:41 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 264 seconds) |
2021-10-28 16:50:22 +0200 | <dmj`> | anyone know an example of a defunctionalization pass implemented in haskell on a lambda calculus expr? |
2021-10-28 16:56:56 +0200 | lortabac | (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) (Quit: WeeChat 2.8) |
2021-10-28 16:57:03 +0200 | <adamCS> | maerwald: Thanks for all the help! I'm going to try a few things and see if I can understand the parsing bit better by doing. I'll report back if anything jumps out. |
2021-10-28 16:57:32 +0200 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-10-28 16:59:36 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-28 17:00:04 +0200 | MQ-17J | (~MQ-17J@35.50.77.148) |
2021-10-28 17:00:29 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-28 17:03:32 +0200 | Skyfire | (~pyon@user/pyon) (Quit: brb) |
2021-10-28 17:04:35 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
2021-10-28 17:11:37 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-10-28 17:14:23 +0200 | <johnjay> | well i don't know how to get out of ghci but ctrl-D always does the job |
2021-10-28 17:14:40 +0200 | <johnjay> | is there some way to change the install dir of ghcup or whatever it's called? |
2021-10-28 17:14:48 +0200 | <maerwald> | johnjay: yes |
2021-10-28 17:15:03 +0200 | <maerwald> | https://www.haskell.org/ghcup/guide/#env-variables |
2021-10-28 17:16:18 +0200 | <johnjay> | also i didn't get hls, the lsp thing. can i rerun the installer? |
2021-10-28 17:16:21 +0200 | max22- | (~maxime@2a01cb08833598007c8a2cbd9d715d88.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-10-28 17:16:26 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-10-28 17:16:59 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-10-28 17:18:02 +0200 | thyriaen | (~thyriaen@dynamic-089-012-077-123.89.12.pool.telefonica.de) |
2021-10-28 17:18:46 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-10-28 17:18:55 +0200 | boxscape_ | (~boxscape_@134.171.69.87) (Ping timeout: 260 seconds) |
2021-10-28 17:19:35 +0200 | <maerwald> | johnjay: ghcup install hls |
2021-10-28 17:20:35 +0200 | <johnjay> | oh i see ghcup is in ~/.ghcup/bin |
2021-10-28 17:20:42 +0200 | <geekosaur> | there's also "ghcup tui" for a nice terminal-based ui for installing, uninstalling, and activating various versions of things |
2021-10-28 17:21:32 +0200 | <johnjay> | ok i was confused. it seems everything is in that dir. but cabal has its own dir for some reason |
2021-10-28 17:22:42 +0200 | <c_wraith> | "ghcup tui" isn't very good at upgrading ghcup |
2021-10-28 17:23:11 +0200 | hseg | (~gesh@185.120.126.13) (Ping timeout: 264 seconds) |
2021-10-28 17:23:24 +0200 | <maerwald> | c_wraith: you mean it doesn't re-exec itself? |
2021-10-28 17:23:51 +0200 | <johnjay> | so if i do ghcup install cabal then install hls, then install ghc I'm good? |
2021-10-28 17:23:58 +0200 | <johnjay> | or did the wizard thing do anything else |
2021-10-28 17:24:03 +0200 | <c_wraith> | it doesn't need to do that. It just should say "please restart" or something |
2021-10-28 17:24:07 +0200 | <johnjay> | i just want everything in $HOME/.local |
2021-10-28 17:24:19 +0200 | <c_wraith> | instead of dropping back to a UI that shows the exact same thing as before you ran it |
2021-10-28 17:24:21 +0200 | <maerwald> | johnjay: https://www.haskell.org/ghcup/guide/#xdg-support |
2021-10-28 17:24:28 +0200 | hseg | (~gesh@185.120.126.13) |
2021-10-28 17:24:29 +0200 | <johnjay> | yes i'm reading it. |
2021-10-28 17:24:40 +0200 | <johnjay> | that's why i'm asking |
2021-10-28 17:25:00 +0200 | <maerwald> | generally, it's better to keep things in ~/.ghcup |
2021-10-28 17:26:21 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 268 seconds) |
2021-10-28 17:26:56 +0200 | <johnjay> | that's probably a good point. i'll keep it that way until i know enough to put it in .local |
2021-10-28 17:27:20 +0200 | <johnjay> | i guess ghcup gets put in .ghcup no matter what though |
2021-10-28 17:27:43 +0200 | <maerwald> | if you enable xdg support, it gets put in ~/.local/bin |
2021-10-28 17:27:54 +0200 | Shaeto | (~Shaeto@94.25.234.118) |
2021-10-28 17:28:12 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-28 17:28:20 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 17:30:32 +0200 | <johnjay> | can i just delete .ghcup in that case? |
2021-10-28 17:30:41 +0200 | <johnjay> | it looks like that gets created no matter what you choose |
2021-10-28 17:30:49 +0200 | <maerwald> | johnjay: I guess |
2021-10-28 17:31:16 +0200 | <johnjay> | well yeah. you've probably used this setup for years or something |
2021-10-28 17:31:25 +0200 | <johnjay> | so anything weird looks totally normal to you. it's the curse of expertise |
2021-10-28 17:31:41 +0200 | <johnjay> | i think i've got a good setup though thanks |
2021-10-28 17:32:36 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Ping timeout: 245 seconds) |
2021-10-28 17:32:49 +0200 | Shaeto | (~Shaeto@94.25.234.118) (Quit: WeeChat 3.3) |
2021-10-28 17:36:07 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 17:37:00 +0200 | taeaad_ | (~taeaad@user/taeaad) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2021-10-28 17:39:15 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-10-28 17:39:42 +0200 | taeaad | (~taeaad@user/taeaad) |
2021-10-28 17:41:11 +0200 | rond_ | (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) |
2021-10-28 17:41:19 +0200 | taeaad | (~taeaad@user/taeaad) () |
2021-10-28 17:43:47 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2021-10-28 17:44:28 +0200 | <awpr> | kuribas: https://hackage.haskell.org/package/ten-0.1.0.2/docs/Data-Ten-Sigma.html#t::-42--42- is the closest I know how to get to a dependent pair in Haskell |
2021-10-28 17:49:14 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-28 17:52:18 +0200 | canxiu | (uid524910@id-524910.helmsley.irccloud.com) |
2021-10-28 17:53:29 +0200 | MQ-17J | (~MQ-17J@35.50.77.148) (Ping timeout: 264 seconds) |
2021-10-28 17:54:44 +0200 | <adamCS> | maerwald: I've tried a few versions of the parser thing, and all are much and more memory intensive slower than just using Text.hGetLine. In case the slowness was conversion of [Word8] to Text, I tried a few things there including using text-builder to build Streamly.Fold Word8 Text. But that was no faster. I haven't tried the readChunk thing because I don't know how to write the Parser (Array Word8) (Array Word8). But |
2021-10-28 17:54:44 +0200 | <adamCS> | maybe I'll try to figure it out another time. |
2021-10-28 17:55:04 +0200 | <adamCS> | s/much and/much slower and/ |
2021-10-28 17:55:33 +0200 | <maerwald> | I'm trying this https://paste.tomsmeding.com/CSZeeXVc |
2021-10-28 17:55:36 +0200 | <maerwald> | but it doesn't terminate |
2021-10-28 17:55:54 +0200 | <maerwald> | the Step type is underdocumented imo |
2021-10-28 17:56:05 +0200 | <maerwald> | https://hackage.haskell.org/package/streamly-0.8.0/docs/Streamly-Internal-Data-Parser-ParserD.html… |
2021-10-28 17:56:48 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-28 17:56:54 +0200 | <maerwald> | the idea here is that is scans the input, asks for the next chunk if it doesn't find a newline and generally never scans the same chunk twice |
2021-10-28 17:57:52 +0200 | <adamCS> | right. But you also have to retain the remainder of the chunk somehow? |
2021-10-28 17:58:12 +0200 | MQ-17J | (~MQ-17J@2607:fb90:1d96:c9d1:ba5a:1a8b:ade4:a330) |
2021-10-28 17:59:04 +0200 | <maerwald> | that's done in the parser state |
2021-10-28 17:59:22 +0200 | <maerwald> | the parser state holds at most one line |
2021-10-28 18:01:09 +0200 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) |
2021-10-28 18:01:38 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-10-28 18:01:58 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-10-28 18:02:19 +0200 | jstolarek | (~jstolarek@137.220.120.162) (Quit: leaving) |
2021-10-28 18:02:26 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-10-28 18:02:34 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-10-28 18:09:42 +0200 | fendor_ | (~fendor@178.165.166.121.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-10-28 18:11:28 +0200 | fendor | (~fendor@178.165.166.121.wireless.dyn.drei.com) |
2021-10-28 18:11:40 +0200 | <adamCS> | maerwald: huh. That looks like it makes sense. Is there a +/- issue with the lf itself? |
2021-10-28 18:12:01 +0200 | <maerwald> | a what? |
2021-10-28 18:12:18 +0200 | sedeki | (~textual@user/sedeki) |
2021-10-28 18:12:24 +0200 | <adamCS> | Like where does the lf itself get removed? Is it in the prefix or the suffix? |
2021-10-28 18:12:56 +0200 | <maerwald> | it's removed |
2021-10-28 18:13:28 +0200 | <adamCS> | Ah. I see. Just looked it up. Sorry. |
2021-10-28 18:13:35 +0200 | sedeki | (~textual@user/sedeki) () |
2021-10-28 18:15:43 +0200 | <adamCS> | Does that not terminate even parsing one line or just when you try parseMany? |
2021-10-28 18:15:48 +0200 | <maerwald> | I think it's because `count` in Done is about the elements, not the bytes |
2021-10-28 18:15:57 +0200 | <maerwald> | and an element is an input chunk |
2021-10-28 18:16:08 +0200 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Remote host closed the connection) |
2021-10-28 18:16:41 +0200 | lbseale | (~lbseale@user/ep1ctetus) |
2021-10-28 18:17:47 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 264 seconds) |
2021-10-28 18:17:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 18:18:03 +0200 | <adamCS> | Do you somehow need to use the state to keep the partial chunk? |
2021-10-28 18:19:43 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-10-28 18:20:04 +0200 | MQ-17J | (~MQ-17J@2607:fb90:1d96:c9d1:ba5a:1a8b:ade4:a330) (Read error: Connection reset by peer) |
2021-10-28 18:20:24 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2021-10-28 18:20:47 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-28 18:22:36 +0200 | wolfshappen | (~waff@irc.furworks.de) (Ping timeout: 245 seconds) |
2021-10-28 18:22:43 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 18:22:52 +0200 | jkaye | (~jkaye@2601:281:8300:7530:66b0:89cb:9eb6:ddde) (Ping timeout: 268 seconds) |
2021-10-28 18:23:00 +0200 | thyriaen | (~thyriaen@dynamic-089-012-077-123.89.12.pool.telefonica.de) (Quit: Leaving) |
2021-10-28 18:23:02 +0200 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-10-28 18:24:06 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-28 18:26:11 +0200 | chele | (~chele@user/chele) (Ping timeout: 260 seconds) |
2021-10-28 18:26:12 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-28 18:26:19 +0200 | wolfshappen | (~waff@irc.furworks.de) |
2021-10-28 18:26:29 +0200 | Pickchea | (~private@user/pickchea) |
2021-10-28 18:27:13 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-28 18:28:42 +0200 | Skyfire | (~pyon@user/pyon) |
2021-10-28 18:29:22 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-10-28 18:32:28 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-28 18:32:48 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-28 18:33:53 +0200 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2021-10-28 18:36:09 +0200 | <maerwald> | I think it's just not expressive enough |
2021-10-28 18:36:30 +0200 | <maerwald> | would need something like https://hackage.haskell.org/package/megaparsec-9.2.0/docs/Text-Megaparsec.html#v:setInput |
2021-10-28 18:36:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 18:39:44 +0200 | comandingo | (~drever@2001:a61:3462:da01:22ed:63f7:5f22:784b) (Ping timeout: 268 seconds) |
2021-10-28 18:40:00 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-10-28 18:41:20 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-10-28 18:41:31 +0200 | wolfshappen | (~waff@irc.furworks.de) (Ping timeout: 265 seconds) |
2021-10-28 18:42:13 +0200 | wolfshappen | (~waff@irc.furworks.de) |
2021-10-28 18:43:20 +0200 | <adamCS> | Yeah. I'm fiddling with a variant that breaks at all the lf and then keeps the remainder as well as the accumulated lines in the state. But I'm too hazy on the details to thikn it'll work. |
2021-10-28 18:45:47 +0200 | rond_ | (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed) |
2021-10-28 18:52:13 +0200 | <adamCS> | I think mine is just a fold, actually. Where the fold state accumulates the lines and whatever is left after breaking from the previous chunk. |
2021-10-28 18:52:38 +0200 | <maerwald> | https://hackage.haskell.org/package/streamly-0.8.0/docs/src/Streamly.Internal.Data.Parser.ParserD.… |
2021-10-28 18:52:38 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-10-28 18:52:42 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-28 18:52:44 +0200 | <maerwald> | it could be done similar to that maybe |
2021-10-28 18:52:55 +0200 | <maerwald> | but that's a lot of mutual recursion |
2021-10-28 18:53:37 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
2021-10-28 18:55:32 +0200 | abrantesasf | (~abrantesa@187.36.170.211) (Read error: Connection reset by peer) |
2021-10-28 18:57:09 +0200 | <maerwald> | but I think my broken Array version is on the right tracks... Arrays breakOn translates to C's memchr |
2021-10-28 18:58:09 +0200 | <maerwald> | that will be as fast as this blog post suggests https://chrisdone.com/posts/fast-haskell-c-parsing-xml/ |
2021-10-28 18:58:21 +0200 | <maerwald> | which abuses bytestring functions that use memchr under the hood |
2021-10-28 18:58:28 +0200 | abrantesasf | (~abrantesa@187.36.170.211) |
2021-10-28 18:58:31 +0200 | teddyc | (theodorc@cassarossa.samfundet.no) |
2021-10-28 18:58:39 +0200 | <adamCS> | yeah. I'm trying to do something using breakOn to get a list of "lines" and a remainder, accumulate the list and then add the remainder when the next chunk comes. Might not be a fold because of the termination. But it's not parsing one at a time, it'll parse the entire list of lines in one parse. I think. |
2021-10-28 18:59:56 +0200 | <adamCS> | That is, I have type "ParserD.Parser m (FArray.Array Word8) ([FArray.Array Word8])" |
2021-10-28 19:00:08 +0200 | <adamCS> | though I am suspicious of list there but that's for later |
2021-10-28 19:01:03 +0200 | segfaultfizzbuzz | (~segfaultf@135-180-0-138.static.sonic.net) |
2021-10-28 19:01:40 +0200 | <maerwald> | but that way you never get an actual stream of lines |
2021-10-28 19:01:57 +0200 | <maerwald> | you'll accumulate the result in memory |
2021-10-28 19:02:04 +0200 | <maerwald> | when you do the final parse |
2021-10-28 19:02:20 +0200 | <adamCS> | Ah. Yes. |
2021-10-28 19:02:26 +0200 | <segfaultfizzbuzz> | for a pure nonstrict functional programming language like haskell, is there a reasonably succinct way to understand what the most essential barriers are to becoming a competitive systems programming language? |
2021-10-28 19:02:39 +0200 | <maerwald> | segfaultfizzbuzz: good streaming :D |
2021-10-28 19:02:39 +0200 | <segfaultfizzbuzz> | or is it thousands of papercut reasons all compounded |
2021-10-28 19:02:53 +0200 | <maerwald> | unpredictable performance |
2021-10-28 19:02:57 +0200 | <segfaultfizzbuzz> | maerwald: care to elaborate? |
2021-10-28 19:02:59 +0200 | <maerwald> | shitty exceptions |
2021-10-28 19:03:03 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-10-28 19:03:30 +0200 | <segfaultfizzbuzz> | care to elaborate on "good streaming" i mean? |
2021-10-28 19:03:48 +0200 | <maerwald> | there's 2 hours of scrollback on that :D |
2021-10-28 19:06:37 +0200 | <adamCS> | maerwald: Maybe a stream of [Array Word8]? for each chunk we emit as many lines as are present and put the remainder in the state. add that to the next chunk and on we go? |
2021-10-28 19:07:57 +0200 | <maerwald> | look... in C this would maybe be 100 lines of code with your own for loops |
2021-10-28 19:08:10 +0200 | <maerwald> | it would take 15 minutes to write and 35 minutes to fix the memory errors you wrote |
2021-10-28 19:08:58 +0200 | <maerwald> | maybe just write it in C and use FFI :p |
2021-10-28 19:11:00 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-28 19:11:20 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-28 19:13:50 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-10-28 19:16:04 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-10-28 19:19:03 +0200 | <maerwald> | https://hackage.haskell.org/package/streamly-0.8.0/docs/Streamly-Internal-Data-Stream-IsStream-Red… |
2021-10-28 19:19:08 +0200 | <maerwald> | this would be another way to express it |
2021-10-28 19:19:12 +0200 | <adamCS> | Ugh. My thing won't work either because it has to run until a line boundary falls at the end of a chunk. |
2021-10-28 19:19:17 +0200 | alphabeta | (~kilolympu@185.65.135.177) (Quit: Quitting IRC :() |
2021-10-28 19:19:31 +0200 | kilolympus | (~kilolympu@185.65.135.177) |
2021-10-28 19:19:44 +0200 | <adamCS> | hmm |
2021-10-28 19:19:51 +0200 | chisui | (~chisui@200116b868022000576721b474df9c55.dip.versatel-1u1.de) |
2021-10-28 19:20:16 +0200 | <johnjay> | maerwald: write something in C over haskell?? |
2021-10-28 19:20:18 +0200 | <adamCS> | That looks simpler and more promising. |
2021-10-28 19:20:27 +0200 | <dminuoso> | maerwald: And the creeping 9.6 CVE with full code exploitation because you allow for stack smashing via user input is not fixed until 7 years later. |
2021-10-28 19:20:48 +0200 | <maerwald> | yeah... I'm sure haskell-tls has no vulnerabilities |
2021-10-28 19:20:50 +0200 | <maerwald> | :D |
2021-10-28 19:21:03 +0200 | Inst__ | (~Inst@2601:6c4:4080:3f80:258f:7b54:f932:b719) |
2021-10-28 19:21:34 +0200 | <dminuoso> | Im just saying that your characterization of "35 minutes to fix the memory errors you wrote" is naive. |
2021-10-28 19:21:49 +0200 | <dminuoso> | The reality in C is, as soon as you have a pointer, chances are you still have memory bugs lurking around. |
2021-10-28 19:21:51 +0200 | <maerwald> | adamCS: this one also caught my eyes: https://hackage.haskell.org/package/streamly-0.8.0/docs/Streamly-Internal-Data-Fold.html#v:runStep |
2021-10-28 19:22:03 +0200 | <maerwald> | and the concatMap above |
2021-10-28 19:23:01 +0200 | econo | (uid147250@user/econo) |
2021-10-28 19:23:14 +0200 | faultline | (~christian@nat-eduroam-01.scc.kit.edu) (Ping timeout: 246 seconds) |
2021-10-28 19:25:29 +0200 | <maerwald> | but my intuition tells me... there should be a way to abstract away the "parsing over elements" vs "parsing over chunks of elements" |
2021-10-28 19:25:56 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2021-10-28 19:26:01 +0200 | <maerwald> | it's ludicrous to do it manually |
2021-10-28 19:28:17 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2021-10-28 19:29:59 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-10-28 19:30:08 +0200 | markusde | (~makrus@206.12.14.106) |
2021-10-28 19:31:01 +0200 | <markusde> | Simple question- I'm trying to use the LiberalTypeSynonyms langauge extension but stack repl keeps telling me that it's an "unrecognized pragma" |
2021-10-28 19:31:04 +0200 | <markusde> | Any ideas? |
2021-10-28 19:31:33 +0200 | <dminuoso> | markusde: You probably typed LANGAUGE instead of LANGUAGE |
2021-10-28 19:31:36 +0200 | <dminuoso> | :> |
2021-10-28 19:32:06 +0200 | <dminuoso> | markusde: Try and share your code exactly |
2021-10-28 19:32:32 +0200 | <markusde> | dminuoso: wow, that's it lmao |
2021-10-28 19:32:36 +0200 | <markusde> | tyty |
2021-10-28 19:32:52 +0200 | <markusde> | english is hard |
2021-10-28 19:32:56 +0200 | markusde | (~makrus@206.12.14.106) (Client Quit) |
2021-10-28 19:35:08 +0200 | <shapr> | I do that all the time and American was my first langauge :-) |
2021-10-28 19:36:25 +0200 | <dsal> | haha. Yeah. It's the one I mess up the most. |
2021-10-28 19:38:32 +0200 | <manicennui> | British English has better slang. |
2021-10-28 19:42:43 +0200 | <Vq> | shapr: You got too many languages in that skull of yours :P |
2021-10-28 19:43:51 +0200 | <shapr> | Vq: du också! |
2021-10-28 19:43:56 +0200 | shapr | hugs Vq |
2021-10-28 19:44:11 +0200 | hseg | (~gesh@185.120.126.13) (Ping timeout: 264 seconds) |
2021-10-28 19:44:25 +0200 | <Vq> | 2½ at most |
2021-10-28 19:45:23 +0200 | <Vq> | I often get confused with words that are just a single letter off between two languages. |
2021-10-28 19:45:38 +0200 | <shapr> | oh yeah, my brain decided "adress" is the permanent correct spelling after I learned Swedish. |
2021-10-28 19:45:51 +0200 | <shapr> | so I *always* spell that incorrectly in English |
2021-10-28 19:45:57 +0200 | <Vq> | Like "parallel" vs "parallell" or "address" vs "adress". |
2021-10-28 19:45:58 +0200 | hseg | (~gesh@185.120.126.13) |
2021-10-28 19:46:51 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-10-28 19:47:28 +0200 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 258 seconds) |
2021-10-28 19:47:32 +0200 | <shapr> | Vq: are you writing Haskell at work these days? |
2021-10-28 19:47:45 +0200 | <Vq> | Not much :( |
2021-10-28 19:53:13 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-10-28 19:54:50 +0200 | NinjaTrappeur | (~ninja@user/ninjatrappeur) (Quit: WeeChat 3.3) |
2021-10-28 19:55:40 +0200 | NinjaTrappeur | (~ninja@user/ninjatrappeur) |
2021-10-28 19:57:48 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-10-28 19:58:20 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-28 20:02:11 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2021-10-28 20:02:47 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Ping timeout: 264 seconds) |
2021-10-28 20:05:08 +0200 | ubert | (~Thunderbi@178.115.57.1.wireless.dyn.drei.com) |
2021-10-28 20:13:06 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-10-28 20:19:36 +0200 | <dsal> | shapr: one of my grandparents used to say, "if that don't spell adress, what does it spell?" (sounds better out loud, I guess) |
2021-10-28 20:20:26 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
2021-10-28 20:21:34 +0200 | <geekosaur> | there's also the question of how you pronounce it |
2021-10-28 20:22:33 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2021-10-28 20:24:07 +0200 | ulvarrefr | (~user@185.24.53.152) (Ping timeout: 244 seconds) |
2021-10-28 20:24:24 +0200 | Vq | doesn't get it |
2021-10-28 20:25:49 +0200 | <geekosaur> | AD-ress vs. ad-RESS |
2021-10-28 20:26:35 +0200 | <geekosaur> | not sure if one's supposed to be the noun vs. the verb, but I hear them used pretty interchangeably (and probably regionally) |
2021-10-28 20:27:25 +0200 | <geekosaur> | but that would in particular affect how people are inclined to spell it |
2021-10-28 20:30:01 +0200 | <geekosaur> | (also in the second one the a is schwa-d) |
2021-10-28 20:30:12 +0200 | ulvarrefr | (~user@185.24.53.152) |
2021-10-28 20:31:13 +0200 | noctux | (~noctux@user/noctux) (Read error: Connection reset by peer) |
2021-10-28 20:31:44 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection) |
2021-10-28 20:33:05 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2021-10-28 20:33:44 +0200 | noctux | (~noctux@user/noctux) |
2021-10-28 20:35:14 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-28 20:35:57 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-10-28 20:39:13 +0200 | dwt__ | (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 258 seconds) |
2021-10-28 20:39:32 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Ping timeout: 246 seconds) |
2021-10-28 20:44:10 +0200 | <dsal> | I can never remember how to use `seq`. But I can remember how to turn on BangPatterns, so I'm going to do that instead. |
2021-10-28 20:44:26 +0200 | <dsal> | Actually, no, I think I need seq here. |
2021-10-28 20:47:45 +0200 | hseg | (~gesh@185.120.126.13) (Ping timeout: 260 seconds) |
2021-10-28 20:48:21 +0200 | dwt_ | (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) |
2021-10-28 20:48:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 20:53:16 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-28 20:54:02 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-10-28 20:56:34 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-10-28 20:57:23 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-10-28 20:58:47 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 260 seconds) |
2021-10-28 20:59:27 +0200 | azimut_ | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-10-28 21:01:23 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 21:02:56 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2021-10-28 21:03:38 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-10-28 21:04:48 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-10-28 21:05:50 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-10-28 21:06:02 +0200 | chisui | (~chisui@200116b868022000576721b474df9c55.dip.versatel-1u1.de) (Ping timeout: 256 seconds) |
2021-10-28 21:06:23 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 264 seconds) |
2021-10-28 21:07:30 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-28 21:07:36 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2021-10-28 21:08:46 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 21:11:33 +0200 | Guest57 | (~Guest57@73.115.242.32) |
2021-10-28 21:12:56 +0200 | Guest57 | (~Guest57@73.115.242.32) (Client Quit) |
2021-10-28 21:13:36 +0200 | <maerwald> | adamCS: I got a much faster implementation. It's a little slower than attoparsec, but not by much |
2021-10-28 21:13:51 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds) |
2021-10-28 21:14:14 +0200 | sagax | (~sagax_nb@user/sagax) (Remote host closed the connection) |
2021-10-28 21:14:44 +0200 | <maerwald> | 100mb file 1ms streamly, 0.8s attoparsec |
2021-10-28 21:14:59 +0200 | <maerwald> | s/ms/s/ |
2021-10-28 21:15:10 +0200 | turlando | (~turlando@user/turlando) (Ping timeout: 260 seconds) |
2021-10-28 21:15:14 +0200 | turlando_ | (~turlando@93-42-250-112.ip89.fastwebnet.it) |
2021-10-28 21:17:53 +0200 | <maerwald> | https://paste.tomsmeding.com/05JvJGWz |
2021-10-28 21:22:04 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-10-28 21:23:33 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-10-28 21:25:49 +0200 | <maerwald> | hah! if we express this as a Fold, we're faster than attoparsec |
2021-10-28 21:28:49 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-28 21:30:12 +0200 | jespada | (~jespada@181.28.253.200) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-10-28 21:33:03 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2021-10-28 21:41:40 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-28 21:49:22 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-28 21:49:30 +0200 | jstolarek | (~jstolarek@137.220.120.162) |
2021-10-28 21:52:06 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-10-28 21:52:27 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-28 21:53:25 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-10-28 21:56:29 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d76b9ac87bdf676c186.dip0.t-ipconnect.de) |
2021-10-28 22:05:29 +0200 | juhp | (~juhp@128.106.188.220) (Ping timeout: 265 seconds) |
2021-10-28 22:07:12 +0200 | juhp | (~juhp@128.106.188.220) |
2021-10-28 22:14:05 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-28 22:14:35 +0200 | cheater | (~Username@user/cheater) (Read error: Connection reset by peer) |
2021-10-28 22:20:11 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 264 seconds) |
2021-10-28 22:20:43 +0200 | sky_lounge[m] | (~skylounge@2001:470:69fc:105::efa6) |
2021-10-28 22:22:07 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
2021-10-28 22:23:51 +0200 | cheater | (~Username@user/cheater) |
2021-10-28 22:25:08 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) (Ping timeout: 260 seconds) |
2021-10-28 22:29:41 +0200 | aegon | (~mike@174.127.249.180) |
2021-10-28 22:30:49 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-28 22:32:10 +0200 | trog | (~trog@user/trog) (Ping timeout: 260 seconds) |
2021-10-28 22:33:51 +0200 | zfnmxt | (~zfnmxtzfn@2001:470:69fc:105::2b32) (Changing host) |
2021-10-28 22:33:51 +0200 | zfnmxt | (~zfnmxtzfn@user/zfnmxt) |
2021-10-28 22:39:40 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-10-28 22:48:42 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-10-28 22:49:46 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 22:53:17 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-10-28 22:54:16 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Ping timeout: 245 seconds) |
2021-10-28 22:54:31 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2021-10-28 22:54:44 +0200 | cheater | (~Username@user/cheater) |
2021-10-28 22:57:36 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2021-10-28 22:58:35 +0200 | jstolarek | (~jstolarek@137.220.120.162) (Quit: leaving) |
2021-10-28 23:00:45 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2021-10-28 23:01:09 +0200 | cheater | (~Username@user/cheater) |
2021-10-28 23:05:13 +0200 | fusion86 | (~fusion@2a02-a44c-e6e5-1-2dd3-247f-2e63-c814.fixed6.kpn.net) |
2021-10-28 23:05:25 +0200 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
2021-10-28 23:07:54 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-28 23:08:55 +0200 | <fusion86> | Is there a difference between using the `const` function and simply throwing an argument away using `_`? Ex. https://paste.tomsmeding.com/1McA4jHv |
2021-10-28 23:09:55 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-10-28 23:10:50 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-10-28 23:12:34 +0200 | hseg | (~gesh@185.120.126.13) |
2021-10-28 23:12:34 +0200 | hseg | (~gesh@185.120.126.13) (Client Quit) |
2021-10-28 23:12:49 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-10-28 23:12:49 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-10-28 23:12:52 +0200 | allbery_b | geekosaur |
2021-10-28 23:12:59 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-28 23:15:22 +0200 | <geekosaur> | there is no direct difference between const and discarding the argument. but there is a difference between `foo = ...` where `...` consumes an argument (here via `const`) and `foo _ = ...`, because of the monomorphism restriction |
2021-10-28 23:16:14 +0200 | MoC | (~moc@user/moc) |
2021-10-28 23:17:40 +0200 | <monochrom> | If no constraints are involved, the monomorphism restriction is not triggered. |
2021-10-28 23:19:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-28 23:22:09 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-28 23:28:03 +0200 | fizzsegfaultbuzz | (~segfaultf@135-180-0-138.static.sonic.net) |
2021-10-28 23:28:14 +0200 | segfaultfizzbuzz | (~segfaultf@135-180-0-138.static.sonic.net) (Ping timeout: 246 seconds) |
2021-10-28 23:29:24 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-28 23:30:14 +0200 | faultline | (~christian@nat-eduroam-01.scc.kit.edu) |
2021-10-28 23:33:33 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-10-28 23:33:34 +0200 | Cajun | (~Cajun@user/cajun) |
2021-10-28 23:35:51 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-28 23:43:06 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-10-28 23:49:10 +0200 | xsperry | (~xs@user/xsperry) (Ping timeout: 260 seconds) |
2021-10-28 23:53:26 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |