Logs on 2023-10-26 (liberachat/#haskell)
| 00:00:35 | <Axman6> | I love coming across cool packages you've hever heard of, replace-attoparsec looks amazing, I love (and am also terrified by) this example: streamEditT (char '{' *> manyTill anyChar (char '}')) (fmap T.pack . getEnv) "- {HOME} -" ==> "- /home/jbrock -" |
| 00:01:31 | × | hpc quits (~juzz@ip98-169-35-163.dc.dc.cox.net) (Quit: Lost terminal) |
| 00:03:41 | × | juri_ quits (~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 255 seconds) |
| 00:05:42 | → | juri_ joins (~juri@84-19-175-187.pool.ovpn.com) |
| 00:08:08 | → | tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) |
| 00:15:45 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) (Ping timeout: 258 seconds) |
| 00:16:14 | <yin> | is MVar really needed in the websockets sample server example? https://github.com/jaspervdj/websockets/blob/master/example/server.lhs |
| 00:16:19 | × | Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 245 seconds) |
| 00:17:39 | <yin> | my understanding is that withPingThread is concurrent but I'm not sure (only today i started looking into concurrent haskell) |
| 00:20:08 | <EvanR> | you really need multiple threads to handle simultaneous client dialogs |
| 00:20:29 | <EvanR> | you can do any concurrent set of tasks with 1 thread by interleaving manually but it's a pain in the ass |
| 00:21:03 | <EvanR> | splitting it into dedicated threads spawned on client connect simplifies it a lot |
| 00:22:02 | <EvanR> | if the threads need to coordinate at all you need something like MVar, or TVar, or sometimes just an IORef will work |
| 00:24:50 | → | [_] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 00:28:51 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
| 00:36:32 | <jackdk> | Axman6 often raves about the `atomicModifyIORef'` trick in place of using `MVar` |
| 00:46:03 | <geekosaur> | if that's all you need, sure |
| 00:47:04 | → | ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com) |
| 00:49:05 | × | Square3 quits (~Square4@user/square) (Ping timeout: 240 seconds) |
| 00:50:17 | × | _leo___ quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
| 00:50:32 | → | _leo___ joins (~emmanuelu@user/emmanuelux) |
| 01:00:15 | × | _leo___ quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
| 01:02:31 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds) |
| 01:02:37 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 01:03:58 | Lord_of_Life_ | is now known as Lord_of_Life |
| 01:05:07 | × | otto_s quits (~user@p5b044b0d.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 01:06:39 | → | otto_s joins (~user@p5b044b15.dip0.t-ipconnect.de) |
| 01:09:28 | → | Noinia joins (~Frank@77-162-168-71.fixed.kpn.net) |
| 01:11:15 | × | puke quits (~puke@user/puke) (Quit: puke) |
| 01:12:48 | → | puke joins (~puke@user/puke) |
| 01:13:31 | × | chomwitt quits (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds) |
| 01:17:48 | <c_wraith> | they have really different operational semantics under write load. it's important to have both options available depending on your use cases |
| 01:22:41 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 01:25:12 | → | accord joins (uid568320@id-568320.hampstead.irccloud.com) |
| 01:42:40 | × | [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 01:50:43 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
| 02:02:03 | <[Leary]> | nyc: In principle, Data.IntSet should be generalised to sets of arbitrary bit strings (there may be a package for this; data-inttrie looks promising), but in practice you can perhaps get away with `IntMap (IntMap (IntMap IntSet))`. If you want to represent dense regions compactly, a finger tree of dense intervals (membership bit arrays with offsets) is extremely efficient. |
| 02:03:10 | × | otto_s quits (~user@p5b044b15.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 02:04:20 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 02:04:46 | → | otto_s joins (~user@p4ff2729b.dip0.t-ipconnect.de) |
| 02:05:56 | → | jinsun_ joins (~jinsun@user/jinsun) |
| 02:05:56 | × | jinsun quits (~jinsun@user/jinsun) (Killed (zinc.libera.chat (Nickname regained by services))) |
| 02:05:56 | jinsun_ | is now known as jinsun |
| 02:06:25 | → | Inst_ joins (~Inst@120.244.192.250) |
| 02:06:44 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:06:44 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:06:44 | finn_elija | is now known as FinnElija |
| 02:18:15 | × | GoldsteinQ quits (~goldstein@goldstein.rs) (Ping timeout: 240 seconds) |
| 02:25:04 | → | emmanuelux_ joins (~emmanuelu@user/emmanuelux) |
| 02:25:14 | × | emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Client Quit) |
| 02:27:35 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 240 seconds) |
| 02:29:13 | × | xff0x quits (~xff0x@ai101218.d.east.v6connect.net) (Ping timeout: 252 seconds) |
| 02:34:51 | × | Ascension quits (~Ascension@176.254.244.83) (Ping timeout: 260 seconds) |
| 02:37:25 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 02:43:40 | × | td_ quits (~td@i5387090F.versanet.de) (Ping timeout: 255 seconds) |
| 02:44:02 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 02:45:06 | → | GoldsteinQ joins (~goldstein@goldstein.rs) |
| 02:45:32 | → | td_ joins (~td@i53870935.versanet.de) |
| 02:59:27 | → | sm joins (~sm@plaintextaccounting/sm) |
| 03:01:50 | × | sm quits (~sm@plaintextaccounting/sm) (Client Quit) |
| 03:04:34 | <Axman6> | My preference for the single atomically modified IORef thing came form a paper looking at implementing concurrent data structures in Haskell using all the usual tricks you'd see in imperative languages, and the highest performing implementation IIRC across the board was just using an immutable structure in an IORef, because the contention on that ref is much cheaper to deal with than pretty much any opther scheme that usually needs multiple atomic variables |
| 03:06:17 | → | kilolympus joins (~kilolympu@31.205.200.235) |
| 03:08:59 | <lockywolf> | Is there a way to not make cabal hardcode paths when building/installing? |
| 03:10:41 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 03:10:43 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 03:10:58 | → | aforemny joins (~aforemny@2001:9e8:6cce:d400:a4f1:e7f8:9aed:6739) |
| 03:12:07 | × | aforemny_ quits (~aforemny@2001:9e8:6ce8:9900:f5fb:12e8:3754:e64f) (Ping timeout: 252 seconds) |
| 03:14:25 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 03:25:47 | → | srk_ joins (~sorki@user/srk) |
| 03:27:45 | → | pixelmonk joins (~pixelmonk@173.46.79.26) |
| 03:27:53 | × | pixelmonk quits (~pixelmonk@173.46.79.26) (Client Quit) |
| 03:27:55 | → | srk| joins (~sorki@user/srk) |
| 03:27:59 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 03:28:53 | × | srk quits (~sorki@user/srk) (Ping timeout: 255 seconds) |
| 03:30:20 | × | srk_ quits (~sorki@user/srk) (Ping timeout: 255 seconds) |
| 03:31:13 | srk| | is now known as srk |
| 03:32:01 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 258 seconds) |
| 03:33:02 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
| 03:33:55 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 03:34:38 | <monochrom> | lockywolf: No. But there is a way to set environment variables at run time to change them. |
| 03:38:44 | → | srk_ joins (~sorki@user/srk) |
| 03:40:47 | <lockywolf> | hackage server |
| 03:41:17 | <lockywolf> | issues |
| 03:41:26 | × | srk quits (~sorki@user/srk) (Ping timeout: 272 seconds) |
| 03:41:38 | srk_ | is now known as srk |
| 03:55:49 | <lockywolf> | sorry, wrong window |
| 04:00:52 | <lockywolf> | If I may ask someone to cosider this issue, it would be great: https://github.com/haskell/hackage-server/issues/1261 |
| 04:03:45 | <Axman6> | Finally found the paper for the concurrent data structures/IORef stuff above: http://simonmar.github.io/bib/papers/concurrent-data.pdf |
| 04:04:16 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 04:04:34 | <Axman6> | lockywolf: this probably isn't the best place to get the attention of the hackage developers, #hackage or #haskell-infrastructure might be better places |
| 04:08:05 | × | accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 04:09:27 | → | Lycurgus joins (~georg@user/Lycurgus) |
| 04:09:28 | × | Lycurgus quits (~georg@user/Lycurgus) (Client Quit) |
| 04:09:56 | × | fryguybob quits (~fryguybob@cpe-24-94-50-22.stny.res.rr.com) (Ping timeout: 255 seconds) |
| 04:10:46 | → | Lycurgus joins (~georg@li1192-118.members.linode.com) |
| 04:10:46 | × | Lycurgus quits (~georg@li1192-118.members.linode.com) (Changing host) |
| 04:10:46 | → | Lycurgus joins (~georg@user/Lycurgus) |
| 04:11:49 | → | fryguybob joins (~fryguybob@cpe-24-94-50-22.stny.res.rr.com) |
| 04:12:28 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 272 seconds) |
| 04:13:03 | → | rosco joins (~rosco@yp-150-69.tm.net.my) |
| 04:13:55 | × | rosco quits (~rosco@yp-150-69.tm.net.my) (Client Quit) |
| 04:14:10 | → | rosco joins (~rosco@yp-150-69.tm.net.my) |
| 04:18:11 | → | pixelmonk joins (~pixelmonk@173.46.79.26) |
| 04:19:44 | → | michalz joins (~michalz@185.246.207.218) |
| 04:21:57 | → | liamzy__ joins (~Inst@120.244.192.250) |
| 04:24:43 | × | Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 252 seconds) |
| 04:25:45 | → | srk_ joins (~sorki@user/srk) |
| 04:26:49 | × | ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 04:27:13 | → | srk| joins (~sorki@user/srk) |
| 04:28:47 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 04:28:58 | × | srk quits (~sorki@user/srk) (Ping timeout: 255 seconds) |
| 04:30:31 | srk| | is now known as srk |
| 04:30:54 | × | pixelmonk quits (~pixelmonk@173.46.79.26) (Quit: WeeChat 4.1.0) |
| 04:31:28 | × | srk_ quits (~sorki@user/srk) (Ping timeout: 272 seconds) |
| 04:39:44 | → | srk_ joins (~sorki@user/srk) |
| 04:41:42 | × | srk quits (~sorki@user/srk) (Ping timeout: 255 seconds) |
| 04:42:34 | srk_ | is now known as srk |
| 04:45:10 | <c_wraith> | Axman6: I've had highly concurrent services fall over on the thundering herd caused by atomic CAS retries on a single hyper-overloaded IORef. admittedly, pushing everything through one IOref was a bad design, but the quick fix of changing it to an MVar worked to keep the service from collapsing in those conditions. |
| 04:46:19 | × | kantokuen quits (~kantokuen@user/kantokuen) (Ping timeout: 245 seconds) |
| 04:49:34 | → | qqq joins (~qqq@92.43.167.61) |
| 04:50:10 | → | kantokuen joins (~kantokuen@user/kantokuen) |
| 04:50:29 | <Axman6> | Yeah there are definitely situations where it makes sense - I feel that if your updates to ther IORef are relatively expensive, you might be able to spread out that contention (particularly when using atomicModifyIORef') |
| 04:50:51 | → | random-jellyfish joins (~tiber@2a02:2f04:11e:c600:3081:413f:53c6:da60) |
| 04:50:52 | × | random-jellyfish quits (~tiber@2a02:2f04:11e:c600:3081:413f:53c6:da60) (Changing host) |
| 04:50:52 | → | random-jellyfish joins (~tiber@user/random-jellyfish) |
| 04:52:22 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 04:53:18 | × | rosco quits (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
| 04:53:38 | × | Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving) |
| 04:54:20 | <lockywolf> | I think this patch should be more or less what is needed: https://github.com/haskell/hackage-server/issues/1261#issuecomment-1780412728 |
| 04:56:04 | × | rgw quits (~R@2605:a601:a0df:5600:e03b:6bd1:41db:b9ff) (Read error: Connection reset by peer) |
| 04:56:27 | → | euleritian joins (~euleritia@dynamic-046-114-224-087.46.114.pool.telefonica.de) |
| 04:59:16 | → | oo_miguel joins (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
| 05:07:13 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 05:08:16 | × | yoyofreeman quits (~yoyofreem@176.97.76.178) (Read error: Connection reset by peer) |
| 05:08:45 | × | euleritian quits (~euleritia@dynamic-046-114-224-087.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 05:09:02 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 05:09:28 | → | yoyofreeman joins (~yoyofreem@176.97.76.178) |
| 05:09:33 | → | rosco joins (~rosco@yp-150-69.tm.net.my) |
| 05:09:45 | → | billchenchina joins (~billchenc@113.57.152.160) |
| 05:11:27 | → | billchenchina- joins (~billchenc@113.57.152.160) |
| 05:14:25 | × | billchenchina quits (~billchenc@113.57.152.160) (Ping timeout: 255 seconds) |
| 05:17:51 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:18:08 | → | harveypwca joins (~harveypwc@2601:246:c280:6a90:837d:db39:3eea:f7db) |
| 05:20:02 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
| 05:20:22 | → | euleritian joins (~euleritia@dynamic-046-114-224-087.46.114.pool.telefonica.de) |
| 05:23:38 | × | Katarushisu1 quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 246 seconds) |
| 05:24:01 | → | cheater_ joins (~Username@user/cheater) |
| 05:25:07 | → | Katarushisu1 joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
| 05:25:18 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 05:25:27 | cheater_ | is now known as cheater |
| 05:25:28 | × | cheater quits (~Username@user/cheater) (Read error: Connection reset by peer) |
| 05:25:53 | → | billchenchina joins (~billchenc@2a0c:b641:7a2:230::10) |
| 05:26:13 | → | cheater_ joins (~Username@user/cheater) |
| 05:26:13 | cheater_ | is now known as cheater |
| 05:27:28 | × | billchenchina- quits (~billchenc@113.57.152.160) (Ping timeout: 255 seconds) |
| 05:29:08 | → | Ascension joins (~Ascension@176.254.244.83) |
| 05:38:26 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 05:48:10 | × | kantokuen quits (~kantokuen@user/kantokuen) (Ping timeout: 255 seconds) |
| 05:49:46 | × | yoyofreeman quits (~yoyofreem@176.97.76.178) (Read error: Connection reset by peer) |
| 05:50:18 | <liamzy__> | tomsmeding: what happened to your mergesort? |
| 05:59:20 | → | simendsjo joins (~user@84.211.91.241) |
| 06:04:54 | × | billchenchina quits (~billchenc@2a0c:b641:7a2:230::10) (Remote host closed the connection) |
| 06:11:44 | → | Jackneill joins (~Jackneill@20014C4E1E03D800C98411028F718695.dsl.pool.telekom.hu) |
| 06:11:56 | → | rosco_ joins (~rosco@yp-150-69.tm.net.my) |
| 06:15:50 | × | rosco quits (~rosco@yp-150-69.tm.net.my) (Ping timeout: 255 seconds) |
| 06:20:54 | × | tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
| 06:23:38 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 06:23:59 | → | srk_ joins (~sorki@user/srk) |
| 06:24:52 | × | euleritian quits (~euleritia@dynamic-046-114-224-087.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 06:25:09 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 06:27:58 | × | srk quits (~sorki@user/srk) (Ping timeout: 258 seconds) |
| 06:28:00 | → | srk| joins (~sorki@user/srk) |
| 06:29:00 | × | srk_ quits (~sorki@user/srk) (Ping timeout: 248 seconds) |
| 06:30:54 | srk| | is now known as srk |
| 06:31:48 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds) |
| 06:32:47 | → | euleritian joins (~euleritia@dynamic-046-114-224-087.46.114.pool.telefonica.de) |
| 06:37:03 | → | srk_ joins (~sorki@user/srk) |
| 06:40:12 | × | srk quits (~sorki@user/srk) (Ping timeout: 248 seconds) |
| 06:40:13 | srk_ | is now known as srk |
| 06:44:25 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:46:46 | → | jtza8 joins (~user@165.255.63.194) |
| 06:47:19 | → | chomwitt joins (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) |
| 06:50:20 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 07:02:05 | × | Vajb quits (~Vajb@2001:999:785:c11e:a1b8:59fa:dee7:e490) (Ping timeout: 240 seconds) |
| 07:02:59 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 07:03:37 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:23f2:3a68:9e37:e105) |
| 07:04:39 | × | Jackneill quits (~Jackneill@20014C4E1E03D800C98411028F718695.dsl.pool.telekom.hu) (Ping timeout: 240 seconds) |
| 07:05:12 | × | euleritian quits (~euleritia@dynamic-046-114-224-087.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 07:05:28 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 07:06:09 | × | liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds) |
| 07:06:15 | → | fendor joins (~fendor@2a02:8388:1640:be00:dc89:8d8:5d44:854b) |
| 07:12:56 | → | billchenchina joins (~billchenc@113.57.152.160) |
| 07:14:38 | → | billchenchina- joins (~billchenc@113.57.152.160) |
| 07:17:24 | × | billchenchina quits (~billchenc@113.57.152.160) (Ping timeout: 240 seconds) |
| 07:20:42 | → | ubert joins (~Thunderbi@178.115.66.131.wireless.dyn.drei.com) |
| 07:23:28 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 07:24:36 | × | billchenchina- quits (~billchenc@113.57.152.160) (Ping timeout: 240 seconds) |
| 07:24:38 | → | billchenchina joins (~billchenc@2a0c:b641:7a2:230::10) |
| 07:29:30 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 07:30:09 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 07:32:53 | → | Lycurgus joins (~georg@li1192-118.members.linode.com) |
| 07:32:53 | × | Lycurgus quits (~georg@li1192-118.members.linode.com) (Changing host) |
| 07:32:53 | → | Lycurgus joins (~georg@user/Lycurgus) |
| 07:34:04 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 248 seconds) |
| 07:34:37 | → | kiriakos joins (~kiriakos@p57b651b6.dip0.t-ipconnect.de) |
| 07:41:08 | × | Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving) |
| 07:45:51 | × | billchenchina quits (~billchenc@2a0c:b641:7a2:230::10) (Remote host closed the connection) |
| 07:47:33 | → | jinsun_ joins (~jinsun@user/jinsun) |
| 07:47:33 | jinsun | is now known as Guest3908 |
| 07:47:33 | × | Guest3908 quits (~jinsun@user/jinsun) (Killed (osmium.libera.chat (Nickname regained by services))) |
| 07:47:33 | jinsun_ | is now known as jinsun |
| 07:55:23 | × | simendsjo quits (~user@84.211.91.241) (Ping timeout: 255 seconds) |
| 07:57:45 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:00:23 | × | jtza8 quits (~user@165.255.63.194) (Changing host) |
| 08:00:23 | → | jtza8 joins (~user@user/jtza8) |
| 08:01:33 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) |
| 08:02:42 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
| 08:04:30 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 08:06:32 | → | vglfr joins (~vglfr@88.155.140.136) |
| 08:09:02 | × | vglfr quits (~vglfr@88.155.140.136) (Remote host closed the connection) |
| 08:09:38 | → | vglfr joins (~vglfr@88.155.140.136) |
| 08:17:19 | × | vglfr quits (~vglfr@88.155.140.136) (Remote host closed the connection) |
| 08:17:46 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:17:55 | → | vglfr joins (~vglfr@88.155.140.136) |
| 08:19:07 | × | vglfr quits (~vglfr@88.155.140.136) (Remote host closed the connection) |
| 08:19:28 | → | chele joins (~chele@user/chele) |
| 08:19:42 | → | vglfr joins (~vglfr@88.155.140.136) |
| 08:22:10 | × | vglfr quits (~vglfr@88.155.140.136) (Remote host closed the connection) |
| 08:22:56 | → | vglfr joins (~vglfr@88.155.140.136) |
| 08:23:08 | → | Lycurgus joins (~georg@user/Lycurgus) |
| 08:25:40 | × | Lycurgus quits (~georg@user/Lycurgus) (Client Quit) |
| 08:30:52 | × | harveypwca quits (~harveypwc@2601:246:c280:6a90:837d:db39:3eea:f7db) (Quit: Leaving) |
| 08:49:35 | × | fendor quits (~fendor@2a02:8388:1640:be00:dc89:8d8:5d44:854b) (Remote host closed the connection) |
| 08:49:55 | → | fendor joins (~fendor@2a02:8388:1640:be00:8798:5fe9:9ffe:940c) |
| 08:55:23 | → | srk_ joins (~sorki@user/srk) |
| 08:56:34 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:56:47 | → | srk| joins (~sorki@user/srk) |
| 08:59:00 | × | srk quits (~sorki@user/srk) (Ping timeout: 258 seconds) |
| 09:00:04 | srk| | is now known as srk |
| 09:00:32 | × | srk_ quits (~sorki@user/srk) (Ping timeout: 258 seconds) |
| 09:03:42 | → | danse-nr3 joins (~francesco@151.47.64.199) |
| 09:05:03 | → | CiaoSen joins (~Jura@2a05:5800:2bd:b300:664b:f0ff:fe37:9ef) |
| 09:10:16 | → | srk_ joins (~sorki@user/srk) |
| 09:12:55 | → | Pickchea joins (~private@user/pickchea) |
| 09:13:14 | × | srk quits (~sorki@user/srk) (Ping timeout: 255 seconds) |
| 09:13:14 | srk_ | is now known as srk |
| 09:17:22 | → | Jackneill joins (~Jackneill@20014C4E1E03D800B8A91DB512DFB3F0.dsl.pool.telekom.hu) |
| 09:24:48 | → | mmhat joins (~mmh@p200300f1c719070fee086bfffe095315.dip0.t-ipconnect.de) |
| 09:25:01 | → | accord joins (uid568320@id-568320.hampstead.irccloud.com) |
| 09:25:34 | × | mmhat quits (~mmh@p200300f1c719070fee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
| 09:31:16 | → | sm joins (~sm@plaintextaccounting/sm) |
| 09:34:58 | → | kantokuen joins (~kantokuen@user/kantokuen) |
| 09:39:22 | → | billchenchina joins (~billchenc@113.57.152.160) |
| 09:44:02 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) (Ping timeout: 246 seconds) |
| 09:47:39 | × | xigua quits (~xigua@user/xigua) (Remote host closed the connection) |
| 09:48:14 | → | xigua joins (~xigua@user/xigua) |
| 09:50:29 | → | sm_ joins (~sm@plaintextaccounting/sm) |
| 09:53:07 | × | sm quits (~sm@plaintextaccounting/sm) (Ping timeout: 264 seconds) |
| 09:53:12 | → | billchenchina- joins (~billchenc@2408:844f:1540:3a14:66f7:dd31:6474:1bb6) |
| 09:54:48 | × | ubert quits (~Thunderbi@178.115.66.131.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
| 09:55:32 | × | billchenchina quits (~billchenc@113.57.152.160) (Ping timeout: 255 seconds) |
| 09:58:43 | × | billchenchina- quits (~billchenc@2408:844f:1540:3a14:66f7:dd31:6474:1bb6) (Remote host closed the connection) |
| 09:59:11 | → | billchenchina- joins (~billchenc@2408:844f:1540:3a14:66f7:dd31:6474:1bb6) |
| 10:00:08 | → | arahael joins (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
| 10:05:24 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 10:05:43 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 10:06:09 | → | euleritian joins (~euleritia@dynamic-046-114-201-209.46.114.pool.telefonica.de) |
| 10:12:59 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 10:14:12 | → | califax joins (~califax@user/califx) |
| 10:16:00 | × | jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 272 seconds) |
| 10:16:07 | <danse-nr3> | runtime system crashes always shock me a bit |
| 10:17:31 | → | jjhoo joins (~jahakala@user/jjhoo) |
| 10:21:32 | × | CiaoSen quits (~Jura@2a05:5800:2bd:b300:664b:f0ff:fe37:9ef) (Ping timeout: 255 seconds) |
| 10:23:00 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds) |
| 10:26:14 | × | rosco_ quits (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
| 10:27:56 | × | ft quits (~ft@p4fc2a529.dip0.t-ipconnect.de) (Quit: leaving) |
| 10:32:50 | × | vglfr quits (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
| 10:32:59 | × | sm_ quits (~sm@plaintextaccounting/sm) (Quit: sm_) |
| 10:33:34 | → | sm joins (~sm@plaintextaccounting/sm) |
| 10:33:35 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 10:35:25 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 10:35:43 | × | sm quits (~sm@plaintextaccounting/sm) (Client Quit) |
| 10:42:34 | × | billchenchina- quits (~billchenc@2408:844f:1540:3a14:66f7:dd31:6474:1bb6) (Remote host closed the connection) |
| 10:51:33 | × | euleritian quits (~euleritia@dynamic-046-114-201-209.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 10:51:34 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 10:51:50 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 10:56:36 | × | _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer) |
| 11:01:25 | → | _xor joins (~xor@72.49.199.93) |
| 11:02:26 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 11:02:51 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:05:20 | → | __monty__ joins (~toonn@user/toonn) |
| 11:06:28 | × | _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer) |
| 11:07:42 | → | falafel joins (~falafel@62.175.113.194.dyn.user.ono.com) |
| 11:08:45 | → | _xor joins (~xor@72.49.199.93) |
| 11:11:03 | × | danse-nr3 quits (~francesco@151.47.64.199) (Ping timeout: 240 seconds) |
| 11:11:08 | × | random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 248 seconds) |
| 11:12:14 | → | random-jellyfish joins (~tiber@user/random-jellyfish) |
| 11:12:39 | → | CiaoSen joins (~Jura@2a05:5800:2bd:b300:664b:f0ff:fe37:9ef) |
| 11:12:45 | × | _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer) |
| 11:14:52 | → | _xor joins (~xor@72.49.199.93) |
| 11:15:33 | × | arahael quits (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Quit: leaving) |
| 11:15:48 | → | arahael joins (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
| 11:17:27 | × | _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer) |
| 11:19:52 | → | _xor joins (~xor@72.49.199.93) |
| 11:20:45 | × | _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer) |
| 11:21:20 | → | xff0x joins (~xff0x@ai101218.d.east.v6connect.net) |
| 11:23:03 | → | _xor joins (~xor@72.49.199.93) |
| 11:24:28 | × | _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer) |
| 11:25:29 | <srk> | I've managed to produce one today using unsafeCoerce. I wonder it this is a valid use for it https://paste.rs/3jD0W.hs and if it is possible to rewrite it using just coerce. (it seems to work currently, unsafeCoerce seems fine for a testsuite only instance but still) |
| 11:26:44 | → | _xor joins (~xor@72.49.199.93) |
| 11:26:50 | <srk> | (forall is redundant, leftover from previous attempts) |
| 11:30:14 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 11:30:59 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 11:35:24 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 11:41:40 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) |
| 11:42:42 | → | Square3 joins (~Square4@user/square) |
| 11:45:26 | × | kilolympus quits (~kilolympu@31.205.200.235) (Quit: See you later! :)) |
| 11:48:28 | × | random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 272 seconds) |
| 11:51:07 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) (Ping timeout: 258 seconds) |
| 11:57:55 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 11:58:18 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 12:00:05 | → | simendsjo joins (~user@84.209.170.3) |
| 12:01:38 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 12:03:14 | × | falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds) |
| 12:03:59 | → | coco joins (~user@p5dd9a20e.dip0.t-ipconnect.de) |
| 12:04:03 | <coco> | hi |
| 12:04:34 | <coco> | I'm passing --no-install-ghc to stack, but it still downloads ghc. What am I doing wrong? |
| 12:06:30 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 12:18:24 | → | danse-nr3 joins (~francesco@151.47.64.198) |
| 12:23:21 | <danse-nr3> | srk, which type of crash was that? Segmentation fault? |
| 12:24:55 | × | coco quits (~user@p5dd9a20e.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 12:25:16 | → | vpan joins (~vpan@212.117.1.172) |
| 12:25:35 | vpan | is now known as Guest2756 |
| 12:25:53 | Guest2756 | is now known as vpan |
| 12:28:27 | × | danse-nr3 quits (~francesco@151.47.64.198) (Read error: Connection reset by peer) |
| 12:28:42 | → | danse-nr3 joins (~francesco@151.44.128.52) |
| 12:30:06 | <srk> | danse-nr3: yes, but that's kind-of expected when you mis-use unsafe* stuff |
| 12:31:17 | → | random-jellyfish joins (~tiber@2a02:2f04:11e:c600:3458:8bb4:861c:95b2) |
| 12:31:17 | × | random-jellyfish quits (~tiber@2a02:2f04:11e:c600:3458:8bb4:861c:95b2) (Changing host) |
| 12:31:17 | → | random-jellyfish joins (~tiber@user/random-jellyfish) |
| 12:46:10 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:55:42 | → | danse-nr3_ joins (~francesco@151.43.173.25) |
| 12:58:26 | × | danse-nr3 quits (~francesco@151.44.128.52) (Ping timeout: 260 seconds) |
| 12:59:03 | × | dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection) |
| 13:00:50 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
| 13:02:14 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 13:02:15 | → | dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 13:02:15 | × | dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection) |
| 13:02:44 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 13:03:18 | × | danse-nr3_ quits (~francesco@151.43.173.25) (Remote host closed the connection) |
| 13:03:41 | → | danse-nr3_ joins (~francesco@151.43.173.25) |
| 13:13:46 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 13:17:24 | × | lambdap2371 quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap2371) |
| 13:17:41 | → | lambdap2371 joins (~lambdap@static.167.190.119.168.clients.your-server.de) |
| 13:21:18 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
| 13:30:46 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 255 seconds) |
| 13:32:24 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 13:34:26 | → | kupi joins (uid212005@id-212005.hampstead.irccloud.com) |
| 13:40:30 | → | Pickchea joins (~private@user/pickchea) |
| 13:48:25 | × | simendsjo quits (~user@84.209.170.3) (Ping timeout: 258 seconds) |
| 13:54:59 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 13:57:50 | × | CO2 quits (CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.0) |
| 13:58:14 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) |
| 13:59:43 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 255 seconds) |
| 14:07:40 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 14:08:18 | → | euleritian joins (~euleritia@dynamic-046-114-206-102.46.114.pool.telefonica.de) |
| 14:08:58 | × | _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer) |
| 14:09:17 | → | vglfr joins (~vglfr@88.155.140.136) |
| 14:09:52 | → | _xor joins (~xor@72.49.199.93) |
| 14:12:08 | → | Lycurgus joins (~georg@user/Lycurgus) |
| 14:13:06 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 14:14:44 | × | jtza8 quits (~user@user/jtza8) (Ping timeout: 255 seconds) |
| 14:16:46 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:19:02 | × | euleritian quits (~euleritia@dynamic-046-114-206-102.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 14:19:19 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 14:26:43 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 14:27:33 | → | billchenchina joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 14:28:14 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
| 14:28:36 | → | euleritian joins (~euleritia@dynamic-046-114-206-102.46.114.pool.telefonica.de) |
| 14:29:52 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 14:31:13 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 14:31:26 | × | billchenchina quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
| 14:31:30 | × | euleritian quits (~euleritia@dynamic-046-114-206-102.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 14:31:41 | → | billchenchina joins (~billchenc@2408:824e:d25:b11:d040:81bb:144:724d) |
| 14:31:49 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 14:32:21 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 260 seconds) |
| 14:33:54 | → | terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::) |
| 14:34:27 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 14:34:40 | → | aljazmc joins (~aljazmc@user/aljazmc) |
| 14:35:01 | × | Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving) |
| 14:38:24 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:38:31 | × | John_Ivan_ quits (~John_Ivan@user/john-ivan/x-1515935) (Read error: Connection reset by peer) |
| 14:38:40 | → | John_Ivan_ joins (~John_Ivan@user/john-ivan/x-1515935) |
| 14:41:22 | × | CiaoSen quits (~Jura@2a05:5800:2bd:b300:664b:f0ff:fe37:9ef) (Ping timeout: 272 seconds) |
| 14:41:22 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 14:42:11 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 14:45:14 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 14:48:43 | × | aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection) |
| 14:49:04 | → | sabino joins (~sabino@user/sabino) |
| 14:50:39 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:55:27 | → | rgw joins (~R@2605:a601:a0df:5600:589:1f53:7d7d:df53) |
| 15:00:42 | → | billchenchina- joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 15:00:54 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 15:01:20 | → | euleritian joins (~euleritia@dynamic-046-114-206-102.46.114.pool.telefonica.de) |
| 15:03:10 | × | billchenchina quits (~billchenc@2408:824e:d25:b11:d040:81bb:144:724d) (Ping timeout: 258 seconds) |
| 15:03:21 | × | billchenchina- quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
| 15:03:47 | → | billchenchina- joins (~billchenc@103.152.35.21) |
| 15:06:10 | × | haskellbridge quits (~haskellbr@069-135-003-034.biz.spectrum.com) (Ping timeout: 255 seconds) |
| 15:11:10 | → | CO2 joins (CO2@gateway/vpn/protonvpn/co2) |
| 15:12:14 | → | ski joins (~ski@88.131.7.247) |
| 15:14:24 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:14:55 | × | danse-nr3_ quits (~francesco@151.43.173.25) (Remote host closed the connection) |
| 15:15:20 | → | danse-nr3_ joins (~francesco@151.43.173.25) |
| 15:15:31 | × | arahael quits (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
| 15:15:59 | × | billchenchina- quits (~billchenc@103.152.35.21) (Read error: Connection reset by peer) |
| 15:17:16 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) (Remote host closed the connection) |
| 15:17:33 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) |
| 15:17:35 | → | billchenchina joins (~billchenc@103.152.35.21) |
| 15:19:03 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:23f2:3a68:9e37:e105) (Quit: WeeChat 2.8) |
| 15:19:24 | × | euleritian quits (~euleritia@dynamic-046-114-206-102.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 15:19:41 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 15:30:37 | × | haveo quits (~haveo@sl35.iuwt.fr) (Ping timeout: 255 seconds) |
| 15:32:31 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 15:33:13 | → | tiber_ joins (~tiber@213.233.108.178) |
| 15:33:19 | × | random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 264 seconds) |
| 15:35:07 | → | haveo joins (~haveo@sl35.iuwt.fr) |
| 15:37:44 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 15:38:08 | → | haskellbridge joins (~haskellbr@069-135-003-034.biz.spectrum.com) |
| 15:38:08 | ChanServ | sets mode +v haskellbridge |
| 15:38:09 | × | haskellbridge quits (~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection) |
| 15:38:33 | → | haskellbridge joins (~haskellbr@069-135-003-034.biz.spectrum.com) |
| 15:38:33 | ChanServ | sets mode +v haskellbridge |
| 15:39:24 | → | notzmv joins (~zmv@user/notzmv) |
| 15:45:19 | × | ski quits (~ski@88.131.7.247) (Ping timeout: 255 seconds) |
| 15:48:04 | × | califax quits (~califax@user/califx) (Ping timeout: 256 seconds) |
| 15:50:28 | → | gmg joins (~user@user/gehmehgeh) |
| 15:52:25 | → | califax joins (~califax@user/califx) |
| 15:53:46 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 15:54:37 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 16:00:44 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 16:01:25 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 16:02:07 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 16:02:40 | → | tiber__ joins (~tiber@2a02:2f04:11e:c600:895a:e128:f425:deba) |
| 16:03:35 | × | tiber_ quits (~tiber@213.233.108.178) (Ping timeout: 240 seconds) |
| 16:05:38 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 256 seconds) |
| 16:06:15 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:07:18 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 16:08:02 | × | fendor quits (~fendor@2a02:8388:1640:be00:8798:5fe9:9ffe:940c) (Ping timeout: 255 seconds) |
| 16:09:08 | × | lbseale quits (~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 16:09:39 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 16:10:01 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 16:10:28 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 16:16:07 | <danse-nr3_> | what is the term of part of a module path as in Term1.Term2.Module? |
| 16:16:51 | <c_wraith> | as far as Haskell-the-language is concerned, it's all just the module name. |
| 16:17:06 | × | lbseale quits (~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 16:17:15 | <danse-nr3_> | yeah did not find anything more specific in haskell.org/onlinereport/modules.html. Cheers |
| 16:17:15 | <c_wraith> | module names may contain dots. those dots do not imply any sort of hierarchy or relationship, internally |
| 16:18:00 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 16:19:09 | <EvanR> | I don't understand the context-free grammar for that |
| 16:19:18 | <EvanR> | modid |
| 16:19:36 | <EvanR> | it's defined as a conid, but those don't have periods? |
| 16:20:29 | <c_wraith> | err. I'm seeing "modid → {conid .} conid" |
| 16:21:06 | <EvanR> | ok I was looking at haskell 98 |
| 16:21:19 | <c_wraith> | ah, yes. Haskell98 did not allow . in module names |
| 16:21:35 | × | Square3 quits (~Square4@user/square) (Ping timeout: 240 seconds) |
| 16:21:48 | <c_wraith> | Though that was added very shortly thereafter |
| 16:21:48 | <EvanR> | a simpler time! |
| 16:22:14 | <danse-nr3_> | my fault had that link in my history ... |
| 16:22:56 | <c_wraith> | "Because they are allowed to be mutually recursive, modules allow a program to be partitioned freely without regard to dependencies" |
| 16:23:15 | <c_wraith> | Oh, if only that were practically true in GHC.... |
| 16:24:05 | × | vpan quits (~vpan@212.117.1.172) (Quit: Leaving.) |
| 16:26:03 | <EvanR> | GHC is imperfect, my code runs on platonic haskell |
| 16:26:14 | <EvanR> | in the platonic realm |
| 16:26:41 | → | fendor joins (~fendor@2a02:8388:1640:be00:8798:5fe9:9ffe:940c) |
| 16:34:36 | → | tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
| 16:37:41 | <carbolymer> | a nix related question, how can I add tools to my devshell here: https://gitlab.com/carbolymer/haskell-sandbox/-/blob/master/flake.nix?ref_type=heads#L45 ? |
| 16:37:58 | × | danse-nr3_ quits (~francesco@151.43.173.25) (Ping timeout: 255 seconds) |
| 16:42:03 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 16:42:45 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 16:43:47 | <srk> | carbolymer: mkShell |
| 16:44:46 | <tomsmeding> | @tell liamzy__ https://github.com/haskell/play-haskell/issues/25 |
| 16:44:47 | <lambdabot> | Consider it noted. |
| 16:45:03 | <tomsmeding> | not that I think they'll take that nick again, but perhaps |
| 16:47:26 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 16:52:10 | <carbolymer> | srk: doesn't seem to be exactly what I need - it tries to recompile packages: https://bpa.st/ABIA |
| 16:54:33 | <[Leary]> | carbolymer: Try `devShells.default = pkgs.haskellPackages.shellFor { packages = hp: [ hp.haskellSandbox ]; nativeBuildInputs = [ tool1 tool2 ... ]; };` |
| 16:54:44 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 16:57:07 | <carbolymer> | [Leary]: seems to be it, thanks! |
| 17:02:25 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 17:04:58 | → | WzC joins (~Frank@77-162-168-71.fixed.kpn.net) |
| 17:06:35 | × | vglfr quits (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
| 17:06:46 | × | Noinia quits (~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 17:07:59 | × | AlexZenon quits (~alzenon@178.34.162.116) (Ping timeout: 255 seconds) |
| 17:12:10 | <srk> | carbolymer: I think it would work using inputsFrom = [ pkgs.haskellPackages.haskellSandbox.env.buildInputs ]; but [Leary]s solution is better for sure |
| 17:17:07 | × | tiber__ quits (~tiber@2a02:2f04:11e:c600:895a:e128:f425:deba) (Ping timeout: 264 seconds) |
| 17:18:57 | → | kilolympus joins (~kilolympu@31.205.200.235) |
| 17:20:50 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:21:13 | <carbolymer> | srk: what's the advantage of shellFor? |
| 17:28:30 | <dostoyevsky2> | Beginner question: When you look at code like <<ParseSuccess r' s'' n' m' → ParseSuccess r' s'' (n + n') (furthest m (offset n . m'))>> -- how do you know what's a string? (This is from geordi's source code, #c++ eval bot) |
| 17:28:57 | → | AlexZenon joins (~alzenon@178.34.162.116) |
| 17:29:33 | <EvanR> | is that actual haskell |
| 17:29:54 | <geekosaur> | with UnicodeSyntax |
| 17:30:28 | <EvanR> | is it type level or term level |
| 17:30:36 | <EvanR> | I can't read it |
| 17:30:57 | <carbolymer> | is there a type level dot? |
| 17:30:57 | <EvanR> | I am skeptical of this being a beginner question |
| 17:31:10 | <dostoyevsky2> | EvanR: https://github.com/Eelis/geordi/tree/master <- github says it's Haskell 78.6% |
| 17:31:32 | <ghoulguy> | That looks like a case branch |
| 17:32:00 | <EvanR> | oh, is << and >> quotation marks in your language |
| 17:32:13 | <geekosaur> | yeh |
| 17:32:22 | <geekosaur> | «» |
| 17:33:22 | <dostoyevsky2> | EvanR: Normally I'd quote LaTeX-style `' but that's confusing if the code itself contains ' |
| 17:33:23 | <EvanR> | dostoyevsky2, it's very helpful to look around for type signatures to help you identify what is what type |
| 17:34:17 | <EvanR> | hopefully they put type signatures |
| 17:34:41 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) (Remote host closed the connection) |
| 17:34:52 | <dostoyevsky2> | > if before' == before then mzero else return $ before' ++ (if c == ']' then "" else " [with") |
| 17:34:53 | <lambdabot> | error: Variable not in scope: before'error: Variable not in scope: beforeerr... |
| 17:35:19 | <dostoyevsky2> | I can guess that before' is probably a derived variable and ']' is a char... but not sure what the actual syntax rules are here |
| 17:35:44 | <EvanR> | before' and before are variables, ']' is a Char literal |
| 17:36:20 | <EvanR> | that they are being compared for equality doesn't narrow down the types much |
| 17:36:52 | <EvanR> | > [3.14 == 7.3, 'a' == 'a', False == True] |
| 17:36:53 | <lambdabot> | [False,True,False] |
| 17:37:02 | <mauke> | before' is being concatenated with a String, which helps |
| 17:37:10 | <dostoyevsky2> | https://github.com/Eelis/geordi/blob/master/src/ErrorFilters.hs <- it mentions String a lot (since it's cleaning up gcc error messages) so I guess they are Strings |
| 17:37:13 | <geekosaur> | but the rest does; absent OverloadedTypes it looks like before' and therefore before are String |
| 17:37:42 | <mauke> | also, it's using ++ to do so, which nails down the type to [a] in any case |
| 17:37:57 | <geekosaur> | true |
| 17:39:13 | <mauke> | dostoyevsky2: in your original question, nothing is a string |
| 17:39:13 | <EvanR> | dostoyevsky2, 94 is where before is introduced, and comes from manyTill, which produces a list, anyChar is a parser which produces a Char, so you have [Char]. Which String is a synonym of |
| 17:39:21 | <mauke> | it's pretty generic code |
| 17:48:20 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:51:26 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:51:52 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 17:57:53 | → | tabemann__ joins (~tabemann@2600:1700:7990:24e0:a299:50e0:47de:b82a) |
| 17:58:48 | × | tabemann_ quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Read error: Connection reset by peer) |
| 18:01:59 | × | Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
| 18:02:01 | → | Inst joins (~Inst@120.244.192.250) |
| 18:02:07 | <Inst> | what does ghc --info do? |
| 18:02:17 | <Inst> | https://downloads.haskell.org/ghc/latest/docs/users_guide/using.html#ghc-flag---info |
| 18:02:48 | <geekosaur> | dumps the settings with which ghc was built |
| 18:03:40 | → | falafel joins (~falafel@62.175.113.194.dyn.user.ono.com) |
| 18:05:04 | <geekosaur> | https://paste.tomsmeding.com/k0bDPZjI |
| 18:06:53 | <srk> | carbolymer: just a shorthand, you could even ditch shellFor or mkShell for mkDerivation like this https://github.com/HaskellEmbedded/ivory-tower-nix/blob/master/makeshell.nix |
| 18:10:45 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) |
| 18:20:53 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) (Remote host closed the connection) |
| 18:21:08 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) |
| 18:23:28 | × | pixelmonk quits (~pixelmonk@50.205.76.66) (Ping timeout: 252 seconds) |
| 18:26:14 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 18:30:50 | → | vglfr joins (~vglfr@88.155.140.136) |
| 18:32:39 | × | CO2 quits (CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.0) |
| 18:34:12 | → | CO2 joins (CO2@gateway/vpn/protonvpn/co2) |
| 18:35:38 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds) |
| 18:46:02 | × | billchenchina quits (~billchenc@103.152.35.21) (Remote host closed the connection) |
| 18:46:30 | → | stuu22 joins (~stuuu@2a01:c23:94c4:1800:3884:9c63:e0:2f3) |
| 18:46:46 | × | stuu22 quits (~stuuu@2a01:c23:94c4:1800:3884:9c63:e0:2f3) (Client Quit) |
| 18:48:55 | × | falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds) |
| 18:49:35 | × | chomwitt quits (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds) |
| 18:52:42 | → | ash3en joins (~ash3en@2a01:c23:94c4:1800:3884:9c63:e0:2f3) |
| 18:54:15 | <ash3en> | hi, me again: anyone got ld.lld errors when trying to compile for windows? error started to show up when i added aeson to my code. something about undefined symbol. on mac it helped to update to ghc 9.6.2, but no luck on windows with that.. |
| 18:57:36 | × | accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:59:40 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 19:07:33 | → | tiber__ joins (~tiber@2a02:2f04:11e:c600:895a:e128:f425:deba) |
| 19:08:42 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) (Remote host closed the connection) |
| 19:09:55 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 19:16:36 | → | Pickchea joins (~private@user/pickchea) |
| 19:20:11 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds) |
| 19:20:29 | × | ash3en quits (~ash3en@2a01:c23:94c4:1800:3884:9c63:e0:2f3) (Ping timeout: 245 seconds) |
| 19:20:56 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 19:28:22 | → | chomwitt joins (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) |
| 19:28:22 | × | vglfr quits (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
| 19:34:00 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 19:34:36 | × | chomwitt quits (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) (Ping timeout: 272 seconds) |
| 19:35:16 | → | ash3en joins (~ash3en@2a01:c23:94c4:1800:3884:9c63:e0:2f3) |
| 19:38:09 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 19:38:47 | × | pixelmonk quits (~pixelmonk@50.205.76.66) (Ping timeout: 258 seconds) |
| 19:38:52 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
| 19:41:05 | × | ash3en quits (~ash3en@2a01:c23:94c4:1800:3884:9c63:e0:2f3) (Ping timeout: 258 seconds) |
| 19:42:01 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 19:43:28 | × | tiber__ quits (~tiber@2a02:2f04:11e:c600:895a:e128:f425:deba) (Ping timeout: 272 seconds) |
| 19:43:51 | × | megaTherion quits (~therion@unix.io) (Ping timeout: 240 seconds) |
| 19:44:07 | → | megaTherion joins (~therion@unix.io) |
| 19:44:14 | → | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 19:44:17 | → | gmg joins (~user@user/gehmehgeh) |
| 19:45:18 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) |
| 19:45:56 | → | Square joins (~Square@user/square) |
| 19:50:19 | <Inst> | performance wise, what does having a phantom type do with regard to performance? |
| 19:50:58 | × | masterbuilder quits (~masterbui@user/masterbuilder) (Ping timeout: 260 seconds) |
| 19:51:32 | <EvanR> | nothing, types don't exist at runtime |
| 19:51:47 | <monochrom> | Bayesianly I could claim that 90% of phantom types don't add any cost because 90% of phantom types I've seen don't add any cost. |
| 19:52:30 | <monochrom> | But honestly you should just look at how a specific phantom type is actually defined, then it is obvious because you already know how "data" works and how "newtype" works. |
| 19:52:55 | <Inst> | i'm assuming phantom type parameters affect optimization |
| 19:52:56 | <monochrom> | Proxy is the other 10%. |
| 19:53:40 | <EvanR> | if proxy is costing something, it's not because of phantom types |
| 19:53:57 | → | sm joins (~sm@plaintextaccounting/sm) |
| 19:53:58 | <EvanR> | but because of type class and ad hoc polymorphism |
| 19:54:11 | <EvanR> | which is something at runtime |
| 19:54:16 | <monochrom> | Well, Proxy is the other 9%, :~: is the remaining 1%. Or something. |
| 19:55:05 | <EvanR> | Inst, care to elaborate |
| 19:55:45 | <Inst> | 斯塔特# 佛日instanceis泼了一抹热平衡ic, 日光和他? |
| 19:55:51 | <Inst> | State for instance is polymorphic, right? |
| 19:55:58 | → | eggplant_ joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 19:56:35 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) (Ping timeout: 240 seconds) |
| 19:57:17 | <Inst> | State#, I mean |
| 19:57:26 | <Inst> | but it's all weird polymorphism tricks afaik |
| 19:58:21 | <EvanR> | newtypes don't exist at runtime, phantom type params or not |
| 19:58:56 | <Inst> | https://hackage.haskell.org/package/base-4.19.0.0/docs/GHC-Exts.html#t:State-35- |
| 19:59:20 | <c_wraith> | monochrom: I'm not sure I buy that the arguments to :~: are actually phantom, because the constructor *does* use them. |
| 19:59:28 | <monochrom> | Pretty sure this kind of qualitative reasoning gets you nowhere. |
| 19:59:34 | <Inst> | look at https://github.com/haskell/cabal/blame/master/Cabal/src/Distribution/GetOpt.hs |
| 20:00:00 | <EvanR> | what am I looking at |
| 20:00:01 | <Inst> | ArgOrder a, it had its polymorphic error type factored out |
| 20:00:20 | × | eggplant_ quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 20:00:23 | <Inst> | so i'm surprised when that got factored out, no one thought to change it to ArgOrder instead of ArgOrder a, with a phantom |
| 20:00:38 | <Inst> | compare: |
| 20:00:39 | <Inst> | https://hackage.haskell.org/package/base-4.19.0.0/docs/src/System.Console.GetOpt.html#getOpt |
| 20:01:03 | <monochrom> | c_wraith: Fortunately under Bayesianism I have factored in an estimate of how many people consider it a phantom type in my total probability >:) |
| 20:01:47 | <EvanR> | removing the phantom from ArgOrder a only affects the type checking and that's it |
| 20:02:00 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 20:02:33 | <EvanR> | and then you can write more programs by mixing ArgOrders differently, affecting performance, I guess |
| 20:08:11 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 20:15:32 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 256 seconds) |
| 20:15:32 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 20:17:27 | → | sansk joins (~sansk@user/sansk) |
| 20:17:55 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 20:18:29 | × | sm quits (~sm@plaintextaccounting/sm) (Quit: sm) |
| 20:19:58 | × | fendor quits (~fendor@2a02:8388:1640:be00:8798:5fe9:9ffe:940c) (Remote host closed the connection) |
| 20:22:34 | → | Inst_ joins (~Inst@120.244.192.250) |
| 20:24:53 | × | Inst quits (~Inst@120.244.192.250) (Ping timeout: 246 seconds) |
| 20:28:55 | → | sm joins (~sm@plaintextaccounting/sm) |
| 20:29:30 | × | sm quits (~sm@plaintextaccounting/sm) (Client Quit) |
| 20:33:47 | → | Square3 joins (~Square4@user/square) |
| 20:35:51 | × | Inst_ quits (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
| 20:36:03 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:36:19 | × | Square quits (~Square@user/square) (Ping timeout: 245 seconds) |
| 20:41:31 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 20:48:52 | → | Lycurgus joins (~georg@user/Lycurgus) |
| 20:49:02 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
| 20:52:29 | → | masterbuilder joins (~masterbui@user/masterbuilder) |
| 20:57:28 | × | pixelmonk quits (~pixelmonk@50.205.76.66) (Ping timeout: 260 seconds) |
| 21:00:26 | → | Guest|62 joins (~Guest|62@158.181.77.54) |
| 21:06:08 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:06:44 | × | Jackneill quits (~Jackneill@20014C4E1E03D800B8A91DB512DFB3F0.dsl.pool.telekom.hu) (Ping timeout: 245 seconds) |
| 21:10:46 | → | pavonia joins (~user@user/siracusa) |
| 21:11:55 | × | Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving) |
| 21:14:34 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 21:22:11 | → | zero joins (~z@user/zero) |
| 21:25:21 | × | yin quits (~z@user/zero) (Ping timeout: 258 seconds) |
| 21:25:40 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 21:26:29 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:33:46 | → | vglfr joins (~vglfr@88.155.140.136) |
| 21:34:11 | × | sansk quits (~sansk@user/sansk) (Quit: WeeChat 4.0.4) |
| 21:35:22 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:36:34 | <shapr> | @quote tromp |
| 21:36:34 | <lambdabot> | tromp says: the number of legal 17x17 Go positions is 9895749638558742166 modulo 18446744073709551577 :) |
| 21:37:25 | <tromp> | @quote shapr |
| 21:37:25 | <lambdabot> | shapr says: I can has lambda now? |
| 21:37:29 | <shapr> | haha |
| 21:37:34 | <shapr> | howdy tromp, how's life? |
| 21:37:51 | <tromp> | jolly good, but missing the summer weather |
| 21:37:55 | <shapr> | yeah, same here |
| 21:38:19 | → | Inst_ joins (~Inst@120.244.192.250) |
| 21:43:00 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 21:50:51 | → | liamzy__ joins (~Inst@120.244.192.250) |
| 21:51:17 | × | michalz quits (~michalz@185.246.207.218) (Remote host closed the connection) |
| 21:53:17 | → | CiaoSen joins (~Jura@2a05:5800:2bd:b300:664b:f0ff:fe37:9ef) |
| 21:53:43 | × | Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 264 seconds) |
| 21:53:50 | × | Guest|62 quits (~Guest|62@158.181.77.54) (Quit: Connection closed) |
| 21:56:56 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 21:58:47 | × | vglfr quits (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
| 21:59:58 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 22:04:15 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:06:43 | → | falafel joins (~falafel@62.175.113.194.dyn.user.ono.com) |
| 22:10:59 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) |
| 22:12:37 | → | accord joins (uid568320@id-568320.hampstead.irccloud.com) |
| 22:13:58 | → | mekeor joins (~user@2001:a61:10c6:e601:550e:a048:6ed7:5ec4) |
| 22:15:18 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 22:19:03 | → | falafel_ joins (~falafel@143.244.47.73) |
| 22:19:49 | × | falafel_ quits (~falafel@143.244.47.73) (Remote host closed the connection) |
| 22:20:43 | × | falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 264 seconds) |
| 22:20:50 | → | Inst_ joins (~Inst@120.244.192.250) |
| 22:21:54 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Ping timeout: 256 seconds) |
| 22:23:20 | × | liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds) |
| 22:27:45 | → | ania123 joins (~ania123@wl-pool2-ont-004.uni-muenster.de) |
| 22:29:39 | <Inst_> | playing around with DLists |
| 22:29:42 | <Inst_> | they're not functors, are they? |
| 22:29:46 | <Inst_> | they seem to be invariant functors? |
| 22:30:08 | <EvanR> | not functors? |
| 22:30:23 | <EvanR> | they're isomorphic to list |
| 22:30:54 | <Inst_> | a fmap on a dlist would be |
| 22:31:14 | <Inst_> | define a fmap on a dlist, then? |
| 22:31:56 | × | johnw quits (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in) |
| 22:32:45 | <int-e> | :t \f xs -> (++) (f <$> xs []) |
| 22:32:46 | <lambdabot> | (a1 -> a2) -> ([a3] -> [a1]) -> [a2] -> [a2] |
| 22:33:01 | <exarkun> | which DList do you mean? |
| 22:35:38 | <int-e> | Inst_: note that DList isn't simply any function d :: [a] -> [a]; it also maintains the invariant that d xs = d [] ++ xs. |
| 22:36:07 | <Inst_> | fine, i saw the RWH implementation |
| 22:36:10 | <Inst_> | but that's O(n) |
| 22:36:10 | <int-e> | And that in turn allows you to define a functor instance by going via lists. |
| 22:36:11 | <Inst_> | yuck |
| 22:36:58 | <int-e> | you're going to apply the function for each list element anyway... and it is lazy |
| 22:36:59 | → | ski joins (~ski@c188-148-130-34.bredband.tele2.se) |
| 22:37:08 | <Inst_> | yeah, thinking it through |
| 22:38:02 | → | swamp_ joins (~zmt00@user/zmt00) |
| 22:38:25 | <Inst_> | also, how do I get an analogue to replicate for DLists? |
| 22:38:42 | <EvanR> | @src replicate |
| 22:38:42 | <lambdabot> | replicate n x = take n (repeat x) |
| 22:38:52 | → | falafel_ joins (~falafel@62.175.113.194.dyn.user.ono.com) |
| 22:39:00 | <Inst_> | i defined my own replicate, I thought replicateM would solve my problem, but nooope |
| 22:39:31 | <Inst_> | my hanoi program is too unperformant, partially because i'm defining the screens via lists |
| 22:39:32 | <int-e> | fromList (replicate n x) is just fine? |
| 22:39:36 | <EvanR> | well, just use replicate directly and ++ on DList should work |
| 22:40:05 | <Inst_> | well, it's probably because i'm calling SGR functions from Console.Terminal.ANSI on every print char |
| 22:40:15 | <Inst_> | ColoredChar = MkCC [SGR] Char |
| 22:41:05 | <Inst_> | putColoredChar (MkCC sgr char) = setSGR sgr >> putChar char >> setSGR defaults |
| 22:41:06 | <EvanR> | towers of hanoi uses stacks right, so normal lists are the best choice |
| 22:41:16 | <int-e> | In many cases, DList isn't really faster than plain lists... its main benefit is that it cures the quadratic blowup from left-associative list concatenation. |
| 22:41:33 | <Inst_> | yeah and I'm using that to define my lists trivially :( |
| 22:41:35 | <int-e> | So if your code doesn't suffer from that, DList won't help you much. |
| 22:42:04 | <int-e> | (And possibly even hurt? I don't really know.) |
| 22:42:04 | × | zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 272 seconds) |
| 22:42:46 | <Inst_> | three times I saw DLists, one, ben gamari dumped a dlist implementation for some lexer he was writing |
| 22:42:50 | <Inst_> | well, two times |
| 22:42:51 | <int-e> | Somehow my main use of DList (well, Endo [a]) is for the writer monad. |
| 22:42:52 | <Inst_> | second time, sort |
| 22:43:27 | <int-e> | (Which does suffer from left-biased nested concatenation.) |
| 22:44:23 | <EvanR> | if you only append 1 item at a time then finally start consuming from the beginning, you can use a prepend-then-reverse normal list |
| 22:44:39 | × | Friendship quits (~Friendshi@user/Friendship) (Ping timeout: 240 seconds) |
| 22:44:49 | <EvanR> | Endo [a] lets you append multiple items without having to pre-reverse them |
| 22:45:04 | <EvanR> | but in the end you still have to do something like a reverse on the thunks |
| 22:51:03 | × | falafel_ quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 240 seconds) |
| 22:52:33 | × | Square3 quits (~Square4@user/square) (Remote host closed the connection) |
| 22:53:58 | <Inst_> | i'm annoyed, i have a much nicer tower of hanoi app than the py original, but i can't get it to be performant :( |
| 22:54:17 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:54:54 | <Inst_> | https://media.discordapp.net/attachments/968989726633779215/1167234894691307550/image.png?ex=654d6335&is=653aee35&hm=5c7fc338ec39ac3bccd6c7d165dfae211610b33f4a1087479a8e808e67d399b3&=&width=1288&height=660 |
| 22:55:51 | <Inst_> | https://media.discordapp.net/attachments/968989726633779215/1167235136258064434/image.png?ex=654d636e&is=653aee6e&hm=c1658cc1080286b4c76ef2ab019879e3bc572519033d0ee8731bac03a7d45385&=&width=1200&height=1128 |
| 22:55:54 | <EvanR> | what does "performant" mean here |
| 22:56:18 | <EvanR> | and did you compare it with the python version |
| 22:57:23 | <Inst_> | i mean that every time the screen updates, i get some kind of flicker because it's not printing the output image fast enough :( |
| 23:02:00 | <Inst_> | https://media.discordapp.net/attachments/968989726633779215/1167236641723793418/image.png?ex=654d64d5&is=653aefd5&hm=f2c87a400f5227f5dccef06aab24ab0cd0493417e360a15e62b2314a72e84565&=&width=916&height=1386 |
| 23:02:03 | <Inst_> | py original |
| 23:03:00 | <EvanR> | the performance implied by these screenshots is not apparent to me |
| 23:03:14 | <Inst_> | you can't see the performance issue with the haskell version, tbh |
| 23:03:29 | × | acidjnk quits (~acidjnk@p200300d6e72b93039c291881441b2222.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 23:03:33 | <Inst_> | would need a screenshot, the problem is that it's updating the screen via clearScreen from Console.Terminal.ANSI, then prenting out new text |
| 23:03:41 | <EvanR> | can you like, quantify and measure the performance as you know a number or something |
| 23:05:48 | <Inst_> | do you know where cabal run dumps its profiler? ugh, this is going to suck |
| 23:06:38 | <EvanR> | even just timing how long it takes to run the program with the time command is better than what you've been presenting |
| 23:07:38 | <geekosaur> | is the python program clearing the screen between frames also? |
| 23:08:07 | <geekosaur> | or is it using something like ncurses? |
| 23:08:36 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 23:09:15 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 23:10:23 | → | sansk joins (~sansk@user/sansk) |
| 23:10:35 | <Inst_> | it's not clearing the screen |
| 23:10:55 | <geekosaur> | I suspected not, because that *will* introduce flicker |
| 23:11:50 | <Inst_> | btw, just curious |
| 23:12:03 | <geekosaur> | I'm wondering if you would be better off using vty instead of raw ANSI |
| 23:12:06 | <Inst_> | with cabal, you can force the build-depends to follow -prof, right? |
| 23:12:17 | <Inst_> | well, at least the flicker version SHOULD work on windows |
| 23:12:26 | <geekosaur> | oh right, windows |
| 23:12:33 | <Inst_> | only thing, if you're somehow still on Billy Gates' antiquated moneymaker |
| 23:12:35 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 240 seconds) |
| 23:12:40 | <Inst_> | what's the keypress result of up arrow? |
| 23:12:43 | <geekosaur> | I don't think the Windows compatible release has come out yet |
| 23:12:48 | <Inst_> | I think I need to code it to support windows up arrow presses |
| 23:12:53 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 23:13:19 | <geekosaur> | raw? "\27[A" as a Haskell string |
| 23:14:47 | <geekosaur> | (that is, ASCII ESC, left square bracket, capital A. three characters) |
| 23:15:31 | <geekosaur> | I don't know if this differs on Windows |
| 23:17:06 | <EvanR> | oh windows has this too https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences |
| 23:17:16 | <EvanR> | ESC [ A, unless you reconfigured it |
| 23:18:19 | <Inst_> | ehhh, i guess i might as well reboot and see what windows returns on getChar |
| 23:18:40 | <EvanR> | it's documented right there |
| 23:19:03 | <EvanR> | but verifying IRL is good |
| 23:19:20 | <EvanR> | it would be 3 chars though not 1 |
| 23:19:55 | <Inst_> | nah, my posix version is 3 chars |
| 23:21:01 | <EvanR> | no, it would be 3 actually |
| 23:21:10 | <EvanR> | there are 3 lights |
| 23:22:25 | <Inst_> | when did you jump off the Enterprise anyways? |
| 23:22:53 | <Inst_> | me? Picard, way too disappointing |
| 23:23:38 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:23:57 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 23:24:19 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 23:25:10 | → | ft joins (~ft@p4fc2a529.dip0.t-ipconnect.de) |
| 23:32:04 | × | mekeor quits (~user@2001:a61:10c6:e601:550e:a048:6ed7:5ec4) (Quit: i destroyed my erc. sorry, neverwas. gotta go to bed. ciao) |
| 23:32:32 | <Inst_> | yeah, i'm 100% sure it's an issue with how I'm constructing the display, maybe I've screwed up somewhere |
| 23:33:04 | <Inst_> | using the same clearScreen command in a different program, I don't see flicker |
| 23:34:17 | <geekosaur> | did you change output buffering in any way? |
| 23:34:44 | <geekosaur> | I would probably use BlockBuffering and hFlush after outputting a frame |
| 23:35:21 | <Inst_> | hmmm, this one is missing line buffering |
| 23:35:33 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 23:36:01 | × | arkeet quits (~arkeet@moriya.ca) (Quit: ZNC 1.8.2 - https://znc.in) |
| 23:36:05 | <Inst_> | okay, weirdness goes away with line buffering |
| 23:36:06 | <Inst_> | awesome |
| 23:36:43 | <Inst_> | thanks @geekosaur, for helping me to fix this weird flicker issue <3 |
| 23:37:16 | <EvanR> | I presume there's no performance problem after all |
| 23:37:34 | <Inst_> | just bad config on output :( |
| 23:37:54 | <geekosaur> | well, there was, but not the usual one. character at a time terminal I/O is painfully slow even on modern machines |
| 23:38:08 | <EvanR> | if haskell can't beat python at towers of hanoi that's bad |
| 23:38:18 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 23:38:26 | <EvanR> | seemed unlikely |
| 23:38:40 | <EvanR> | but printing things out can be tricky |
| 23:40:50 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
| 23:45:13 | <Inst_> | i mean the defaults seem questionable |
| 23:45:29 | <Inst_> | but w/e, being ultra-concise isn't a Haskell language goal, it's just a side effect of functional programming |
| 23:47:01 | <geekosaur> | LineBuffering is normally the default on POSIX, is something (maybe ansi-terminal) overriding it? |
| 23:50:03 | <Inst_> | weird |
| 23:50:39 | <Inst_> | probably ansi-terminal |
| 23:54:32 | <Inst_> | oh, it was a cockup on my part |
| 23:55:11 | <Inst_> | i turned it off for some reason |
| 23:59:03 | → | arkeet joins (~arkeet@moriya.ca) |
| 23:59:18 | <geekosaur> | make sure that's stdin instead of stdout |
| 23:59:42 | <geekosaur> | for key reads you want to disable buffering on stdin, but you want to leave it on stdout for output performance |
All times are in UTC on 2023-10-26.