Logs: freenode/#haskell
| 2020-11-14 19:57:49 | × | avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb) |
| 2020-11-14 19:57:57 | → | mputz joins (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) |
| 2020-11-14 19:58:07 | → | avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be) |
| 2020-11-14 20:00:18 | <Entertainment> | My ~/.stack directory is 10.9 GiB. What do people do to manage this? |
| 2020-11-14 20:00:35 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-14 20:00:54 | <sim590> | merijn: OK. So I realize that the more general approach is to reduce the signature (a -> b -> b) to (b -> b) by partially applying f to all elements of `t a`. Then, those functions (b -> b) are wrapped into a type Endo which is a Monoid with (<>) = (.). Then, by since we now have monoid, it can be used with foldMap and the result is consistent with what we'd expect to happen. |
| 2020-11-14 20:01:03 | → | vacm joins (~vacwm@70.23.92.191) |
| 2020-11-14 20:01:17 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 2020-11-14 20:01:25 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds) |
| 2020-11-14 20:02:10 | <merijn> | sim590: |
| 2020-11-14 20:02:21 | <merijn> | Entertainment: Nuke it once or twice a year? :p |
| 2020-11-14 20:02:31 | <merijn> | That's what I do with cabal-install's store, anyway |
| 2020-11-14 20:03:02 | <geekosaur> | there's some tools to manage it also, I saw one go by on hackage's feed a couple hours ago |
| 2020-11-14 20:03:12 | <Entertainment> | merijn: Thanks, seems simple enough. I've been learning Haskell for a year now so I gues it's time. |
| 2020-11-14 20:03:26 | <merijn> | There was a "work in progress" GC for cabal-install, but it's still a bit ad hoc |
| 2020-11-14 20:04:33 | <merijn> | Entertainment: Basically, for every LTS/snapshot you use stack installs a corresponding GHC and any libraries you use. But since there's no real way for stack to know which projects are on your filesystem that you still work on, there's no real way to effectively "garbage collect" old GHCs/packages (same problem for cabal-install) |
| 2020-11-14 20:05:06 | <Entertainment> | I have a CACHEDIR.TAG file in there to stop .stack from getting backed up, otherwise I think I would have noticed it before now. |
| 2020-11-14 20:05:19 | <merijn> | There's some effort into developing tools for that, but practically speaking you can usually just nuke the package database and let them recompile any dependencies you need as needed (I'm not entirely sure which exact directory to nuke for stack, though!) |
| 2020-11-14 20:05:37 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2020-11-14 20:05:43 | <merijn> | I assume .stack is safe, but maybe some stack user should chime in and confirm first :p |
| 2020-11-14 20:07:17 | × | avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb) |
| 2020-11-14 20:07:27 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2020-11-14 20:07:33 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 2020-11-14 20:09:48 | → | Beaver53 joins (4a823731@cpe-74-130-55-49.kya.res.rr.com) |
| 2020-11-14 20:10:10 | × | ggole quits (~ggole@2001:8003:8119:7200:25f2:4cfe:81d3:cfb8) (Quit: Leaving) |
| 2020-11-14 20:10:26 | × | Beaver53 quits (4a823731@cpe-74-130-55-49.kya.res.rr.com) (Remote host closed the connection) |
| 2020-11-14 20:10:47 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-14 20:14:42 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 2020-11-14 20:15:19 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds) |
| 2020-11-14 20:15:21 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-11-14 20:16:14 | → | avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be) |
| 2020-11-14 20:16:15 | × | vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-11-14 20:17:41 | → | cryptomonad joins (~cryptomon@2601:182:c901:6dc0:f6e6:bb00:40b0:6b8) |
| 2020-11-14 20:17:47 | → | knupfer joins (~Thunderbi@200116b824501f003c1c9afffee0d241.dip.versatel-1u1.de) |
| 2020-11-14 20:17:49 | <sm[m]> | Entertainment, merijn : yeah the easy way is to rm -rf ~/.stack, but as with ~/.cabal you lose some config that way. Instead I run ncdu ~/.stack and just delete the big stuff (old installed GHCs and the haskell deps build for them) |
| 2020-11-14 20:18:06 | <sm[m]> | s/build/built/ |
| 2020-11-14 20:18:58 | × | knupfer quits (~Thunderbi@200116b824501f003c1c9afffee0d241.dip.versatel-1u1.de) (Remote host closed the connection) |
| 2020-11-14 20:19:02 | <merijn> | sm[m]: With cabal you wanna nuke ~/.cabal/store/ghc-XXX nowadays |
| 2020-11-14 20:19:09 | <merijn> | sm[m]: Then you don't lose any config |
| 2020-11-14 20:19:12 | → | knupfer joins (~Thunderbi@200116b824501f00ed681baaa5575dc9.dip.versatel-1u1.de) |
| 2020-11-14 20:19:28 | <sm[m]> | ok, similar with stack |
| 2020-11-14 20:20:12 | <sm[m]> | rm -rf ~/.stack/{programs,snapshots} will delete all installed ghcs and haskell deps |
| 2020-11-14 20:20:55 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-14 20:22:26 | → | Sgeo_ joins (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 2020-11-14 20:22:51 | → | SqueakyBeaver joins (~fjg-ltp@cpe-74-130-55-49.kya.res.rr.com) |
| 2020-11-14 20:22:54 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 2020-11-14 20:23:12 | × | SqueakyBeaver quits (~fjg-ltp@cpe-74-130-55-49.kya.res.rr.com) (Client Quit) |
| 2020-11-14 20:23:31 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-11-14 20:25:17 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-14 20:25:59 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-11-14 20:26:01 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 2020-11-14 20:26:58 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
| 2020-11-14 20:27:10 | → | taurux joins (~taurux@net-188-152-78-21.cust.dsl.teletu.it) |
| 2020-11-14 20:27:28 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 2020-11-14 20:29:16 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 2020-11-14 20:31:04 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-14 20:35:19 | × | fendor quits (~fendor@178.165.130.155.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2020-11-14 20:36:13 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2020-11-14 20:37:26 | → | alp joins (~alp@2a01:e0a:58b:4920:c460:5fc4:5220:7588) |
| 2020-11-14 20:38:08 | → | fendor joins (~fendor@178.165.130.155.wireless.dyn.drei.com) |
| 2020-11-14 20:40:22 | × | jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 272 seconds) |
| 2020-11-14 20:42:38 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 2020-11-14 20:44:14 | → | ransom joins (~c4264035@50-250-153-83-static.hfc.comcastbusiness.net) |
| 2020-11-14 20:44:19 | × | ransom quits (~c4264035@50-250-153-83-static.hfc.comcastbusiness.net) (Client Quit) |
| 2020-11-14 20:46:00 | hackage | criterion 1.5.8.0 - Robust, reliable performance measurement and analysis https://hackage.haskell.org/package/criterion-1.5.8.0 (ryanglscott) |
| 2020-11-14 20:47:23 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds) |
| 2020-11-14 20:48:52 | → | fraktor joins (~walt@129.93.191.18) |
| 2020-11-14 20:50:33 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2020-11-14 20:50:44 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-11-14 20:52:35 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:64a6:6e00:3dc3:e56a) |
| 2020-11-14 20:53:32 | × | knupfer quits (~Thunderbi@200116b824501f00ed681baaa5575dc9.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 2020-11-14 20:54:22 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 2020-11-14 20:54:44 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2020-11-14 20:54:46 | × | lep-delete quits (~lep@94.31.83.149) (Read error: Connection reset by peer) |
| 2020-11-14 20:55:04 | → | lep-delete joins (~lep@94.31.83.149) |
| 2020-11-14 20:56:40 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) |
| 2020-11-14 20:58:44 | × | avn quits (~avn@78-56-108-78.static.zebra.lt) (Ping timeout: 260 seconds) |
| 2020-11-14 20:59:12 | × | jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 260 seconds) |
| 2020-11-14 20:59:30 | hackage | aspell-pipe 0.5 - Pipe-based interface to the Aspell program https://hackage.haskell.org/package/aspell-pipe-0.5 (JonathanDaugherty) |
| 2020-11-14 21:00:01 | × | Fuchs1 quits (~Fuchs@84.39.117.57) () |
| 2020-11-14 21:00:07 | <fraktor> | I'm working on writing a Discord bot in haskell, but the library I'm using, discord-haskell, basically handles the event loop for me. Is there a good way to also be able to receive commands (either from a command-line program or a web frontend) that will update the configuration for the bot? |
| 2020-11-14 21:03:01 | → | vacm joins (~vacwm@70.23.92.191) |
| 2020-11-14 21:04:04 | <merijn> | Put the configuration in an STM variable shared between threads? |
| 2020-11-14 21:04:31 | <merijn> | One thread runs the event loop, the other listens to stuff on the commandline or wherever |
| 2020-11-14 21:05:54 | → | _noblegas joins (uid91066@gateway/web/irccloud.com/x-esdotnkhzzktjnof) |
| 2020-11-14 21:08:00 | → | wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-11-14 21:08:01 | × | Khisanth quits (~Khisanth@166.sub-174-197-147.myvzw.com) (Ping timeout: 264 seconds) |
| 2020-11-14 21:08:10 | × | todda7 quits (~torstein@ppp-2-84-17-169.home.otenet.gr) (Ping timeout: 246 seconds) |
| 2020-11-14 21:08:39 | × | avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb) |
| 2020-11-14 21:09:49 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 2020-11-14 21:10:34 | → | borne joins (~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de) |
| 2020-11-14 21:11:06 | <fraktor> | I'm not sure how I feel about introducing shared state... |
| 2020-11-14 21:11:22 | <merijn> | Well, how else would you possibly update anything? |
| 2020-11-14 21:11:58 | <fraktor> | What I would ideally like is to be able to accept either a Discord event or a message event, and then handle that accordingly, but I'm not sure if that's something I can do with this API. |
| 2020-11-14 21:12:07 | <fraktor> | (part of me was hoping that the author was in this channel and could help out lol) |
| 2020-11-14 21:12:13 | <merijn> | Alternatively, have a single Chan that has events (from the discord library and/or the commandline) and then you can have 1 thread from the discord event loop writing to the Chan and 1 thread listening to the commandline writing to the Chan |
| 2020-11-14 21:13:55 | → | todda7 joins (~torstein@ppp-2-84-17-169.home.otenet.gr) |
| 2020-11-14 21:14:13 | × | LKoen quits (~LKoen@9.253.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 2020-11-14 21:15:08 | <fraktor> | Oh that sounds neat |
| 2020-11-14 21:16:20 | <fraktor> | So I would wrap it in a type like "data Message = Discord DiscordMsg | CommandLine CommandMsg" or something like that? |
All times are in UTC.