Logs on 2021-07-16 (liberachat/#haskell)
| 00:00:33 | → | dragestil_ joins (~quassel@user/dragestil) |
| 00:00:44 | → | Null_A joins (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) |
| 00:01:10 | → | dajoer joins (~david@user/gvx) |
| 00:01:50 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:02:24 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 00:02:26 | × | Atum_ quits (IRC@user/atum/x-2392232) (Quit: Atum_) |
| 00:02:50 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 00:02:51 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 00:02:53 | <sm> | takeWhileP when you want max speed perhaps |
| 00:04:58 | → | bitmapper joins (uid464869@id-464869.tooting.irccloud.com) |
| 00:05:03 | → | shutdown_-h_now joins (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) |
| 00:10:30 | → | dragestil__ joins (~quassel@user/dragestil) |
| 00:13:52 | × | dragestil_ quits (~quassel@user/dragestil) (Ping timeout: 245 seconds) |
| 00:17:55 | × | shutdown_-h_now quits (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 246 seconds) |
| 00:19:19 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 00:20:01 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 00:21:41 | → | martums joins (~martums@user/martums) |
| 00:21:54 | × | hexfive quits (~eric@50.35.83.177) (Ping timeout: 268 seconds) |
| 00:22:23 | × | stevenxl quits (uid133530@id-133530.highgate.irccloud.com) (Quit: Connection closed for inactivity) |
| 00:23:38 | dragestil__ | is now known as dragestil_ |
| 00:24:05 | → | shutdown_-h_now joins (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) |
| 00:25:13 | → | hexfive joins (~eric@50.35.83.177) |
| 00:27:01 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
| 00:28:04 | × | chisui quits (~chisui@200116b866e14b00954b747ecb7b95bf.dip.versatel-1u1.de) (Ping timeout: 246 seconds) |
| 00:28:17 | × | Null_A quits (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) (Remote host closed the connection) |
| 00:29:31 | → | Null_A joins (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) |
| 00:30:20 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 00:32:01 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 00:32:09 | → | oso joins (~oso@2601:58c:c080:a950:f275:2530:b398:680b) |
| 00:33:28 | → | _xor joins (~xor@74.215.232.67) |
| 00:35:06 | <oso> | just double checking, if I use `Data.Text.toCaseFold` for conversion, I still use `Data.Char.isLower` to check for lowercase letters? |
| 00:35:18 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 00:35:20 | <oso> | I feel like it's a simple and obvious yes but I want to be certain |
| 00:37:37 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 245 seconds) |
| 00:38:32 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 00:41:08 | → | lavaman joins (~lavaman@98.38.249.169) |
| 00:42:27 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 255 seconds) |
| 00:43:18 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 00:44:48 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds) |
| 00:47:26 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 00:49:39 | × | retroid_ quits (~retro@90.218.175.34) (Ping timeout: 268 seconds) |
| 00:50:44 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 00:50:45 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds) |
| 00:51:11 | <Raugh> | oso: try it out in GHCi :) |
| 00:51:13 | → | Vajb joins (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) |
| 00:51:53 | <oso> | I have, I just want to be sure there aren't any edge cases with characters I'm not personally familiar with |
| 00:54:22 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 00:54:31 | × | egoist quits (~egoist@186.235.80.249) (Quit: WeeChat 3.2) |
| 00:55:52 | <Raugh> | I'm not famaliar with the utf8 / char problem space but perhasp something like quickCheck could help aleviate worries? |
| 00:56:23 | <oso> | I'll take a look, thanks |
| 00:58:02 | × | Null_A quits (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) (Remote host closed the connection) |
| 00:58:18 | → | Null_A joins (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) |
| 01:00:33 | → | derelict joins (~derelict@user/derelict) |
| 01:01:18 | × | jneira_ quits (~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Ping timeout: 252 seconds) |
| 01:02:29 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 01:03:52 | × | Deide quits (~Deide@user/deide) (Ping timeout: 252 seconds) |
| 01:10:06 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-51.prtc.net) (Quit: Client closed) |
| 01:13:24 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 01:13:41 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 01:14:34 | → | oxide joins (~lambda@user/oxide) |
| 01:16:00 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:16:33 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:20:00 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 01:20:36 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 01:20:46 | × | hegstal quits (~hegstal@2a02:c7f:7604:8a00:1608:5ddb:ace2:2fb3) (Ping timeout: 268 seconds) |
| 01:21:06 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 01:21:20 | × | Null_A quits (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) (Remote host closed the connection) |
| 01:22:12 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 01:26:50 | → | Deide joins (~Deide@217.155.19.23) |
| 01:26:50 | × | Deide quits (~Deide@217.155.19.23) (Changing host) |
| 01:26:50 | → | Deide joins (~Deide@user/deide) |
| 01:27:00 | × | xff0x quits (~xff0x@2001:1a81:5396:d100:2b35:b634:3ed0:60cf) (Ping timeout: 255 seconds) |
| 01:28:35 | × | Deide quits (~Deide@user/deide) (Client Quit) |
| 01:28:52 | → | xff0x joins (~xff0x@2001:1a81:53d5:b900:e768:175e:26b1:ffc) |
| 01:29:10 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 01:29:11 | → | Guest21 joins (~Guest21@50.47.115.102) |
| 01:29:34 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:30:17 | → | Null_A joins (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) |
| 01:30:28 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:30:32 | × | silverwhitefish quits (~hidden@47.202.102.10) (Quit: One for all, all for One (2 Corinthians 5)) |
| 01:30:33 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 01:32:49 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 01:33:47 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds) |
| 01:34:09 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 01:34:27 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 01:37:02 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 01:37:35 | → | neurocyte0 joins (~neurocyte@45.136.170.21) |
| 01:37:35 | × | neurocyte0 quits (~neurocyte@45.136.170.21) (Changing host) |
| 01:37:35 | → | neurocyte0 joins (~neurocyte@user/neurocyte) |
| 01:38:15 | × | renzhi quits (~xp@2607:fa49:655f:a700::8b9f) (Ping timeout: 255 seconds) |
| 01:41:08 | × | neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 255 seconds) |
| 01:41:08 | neurocyte0 | is now known as neurocyte |
| 01:42:02 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 255 seconds) |
| 01:42:25 | × | Raugh quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 01:44:56 | <dsal> | :t T.toCaseFold |
| 01:44:57 | <lambdabot> | T.Text -> T.Text |
| 01:45:01 | <dsal> | :t T.iSlower |
| 01:45:02 | <lambdabot> | error: Not in scope: ‘T.iSlower’ |
| 01:45:09 | <dsal> | :t Data.Char.isLower |
| 01:45:11 | <lambdabot> | Char -> Bool |
| 01:46:28 | <dsal> | Ah, I've never used `toCaseFold`. I understand why now. :) |
| 01:52:49 | × | Null_A quits (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) (Remote host closed the connection) |
| 01:53:12 | <Clint> | because you have no reason to? |
| 01:53:59 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 01:54:30 | → | Null_A joins (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) |
| 01:54:54 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Ping timeout: 255 seconds) |
| 01:56:21 | <oso> | ...should i not be using it? |
| 01:56:22 | × | Vajb quits (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer) |
| 01:57:00 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 01:57:16 | <geekosaur> | Ideally you use the text-icu package and include locale information |
| 01:57:29 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 268 seconds) |
| 01:57:31 | <geekosaur> | capitalization turns out to be incredibly tricky |
| 01:57:46 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Ping timeout: 268 seconds) |
| 01:58:18 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 01:59:49 | → | oxide joins (~lambda@user/oxide) |
| 02:01:05 | <oso> | wow thanks, text-icu looks very useful |
| 02:02:53 | × | smichel17 quits (~smichel17@c-73-68-217-18.hsd1.ma.comcast.net) (Quit: smichel17) |
| 02:04:48 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 02:06:23 | <dsal> | oso: It depends on what you're doing. As Clint inferred, I've not had a reason to use it, but your use case might need it. Not sure what you're doing. |
| 02:08:06 | <Guest21> | How well does GHC optimize the use of lists? |
| 02:08:07 | <Guest21> | For example, if I have the code |
| 02:08:07 | <Guest21> | main = forM_ [1,3..10] $ print |
| 02:08:08 | <Guest21> | will GHC need to put a list in memory to use this code, or will it be optimized to the equivalent of: |
| 02:08:08 | <Guest21> | int main (void){ |
| 02:08:09 | <Guest21> | for(int i = 1; i <= 10; i += 2) |
| 02:08:09 | <Guest21> | printf("%d\n", i); |
| 02:08:10 | <Guest21> | } |
| 02:09:37 | <dsal> | Guest21: (please use a paste). What happens if you don't put an upper bound on that? Does it work? |
| 02:09:53 | <dsal> | Also, that $ is superfluous. |
| 02:10:58 | <davean> | dsal: I don't feel thats an enlightening question |
| 02:11:47 | <dsal> | Why's that? |
| 02:12:00 | <davean> | dsal: It'll definately work when you don't put an upper bound, even if it does create the list |
| 02:12:17 | <davean> | That has nothing to do with optimization, and everything to do with Haskell being non-strict |
| 02:12:30 | <dsal> | I see what you mean. |
| 02:12:30 | <davean> | So the answer to it in no way addresses their question |
| 02:13:13 | <dsal> | Other than "read core" what's a better way to answer that? |
| 02:13:39 | <Axman6> | Guest21: you can answer that yourself by replacing 10 with 100000000 and seeing if memory usage increases. you can probably also answer it yourrself by looking at the implementation of enumFromThenTo and forM_ and seeing how fprM_ (enumFromThenT1 3 10) print evaluates |
| 02:13:58 | <Axman6> | @src enumFromThenTo |
| 02:13:58 | <lambdabot> | Source not found. My pet ferret can type better than you! |
| 02:14:02 | <davean> | Axman6: GC will grab it as you walk the list |
| 02:14:16 | <davean> | Axman6: You'd have to read the rules at best |
| 02:14:28 | <davean> | and I think thats a core part of the question - different optimization levels will do different things |
| 02:14:39 | <davean> | Guest21: even reifing the list, it'll be faster than I expect you think BTW |
| 02:14:46 | <davean> | Guest21: because it is a bump pointer |
| 02:14:48 | <Axman6> | I can pretty much guarantee no list will ever exist as each value is generated lazily |
| 02:15:08 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 02:15:16 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-118.prtc.net) |
| 02:15:29 | <davean> | Axman6: they're generated lazily sure, but at least at -O0 the list *will* exist, you'll just walk up the list as fast as you create it, and it'll be thrown away every nursery GC |
| 02:15:33 | <davean> | which is VERY cheap |
| 02:15:37 | <davean> | but that does create a list |
| 02:15:43 | <davean> | I think sometimes the list will go away |
| 02:16:02 | <davean> | But I'd have to read core to confirm it - thats not the structure I use for my optimization work so I'm not super familiar with how it compiles down in practice |
| 02:16:28 | × | td_ quits (~td@94.134.91.92) (Ping timeout: 252 seconds) |
| 02:16:35 | <elf_fortrez> | why throw away a list? |
| 02:16:40 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 02:16:45 | <davean> | elf_fortrez: can you expand that question? |
| 02:16:45 | <dsal> | I guess part of the problem is what is actually being asked by "will GHC need to put a list in memory to use this code" Before it starts processing? As an output of the action? Or just literally, the equivalent C code. For the last one, you have to read the core. |
| 02:16:55 | <elf_fortrez> | it is a very versitele data structure |
| 02:16:59 | FinnElija | is now known as Guest6659 |
| 02:16:59 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:16:59 | × | Guest6659 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (strontium.libera.chat (Nickname regained by services))) |
| 02:16:59 | finn_elija | is now known as FinnElija |
| 02:17:21 | <dsal> | It's a fine data structure, but this problem doesn't need a data structure. |
| 02:17:24 | <davean> | elf_fortrez: I feel you didn't follwo the conversation at all - the list is mearly control flow here |
| 02:17:29 | <elf_fortrez> | is the list persistent in a functional language? |
| 02:17:39 | <elf_fortrez> | beautiful |
| 02:17:48 | <dsal> | Oh. I see elf_fortrez entered after the conversation started. :) |
| 02:18:04 | <davean> | Ah yes they did |
| 02:18:13 | → | td_ joins (~td@94.134.91.148) |
| 02:18:15 | <elf_fortrez> | i'm a bit beat up. i just want to wake up |
| 02:18:45 | <davean> | Guest21: So, it may be a few addition instructions off of C, but it will use some constant memory amount, and it will be pretty close in performance to the C forloop |
| 02:18:51 | <elf_fortrez> | the concept of a list as control flow is exciting. to good to be true? |
| 02:18:55 | <davean> | Guest21: there are ways to make sure it is as efficient as the C for loop though |
| 02:19:19 | → | s_ joins (~s@50.34.81.185) |
| 02:20:05 | <elf_fortrez> | isn't haskell about beautiful notation and not speed? |
| 02:20:13 | <davean> | elf_fortrez: "forM_ [1..10] $ something here" uses a list as a very basic control flow for example, theres a general area of study of this I tihnk called co-data? |
| 02:20:28 | <davean> | elf_fortrez: I've optimized Haskell to be faster than C implimentations plenty of times |
| 02:20:54 | <elf_fortrez> | I guess Haskell is the bomb |
| 02:20:54 | <dsal> | elf_fortrez: There's nothing wrong with speed. For some of us, Haskell is our go-to language for most problem solving, so we do both as we go. |
| 02:21:02 | <davean> | Those "beautiful notions" (you said notation but I'm correcting you) can be a way to get perforamnce |
| 02:21:16 | <elf_fortrez> | so it's functional |
| 02:22:13 | <davean> | Yah, I'd say more people code Haskell than know how to use it in production, but I don't think thats all that unusual for a pleasant language to use. |
| 02:22:25 | <davean> | We could certainly better diseminate the practical sides! |
| 02:22:38 | <davean> | There are plenty of us who find it one of the most productive options for production. |
| 02:22:50 | <davean> | Its just not where the excitement seems to tend to be, I guess for obvious reasons. |
| 02:23:17 | <dsal> | There are fancy features I don't ever get to use because I'm just a blue collar hacker. |
| 02:23:34 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 02:24:16 | <davean> | People who do production Haskell tend to shut up and do production Haskell |
| 02:24:17 | → | ukari joins (~ukari@user/ukari) |
| 02:24:21 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 258 seconds) |
| 02:25:26 | <elf_fortrez> | no need to boast i guess, just educate |
| 02:28:04 | <elf_fortrez> | how can i write a circle graph in Haskell? |
| 02:28:13 | <davean> | Haskell Foundation is actively working on trying to diseminate knowlege on that side now |
| 02:28:15 | <elf_fortrez> | in polar coordinates for kicks |
| 02:28:16 | <Axman6> | circle graph? |
| 02:28:25 | <elf_fortrez> | unit circle |
| 02:28:29 | <davean> | We *have* clearly had a problem educating people on the production side. Its not what people are excited to talk about. |
| 02:28:37 | <Axman6> | oh, that type of graph |
| 02:28:50 | <davean> | elf_fortrez: Is this the sort of thing you'd want Diagram for? |
| 02:29:16 | <elf_fortrez> | thanks for the idea, Venn or Euler would be nice |
| 02:29:20 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 258 seconds) |
| 02:29:21 | → | niHiggim joins (~niHiggim@2600:1700:3d41:8600::27) |
| 02:30:24 | <elf_fortrez> | i want to learn the unit circle first so that i try to do the spiral by myself |
| 02:30:42 | <Axman6> | look at the Diagrams package |
| 02:30:50 | <oso> | seems reasonable |
| 02:31:00 | <elf_fortrez> | or Geometry pachage |
| 02:31:59 | <elf_fortrez> | I guess a lazy language attracts lazy people |
| 02:32:22 | <Axman6> | All developers should be lazy, why would you want to do more work than you have to? |
| 02:32:27 | <elf_fortrez> | quoting Larry Perl |
| 02:32:32 | <oso> | i both identify with that and feel like i've put more work into learning haskell than anything else |
| 02:33:01 | <elf_fortrez> | I guess I am too lazy right now to use a search engine |
| 02:33:12 | <elf_fortrez> | i would like to see more code |
| 02:33:19 | <elf_fortrez> | and learn from context |
| 02:34:36 | <elf_fortrez> | i should set the example |
| 02:34:40 | <oso> | i'd send you the code i'm working on but 1) it has no comments and 2) it has nothing to do with diagrams |
| 02:34:47 | → | retroid_ joins (~retro@97e2ba5d.skybroadband.com) |
| 02:37:10 | <elf_fortrez> | why comment when the code is self explanatory |
| 02:37:46 | <davean> | To misslead the gullible |
| 02:38:02 | <oso> | because when you write code only you and god know what it does, and after some time away from it only god does |
| 02:38:04 | <davean> | It catches the people who don't read the code :) |
| 02:49:39 | <dsal> | comments are where you put excuses for not writing better code. |
| 02:50:03 | <dsal> | (which sometimes is hard enough that it's easier to just write a comment describing why you didn't do something more obvious) |
| 02:52:33 | <elf_fortrez> | i forgot maintaining code is the hardest pard |
| 02:53:01 | <dsal> | Sometimes I write functions just to give clearer names to concepts I intend to use. e.g., I wanted `justM :: Monad m => (a -> m ()) -> Maybe a -> m ()` because I was doing something like that a few places and that seemed easier. Turns out, the implementation is just `justM = traverse_` but the signature is the important part. If I just wrote `traverse_` everywhere, it might be less clear. |
| 02:53:51 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds) |
| 02:54:05 | <elf_fortrez> | thanks |
| 03:00:01 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 03:02:23 | × | chexum quits (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
| 03:02:57 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 03:06:55 | → | chexum joins (~chexum@gateway/tor-sasl/chexum) |
| 03:07:55 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 03:08:26 | × | Kaipi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 255 seconds) |
| 03:09:20 | × | pesada quits (~agua@2804:18:43:3e21:1:0:20af:708a) (Ping timeout: 255 seconds) |
| 03:11:35 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
| 03:12:22 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 03:16:00 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 03:16:01 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 03:17:12 | → | agua joins (~agua@2804:18:44:4e2:1:0:22a7:ebf6) |
| 03:17:42 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 265 seconds) |
| 03:18:23 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 03:18:28 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 272 seconds) |
| 03:20:24 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 255 seconds) |
| 03:24:49 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 03:25:10 | × | Guest21 quits (~Guest21@50.47.115.102) (Quit: Client closed) |
| 03:25:37 | → | chexum_ joins (~chexum@gateway/tor-sasl/chexum) |
| 03:28:44 | × | chexum quits (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
| 03:35:47 | × | MidAutumnMoon9 quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge) |
| 03:36:23 | → | MidAutumnMoon9 joins (~MidAutumn@user/midautumnmoon) |
| 03:40:29 | × | alx741 quits (~alx741@181.196.68.89) (Quit: alx741) |
| 03:44:08 | → | andrews joins (~andrews@user/andrews) |
| 03:44:20 | <andrews> | can someone explain what this means |
| 03:44:20 | <andrews> | ageOn :: Planet -> Float -> Float |
| 03:44:41 | <dibblego> | ageOn has the type, given a Planet, returns a function of the type Float to Float |
| 03:45:24 | <andrews> | Has the type? |
| 03:45:31 | <dibblego> | yes, :: means "has the type" |
| 03:45:47 | <andrews> | oh |
| 03:46:38 | <andrews> | any idea what this means |
| 03:46:39 | <andrews> | module SpaceAge (Planet(..), ageOn) where |
| 03:47:03 | <dibblego> | module SpaceAge, exports Planet and its constructors, ageOn, and the module definition follows |
| 03:47:20 | <andrews> | oh |
| 03:50:19 | <dsal> | andrews: Do you have a larger thing you're trying to do? It's going to be hard to learn Haskell by asking the meaning of small bits of syntax at a time. :) |
| 03:50:42 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds) |
| 03:51:54 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 03:52:16 | <andrews> | https://paste.tomsmeding.com/scvB8sC2 |
| 03:52:27 | <andrews> | I still don't understand the function signature |
| 03:52:47 | <andrews> | ageOn :: Planet -> Float -> Float |
| 03:52:55 | <dsal> | Do you know any other languages? |
| 03:53:00 | <andrews> | yes |
| 03:54:04 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 03:54:06 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 03:59:06 | <Axman6> | andrews: x :: y means "x has type y", in C it would be somilar to say y x; so foo :: Int says hat foo is an Int (equifalent to int foo; in C, java etc). when the type l;ooks like a -> b, that means it is a function which takes an a and returns a b. in the case of a -> b -> c, that is the same as a -> (b -> c), a.k.a, a function which takes an a and returns a function,, which takes a b and returns a c |
| 04:00:03 | <Axman6> | gosh, I should learn to type |
| 04:00:19 | <dsal> | Especially if you expect to write Haskell. |
| 04:00:48 | <Axman6> | nah, GHC's got my back there. English is the language that lets me down |
| 04:01:07 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:01:47 | <andrews> | No instance for (Eq Planet) arising from a use of `==' |
| 04:02:30 | <Axman6> | that means there isn't an instance of the Eq class for the type Planet. this is usually fixed by adding `deriving (Eq)` to the definition of Planet |
| 04:02:40 | <dsal> | Yes, Planet has no Eq instance, so you won't be able to use == on it. You probably won't need to, though. |
| 04:04:02 | <Axman6> | and in haskell, class is more like an interface or protocol in other languages. it has nothing to do with the OOP ideas of a class |
| 04:04:39 | <Axman6> | @src Eq |
| 04:04:40 | <lambdabot> | class Eq a where |
| 04:04:40 | <lambdabot> | (==), (/=) :: a -> a -> Bool |
| 04:05:35 | <andrews> | can I check if a function argument is a particular instance of a custom data set? |
| 04:06:00 | <andrews> | like data Planet = Mercury | Venus etc |
| 04:06:02 | <Axman6> | I don't understand what that question means |
| 04:06:13 | <dsal> | > let f True = "yes"; f False = "no" in f True |
| 04:06:14 | <lambdabot> | "yes" |
| 04:07:22 | <dsal> | You don't need Eq for that, but you can just replace the variable capture with the specific constructor in the function definition, then make a new one for the next Planet. e.g., what I did above. |
| 04:07:39 | <dsal> | (I use ; here, but you'd use a newline in your code) |
| 04:08:26 | <Axman6> | andrews: are you following a haskell tutorial? you seem to be missing a lot of the fundamentals of the language, and that mioght be a good place to start |
| 04:09:34 | <dibblego> | looks like exorcism.io |
| 04:12:41 | <dmj`> | this planet has no equal |
| 04:13:20 | <Axman6> | All planets are unique |
| 04:16:04 | <dmj`> | nix-shell -p exercism --run 'exercism download --exercise=space-age --track=haskell' |
| 04:16:08 | <dmj`> | found the question |
| 04:16:58 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 04:17:36 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 04:22:24 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 04:24:37 | <andrews> | I mean /j #haskell-beginners |
| 04:24:42 | <andrews> | j #haskell-beginners |
| 04:32:27 | <dmj`> | andrews: be safe in space son, https://gist.github.com/553bfca04ffb25efa893d4a4950ede6e |
| 04:35:04 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 04:37:14 | <dsal> | I think that modern style of making code really tall is weird. I'm probably going to have to be doing that soon. |
| 04:37:47 | cheater1 | is now known as cheater |
| 04:41:06 | <andrews> | dmj`, I won't look at your code until I figure it out myself |
| 04:41:11 | <andrews> | otherwise I won't learn anything |
| 04:41:49 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-118.prtc.net) (Ping timeout: 246 seconds) |
| 04:42:10 | <dmj`> | andrews: in order to understand recursion, one must first understand recursion |
| 04:42:25 | <andrews> | top lel |
| 04:43:14 | <dsal> | Don't like at mine, either. I personally find this easier to read, but people like ormolu which took inspiration from elm. https://www.irccloud.com/pastebin/uNkbCMRe/ageOn.hs |
| 04:43:22 | <dsal> | Which suddenly reminds me of the project I wanted to work on tonight. |
| 04:43:59 | <andrews> | I got a copy of Haskell programming first principles |
| 04:44:03 | <andrews> | is it a good book |
| 04:44:07 | <dsal> | I liked it a lot. |
| 04:44:18 | <andrews> | did you read all 1000 pages? |
| 04:44:40 | <dsal> | I think so. That was a while ago. |
| 04:44:52 | <andrews> | are there any better books |
| 04:46:12 | <dmj`> | typeclassopedia is good |
| 04:48:10 | <dmj`> | not really a book, but a collection of stories about Haskell, like the Canterbury tales, it too is unfinished |
| 04:48:25 | <dmj`> | Canterbury tails |
| 04:48:37 | <andrews> | ok |
| 04:48:40 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 04:49:03 | × | Codaraxis quits (~Codaraxis@user/codaraxis) (Ping timeout: 255 seconds) |
| 04:49:12 | <dmj`> | @where typeclassopedia |
| 04:49:12 | <lambdabot> | http://www.haskell.org/haskellwiki/Typeclassopedia |
| 04:49:20 | <EvanR> | an encyclopedic account of haskell lore in the form of a choose your own adventure, with exercises at each stage. Should exist |
| 04:49:32 | <andrews> | so I guess Haskell programming first principles is the best book |
| 04:50:18 | <sm> | EvanR: +1! |
| 04:50:30 | <sm> | andrews: https://www.extrema.is/articles/haskell-books |
| 04:51:25 | <EvanR> | dead ends could be especially bad anti-patterns or unsolved problems in the haskell ecosystem |
| 04:51:45 | <EvanR> | "the ending has not yet been written" |
| 04:52:34 | × | _xor quits (~xor@74.215.232.67) (Quit: brb) |
| 04:54:52 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 04:55:00 | <dmj`> | andrews: I'd focus on the types and the typeclasses, work out the instances, implement them, reason about the laws, use them in real code, your intuition will grow in time. Don't rely on mnemonics like "feels like a container", etc. know that anything that obeys the law of a class is a valid instance of that class. |
| 04:56:02 | <dsal> | HPFFP walks through pretty well. Understanding all of the types probably isn't enough to understand how to write a program in Haskell. |
| 04:56:09 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 04:57:19 | → | silverwhitefish joins (~hidden@47.202.102.10) |
| 04:57:29 | → | wei2912 joins (~wei2912@112.199.250.21) |
| 04:57:32 | <andrews> | Ok, I have Haskell in Depth... seems shorter than HPFFP |
| 04:58:33 | <dmj`> | exercises are good too https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_Problems, this shows a lot of different ways to write the solutions as well |
| 04:59:57 | <andrews> | should I use cabal or stack |
| 05:00:11 | <andrews> | for downloading the book exercises |
| 05:00:18 | <andrews> | for Haskell In Depth |
| 05:05:12 | × | TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
| 05:05:16 | × | martums quits (~martums@user/martums) (Ping timeout: 246 seconds) |
| 05:06:37 | → | chris_ joins (~chris@81.96.113.213) |
| 05:06:58 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 05:07:38 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 05:11:52 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 258 seconds) |
| 05:12:51 | <dmj`> | andrews: either or |
| 05:13:25 | <andrews> | I'm going to read HID since it's the newest haskell book and is shorter than HFFP |
| 05:13:37 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 05:14:29 | <andrews> | does haskell come with a GUI toolkit |
| 05:14:35 | <andrews> | or I have to download one |
| 05:14:50 | <andrews> | Python comes bundled with TK |
| 05:20:53 | <andrews> | stack build takes forever and I have a 6 core CPU |
| 05:21:19 | <andrews> | and an nvME DDF |
| 05:21:20 | <andrews> | SSD* |
| 05:21:27 | → | Codaraxis joins (~Codaraxis@user/codaraxis) |
| 05:22:21 | × | Null_A quits (~null_a@2601:645:8700:2290:187e:cdbe:3584:806) (Remote host closed the connection) |
| 05:22:40 | × | xff0x quits (~xff0x@2001:1a81:53d5:b900:e768:175e:26b1:ffc) (Quit: xff0x) |
| 05:23:35 | → | wwalker joins (~wwalker@platinum.solid-constructs.com) |
| 05:24:03 | <wwalker> | Is there a way to enable a persistent command history in hugs? |
| 05:24:39 | → | anandprabhu joins (~anandprab@94.202.243.198) |
| 05:26:51 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 05:27:25 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 05:27:38 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 05:33:27 | → | hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
| 05:34:37 | → | michalz joins (~michalz@185.246.204.61) |
| 05:35:04 | × | silverwhitefish quits (~hidden@47.202.102.10) (Quit: One for all, all for One (2 Corinthians 5)) |
| 05:37:55 | → | silverwhitefish joins (~hidden@47.202.102.10) |
| 05:39:14 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-118.prtc.net) |
| 05:40:05 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-118.prtc.net) (Client Quit) |
| 05:40:42 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 05:44:38 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 05:53:51 | × | ablutor quits (~quassel@wasscher.com) (Quit: going for vitamine d) |
| 05:54:50 | → | ablutor joins (~quassel@wasscher.com) |
| 05:54:53 | <janus> | andrews: did you try stack build --ghc-options=-j ? |
| 05:56:52 | <janus> | andrews: i think most people do webapps if they want gui. but there are gtk, qt, and fltk bindings. i think thw fltk bindings are probably best maintained |
| 05:57:02 | <janus> | wwalker: you can use rlwrap |
| 05:59:25 | <janus> | s/thw/the |
| 06:06:17 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 06:07:11 | <wwalker> | janus: Thank you! |
| 06:08:51 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 06:12:55 | <andrews> | janus, thanks |
| 06:14:06 | × | zmt00 quits (~zmt00@user/zmt00) (Quit: Gone.) |
| 06:17:53 | → | xff0x joins (~xff0x@2001:1a81:53d5:b900:e768:175e:26b1:ffc) |
| 06:18:33 | → | paolino joins (~paolo@84.33.185.158) |
| 06:20:05 | → | qbt joins (~edun@user/edun) |
| 06:21:22 | → | fef joins (~thedawn@user/thedawn) |
| 06:21:41 | → | awth13 joins (~user@user/awth13) |
| 06:22:28 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 06:26:42 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds) |
| 06:27:08 | → | chele joins (~chele@user/chele) |
| 06:27:41 | <dsal> | andrews: shorter doesn't necessarily mean it's a better book that will teach you more, but reading anything will probably help. |
| 06:28:58 | → | lavaman joins (~lavaman@98.38.249.169) |
| 06:31:44 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:33:27 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 06:33:46 | <dsal> | andrews: the first build of your project might be slow. nix sometimes speeds it up a lot depending on how bleeding edge your compiler is. |
| 06:35:41 | chexum_ | is now known as chexum |
| 06:35:51 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 06:36:24 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 06:36:27 | × | jmorris quits (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:36:44 | <sm> | andrews: memory matters, some haskell packages need 2 or more G to build |
| 06:37:13 | <sm> | if you have less make sure it's not swapping |
| 06:41:10 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 06:41:28 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 06:46:03 | → | fendor joins (~fendor@77.119.213.12.wireless.dyn.drei.com) |
| 06:46:15 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 06:47:43 | → | azeem joins (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) |
| 06:50:58 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:51:41 | → | aegon joins (~mike@174.127.249.180) |
| 06:52:20 | ← | aegon parts (~mike@174.127.249.180) () |
| 06:53:40 | → | aegon joins (~mike@174.127.249.180) |
| 06:56:38 | → | dunj3 joins (~dunj3@2001:16b8:3082:9f00:aef2:da36:561b:67d7) |
| 06:59:47 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 07:02:58 | → | lavaman joins (~lavaman@98.38.249.169) |
| 07:04:11 | × | bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:05:25 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit) |
| 07:05:43 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 07:07:39 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 255 seconds) |
| 07:09:58 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 07:10:25 | → | neceve joins (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
| 07:11:28 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 07:13:31 | → | Izem joins (~rcg@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) |
| 07:14:42 | × | andrews quits (~andrews@user/andrews) (Quit: Leaving) |
| 07:16:07 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 07:22:12 | × | neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 258 seconds) |
| 07:22:48 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 07:23:08 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 07:24:13 | → | yoneda joins (~mike@193.206.102.122) |
| 07:25:23 | → | _xor joins (~xor@74.215.232.67) |
| 07:26:04 | ← | Izem parts (~rcg@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) () |
| 07:32:50 | × | hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection) |
| 07:33:04 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 272 seconds) |
| 07:33:13 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 07:33:13 | → | hendursaga joins (~weechat@user/hendursaga) |
| 07:33:31 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 07:35:58 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 07:42:18 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 255 seconds) |
| 07:45:00 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 07:45:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:47:52 | → | pesada joins (~agua@2804:18:7e:a02e:1:0:239f:a7bb) |
| 07:49:18 | × | dre quits (~dre@2001:8003:c932:c301:5158:163a:41f3:cc10) (Quit: Leaving) |
| 07:49:25 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Ping timeout: 258 seconds) |
| 07:49:30 | × | agua quits (~agua@2804:18:44:4e2:1:0:22a7:ebf6) (Ping timeout: 255 seconds) |
| 07:51:13 | × | fef quits (~thedawn@user/thedawn) (Remote host closed the connection) |
| 07:51:47 | → | fef joins (~thedawn@user/thedawn) |
| 07:52:42 | × | adamCS quits (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (Ping timeout: 252 seconds) |
| 07:52:43 | × | Igfoo quits (~ian@matrix.chaos.earth.li) (Ping timeout: 252 seconds) |
| 07:52:49 | → | Igfoo joins (~ian@matrix.chaos.earth.li) |
| 07:53:26 | → | adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) |
| 07:53:26 | × | ablutor quits (~quassel@wasscher.com) (Ping timeout: 252 seconds) |
| 07:53:26 | × | jackhill quits (~jackhill@kalessin.dragonsnail.net) (Ping timeout: 252 seconds) |
| 07:53:27 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 07:53:48 | × | tritlo quits (sid58727@user/tritlo) (Ping timeout: 252 seconds) |
| 07:54:00 | → | ukari joins (~ukari@user/ukari) |
| 07:54:00 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 07:54:00 | → | ablutor joins (~quassel@wasscher.com) |
| 07:54:10 | × | Philonous quits (~Philonous@user/philonous) (Ping timeout: 252 seconds) |
| 07:54:29 | → | jackhill joins (~jackhill@kalessin.dragonsnail.net) |
| 07:54:32 | × | jolly quits (~jolly@208.180.97.158) (Ping timeout: 252 seconds) |
| 07:54:32 | × | Zorgon quits (mranderson@chaos.fi) (Ping timeout: 252 seconds) |
| 07:55:10 | → | tritlo joins (sid58727@user/tritlo) |
| 07:55:21 | → | Philonous joins (~Philonous@user/philonous) |
| 07:59:11 | × | aegon quits (~mike@174.127.249.180) (Quit: leaving) |
| 08:04:08 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 08:04:22 | → | hegstal joins (~hegstal@2a02:c7f:7604:8a00:694c:cc5c:55d8:63b) |
| 08:08:49 | → | ikex1 joins (~ash@user/ikex) |
| 08:08:58 | × | ikex quits (ash@user/ikex) (Ping timeout: 258 seconds) |
| 08:09:30 | ikex1 | is now known as ikex |
| 08:10:29 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 08:12:08 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:12:19 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8) |
| 08:12:23 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 08:13:51 | → | hendursaga joins (~weechat@user/hendursaga) |
| 08:15:30 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 08:15:51 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:16:45 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 08:17:52 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:18:36 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 08:19:20 | → | acidjnk_new3 joins (~acidjnk@p200300d0c72b951301624b1129165e7b.dip0.t-ipconnect.de) |
| 08:19:32 | → | keutoi joins (~keutoi@157.47.18.91) |
| 08:19:42 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-118.prtc.net) |
| 08:20:06 | × | allbery_b quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 255 seconds) |
| 08:20:28 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
| 08:23:02 | × | xff0x quits (~xff0x@2001:1a81:53d5:b900:e768:175e:26b1:ffc) (Ping timeout: 245 seconds) |
| 08:25:06 | → | xff0x joins (~xff0x@185.65.135.235) |
| 08:25:28 | × | neceve quits (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 246 seconds) |
| 08:25:44 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 08:26:07 | → | ubert1 joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
| 08:26:36 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 268 seconds) |
| 08:26:42 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 08:28:23 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 08:28:23 | Lord_of_Life_ | is now known as Lord_of_Life |
| 08:29:07 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 08:31:33 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 08:35:44 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 08:40:22 | × | xff0x quits (~xff0x@185.65.135.235) (Ping timeout: 252 seconds) |
| 08:42:18 | → | xff0x joins (~xff0x@2001:1a81:53d5:b900:e768:175e:26b1:ffc) |
| 08:44:54 | → | pfurla_ joins (~pfurla@216.131.83.59) |
| 08:45:47 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-41ac-4f6d-ec7a-91a2.fixed6.kpn.net) |
| 08:48:00 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 255 seconds) |
| 08:49:04 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 08:52:07 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:53:22 | × | zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 08:56:18 | → | zaquest joins (~notzaques@5.128.210.178) |
| 08:56:34 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 08:59:55 | → | hmmmas joins (~fidnc@183.217.200.171) |
| 09:00:08 | × | hexfive quits (~eric@50.35.83.177) (Quit: WeeChat 3.0) |
| 09:02:51 | → | neurocyte joins (~neurocyte@45.136.170.21) |
| 09:02:51 | × | neurocyte quits (~neurocyte@45.136.170.21) (Changing host) |
| 09:02:51 | → | neurocyte joins (~neurocyte@user/neurocyte) |
| 09:04:09 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 09:04:19 | × | oso quits (~oso@2601:58c:c080:a950:f275:2530:b398:680b) (Ping timeout: 246 seconds) |
| 09:04:27 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 09:09:53 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 09:10:33 | → | KUrare joins (~KUrare@user/kurare) |
| 09:14:27 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 09:17:21 | → | Pickchea joins (~private@user/pickchea) |
| 09:17:24 | × | pfurla_ quits (~pfurla@216.131.83.59) (Ping timeout: 252 seconds) |
| 09:18:45 | × | azeem quits (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) (Ping timeout: 265 seconds) |
| 09:19:04 | → | azeem joins (~azeem@176.200.202.21) |
| 09:19:43 | → | laguneucl joins (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) |
| 09:20:20 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds) |
| 09:20:26 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 09:23:28 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 09:23:48 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 09:28:54 | → | __monty__ joins (~toonn@user/toonn) |
| 09:29:06 | × | xsperry quits (~as@user/xsperry) () |
| 09:30:18 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 255 seconds) |
| 09:30:36 | → | azeem joins (~azeem@176.200.202.21) |
| 09:35:42 | → | jmorris joins (uid433911@id-433911.stonehaven.irccloud.com) |
| 09:36:17 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 09:39:43 | → | CookE[] joins (~thedawn@user/thedawn) |
| 09:40:00 | × | fef quits (~thedawn@user/thedawn) (Remote host closed the connection) |
| 09:42:28 | × | laguneucl quits (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Ping timeout: 246 seconds) |
| 09:43:10 | × | chomwitt quits (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Ping timeout: 246 seconds) |
| 09:43:10 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 09:43:27 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 09:43:44 | × | hmmmas quits (~fidnc@183.217.200.171) (Quit: Leaving.) |
| 09:44:42 | × | lechner quits (~lechner@debian/lechner) (Quit: WeeChat 3.0) |
| 09:46:14 | × | o1lo01ol1o quits (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection) |
| 09:46:25 | → | lechner joins (~lechner@debian/lechner) |
| 09:57:00 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 252 seconds) |
| 09:58:09 | → | azeem joins (~azeem@176.200.202.21) |
| 09:58:45 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-118.prtc.net) (Quit: Client closed) |
| 10:00:11 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 10:00:29 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 10:01:08 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 10:01:27 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 10:01:39 | → | kuribas joins (~user@ptr-25vy0iagiqui74r0v9f.18120a2.ip6.access.telenet.be) |
| 10:02:24 | → | xsperry joins (~as@user/xsperry) |
| 10:03:11 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-118.prtc.net) |
| 10:03:53 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 10:09:06 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 252 seconds) |
| 10:09:20 | → | azeem joins (~azeem@176.200.202.21) |
| 10:09:20 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 10:09:33 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 10:10:02 | → | burnside_ joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 10:10:02 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 10:11:01 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 10:11:01 | × | burnside_ quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Write error: Connection reset by peer) |
| 10:11:52 | → | burnside_ joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 10:11:52 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 10:12:23 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 10:12:23 | × | burnside_ quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 10:15:42 | × | keutoi quits (~keutoi@157.47.18.91) (Ping timeout: 252 seconds) |
| 10:16:38 | × | KUrare quits (~KUrare@user/kurare) (Remote host closed the connection) |
| 10:17:02 | → | KUrare joins (~KUrare@user/kurare) |
| 10:19:02 | → | keutoi joins (~keutoi@157.47.18.91) |
| 10:24:30 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 252 seconds) |
| 10:24:52 | → | azeem joins (~azeem@176.200.202.21) |
| 10:25:10 | × | CookE[] quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
| 10:26:12 | × | lambdap quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: Ping timeout (120 seconds)) |
| 10:26:29 | → | lambdap joins (~lambdap@static.167.190.119.168.clients.your-server.de) |
| 10:27:08 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 10:27:28 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 10:30:09 | × | thonkpod quits (~thonkpod@user/thonkpod) (Ping timeout: 255 seconds) |
| 10:32:40 | aravk_ | is now known as aravk |
| 10:35:47 | <maerwald> | Any nice way to get around the MonadReader limitation of only being able to provide one environment? I'm thinking to just ditch it altogether |
| 10:35:56 | <dminuoso> | maerwald: implicit params. |
| 10:36:11 | <dminuoso> | It's just as good, but composable - and no param passing when you dont need it. :) |
| 10:36:14 | <maerwald> | they are unsafe no? |
| 10:36:18 | <dminuoso> | unsafe in what way? |
| 10:36:34 | <maerwald> | dunno, heard some claims |
| 10:37:11 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 10:38:00 | <dminuoso> | See https://chrisdone.com/posts/whats-wrong-with-implicitparams/ |
| 10:38:08 | <dminuoso> | And https://old.reddit.com/r/haskell/comments/m8o88a/who_still_uses_readert/grkh17q/ |
| 10:38:33 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 10:39:58 | <maerwald> | so it breaks type inference |
| 10:41:01 | <maerwald> | i think explicit params might be the solution :p |
| 10:41:03 | <Taneb> | maerwald: if you're comfortable using lens there's Magnify in https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens-Zoom.html |
| 10:43:34 | <maerwald> | Taneb: isn't that just splitting environment into smaller parts, tree-wise? But you still need to construct the entirety of it? |
| 10:43:59 | → | thonkpod joins (~thonkpod@user/thonkpod) |
| 10:43:59 | <maerwald> | My problem is that part of the env requires network calls to be constructed, the other doesn't |
| 10:44:35 | <maerwald> | I'm able to hack around it with unsafeInterleaveIO, but that makes exception handling a horror story |
| 10:45:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:46:24 | <Taneb> | maerwald: ah, yeah |
| 10:50:43 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 10:57:52 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 252 seconds) |
| 10:58:58 | → | azeem joins (~azeem@176.200.202.21) |
| 11:01:46 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 11:01:48 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 11:04:59 | × | wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 11:05:50 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
| 11:07:16 | → | AlexNoo_ joins (~AlexNoo@178.34.162.246) |
| 11:07:28 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 11:09:36 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 11:11:10 | × | AlexZenon quits (~alzenon@178.34.162.3) (Ping timeout: 272 seconds) |
| 11:11:10 | × | Alex_test quits (~al_test@178.34.162.3) (Ping timeout: 272 seconds) |
| 11:11:24 | × | AlexNoo quits (~AlexNoo@178.34.162.3) (Ping timeout: 256 seconds) |
| 11:14:28 | → | Alex_test joins (~al_test@178.34.162.246) |
| 11:14:28 | → | AlexZenon joins (~alzenon@178.34.162.246) |
| 11:18:43 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-118.prtc.net) (Ping timeout: 246 seconds) |
| 11:19:08 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 11:20:33 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 265 seconds) |
| 11:22:35 | × | ablutor quits (~quassel@wasscher.com) (Quit: going for vitamine d) |
| 11:23:02 | → | azeem joins (~azeem@176.200.202.21) |
| 11:23:05 | → | oxide joins (~lambda@user/oxide) |
| 11:23:27 | → | ablutor joins (~quassel@wasscher.com) |
| 11:27:08 | × | KUrare quits (~KUrare@user/kurare) (Remote host closed the connection) |
| 11:27:26 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:27:27 | → | zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
| 11:27:32 | → | KUrare joins (~KUrare@user/kurare) |
| 11:29:45 | → | Pickchea joins (~private@user/pickchea) |
| 11:30:02 | → | thyriaen joins (~thyriaen@45.178.73.238) |
| 11:33:06 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 11:35:57 | × | thyriaen quits (~thyriaen@45.178.73.238) (Quit: Leaving) |
| 11:37:57 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 265 seconds) |
| 11:41:51 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:42:30 | → | anandprabhu_ joins (anandprabh@gateway/vpn/airvpn/anandprabhu) |
| 11:45:28 | × | jmorris quits (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 11:45:45 | × | anandprabhu quits (~anandprab@94.202.243.198) (Ping timeout: 255 seconds) |
| 11:52:43 | → | smichel17 joins (~smichel17@c-73-68-217-18.hsd1.ma.comcast.net) |
| 11:54:08 | × | kuribas quits (~user@ptr-25vy0iagiqui74r0v9f.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 12:04:31 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 12:09:00 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 252 seconds) |
| 12:09:03 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 12:10:25 | → | azeem joins (~azeem@176.200.202.21) |
| 12:11:06 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 272 seconds) |
| 12:13:58 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-6-21.prtc.net) |
| 12:19:16 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 252 seconds) |
| 12:19:46 | → | azeem joins (~azeem@176.200.202.21) |
| 12:27:11 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 12:27:29 | → | gzj joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 12:27:56 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 12:28:41 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 255 seconds) |
| 12:30:05 | → | azeem joins (~azeem@176.200.202.21) |
| 12:31:03 | → | jmorris joins (uid433911@id-433911.stonehaven.irccloud.com) |
| 12:36:55 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 265 seconds) |
| 12:38:09 | → | azeem joins (~azeem@176.200.202.21) |
| 12:42:22 | × | KUrare quits (~KUrare@user/kurare) (Ping timeout: 252 seconds) |
| 12:44:53 | <lechner> | Hi, should members in data types intended for parsing JSON be annotated with an exclamation mark for strictness? |
| 12:47:46 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 12:50:53 | → | alx741 joins (~alx741@181.196.68.89) |
| 12:52:19 | → | jolly joins (~jolly@208.180.97.158) |
| 12:52:21 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 12:56:19 | → | brian_da_mage joins (~Neuromanc@user/briandamag) |
| 12:57:20 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds) |
| 12:58:09 | → | euandreh joins (~euandreh@191.181.59.160) |
| 13:04:22 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 252 seconds) |
| 13:05:39 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 13:05:54 | × | amk quits (~amk@176.61.106.150) (Ping timeout: 240 seconds) |
| 13:06:38 | <jumper149> | Hi, I want to display some Haskell code with texlive. What library works well to highlight Haskell? Do they work with extensions? |
| 13:07:59 | → | azeem joins (~azeem@176.200.202.21) |
| 13:09:57 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:10:13 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 13:10:28 | → | bollu0 joins (~bollu@139.59.46.74) |
| 13:10:39 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:11:21 | × | anandprabhu_ quits (anandprabh@gateway/vpn/airvpn/anandprabhu) (Quit: Leaving) |
| 13:11:37 | → | glguy_ joins (x@libera/staff/glguy) |
| 13:11:39 | → | GIANTWORLDKEEPR_ joins (~pjetcetal@128-71-13-182.broadband.corbina.ru) |
| 13:11:41 | → | gawen_ joins (~gawen@user/gawen) |
| 13:11:56 | → | TheCoffeMaker_ joins (~TheCoffeM@125-121-245-190.fibertel.com.ar) |
| 13:12:06 | → | Firedancer_ joins (sid336191@id-336191.stonehaven.irccloud.com) |
| 13:12:08 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Read error: Connection reset by peer) |
| 13:12:26 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:12:28 | → | dsf joins (~dsf@cpe-66-75-56-205.san.res.rr.com) |
| 13:12:35 | → | exarkun_ joins (~exarkun@14.79.69.34.bc.googleusercontent.com) |
| 13:12:38 | → | Nahra` joins (~user@static.161.95.99.88.clients.your-server.de) |
| 13:12:50 | → | dustinm- joins (~dustinm@static.38.6.217.95.clients.your-server.de) |
| 13:12:52 | → | emergence6 joins (~emergence@vm0.max-p.me) |
| 13:12:53 | → | Taneb0 joins (~Taneb@runciman.hacksoc.org) |
| 13:13:11 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 13:13:11 | → | dragestil__ joins (~quassel@user/dragestil) |
| 13:13:15 | → | mjs2600_ joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 13:13:24 | → | sndr joins (~sander@user/sander) |
| 13:13:29 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:13:31 | × | xff0x quits (~xff0x@2001:1a81:53d5:b900:e768:175e:26b1:ffc) (Ping timeout: 246 seconds) |
| 13:13:36 | → | chkno_ joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 13:13:41 | → | Ttech joins (adran@botters/adran) |
| 13:13:46 | → | Teacup_ joins (~teacup@user/teacup) |
| 13:13:48 | → | vysn joins (~vysn@user/vysn) |
| 13:13:53 | → | _-- joins (~ding@2001:19f0:5:14c2:5400:2ff:fee0:a42c) |
| 13:13:58 | → | opqdonut_ joins (opqdonut@pseudo.fixme.fi) |
| 13:13:59 | → | orzo_ joins (joe@lasker.childrenofmay.org) |
| 13:14:00 | → | aforemny_ joins (~aforemny@static.248.158.34.188.clients.your-server.de) |
| 13:14:06 | → | terrorjack2 joins (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) |
| 13:14:08 | → | oxide_ joins (~lambda@user/oxide) |
| 13:14:10 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 13:14:17 | → | Megant_ joins (megant@user/megant) |
| 13:14:17 | → | jjhoo_ joins (~jahakala@dsl-trebng21-58c18f-56.dhcp.inet.fi) |
| 13:14:21 | → | Clint_ joins (~Clint@user/clint) |
| 13:14:23 | → | jakesyl_ joins (sid56879@id-56879.stonehaven.irccloud.com) |
| 13:14:31 | → | xff0x joins (~xff0x@2001:1a81:53d5:b900:57bd:921c:db51:18e8) |
| 13:14:31 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:14:32 | → | __monty_1 joins (~toonn@user/toonn) |
| 13:14:33 | → | DNH joins (~DNH@2a02:8108:1100:16d8:c4df:67d7:d0ec:2764) |
| 13:14:44 | × | Taneb quits (~Taneb@runciman.hacksoc.org) (Killed (NickServ (GHOST command used by Taneb0))) |
| 13:14:47 | → | Hecate_ joins (~mariposa@163.172.211.189) |
| 13:14:48 | Taneb0 | is now known as Taneb |
| 13:14:49 | → | dhouthoo_ joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 13:14:56 | → | peutri_ joins (~peutri@ns317027.ip-94-23-46.eu) |
| 13:15:05 | → | piele_ joins (~piele@tbonesteak.creativeserver.net) |
| 13:15:26 | → | Unode_ joins (~Unode@194.94.44.220) |
| 13:15:51 | → | edun joins (~edun@user/edun) |
| 13:15:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 13:17:08 | AlexNoo_ | is now known as AlexNoo |
| 13:18:11 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 13:18:30 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:18:49 | × | gzj quits (~GZJ0X@199.193.127.138.16clouds.com) (*.net *.split) |
| 13:18:49 | × | oxide quits (~lambda@user/oxide) (*.net *.split) |
| 13:18:49 | × | __monty__ quits (~toonn@user/toonn) (*.net *.split) |
| 13:18:49 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (*.net *.split) |
| 13:18:49 | × | qbt quits (~edun@user/edun) (*.net *.split) |
| 13:18:49 | × | paolino quits (~paolo@84.33.185.158) (*.net *.split) |
| 13:18:49 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (*.net *.split) |
| 13:18:49 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (*.net *.split) |
| 13:18:49 | × | dragestil_ quits (~quassel@user/dragestil) (*.net *.split) |
| 13:18:49 | × | juhp quits (~juhp@128.106.188.66) (*.net *.split) |
| 13:18:49 | × | GIANTWORLDKEEPER quits (~pjetcetal@128-71-13-182.broadband.corbina.ru) (*.net *.split) |
| 13:18:50 | × | glguy quits (x@libera/staff/glguy) (*.net *.split) |
| 13:18:50 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (*.net *.split) |
| 13:18:50 | × | Teacup quits (~teacup@user/teacup) (*.net *.split) |
| 13:18:50 | × | jakesyl quits (sid56879@stonehaven.irccloud.com) (*.net *.split) |
| 13:18:50 | × | tdammers quits (~tdammers@77.109.72.213.res.static.edpnet.net) (*.net *.split) |
| 13:18:50 | × | exarkun quits (~exarkun@user/exarkun) (*.net *.split) |
| 13:18:50 | × | aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (*.net *.split) |
| 13:18:50 | × | piele quits (~piele@tbonesteak.creativeserver.net) (*.net *.split) |
| 13:18:50 | × | Hecate quits (~mariposa@user/hecate) (*.net *.split) |
| 13:18:50 | × | peutri quits (~peutri@ns317027.ip-94-23-46.eu) (*.net *.split) |
| 13:18:50 | × | Clint quits (~Clint@user/clint) (*.net *.split) |
| 13:18:50 | × | Unode quits (~Unode@194.94.44.220) (*.net *.split) |
| 13:18:50 | × | sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (*.net *.split) |
| 13:18:51 | × | emergence quits (~emergence@vm0.max-p.me) (*.net *.split) |
| 13:18:51 | × | ding quits (~ding@commie.space) (*.net *.split) |
| 13:18:51 | × | opqdonut quits (opqdonut@pseudo.fixme.fi) (*.net *.split) |
| 13:18:51 | × | Megant quits (megant@user/megant) (*.net *.split) |
| 13:18:51 | × | sander quits (~sander@user/sander) (*.net *.split) |
| 13:18:51 | × | terrorjack quits (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (*.net *.split) |
| 13:18:51 | × | Adran quits (~adran@botters/adran) (*.net *.split) |
| 13:18:51 | × | orzo quits (joe@lasker.childrenofmay.org) (*.net *.split) |
| 13:18:51 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (*.net *.split) |
| 13:18:51 | × | jjhoo quits (~jahakala@dsl-trebng21-58c18f-56.dhcp.inet.fi) (*.net *.split) |
| 13:18:51 | × | dsf_ quits (~dsf@cpe-66-75-56-205.san.res.rr.com) (*.net *.split) |
| 13:18:51 | × | shailangsa quits (~shailangs@host86-186-196-229.range86-186.btcentralplus.com) (*.net *.split) |
| 13:18:51 | × | gawen quits (~gawen@user/gawen) (*.net *.split) |
| 13:18:51 | × | Firedancer quits (sid336191@stonehaven.irccloud.com) (*.net *.split) |
| 13:18:51 | × | L29Ah quits (~L29Ah@user/l29ah) (*.net *.split) |
| 13:18:51 | × | bollu quits (~bollu@139.59.46.74) (*.net *.split) |
| 13:18:52 | × | dustinm quits (~dustinm@static.38.6.217.95.clients.your-server.de) (*.net *.split) |
| 13:18:52 | × | yahb quits (xsbot@user/mniip/bot/yahb) (*.net *.split) |
| 13:18:52 | × | Nahra quits (~user@static.161.95.99.88.clients.your-server.de) (*.net *.split) |
| 13:18:52 | sndr | is now known as sander |
| 13:18:52 | emergence6 | is now known as emergence |
| 13:18:52 | terrorjack2 | is now known as terrorjack |
| 13:18:52 | bollu0 | is now known as bollu |
| 13:18:52 | Unode_ | is now known as Unode |
| 13:18:52 | Firedancer_ | is now known as Firedancer |
| 13:18:52 | edun | is now known as qbt |
| 13:18:55 | jakesyl_ | is now known as jakesyl |
| 13:19:12 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Read error: Connection reset by peer) |
| 13:19:28 | dragestil__ | is now known as dragestil_ |
| 13:19:28 | → | yahb joins (xsbot@user/mniip/bot/yahb) |
| 13:19:31 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:19:49 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 13:21:43 | exarkun_ | is now known as exarkun |
| 13:22:14 | × | exarkun quits (~exarkun@14.79.69.34.bc.googleusercontent.com) (Changing host) |
| 13:22:14 | → | exarkun joins (~exarkun@user/exarkun) |
| 13:22:32 | exarkun | is now known as exarkun_ |
| 13:22:50 | exarkun_ | is now known as exarkun |
| 13:24:25 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 13:24:39 | → | paolino joins (~paolo@84.33.185.158) |
| 13:25:18 | → | sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca) |
| 13:25:45 | → | amk joins (~amk@176.61.106.150) |
| 13:26:14 | → | tdammers joins (~tdammers@77.109.72.213.res.static.edpnet.net) |
| 13:26:44 | <yushyin> | minted? |
| 13:27:09 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Read error: Connection reset by peer) |
| 13:27:28 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:28:10 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 13:28:24 | __monty_1 | is now known as __monty__ |
| 13:28:25 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-6-21.prtc.net) (Quit: Client closed) |
| 13:28:29 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:29:11 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 13:29:16 | × | acidjnk_new3 quits (~acidjnk@p200300d0c72b951301624b1129165e7b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 13:29:31 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 13:29:34 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 13:35:32 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 252 seconds) |
| 13:37:36 | → | anandprabhu joins (~anandprab@94.202.243.198) |
| 13:40:10 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 258 seconds) |
| 13:40:28 | × | niHiggim quits (~niHiggim@2600:1700:3d41:8600::27) (Quit: Konversation terminated!) |
| 13:41:22 | → | Shailangsa_ joins (~shailangs@host86-186-196-229.range86-186.btcentralplus.com) |
| 13:42:08 | → | azeem joins (~azeem@176.200.202.21) |
| 13:44:26 | × | xff0x quits (~xff0x@2001:1a81:53d5:b900:57bd:921c:db51:18e8) (Remote host closed the connection) |
| 13:44:41 | <jumper149> | yushyin: That seems to work quite fine |
| 13:44:43 | → | xff0x joins (~xff0x@2001:1a81:53d5:b900:59f3:4e1e:9577:2243) |
| 13:45:22 | → | L29Ah joins (~L29Ah@user/l29ah) |
| 13:46:19 | × | jespada quits (~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:46:53 | → | jespada joins (~jespada@90.254.247.46) |
| 13:48:03 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 13:49:50 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 13:56:14 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 13:57:48 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 13:58:05 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 13:58:41 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 13:59:04 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 14:00:22 | × | zinc quits (~zdleaf@163.ip-51-254-203.eu) (Quit: ) |
| 14:00:49 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 14:14:51 | × | dunj3 quits (~dunj3@2001:16b8:3082:9f00:aef2:da36:561b:67d7) (Remote host closed the connection) |
| 14:15:11 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 14:15:31 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 14:15:41 | → | Guest34 joins (~Guest34@115.97.251.135) |
| 14:16:51 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
| 14:18:50 | → | amanr joins (~sarcastic@122.161.66.163) |
| 14:19:11 | ← | amanr parts (~sarcastic@122.161.66.163) (WeeChat 3.2) |
| 14:20:44 | Guest34 | is now known as codelegend |
| 14:22:07 | <bollu> | codelegend Hello! |
| 14:23:14 | → | o1lo01ol1o joins (~o1lo01ol1@83.240.236.226) |
| 14:23:23 | × | jay-invariant quits (~jay@c-24-4-6-169.hsd1.ca.comcast.net) (Read error: Connection reset by peer) |
| 14:23:57 | × | anandprabhu quits (~anandprab@94.202.243.198) (Quit: Leaving) |
| 14:24:02 | → | jay-invariant joins (~jay@c-24-4-6-169.hsd1.ca.comcast.net) |
| 14:25:44 | × | o1lo01ol1o quits (~o1lo01ol1@83.240.236.226) (Remote host closed the connection) |
| 14:26:04 | → | o1lo01ol1o joins (~o1lo01ol1@83.240.236.226) |
| 14:26:24 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
| 14:26:38 | × | o1lo01ol1o quits (~o1lo01ol1@83.240.236.226) (Read error: Connection reset by peer) |
| 14:26:39 | → | o1lo01ol_ joins (~o1lo01ol1@83.240.236.226) |
| 14:27:00 | × | o1lo01ol_ quits (~o1lo01ol1@83.240.236.226) (Remote host closed the connection) |
| 14:27:27 | → | o1lo01ol1o joins (~o1lo01ol1@83.240.236.226) |
| 14:29:00 | × | o1lo01ol1o quits (~o1lo01ol1@83.240.236.226) (Remote host closed the connection) |
| 14:29:02 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:29:26 | → | o1lo01ol1o joins (~o1lo01ol1@83.240.236.226) |
| 14:30:31 | × | keutoi quits (~keutoi@157.47.18.91) (Read error: Connection reset by peer) |
| 14:30:49 | × | codelegend quits (~Guest34@115.97.251.135) (Quit: Client closed) |
| 14:32:34 | → | codelegend joins (~codelegen@115.97.251.135) |
| 14:34:03 | × | o1lo01ol1o quits (~o1lo01ol1@83.240.236.226) (Ping timeout: 255 seconds) |
| 14:34:36 | × | silverwhitefish quits (~hidden@47.202.102.10) (Ping timeout: 258 seconds) |
| 14:36:47 | × | chris_ quits (~chris@81.96.113.213) (Ping timeout: 245 seconds) |
| 14:38:28 | × | codelegend quits (~codelegen@115.97.251.135) (Quit: Client closed) |
| 14:39:18 | × | yoneda quits (~mike@193.206.102.122) (Quit: leaving) |
| 14:40:35 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-41ac-4f6d-ec7a-91a2.fixed6.kpn.net) (Ping timeout: 268 seconds) |
| 14:41:34 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 14:41:36 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 14:43:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 14:47:19 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 246 seconds) |
| 14:48:19 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 14:48:25 | ← | Franciman parts (~francesco@openglass.it) (WeeChat 2.3) |
| 14:49:16 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 14:49:38 | → | azeem joins (~azeem@176.200.202.21) |
| 14:53:35 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 14:58:03 | × | euandreh quits (~euandreh@191.181.59.160) (Quit: WeeChat 3.2) |
| 14:58:18 | → | o1lo01ol1o joins (~o1lo01ol1@83.240.236.226) |
| 14:59:25 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 268 seconds) |
| 15:00:55 | → | azeem joins (~azeem@176.200.202.21) |
| 15:01:07 | brian_da_mage | is now known as Brianmancer |
| 15:02:45 | → | bitmapper joins (uid464869@id-464869.tooting.irccloud.com) |
| 15:02:53 | × | o1lo01ol1o quits (~o1lo01ol1@83.240.236.226) (Ping timeout: 265 seconds) |
| 15:09:22 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 246 seconds) |
| 15:09:34 | → | azeem joins (~azeem@176.200.202.21) |
| 15:09:46 | → | zmt00 joins (~zmt00@user/zmt00) |
| 15:11:53 | × | ubert1 quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
| 15:13:28 | → | ph88^ joins (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) |
| 15:15:24 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 15:17:13 | <lechner> | Hi, is there a way to count the number of files received here? Thanks! https://salsa.debian.org/lintian/kickoff/-/blob/master/Collect.hs#L100-104 |
| 15:17:39 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:19:55 | → | Hanicef joins (~gustaf@81-229-9-108-no92.tbcn.telia.com) |
| 15:21:09 | → | agua joins (~agua@2804:14c:8793:8e2f:a4d4:3a0b:9f6:6100) |
| 15:21:50 | → | zebrag joins (~chris@user/zebrag) |
| 15:23:33 | → | Core4007 joins (~agua@2804:18:7e:a02e:1:0:239f:a7bb) |
| 15:24:23 | × | pesada quits (~agua@2804:18:7e:a02e:1:0:239f:a7bb) (Read error: Connection reset by peer) |
| 15:25:00 | → | Null_A joins (~null_a@2601:645:8700:2290:f84f:8a6f:2960:e8a4) |
| 15:25:05 | glguy_ | is now known as glguy |
| 15:25:28 | × | agua quits (~agua@2804:14c:8793:8e2f:a4d4:3a0b:9f6:6100) (Ping timeout: 246 seconds) |
| 15:26:50 | × | Core4007 quits (~agua@2804:18:7e:a02e:1:0:239f:a7bb) (Read error: Connection reset by peer) |
| 15:27:05 | → | agua joins (~agua@2804:18:7e:a02e:1:0:239f:a7bb) |
| 15:30:20 | <dsal> | lechner: There are a couple of ways. You could use an IORef or TVar and just increment it, or you could build something that looks like forever, but loops with a counter. |
| 15:31:05 | <dsal> | monad-loops has `iterateM_ :: Monad m => (a -> m a) -> a -> m b` |
| 15:32:06 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 255 seconds) |
| 15:32:08 | <dsal> | `iterateM_ f = g where g x = f x >>= g` |
| 15:34:33 | → | azeem joins (~azeem@176.200.202.21) |
| 15:38:54 | → | roboto_el_gato joins (~roboto_el@2600:1700:7df0:4f30:50be:13e8:2b02:47f4) |
| 15:39:11 | × | jmorris quits (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:39:43 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:40:27 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 15:40:49 | → | zebrag joins (~chris@user/zebrag) |
| 15:44:34 | × | finsternis quits (~X@23.226.237.192) (Remote host closed the connection) |
| 15:49:19 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Remote host closed the connection) |
| 15:49:37 | → | GZJ0X_ joins (~GZJ0X@199.193.127.138.16clouds.com) |
| 15:55:06 | → | pesada joins (~agua@179.179.184.77) |
| 15:56:51 | × | azeem quits (~azeem@176.200.202.21) (Ping timeout: 255 seconds) |
| 15:56:58 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 15:57:20 | → | azeem joins (~azeem@176.200.202.21) |
| 15:58:23 | × | agua quits (~agua@2804:18:7e:a02e:1:0:239f:a7bb) (Ping timeout: 255 seconds) |
| 16:00:50 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 16:01:14 | <Cale> | loop n = do message <- ...; ...; loop (n + 1) -- just make sure to actually use n in some way inside of the loop, or you'll accumulate a big unevaluated sum expression |
| 16:03:58 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 16:10:01 | <lechner> | i was going to go with iterateM_ but straight recursion looks easier. which is preferred? |
| 16:11:31 | <wwalker> | janus: I've set RLWRAP_HOME. 'rlwrap cat' works. it writes a history file. 'rlwrap hugs' starts hugs and I have readline at the hugs prompt, but no hugs_history is created. Even after I create $RLWRAP_HOME/hugs_history, it still doesn't write anything to it. Since you mentioned rlwrap (Thanks!) do you pass a special argument when using it with hugs? |
| 16:14:01 | → | finsternis joins (~X@23.226.237.192) |
| 16:18:19 | → | ph88 joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) |
| 16:20:20 | <maerwald> | dminuoso: https://hackage.haskell.org/package/effect-stack-0.3/docs/Control-Monad-Stack-Reader.html |
| 16:21:08 | <maerwald> | it appears this just works with two Readers |
| 16:23:48 | <maerwald> | not sure if I'm missing a caveat here |
| 16:25:06 | → | jneira[m] joins (~jneira@201.red-176-87-55.dynamicip.rima-tde.net) |
| 16:26:02 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 16:27:16 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 16:27:52 | × | guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection) |
| 16:27:55 | → | KUrare joins (~KUrare@user/kurare) |
| 16:28:07 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:28:44 | × | DNH quits (~DNH@2a02:8108:1100:16d8:c4df:67d7:d0ec:2764) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:28:59 | → | guest61 joins (~xxx@47.245.54.240) |
| 16:36:19 | → | DNH joins (~DNH@2a02:8108:1100:16d8:c4df:67d7:d0ec:2764) |
| 16:38:36 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 16:42:03 | → | peterhil joins (~peterhil@mobile-access-bceec8-93.dhcp.inet.fi) |
| 16:44:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:44:11 | <zzz> | is there a more elegant way to do something like `concatMap (concatMap concat)` ? |
| 16:44:15 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
| 16:44:52 | × | guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection) |
| 16:44:57 | → | derelict joins (~derelict@user/derelict) |
| 16:45:54 | × | jneira[m] quits (~jneira@201.red-176-87-55.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 16:45:58 | → | chris_ joins (~chris@81.96.113.213) |
| 16:45:59 | → | guest61 joins (~xxx@47.245.54.240) |
| 16:46:53 | × | guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection) |
| 16:46:54 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 16:47:01 | Clint_ | is now known as Clint |
| 16:47:45 | <Clint> | zzz: you mean by avoiding situation in the first place? |
| 16:47:59 | → | guest61 joins (~xxx@47.245.54.240) |
| 16:49:59 | × | dajoer quits (~david@user/gvx) (Quit: leaving) |
| 16:50:18 | <zzz> | not avoidable. i have a grid of grids that need to be arbitrarily transposed |
| 16:51:15 | <EvanR> | reminds me of the old transpose = zip . zip thing |
| 16:51:42 | × | Shailangsa_ quits (~shailangs@host86-186-196-229.range86-186.btcentralplus.com) (Ping timeout: 252 seconds) |
| 16:54:29 | → | Atum_ joins (IRC@user/atum/x-2392232) |
| 16:58:54 | <monochrom> | @type concatMap (concatMap concat) |
| 16:58:55 | <lambdabot> | (Foldable t1, Foldable t2, Foldable t3) => t1 (t2 (t3 [b])) -> [b] |
| 17:01:56 | <monochrom> | If t1=t2=t3=[], concatMap (concatMap concat) xss = xss >>= concatMap concat = xss >>= \xs -> concatMap concat xs = xss >>= \xs -> xs >>= concat = xss >>= \xs -> xs >>= join |
| 17:02:40 | → | agua joins (~agua@2804:18:7e:a02e:1:0:239f:a7bb) |
| 17:02:41 | <monochrom> | It is possible that infix is a bit nicer. |
| 17:05:31 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:06:27 | × | pesada quits (~agua@179.179.184.77) (Ping timeout: 268 seconds) |
| 17:07:23 | → | chris_ joins (~chris@81.96.113.213) |
| 17:08:35 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 255 seconds) |
| 17:09:12 | × | hegstal quits (~hegstal@2a02:c7f:7604:8a00:694c:cc5c:55d8:63b) (Ping timeout: 268 seconds) |
| 17:10:21 | → | shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net) |
| 17:11:42 | → | econo joins (uid147250@user/econo) |
| 17:14:21 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 265 seconds) |
| 17:14:56 | × | chele quits (~chele@user/chele) (Quit: Leaving) |
| 17:15:36 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
| 17:16:20 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-50.prtc.net) |
| 17:17:03 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-50.prtc.net) (Client Quit) |
| 17:17:12 | × | qbt quits (~edun@user/edun) (Ping timeout: 245 seconds) |
| 17:18:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 17:19:56 | → | shailangsa joins (~shailangs@host86-186-196-229.range86-186.btcentralplus.com) |
| 17:24:33 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:26:21 | <maerwald> | anyone has used 'capability'? |
| 17:26:46 | <zzz> | EvanR: that sound interesting. what zip . zip thing? |
| 17:27:08 | <EvanR> | let's see |
| 17:27:23 | <EvanR> | :t zip |
| 17:27:24 | <lambdabot> | [a] -> [b] -> [(a, b)] |
| 17:27:46 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 17:27:47 | → | Gurkenglas_ joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 17:27:47 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Killed (NickServ (GHOST command used by Gurkenglas_))) |
| 17:27:49 | → | lbseale_ joins (~lbseale@user/ep1ctetus) |
| 17:27:51 | Gurkenglas_ | is now known as Gurkenglas |
| 17:27:58 | <EvanR> | > concat |
| 17:28:00 | <lambdabot> | error: |
| 17:28:00 | <lambdabot> | • No instance for (Typeable a0) |
| 17:28:00 | <lambdabot> | arising from a use of ‘show_M50147428099411834637’ |
| 17:28:05 | <EvanR> | :t concat |
| 17:28:06 | <lambdabot> | Foldable t => t [a] -> [a] |
| 17:29:08 | <EvanR> | trying to remember from my early days of functional programming |
| 17:30:56 | × | lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 258 seconds) |
| 17:31:11 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 17:31:53 | × | guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection) |
| 17:32:30 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 17:32:59 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 17:33:00 | → | guest61 joins (~xxx@47.245.54.240) |
| 17:33:32 | <EvanR> | ok, just one zip... in scheme zip appears to act like transpose if you used a certain way: https://stackoverflow.com/questions/21688944/zip-function-in-racket-scheme |
| 17:34:37 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 17:35:09 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:36:52 | × | azeem quits (~azeem@176.200.202.21) (Read error: Connection reset by peer) |
| 17:37:37 | → | azeem joins (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) |
| 17:41:50 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Remote host closed the connection) |
| 17:42:09 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 17:43:50 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 17:44:23 | → | pesada joins (~agua@2804:14c:8793:8e2f:a4d4:3a0b:9f6:6100) |
| 17:45:04 | → | Guest9 joins (~Guest9@103.249.234.210) |
| 17:45:17 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 17:45:21 | × | roboto_el_gato quits (~roboto_el@2600:1700:7df0:4f30:50be:13e8:2b02:47f4) (Quit: Client closed) |
| 17:47:02 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 17:47:30 | × | agua quits (~agua@2804:18:7e:a02e:1:0:239f:a7bb) (Ping timeout: 240 seconds) |
| 17:48:21 | × | s_ quits (~s@50.34.81.185) (Quit: Leaving) |
| 17:51:18 | <dsal> | lechner: iterateM_ is "straight recursion" it just has a name. |
| 17:52:00 | <lechner> | dsal: thanks! |
| 17:52:33 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 250 seconds) |
| 17:52:41 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 17:52:54 | <dsal> | i.e., if you just needed this one thing, I wouldn't bring in monad-loops, but that implementation is trivial, so adding it and using common names is nice. `go` and `loop` and such are common mechanisms as well. There's nothing super wrong here. |
| 17:53:06 | <dsal> | > iterate succ 0 |
| 17:53:08 | <lambdabot> | [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2... |
| 17:57:53 | × | guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection) |
| 17:58:00 | → | robot_el_gato joins (~robot_el_@2600:1700:7df0:4f30:19da:dcae:83bc:1622) |
| 17:58:34 | <lechner> | dsal: could i use 'iterate' as well? |
| 17:59:00 | → | guest61 joins (~xxx@47.245.54.240) |
| 17:59:22 | <dsal> | No, iterate`M` means it's monadic and iterateM`_` means it doesn't return the accumulated list. |
| 17:59:30 | → | chris_ joins (~chris@81.96.113.213) |
| 17:59:43 | <lechner> | i see |
| 18:00:16 | <dsal> | So `iterateM_` is exactly what you're asking for in the sense that you can pass in a counter and return a new counter value from your action, but doesn't accumulate all the counter values. |
| 18:00:17 | <dsal> | :t iterate |
| 18:00:18 | <lambdabot> | (a -> a) -> a -> [a] |
| 18:00:41 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 18:01:01 | <dsal> | Iterate is great if you want to generate a list of generations of things where each is derived from the previous. |
| 18:03:36 | <dsal> | You could make an even more specific thing such as `MonadIO m => (Int -> m ()) -> m ()` That does something like `iterateM_ (\x -> a x >> pure (x +1) 0` |
| 18:03:53 | × | guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection) |
| 18:04:47 | <maerwald> | can you have distinct Readers via 'capability'? |
| 18:05:00 | → | guest61 joins (~xxx@47.245.54.240) |
| 18:05:37 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 18:06:51 | × | azeem quits (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) (Ping timeout: 250 seconds) |
| 18:07:27 | <zzz> | @hoogle iterateM |
| 18:07:27 | <lambdabot> | Streaming.Prelude iterateM :: Monad m => (a -> m a) -> m a -> Stream (Of a) m r |
| 18:07:27 | <lambdabot> | Util iterateM :: Monad m => Natural -> (a -> m a) -> a -> m (NonEmpty a) |
| 18:07:27 | <lambdabot> | Streamly.Internal.Data.Stream.StreamD iterateM :: Monad m => (a -> m a) -> m a -> Stream m a |
| 18:07:30 | × | peterhil quits (~peterhil@mobile-access-bceec8-93.dhcp.inet.fi) (Ping timeout: 268 seconds) |
| 18:09:28 | → | chris_ joins (~chris@81.96.113.213) |
| 18:09:36 | → | azeem joins (~azeem@176.200.202.21) |
| 18:12:21 | → | silverwhitefish joins (~hidden@47.202.102.10) |
| 18:12:54 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:14:17 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 18:14:18 | × | hiruji quits (~hiruji@user/hiruji) (Read error: Connection reset by peer) |
| 18:14:42 | → | hiruji joins (~hiruji@user/hiruji) |
| 18:15:25 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 18:17:05 | × | azeem quits (~azeem@176.200.202.21) (Read error: Connection reset by peer) |
| 18:17:16 | × | retroid_ quits (~retro@97e2ba5d.skybroadband.com) (Read error: Connection reset by peer) |
| 18:17:59 | → | retroid_ joins (~retro@97e2ba5d.skybroadband.com) |
| 18:19:23 | → | azeem joins (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) |
| 18:20:51 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 18:21:54 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
| 18:24:09 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 18:24:51 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:25:59 | → | chris_ joins (~chris@81.96.113.213) |
| 18:26:43 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:26:52 | → | cheater joins (~Username@84-115-12-132.cable.dynamic.surfer.at) |
| 18:27:35 | → | krz3si joins (~quassel@2a02:a31c:853b:b780:96f1:ff36:4051:20c7) |
| 18:27:47 | × | robot_el_gato quits (~robot_el_@2600:1700:7df0:4f30:19da:dcae:83bc:1622) (Quit: Ping timeout (120 seconds)) |
| 18:28:57 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:29:51 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds) |
| 18:30:43 | × | Hanicef quits (~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving) |
| 18:34:06 | × | shutdown_-h_now quits (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 265 seconds) |
| 18:41:00 | → | shutdown_-h_now joins (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) |
| 18:42:03 | × | mcglk_ quits (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
| 18:42:30 | → | mcglk joins (~mcglk@131.191.49.120) |
| 18:43:08 | → | robot_el_gato joins (~robot_el_@2600:1700:7df0:4f30:19da:dcae:83bc:1622) |
| 18:43:17 | → | __xor joins (~xor@74.215.232.67) |
| 18:43:36 | × | _xor quits (~xor@74.215.232.67) (Read error: Connection reset by peer) |
| 18:43:45 | × | Null_A quits (~null_a@2601:645:8700:2290:f84f:8a6f:2960:e8a4) (Remote host closed the connection) |
| 18:44:27 | → | Null_A joins (~null_a@2601:645:8700:2290:f84f:8a6f:2960:e8a4) |
| 18:44:29 | × | zebrag quits (~chris@user/zebrag) (Remote host closed the connection) |
| 18:48:20 | × | __xor quits (~xor@74.215.232.67) (Read error: Connection reset by peer) |
| 18:48:53 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 250 seconds) |
| 18:49:36 | → | __xor joins (~xor@74.215.232.67) |
| 18:51:54 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds) |
| 18:54:46 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:55:29 | → | zebrag joins (~chris@user/zebrag) |
| 18:57:11 | → | burnsidesLlama joins (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
| 18:57:49 | × | Null_A quits (~null_a@2601:645:8700:2290:f84f:8a6f:2960:e8a4) (Remote host closed the connection) |
| 18:57:55 | × | robot_el_gato quits (~robot_el_@2600:1700:7df0:4f30:19da:dcae:83bc:1622) (Ping timeout: 246 seconds) |
| 18:58:05 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
| 18:58:06 | → | Null_A joins (~null_a@2601:645:8700:2290:f84f:8a6f:2960:e8a4) |
| 19:01:07 | → | derelict joins (~derelict@user/derelict) |
| 19:01:46 | × | burnsidesLlama quits (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
| 19:01:53 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 19:02:58 | → | chris_ joins (~chris@81.96.113.213) |
| 19:04:50 | → | hexfive joins (~eric@50.35.83.177) |
| 19:14:40 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:15:26 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 19:20:08 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 19:24:09 | → | chris_ joins (~chris@81.96.113.213) |
| 19:24:54 | → | robot_el_gato joins (~robot_el_@2600:1700:7df0:4f30:19da:dcae:83bc:1622) |
| 19:24:59 | × | robot_el_gato quits (~robot_el_@2600:1700:7df0:4f30:19da:dcae:83bc:1622) (Client Quit) |
| 19:27:32 | × | fendor quits (~fendor@77.119.213.12.wireless.dyn.drei.com) (Remote host closed the connection) |
| 19:28:06 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 19:29:29 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 19:30:52 | → | fendor joins (~fendor@77.119.213.12.wireless.dyn.drei.com) |
| 19:32:46 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:35:42 | <lechner> | Hi, do most people here prefer Data.Text over String when appropriate? |
| 19:36:58 | <Rembane> | lechner: Yes! |
| 19:38:11 | × | Guest9 quits (~Guest9@103.249.234.210) (Quit: Connection closed) |
| 19:39:25 | <janus> | what was typical example with a 'read' blowing up with a long string? |
| 19:41:44 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 19:42:23 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
| 19:46:10 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 19:46:56 | → | Guest98 joins (~Guest98@187.83.249.216.dyn.smithville.net) |
| 19:47:25 | → | dunkeln joins (~dunkeln@94.128.224.230) |
| 19:47:31 | <sm> | when appropriate being the operative phrase ! |
| 19:47:41 | <Guest98> | is there a way to ask ghc/ghci "why did this instance declaration not apply to this data type"? |
| 19:47:47 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:48:46 | <Guest98> | (I could just write out an undefined function with the same signature I guess, just wondering if there's a better way) |
| 19:48:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 19:49:15 | × | DNH quits (~DNH@2a02:8108:1100:16d8:c4df:67d7:d0ec:2764) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:49:35 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:50:47 | <zzz> | Guest98: can you provide an example of what you would expect ghc to give you? |
| 19:51:07 | → | DNH joins (~DNH@2a02:8108:1100:16d8:c4df:67d7:d0ec:2764) |
| 19:52:06 | → | acidjnk joins (~acidjnk@p200300d0c72b9530b41c89c6d6c03a30.dip0.t-ipconnect.de) |
| 19:53:20 | <Guest98> | so like if I have a class (Constraint) => Head where ..., and a data SomeData which it didn't apply to, I could get an informative type error by writing: testFunction :: (Constraint) => Head -> ()// testFunction = undefined// testData :: SomeData// testData = undefined and then trying to compile testFunction (testData) |
| 19:54:18 | <Guest98> | the type error I'd get there explains why testData doesn't fit the input to testFunction...I just find myself doing this a lot, so I'm wondering if there's an easier way to get the same information |
| 19:56:07 | <Guest98> | oh sorry typo, I meant class instance (Constraint) => Head (because I usually want to know why an instance declaration I wrote down doesn't match a data type) |
| 19:58:35 | × | cheater quits (~Username@84-115-12-132.cable.dynamic.surfer.at) (Changing host) |
| 19:58:35 | → | cheater joins (~Username@user/cheater) |
| 19:59:06 | → | retro_ joins (~retro@97e2ba5d.skybroadband.com) |
| 20:02:05 | <dsal> | lechner: Text or one of the many ByteString types. I still use String on occasion because it often doesn't matter, but "matter" creeps up on you. |
| 20:02:49 | × | retroid_ quits (~retro@97e2ba5d.skybroadband.com) (Ping timeout: 268 seconds) |
| 20:02:54 | <lechner> | thanks! |
| 20:03:31 | → | retroid_ joins (~retro@97e2ba5d.skybroadband.com) |
| 20:04:03 | × | retro_ quits (~retro@97e2ba5d.skybroadband.com) (Ping timeout: 268 seconds) |
| 20:07:05 | → | juhp joins (~juhp@128.106.188.66) |
| 20:10:42 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:11:23 | <maerwald> | dminuoso: so there are two solutions: 1. effect-stack (with type level index into the stack to disambiguate) and 2. 'capability' library: https://paste.tomsmeding.com/TrDVpiq9 |
| 20:11:29 | <maerwald> | the latter seems over-engineered |
| 20:12:04 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 268 seconds) |
| 20:12:41 | <maerwald> | wrt effect-stack I have slight concerns that it's less composable, because you have to specify the index |
| 20:12:53 | <maerwald> | but for my own use case, it's probably irrelevant |
| 20:17:14 | <Boarders> | is there a more natural way to write a parser like: |
| 20:17:14 | <Boarders> | (try $ Just <$> p) <|> pure Nothing |
| 20:18:42 | × | Guest98 quits (~Guest98@187.83.249.216.dyn.smithville.net) (Quit: Client closed) |
| 20:20:03 | <dsal> | Boarders: `option Nothing (Just <$> try p)` ? |
| 20:23:19 | <Boarders> | yeah I think I can use optional but not with try |
| 20:23:25 | <Boarders> | I think try will always succeed |
| 20:24:27 | × | mjs2600_ quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 20:25:38 | × | dunkeln quits (~dunkeln@94.128.224.230) (Ping timeout: 268 seconds) |
| 20:25:41 | <wwalker> | anyone know if I can buy Programming in Haskell as a PDF? I bought it a couple of weeks ago and started using it last night. I'm old and the print is just too small, and the binding is already breaking, and it won't lie flat. Only thing I have found is Amazon has it, but then I'm tied to their reader, but I'll likely end up buying it again from Amazon. |
| 20:25:48 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 20:25:56 | × | krz3si quits (~quassel@2a02:a31c:853b:b780:96f1:ff36:4051:20c7) (Ping timeout: 252 seconds) |
| 20:26:07 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 246 seconds) |
| 20:26:17 | → | renzhi joins (~xp@2607:fa49:655f:a700::8b9f) |
| 20:26:28 | → | krz3si joins (~quassel@185.217.117.220) |
| 20:27:08 | × | jolly quits (~jolly@208.180.97.158) (Quit: Connection closed) |
| 20:27:31 | <myShoggoth> | The Haskell Interlude podcast teaser episode is up: https://haskell.foundation/podcast/ |
| 20:30:01 | <Rembane> | Yay! |
| 20:30:34 | → | Pickchea joins (~private@user/pickchea) |
| 20:34:26 | × | KUrare quits (~KUrare@user/kurare) (Remote host closed the connection) |
| 20:34:51 | <tomsmeding> | Boarders: I don't think try will always succeed; it will turn later failure (which is usually fatal in parsec) into immediate failure (which allows another path to be chosen in parsec) |
| 20:34:52 | → | KUrare joins (~KUrare@user/kurare) |
| 20:35:14 | <tomsmeding> | so I'd expect the expression by dsal to be exactly what you need |
| 20:35:46 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer) |
| 20:35:56 | × | KUrare quits (~KUrare@user/kurare) (Remote host closed the connection) |
| 20:36:20 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 20:36:20 | → | KUrare joins (~KUrare@user/kurare) |
| 20:38:04 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
| 20:38:33 | <tomsmeding> | also yay Utrecht representation on the podcast :) |
| 20:39:49 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Client Quit) |
| 20:40:34 | → | slycelote joins (~slycelote@user/slycelote) |
| 20:40:47 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 20:41:10 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 20:42:27 | → | RaitoBezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 20:42:58 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 240 seconds) |
| 20:45:40 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 20:46:56 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
| 20:47:17 | × | RaitoBezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 255 seconds) |
| 20:47:27 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Client Quit) |
| 20:47:42 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 20:47:52 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 20:52:22 | <Boarders> | thanks! I went with just optional p which seemed to have the right semantics for what I was doing |
| 20:53:15 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 20:54:36 | → | agua joins (~agua@177.79.106.96) |
| 20:55:14 | × | azeem quits (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 20:56:09 | → | azeem joins (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) |
| 20:57:54 | × | pesada quits (~agua@2804:14c:8793:8e2f:a4d4:3a0b:9f6:6100) (Ping timeout: 255 seconds) |
| 21:01:25 | → | retro_ joins (~retro@97e2ba5d.skybroadband.com) |
| 21:02:35 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:04:43 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:05:06 | × | retroid_ quits (~retro@97e2ba5d.skybroadband.com) (Ping timeout: 268 seconds) |
| 21:05:43 | × | KUrare quits (~KUrare@user/kurare) (Ping timeout: 268 seconds) |
| 21:08:16 | → | pesada joins (~agua@2804:14c:8793:8e2f:a4d4:3a0b:9f6:6100) |
| 21:09:17 | × | cheater quits (~Username@user/cheater) (Quit: (BitchX) Hanson uses BitchX. Mommy, can we dress like boys again?) |
| 21:09:44 | → | cheater joins (~Username@user/cheater) |
| 21:10:21 | × | gorignak quits (~gorignak@047-037-033-079.res.spectrum.com) (Quit: leaving) |
| 21:10:42 | × | agua quits (~agua@177.79.106.96) (Ping timeout: 240 seconds) |
| 21:10:53 | chkno_ | is now known as chkno |
| 21:11:26 | × | neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 21:12:13 | × | ft quits (~ft@shell.chaostreff-dortmund.de) (Remote host closed the connection) |
| 21:12:14 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 21:14:17 | → | jolly joins (~jolly@208.180.97.158) |
| 21:15:07 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 21:15:23 | → | neurocyte joins (~neurocyte@45.136.170.21) |
| 21:15:23 | × | neurocyte quits (~neurocyte@45.136.170.21) (Changing host) |
| 21:15:23 | → | neurocyte joins (~neurocyte@user/neurocyte) |
| 21:17:12 | × | turlando quits (~turlando@user/turlando) (Read error: Connection reset by peer) |
| 21:17:27 | → | chomwitt joins (~Pitsikoko@2a02:587:dc02:3500:12c3:7bff:fe6d:d374) |
| 21:17:29 | × | michalz quits (~michalz@185.246.204.61) (Remote host closed the connection) |
| 21:17:36 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 21:17:36 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 21:17:36 | → | turlando joins (~turlando@user/turlando) |
| 21:21:10 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 21:21:38 | <dsal> | I just noticed in stdlib that `find` is defined as `find p = getFirst . foldMap (\ x -> First (if p x then Just x else Nothing))` -- does anyone have any opinions as to why that's better than the `foldr` that seems like an obvious thing to me. |
| 21:24:03 | <c_wraith> | it works better for data types that are more tree-like |
| 21:24:10 | × | fendor quits (~fendor@77.119.213.12.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 21:24:19 | <c_wraith> | Hmm. Actually, I'm not sure of that. |
| 21:24:29 | <c_wraith> | I can't see any case where it's obviously better |
| 21:26:24 | <hpc> | :t foldMap |
| 21:26:25 | <lambdabot> | (Foldable t, Monoid m) => (a -> m) -> t a -> m |
| 21:27:52 | → | ft joins (~ft@shell.chaostreff-dortmund.de) |
| 21:29:24 | <boxscape> | % :t \p -> alaf First foldMap \x -> [x | p x ] |
| 21:29:24 | <yahb> | boxscape: Foldable t => (b -> Bool) -> t b -> Maybe b |
| 21:29:25 | × | chris_ quits (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 21:30:50 | × | DNH quits (~DNH@2a02:8108:1100:16d8:c4df:67d7:d0ec:2764) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:32:03 | → | agua joins (~agua@2804:18:7e:a02e:1:0:239f:a7bb) |
| 21:33:01 | × | slycelote quits (~slycelote@user/slycelote) (Read error: Connection reset by peer) |
| 21:33:01 | → | s_ joins (~slycelote@user/slycelote) |
| 21:34:28 | → | chris_ joins (~chris@81.96.113.213) |
| 21:34:59 | × | pesada quits (~agua@2804:14c:8793:8e2f:a4d4:3a0b:9f6:6100) (Ping timeout: 255 seconds) |
| 21:35:19 | × | paolino quits (~paolo@84.33.185.158) (Ping timeout: 268 seconds) |
| 21:36:59 | → | DNH joins (~DNH@2a02:8108:1100:16d8:c4df:67d7:d0ec:2764) |
| 21:39:19 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 21:39:19 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 21:39:37 | → | benin0369 joins (~benin@183.82.204.139) |
| 21:39:38 | × | chris_ quits (~chris@81.96.113.213) (Ping timeout: 268 seconds) |
| 21:40:09 | × | shailangsa quits (~shailangs@host86-186-196-229.range86-186.btcentralplus.com) (Remote host closed the connection) |
| 21:42:28 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 21:45:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:45:34 | × | ubert quits (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Quit: ubert) |
| 21:45:54 | → | lavaman joins (~lavaman@98.38.249.169) |
| 21:50:27 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
| 21:52:04 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:57:46 | → | KUrare joins (~KUrare@user/kurare) |
| 21:59:28 | → | jmorris joins (uid433911@id-433911.stonehaven.irccloud.com) |
| 22:03:38 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 256 seconds) |
| 22:03:44 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 22:05:14 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 22:05:41 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 22:09:14 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds) |
| 22:09:14 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds) |
| 22:10:11 | → | shailangsa joins (~shailangs@host86-186-196-229.range86-186.btcentralplus.com) |
| 22:14:51 | × | KUrare quits (~KUrare@user/kurare) (Remote host closed the connection) |
| 22:15:07 | × | s_ quits (~slycelote@user/slycelote) (Quit: Leaving) |
| 22:15:16 | → | KUrare joins (~KUrare@user/kurare) |
| 22:15:18 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8) |
| 22:19:21 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 22:20:08 | <c_wraith> | Hmm. how does one make haddock render README.md into the index file? |
| 22:20:14 | × | oxide_ quits (~lambda@user/oxide) (Read error: Connection reset by peer) |
| 22:21:34 | → | HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) |
| 22:23:25 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds) |
| 22:23:40 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 22:24:43 | → | slycelote joins (~slycelote@user/slycelote) |
| 22:27:37 | → | h98 joins (~h98@187.83.249.216.dyn.smithville.net) |
| 22:29:50 | × | chomwitt quits (~Pitsikoko@2a02:587:dc02:3500:12c3:7bff:fe6d:d374) (Remote host closed the connection) |
| 22:30:07 | → | chomwitt joins (~Pitsikoko@2a02:587:dc02:3500:12c3:7bff:fe6d:d374) |
| 22:30:27 | × | bgamari quits (~bgamari@72.65.101.148) (Ping timeout: 265 seconds) |
| 22:32:18 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 22:32:48 | → | bgamari joins (~bgamari@72.65.101.148) |
| 22:34:23 | × | acidjnk quits (~acidjnk@p200300d0c72b9530b41c89c6d6c03a30.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 22:34:50 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 22:37:39 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 22:38:33 | <h98> | I want a type family "Unwrap a" where if I write "newtype Foo = F Bar" then "Unwrap Foo = Bar"...is this impossible without writing it out explicitly because the left side of the newtype doesn't reference the wrapped type? |
| 22:42:02 | <geekosaur> | you might be interested in Coercible |
| 22:42:18 | <geekosaur> | in short, it already exists |
| 22:43:27 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:44:50 | × | vysn quits (~vysn@user/vysn) (Remote host closed the connection) |
| 22:45:13 | <sm> | or Witch |
| 22:48:18 | <h98> | yeah I know I can coerce (I can also just do it another way), I was just wondering if there was an easy way to write this as a type family |
| 22:48:20 | × | KUrare quits (~KUrare@user/kurare) (Ping timeout: 265 seconds) |
| 22:49:29 | <h98> | obviously Unwrap (f a) = a doesn't work because "Foo" doesn't match "f a" in "newtype Foo = F Bar" |
| 22:55:33 | × | chomwitt quits (~Pitsikoko@2a02:587:dc02:3500:12c3:7bff:fe6d:d374) (Remote host closed the connection) |
| 22:55:44 | → | bgamari_ joins (~bgamari@72.65.101.148) |
| 22:55:45 | <davean> | h98: theres no information at the type level about what is in Foo, so no |
| 22:55:50 | → | chomwitt joins (~Pitsikoko@2a02:587:dc02:3500:12c3:7bff:fe6d:d374) |
| 22:56:06 | × | bgamari quits (~bgamari@72.65.101.148) (Ping timeout: 268 seconds) |
| 22:56:41 | <davean> | coerce doesn't even do this, coerce talks about representations matching |
| 22:57:16 | <h98> | okay that makes sense; thanks! |
| 22:57:48 | <davean> | (This is what type role "nominal" deals with actually!) |
| 23:01:31 | × | chomwitt quits (~Pitsikoko@2a02:587:dc02:3500:12c3:7bff:fe6d:d374) (Ping timeout: 246 seconds) |
| 23:11:40 | × | noctux quits (~noctux@user/noctux) (Read error: Connection reset by peer) |
| 23:12:09 | → | noctux joins (~noctux@user/noctux) |
| 23:15:10 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds) |
| 23:16:05 | × | noctux quits (~noctux@user/noctux) (Remote host closed the connection) |
| 23:17:23 | × | Null_A quits (~null_a@2601:645:8700:2290:f84f:8a6f:2960:e8a4) (Remote host closed the connection) |
| 23:17:27 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 23:18:59 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
| 23:19:22 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 23:20:16 | → | noctux joins (~noctux@user/noctux) |
| 23:24:17 | × | dhouthoo_ quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
| 23:26:04 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 23:26:04 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 23:27:18 | allbery_b | is now known as geekosaur |
| 23:30:19 | → | pavonia joins (~user@user/siracusa) |
| 23:31:32 | × | jol quits (~jol@jol.dev) (Quit: WeeChat 3.2) |
| 23:35:34 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
| 23:35:51 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds) |
| 23:37:12 | → | Guest8638 joins (~Guest86@50.47.115.102) |
| 23:38:37 | × | h98 quits (~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed) |
| 23:38:57 | → | notzmv joins (~zmv@user/notzmv) |
| 23:39:27 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 255 seconds) |
| 23:40:08 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 23:41:21 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:52:57 | × | GZJ0X_ quits (~GZJ0X@199.193.127.138.16clouds.com) (Ping timeout: 255 seconds) |
| 23:56:00 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 23:56:17 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 23:56:58 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds) |
All times are in UTC on 2021-07-16.