Logs on 2021-04-12 (freenode/#haskell)
| 00:00:06 | × | atk quits (~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.) |
| 00:00:28 | → | atk joins (~Arch-TK@ircpuzzles/staff/Arch-TK) |
| 00:00:29 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 00:01:03 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 00:02:07 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 00:02:19 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 00:05:21 | × | Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 260 seconds) |
| 00:06:29 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 00:07:39 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 00:08:13 | × | usr25 quits (~usr25@unaffiliated/usr25) (Ping timeout: 240 seconds) |
| 00:08:27 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 00:11:15 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds) |
| 00:11:49 | × | gitgood quits (~gitgood@host-78-145-142-133.as13285.net) (Ping timeout: 265 seconds) |
| 00:12:15 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 00:13:17 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 00:16:01 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:b6af) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 00:17:23 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 00:17:50 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 258 seconds) |
| 00:18:53 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 00:21:33 | × | myShoggoth quits (~myShoggot@75.164.73.93) (Ping timeout: 240 seconds) |
| 00:22:59 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 00:23:12 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 00:23:27 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 00:23:36 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 00:24:12 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds) |
| 00:25:01 | → | zyeri joins (zyeri@gateway/shell/tilde.team/x-worsvflxuunnsvnw) |
| 00:25:01 | × | zyeri quits (zyeri@gateway/shell/tilde.team/x-worsvflxuunnsvnw) (Changing host) |
| 00:25:01 | → | zyeri joins (zyeri@tilde.team/users/zyeri) |
| 00:26:21 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 00:26:38 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 00:27:28 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 00:28:44 | <koz_> | d34df00d: What's your question(s)? |
| 00:28:45 | × | Tario quits (~Tario@200.119.187.163) (Read error: Connection reset by peer) |
| 00:31:36 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 00:34:18 | → | Tario joins (~Tario@201.192.165.173) |
| 00:38:36 | × | tmciver quits (~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 260 seconds) |
| 00:40:20 | → | tmciver joins (~tmciver@cpe-172-101-40-226.maine.res.rr.com) |
| 00:40:36 | → | cloudpip joins (sid67735@gateway/web/irccloud.com/x-lqqwgjfhbduhzygo) |
| 00:41:09 | × | acidjnk_new quits (~acidjnk@p200300d0c72b950365222184c91f1222.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 00:41:56 | <cloudpip> | hi all, I'm trying to build a recompile-and-run-loop with ghc, so it'll compile your code and run the main function in a loop so for example in an interactive program, you can close the program and it'll recompile the sources that changed and restart main |
| 00:42:07 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection) |
| 00:42:17 | <cloudpip> | https://github.com/homectl/workspace/blob/main/livecoding/src/Debug/LiveCoding.hs <- it works, with 2 caveats I'd like to resolve |
| 00:44:00 | <cloudpip> | 1) most importantly, I want it to compile to object code, like ghci -fobject-code. this clearly is possible (since ghci -fobject-code works), but when I set it to HscAsm, it no longer reloads the modules even though it does recompile them |
| 00:44:14 | <cloudpip> | HscAsm does work, but reloading the modules does not |
| 00:45:55 | <cloudpip> | 2) adding -hide-all-packages (via Opt_HideAllPackages) makes it crash: https://www.irccloud.com/pastebin/SL8YmJSc/ |
| 00:46:36 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 00:49:38 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 00:53:52 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
| 00:56:02 | × | ViCi quits (daniel@10PLM.ro) (Quit: Quit!) |
| 00:56:40 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 00:57:40 | <wrunt> | cloudpip: maybe you can find a clue in the implementation of Dyre, since it does run-time compilation? (https://github.com/willdonnelly/dyre) |
| 00:58:17 | <cloudpip> | I'm staring at GHCi.UI and I don't see what I'm doing differently |
| 00:58:24 | <cloudpip> | it looks exactly the same to me |
| 00:59:23 | <cloudpip> | https://github.com/willdonnelly/dyre/blob/master/Config/Dyre/Compile.hs#L73 |
| 00:59:27 | <cloudpip> | dyre seems to just call ghc? |
| 01:00:10 | <cloudpip> | I specifically don't want to call ghc, because I don't want to wait 1 minute for ld to do the executable linking |
| 01:00:22 | <cloudpip> | ghci in-memory linking is super fast, so I want that |
| 01:01:01 | <cloudpip> | I looked at hint, it only does HscInterpreted |
| 01:03:45 | <cloudpip> | now I'm looking at "plugins", which does in fact do loading of .o files, but it's more low level than what I need.. still, it might be useful (though it doesn't work on windows) |
| 01:05:44 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 01:05:47 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 01:05:58 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 01:07:18 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Remote host closed the connection) |
| 01:08:29 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:09:49 | × | gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 252 seconds) |
| 01:10:31 | → | DTZUZU_ joins (~DTZUZO@207.81.119.43) |
| 01:11:04 | × | whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:44 | <d34df00d> | koz_: well, I have this code for doing IDCT (the bottom-most function, idctBlocks, is doing that, plus collecting all of the results to ensure things are fully evaluated, but that's perhaps irrelevant): |
| 01:11:50 | <d34df00d> | https://bpaste.net/PXTA |
| 01:11:56 | <d34df00d> | It's also built with -fllvm -O2 |
| 01:12:11 | → | whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:12:12 | × | DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 240 seconds) |
| 01:12:57 | <d34df00d> | And it is ridiculously slow. It takes about 2 seconds of CPU time on some test data I have (which has about 1 million of 8×8 matrices over which IDCT happens, so about 64 million elements in the vector that the function takes). |
| 01:13:04 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 01:13:29 | <d34df00d> | My rough estimate of the time required for this is from 250 milliseconds (for dumb, scalar code) to about 30 ms if SIMD is involved. |
| 01:14:03 | <d34df00d> | So I wonder what I'm doing wrong and how can I make this faster. |
| 01:15:05 | <d34df00d> | Ah, and the performance of the code is insensitive to whether I'm going row-wise or column-wise — replacing arrSlice = R.unsafeSlice arr (sh :. x :. All) with arrSlice = R.unsafeSlice arr (sh :. All :. x) there (and similarly for idctSlice) has no effect on performance whatsoever. |
| 01:15:14 | <d34df00d> | Which definitely should not happen for a well-optimized code. |
| 01:17:38 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 258 seconds) |
| 01:17:58 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 01:18:38 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 01:19:31 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 01:19:49 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:21:14 | → | DTZUZU joins (~DTZUZO@205.ip-149-56-132.net) |
| 01:21:22 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Client Quit) |
| 01:22:43 | × | xff0x quits (~xff0x@2001:1a81:5278:bf00:33a0:2c0f:72ed:caee) (Ping timeout: 260 seconds) |
| 01:23:11 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 01:23:18 | <koz_> | What difference(s) do you observe without -fllvm? |
| 01:23:26 | × | DTZUZU_ quits (~DTZUZO@207.81.119.43) (Ping timeout: 240 seconds) |
| 01:24:14 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 01:24:18 | → | xff0x joins (~xff0x@2001:1a81:52af:1400:3ce5:1261:85cb:8b42) |
| 01:27:14 | <d34df00d> | Oh, much slower. |
| 01:27:17 | <d34df00d> | Still waiting… |
| 01:27:33 | <koz_> | OK, and I guess the same _with_ -fllvm but with -O1? |
| 01:27:40 | <koz_> | I'm trying to rule out weird regressions. |
| 01:27:50 | <d34df00d> | Alrighty, done waiting. 45 seconds with -fasm for that module vs -fllvm. |
| 01:28:09 | <d34df00d> | vs 2 for -fllvm, that is. |
| 01:28:12 | <d34df00d> | Let me try -O1 now. |
| 01:28:26 | <d34df00d> | Yeah, -O1 with -fllvm is slower, but not that much — 3.3 seconds vs 2 seconds. |
| 01:28:36 | <koz_> | OK so not a weird regression. |
| 01:28:40 | koz_ | thinks a bit. |
| 01:28:49 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 01:29:11 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 01:29:19 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Client Quit) |
| 01:29:32 | <d34df00d> | I mean, as a next step I could either try accelerate instead of repa, or try to write that stuff myself with primops (too bad ghc primops don't have horizontal add, meh!), or dunno. |
| 01:29:35 | <koz_> | Yeah, might be better see if anyone knows, cause I'm a bit mystified. |
| 01:29:47 | <d34df00d> | But I have a gut feel that repa can do better than that, and I'd like to know how. |
| 01:30:15 | <d34df00d> | I mean, it cannot be one or two orders of magnitude slower than something that's somewhat easily achievable. |
| 01:30:35 | <koz_> | Repa is meant to emit CPU code right? |
| 01:30:38 | <koz_> | Have you tried massiv? |
| 01:30:39 | <d34df00d> | Yep. |
| 01:30:41 | <d34df00d> | Nope. |
| 01:30:45 | <koz_> | I'd be curious if massiv could do better. |
| 01:31:16 | <koz_> | For Cabal files, if I wanna detect being on a Mac, I test 'os(macos)', right? |
| 01:31:56 | <d34df00d> | Yeah, I'll definitely give it a shot! I never really used massiv, so I'll be curious to see how it performs. |
| 01:32:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:32:13 | <d34df00d> | In another task where I used repa, it was very close to what I would expect performance-wise. |
| 01:32:51 | <koz_> | Yeah, but there is definitely some Repa-specific specialist knowledge required to make sense of what will run well or not. |
| 01:34:02 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 01:34:17 | <d34df00d> | The one thing I noticed so far is that I cannot figure out when to materialize things. |
| 01:34:40 | <d34df00d> | I kinda have the intuition of "when the next step is gonna use each element more than once", but that doesn't always work. |
| 01:35:11 | <koz_> | Materialization is most useful when indexing happens a lot. |
| 01:35:19 | <koz_> | Immaterial arrays transform well, but index badly. |
| 01:35:28 | <koz_> | Material ones _index_ well, but transform badly (since you have to copy). |
| 01:35:32 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 01:37:11 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Client Quit) |
| 01:38:45 | → | sedeki joins (~textual@unaffiliated/sedeki) |
| 01:39:59 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 01:41:03 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 01:42:09 | → | xiinotulp joins (~q@node-uqk.pool-125-24.dynamic.totinternet.net) |
| 01:43:15 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 01:43:55 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 01:44:24 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 01:44:33 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds) |
| 01:45:17 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 01:45:18 | × | plutoniix quits (~q@node-ur9.pool-125-24.dynamic.totinternet.net) (Ping timeout: 240 seconds) |
| 01:46:03 | <hololeap> | out of curiousity, what branch of CS are you two talking about? i'm searching for "materialization array" and "immaterial array" not really finding anything |
| 01:46:08 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
| 01:46:10 | <koz_> | It's not a CS thing. |
| 01:46:13 | × | xiinotulp quits (~q@node-uqk.pool-125-24.dynamic.totinternet.net) (Ping timeout: 240 seconds) |
| 01:46:20 | <koz_> | It's a functional handling of arrays thing. |
| 01:46:27 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 01:46:36 | <koz_> | Basically, you can represent an array as 'material', which is like, a regular immutable array. |
| 01:46:52 | <koz_> | Or 'immaterial', which more-or-less represents a computation that will _produce_ an array on demand. |
| 01:47:01 | <koz_> | There's usually two ways this can be done (push or pull). |
| 01:47:03 | <d34df00d> | koz_: that makes sense. What makes me curious, though, is that this: |
| 01:47:06 | <d34df00d> | R.map fromIntegral $ R.reshape matExtent $ R.computeUnboxedS $ R.backpermute flatExtent unZigzagify reparr |
| 01:47:09 | <d34df00d> | performs much better than this: |
| 01:47:16 | <d34df00d> | R.computeUnboxedS $ R.map fromIntegral $ R.reshape matExtent $ R.backpermute flatExtent unZigzagify reparr |
| 01:47:23 | × | s00pcan quits (~chris@107.181.165.217) (Ping timeout: 252 seconds) |
| 01:47:41 | <koz_> | How is the final result of either of this consumed? |
| 01:47:54 | <d34df00d> | It's passed to that idctBlocks thing |
| 01:48:35 | <koz_> | Yeah, because you're needlessly summing. |
| 01:48:49 | <koz_> | Any fold (which sums are) can process an immaterial array without ever having to materialize it. |
| 01:49:19 | → | s00pcan joins (~chris@075-133-056-178.res.spectrum.com) |
| 01:49:27 | <koz_> | So your materialization there is completely unnecessary, but Repa will dutifully do it, then throw it the hell away. |
| 01:50:40 | <d34df00d> | But it does the IDCT first, doing lots of matrix multiplications! |
| 01:50:46 | × | mmmattyx quits (uid17782@gateway/web/irccloud.com/x-zbqbfvcklnwtphsz) (Quit: Connection closed for inactivity) |
| 01:51:05 | <d34df00d> | Ugh, I meant "passed to that idct thing", sorry. |
| 01:51:13 | <d34df00d> | ...which is a slightly different function. |
| 01:54:57 | <koz_> | Yeah, that does kinda change things. |
| 01:55:48 | <koz_> | Although it still makes sense - you have a sum with a zip inside and some slicing. |
| 01:55:53 | <koz_> | So my argument still holds. |
| 01:56:24 | <koz_> | I'd need to look into Repa's innards to be sure, but it still makes sense that prematerializing it doesn't give you anything. |
| 01:57:45 | × | viluon quits (uid453725@gateway/web/irccloud.com/x-tkvbkhprqmkdlgqp) (Quit: Connection closed for inactivity) |
| 01:58:09 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 02:01:17 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 02:06:22 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 02:06:32 | × | dariof4 quits (~dario@217.171.72.2) (Quit: WeeChat 3.1) |
| 02:07:07 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:b6af) |
| 02:07:35 | × | s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection) |
| 02:10:09 | × | DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
| 02:11:02 | → | normie joins (~normie@S0106ac202e2069c3.vw.shawcable.net) |
| 02:13:03 | <d34df00d> | koz_: but the sum will evaluate the indexing function several times for every element, right? |
| 02:15:35 | <koz_> | Why? Do your slices overlap? |
| 02:19:48 | × | sedeki quits (~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 02:20:00 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:b6af) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 02:20:37 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 02:21:34 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 02:25:15 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 02:26:15 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 02:28:33 | <d34df00d> | Yeah! |
| 02:28:49 | <d34df00d> | Every element gets processed about 8 times, if I'm not mistaken/ |
| 02:29:37 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 02:30:51 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 02:31:59 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 02:33:02 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 02:35:31 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 02:36:36 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 258 seconds) |
| 02:37:28 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 02:37:47 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 265 seconds) |
| 02:38:33 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds) |
| 02:39:11 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 02:40:59 | × | amerigo quits (uid331857@gateway/web/irccloud.com/x-bkqqhlxtahyyobpt) (Quit: Connection closed for inactivity) |
| 02:42:03 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 02:43:09 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 02:46:37 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 02:47:43 | × | theDon quits (~td@94.134.91.241) (Ping timeout: 252 seconds) |
| 02:47:43 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 258 seconds) |
| 02:48:42 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 02:49:40 | → | theDon joins (~td@muedsl-82-207-238-004.citykom.de) |
| 02:52:53 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 02:53:02 | → | FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 02:53:02 | finn_elija | is now known as Guest11269 |
| 02:53:03 | FinnElija | is now known as finn_elija |
| 02:54:18 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 02:55:57 | × | Guest11269 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
| 02:56:31 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 02:58:12 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 02:58:14 | → | drbean_ joins (~drbean@TC210-63-209-92.static.apol.com.tw) |
| 02:58:51 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 02:59:53 | → | Newbievarine joins (1829ec3e@24.41.236.62) |
| 03:00:00 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.) |
| 03:01:41 | → | Taneb joins (~Taneb@runciman.hacksoc.org) |
| 03:02:13 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds) |
| 03:02:19 | <Newbievarine> | how do I typecast an expression into an existential type? |
| 03:02:56 | → | ram19890 joins (~ram@49.207.130.109) |
| 03:05:24 | <c_wraith> | Haskell doesn't do typecasting at all. |
| 03:06:46 | <Newbievarine> | I understand I wasn't being clear in what I meant but anyway I can just name the type and a cosntructor for it use the constructor |
| 03:07:39 | <dmwit> | Hm, okay. Is your problem resolved, then? |
| 03:08:47 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 03:09:35 | → | rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-tjgowmwnssyxkqkn) |
| 03:09:37 | <Newbievarine> | well, yes. unless there is some way to from an expression of type T (which is a member of typeclass TC) get an expression of type (forall a. TC a => a) without actually naming (a type that's isomorphic to) the latter type |
| 03:11:45 | <dmwit> | You definitely cannot go from `T` to `forall a. TC a => a` without knowing something special about how `T` and `TC` relate. Just knowing `instance TC T` is not enough. |
| 03:14:48 | <Newbievarine> | I'm not sure what you mean by having to know something special about how T and TC relate. What I did was just declare "data ExistentialType = forall a. TC a => ConstructorHere a" then the expression "t" of type T I can just rewrite as expression "ConstructorHere t" of type ExistentialType |
| 03:14:52 | × | puke quits (~vroom@217.138.252.196) (Quit: puke) |
| 03:15:28 | <dmwit> | `ConstructorHere (x :: T)` is not (even isomorphic to) `forall a. TC a => a`. |
| 03:16:01 | <Newbievarine> | well no, not in haskell I suppose it's not.. |
| 03:16:18 | <Newbievarine> | assuming you mean ExistentialType not the expression |
| 03:17:40 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 03:17:50 | → | raym joins (~ray@45.64.220.116) |
| 03:20:41 | <c_wraith> | Usually when people start asking about this, the better solution is to forget classes and existentials. You don't need to create different types to have values with different behaviors. You can just use first-class functions or records thereof, maybe closing over an environment. |
| 03:21:13 | → | berberman_ joins (~berberman@unaffiliated/berberman) |
| 03:21:50 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds) |
| 03:22:11 | <Newbievarine> | it's to define a function that returns a heteregenuous list |
| 03:22:19 | <dmwit> | (Whoops, I was a bit imprecise there. Instead of "is not", I should have said "has a type that is not".) |
| 03:22:40 | <c_wraith> | that doesn't sound like a use case for existentials at all |
| 03:22:46 | <c_wraith> | that sounds like a use case for higher-rank types |
| 03:22:51 | <dmwit> | Also are you sure you need a heterogeneous list? |
| 03:24:29 | → | myShoggoth joins (~myShoggot@75.164.73.93) |
| 03:24:55 | <Newbievarine> | I don't know about need. but it certainly makes things more straightforward |
| 03:25:28 | <hololeap> | more straightforward or more similar to what you would do in other languages? |
| 03:26:08 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 03:26:16 | <Newbievarine> | I don't really use other languages. not imperivative ones anyway |
| 03:26:29 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 03:26:58 | <hololeap> | do you really need a list that can hold *any* type, or are there a handful of types that you want to fit into it? |
| 03:28:09 | <dmwit> | Huh. I'm not sure I've ever heard "heterogeneous list" and "more straightforward" in the same breath before. |
| 03:28:18 | <dmwit> | Usually the benefit is something very, very different from convenience. |
| 03:28:22 | <Newbievarine> | not sure why you all feel the need to be so critical of the use of existential types |
| 03:28:27 | <Newbievarine> | the use is this |
| 03:28:55 | <Newbievarine> | I have a typeclass with a function that maps the type in question to a heteregenous list |
| 03:29:09 | <Newbievarine> | such that the type of the elements of the list belong to a certain typeclass |
| 03:30:17 | <dmwit> | So far it sounds exactly like the typical beginner existential trap we're trying to warn you about. |
| 03:30:36 | <Newbievarine> | what is the trap exactly? |
| 03:31:04 | <dmwit> | https://lukepalmer.wordpress.com/2010/01/24/haskell-antipattern-existential-typeclass/ |
| 03:32:04 | <Newbievarine> | okay? that doesnt' apply at all to my specific circumstance |
| 03:32:31 | <dmwit> | ¯\_(ツ)_/¯ you're the expert |
| 03:32:47 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 03:33:01 | <hololeap> | i was going to say using the full gamut of haskell's features to shoot yourself in the foot by not adhering to KISS |
| 03:33:46 | <Newbievarine> | existential types might be difficult from an implementation standpoint but they are one of the most elementary concepts of type theory so not sure whhy you think ti deviates from simplicity |
| 03:34:02 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 03:34:21 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 03:34:48 | <hololeap> | well, if it's simple and you understand how to do it, then what's the problem? |
| 03:34:52 | <dmwit> | Sure. And tossing in a rule to your lambda cube saying that computations can appear in types is drop-dead simple from a theory standpoint. But that doesn't mean that the code you write once you have that rule available is simple. |
| 03:36:06 | <Newbievarine> | I mean, that analogy doesn't even work. because that is not drop-dead simply from a theoretical standpoint. |
| 03:36:26 | <Newbievarine> | and I didn't have a problem, I just had a simple question which was how to get from an expression in the one type to the existential type |
| 03:37:12 | <Newbievarine> | apparently that was an open invitation for a nonsensical lecture on how I don't need existential types. One which would've felt more in good faith if it had been preceded by a question "can you explain what you're trying to do" or something similar |
| 03:38:22 | <hololeap> | fair enough. it smelled like an anti-pattern. |
| 03:38:59 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 03:39:51 | <hololeap> | very few high-quality libraries i've seen effectively use heterogenous lists, so it was important to question the necessity of it. |
| 03:39:59 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 03:41:10 | <hololeap> | because there may be a much more straightforward and ergonomic way to solve your problem |
| 03:43:22 | <hololeap> | Newbievarine: there is cast from Data.Typeable |
| 03:43:36 | <hololeap> | not sure if that helps or not |
| 03:43:43 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 03:43:53 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 03:43:58 | <Newbievarine> | hololeap: thanks |
| 03:44:27 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 258 seconds) |
| 03:45:39 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 03:47:17 | <Newbievarine> | hololeap: and I appreciate yuor suggestion of enumerating the possibilities (I assume using constructors with a sum type) but it's not something that makes sense in this instance just from a practical standpoint |
| 03:47:29 | <ski> | .. fwiw, you most probably didn't mean to go from `T' to `forall a. TC a => a' at all (but possibly to `exists a. TC a *> a', which is a very different beast. your `ExistentialType' encodes this type) |
| 03:47:40 | <hololeap> | ok, yeah, that was what i was thinking |
| 03:48:03 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 03:48:18 | <Newbievarine> | ski: it was my understanding that in Haskell existential types are written using the forall keyword ? |
| 03:48:51 | <ski> | (e.g. note that a value of type `forall a. Show a => a' can only be a partial value) |
| 03:48:56 | <ski> | no |
| 03:49:11 | <ski> | that's a misunderstanding |
| 03:49:34 | <ski> | strictly speaking, existential types aren't written at all, in Haskell (including extensions) |
| 03:50:08 | × | waleee-cl quits (uid373333@gateway/web/irccloud.com/x-cppcunbrtpbtpgrh) (Quit: Connection closed for inactivity) |
| 03:50:11 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 03:50:21 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 03:50:39 | × | snowflake quits (~snowflake@gateway/tor-sasl/snowflake) (Remote host closed the connection) |
| 03:50:45 | <ski> | (well, iirc, LHC did support `exists' .. but only in argument type position in function types, which is the "trivial" usage of them. but GHC for sure doesn't support existential types directly) |
| 03:51:10 | → | snowflake joins (~snowflake@gateway/tor-sasl/snowflake) |
| 03:51:22 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 03:51:29 | <ski> | otoh, there's two common ways to *encode* existential types. (a) using what might be termed "existential data constructor"; (b) using a CPS/Church encoding |
| 03:54:05 | <ski> | take e.g. the type `exists q. ({- empty :: -} q,{- enqueue :: -} a -> q -> q,{- dequeue :: -} q -> Maybe (q,a))', representing an implementation of queues, with elements of type `a'. `q' is a hidden/forgotten/abstract/opaque/skolem type, the representation type of queues in this implementation |
| 03:55:04 | <ski> | if we want to use (a) to encode this, we should start by inventing a name for this type `exists q. (q,a -> q -> q,q -> Maybe (q,a))' (parameterizing it on `a', in this case), e.g. |
| 03:55:14 | <ski> | type QueueOps a = exists q. (q,a -> q -> q,q -> Maybe (q,a)) |
| 03:55:23 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 268 seconds) |
| 03:55:37 | <ski> | however, this is still pseudo-Haskell. let's replace the synonym with a `data' type |
| 03:55:43 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 03:55:47 | → | DTZUZU joins (~DTZUZO@205.ip-149-56-132.net) |
| 03:55:55 | <ski> | data QueueOps a = MkQOps (exists q. (q,a -> q -> q,q -> Maybe (q,a))) |
| 03:56:16 | <ski> | or, using the alternative, `GADTSyntax' style for declaring `data' types |
| 03:56:22 | <ski> | data QueueOps a |
| 03:56:24 | <ski> | where |
| 03:56:34 | <ski> | MkQOps :: (exists q. (q,a -> q -> q,q -> Maybe (q,a))) -> QueueOps a |
| 03:56:42 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 03:57:04 | <ski> | now, the thing to realize is that `(exists a. ..a..) -> ...' is equivalent to `forall a. (..a..) -> ...' |
| 03:57:07 | <ski> | e.g. |
| 03:57:11 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 03:57:15 | <ski> | length :: forall a. ([a] -> Int) |
| 03:57:22 | <ski> | conceptually is equivalent to |
| 03:57:31 | <ski> | length :: (exists a. [a]) -> Int |
| 03:58:31 | <ski> | the first says that, for all types `a', if we call `length' with a list of elements of type `a', we'll get an `Int' back as result. the second says that, calling `length', we get an `Int' result, provided there exists some type `a' such that the argument is a list of elements of type `a' |
| 03:58:52 | <ski> | so, armed with this equivalence, we can now rephrase the `data' constructor signature |
| 03:58:57 | <ski> | MkQOps :: (exists q. (q,a -> q -> q,q -> Maybe (q,a))) -> QueueOps a |
| 03:58:59 | <ski> | to |
| 03:59:15 | <ski> | MkQOps :: forall q. ((q,a -> q -> q,q -> Maybe (q,a)) -> QueueOps a) |
| 03:59:21 | <ski> | or simply |
| 03:59:24 | <ski> | MkQOps :: forall q. (q,a -> q -> q,q -> Maybe (q,a)) -> QueueOps a |
| 03:59:30 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 03:59:45 | <ski> | (also `a' is really quantified with a `forall' over this whole signature) |
| 04:00:14 | <Newbievarine> | I understand all that but what you're saying that if in haskell you write f :: a -> (forall b. Foo b => b) that the range type is actually a universal quantification in haskell. (not sure you can even write this actually) |
| 04:00:20 | → | vicfred joins (vicfred@gateway/vpn/mullvad/vicfred) |
| 04:00:48 | <ski> | so, a data constructor (or generally, any function), which takes an argument of existentially quantified type, is basically the same as a *polymorphic* ditto, that accepts an argument for any `q' (in this case), and whose result type doesn't mention `q' |
| 04:01:10 | <ski> | Newbievarine : yes, and yes (you can write that, with extensions) |
| 04:01:38 | <Newbievarine> | okay. I got the wrong impression by the way forall always got brought up int he syntax of declaring existential types. thanks for the clarification |
| 04:01:44 | <ski> | so, using the `ExistentialQuantification' extension (which, imho, is a misnomer), we can now express `QueueOps' as |
| 04:01:57 | <Newbievarine> | but yes what I meant then was (exists a. Tc a .. so on and so forth |
| 04:01:59 | <ski> | data QueueOps a = forall q. MkQOps (q,a -> q -> q,q -> Maybe (q,a)) |
| 04:02:06 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 04:02:38 | <ski> | and this `forall q.' means universal quantification, means polymorphism, means that the data constructor `MkQOps' is polymorphic |
| 04:02:40 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 04:02:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:02:58 | <ski> | it's not the case that, somehow, `forall' really means `exists', in this case |
| 04:03:46 | <ski> | similarly, `(Cxt *> T) -> U' is logially equivalent to `Cxt => (T -> U)' |
| 04:03:50 | <Newbievarine> | because of the implicit universal quantification in Haskell I thought that the forall keyword got hijacked but I see now you can actually use it explicit in a subexpression as you say, with an extension, and it's actually universal quantification |
| 04:04:46 | <Newbievarine> | no such support for existential quantification I'm guessing ? |
| 04:05:08 | <ski> | a value of type `Cxt => ...' expects the caller/user/consumer to provide evidence for the constraint `Cxt'. while a value of type `Cxt *> ...', that is, the callee/implementor/producer of it, will itself provide such evidence of `Cxt' to the caller/&c. |
| 04:06:16 | <ski> | the other, (b) way of representing/encoding `exists q. (q,a -> q -> q,q -> Maybe (q,a))' uses the general equivalence between `T' and `forall o. (T -> o) -> o' |
| 04:07:27 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 04:07:52 | <ski> | in this case, we get `forall o. ((exists q. (q,a -> q -> q,q -> Maybe (q,a))) -> o) -> o' which then is equivalent to `forall o. (forall q. (q,a -> q -> q,q -> Maybe (q,a)) -> o) -> o', or, currying the callback/continuation, `forall o. (forall q. q -> (a -> q -> q) -> (q -> Maybe (q,a)) -> o) -> o'. this is a rank-two type, since it has a `forall' in an argument type |
| 04:07:54 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 04:08:08 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 04:08:39 | <ski> | (i stress that there's *two* encodings to emphasize that `ExistentialQuantification' is not "the way to do existentials". it's *one* possible way) |
| 04:08:57 | ski | nods to Newbievarine |
| 04:09:21 | <ski> | fwiw, did you ever check out "Polymorphic Type Inference" by Michael I. Schwartzbach in 1995-03 at <https://cs.au.dk/~amoeller/mis/typeinf.p(s|df)>,<https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.1493> ? |
| 04:10:06 | <ski> | it also mentions existentials. might be interesting to take a glance at |
| 04:10:14 | <ski> | @where on-understanding |
| 04:10:14 | <lambdabot> | "On Understanding Types, Data Abstraction, and Polymorphism" by Luca Cardelli,Peter Wegner in 1985-12 at <http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf> |
| 04:10:19 | <ski> | is also nice |
| 04:12:00 | <Newbievarine> | thanks for the references |
| 04:12:06 | <ski> | @where on-understanding-revisited |
| 04:12:06 | <lambdabot> | "On Understanding Data Abstraction, Revisited" by William R. Cook in 2009-10 at <http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf> |
| 04:12:37 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 04:12:38 | → | PragCypher_ joins (~cypher@li1507-98.members.linode.com) |
| 04:12:38 | <ski> | talks a bit more on OO vs. ADT (abstract data types). both are related to existentials, albeit different ways of using them |
| 04:12:43 | → | dminuoso_ joins (~dminuoso@static.88-198-218-68.clients.your-server.de) |
| 04:12:53 | → | electrostat_ joins (~dag@unaffiliated/electrostat) |
| 04:13:28 | → | pieguy128_ joins (~pieguy128@bas1-quebec14-67-70-101-46.dsl.bell.ca) |
| 04:13:47 | → | texasmynsted_ joins (~texasmyns@99.96.221.112) |
| 04:14:11 | <ski> | relevant here is that `exists s. (s,s -> ..s..)' is equivalent to `nu s. ..s..' (greatest fixedpoint). similarly to how `forall r. (..r.. -> r) -> r' is equivalent to `mu r. ..r..' (least fixedpoint) |
| 04:14:49 | → | dilinger joins (~dilinger@spindle.queued.net) |
| 04:14:59 | → | oleks_ joins (~oleks@188.166.34.97) |
| 04:15:11 | → | akhesaca1o joins (~caro@212.83.144.58) |
| 04:15:28 | → | tristanC_ joins (~tristanC@unaffiliated/tristanc) |
| 04:15:36 | → | AWizzArd_ joins (~code@gehrels.uberspace.de) |
| 04:15:52 | → | cafce25_ joins (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) |
| 04:15:53 | <ski> | e.g., taking `exists q. (q,a -> q -> q,q -> Maybe (q,a))', we can rephrase this as `exists q. (q,q -> (a -> q,Maybe (q,a)))', which then becomes `nu q. (a -> q,Maybe (q,a))'. which translates to the recursive (thought of as coinductive) `data QueueOps a = MkQOps (a -> QueueOps a) (Maybe (a,QueueOps a))' |
| 04:15:55 | <Newbievarine> | anyway says right here at the beginning https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/existential_quantification.html#existentially-quantified-data-constructors that the syntax is such that "data Blah = forall a. Boop a" means a construct Boop of type forall a. a -> Blah |
| 04:16:02 | × | texasmynsted quits (~texasmyns@99.96.221.112) (Killed (tolkien.freenode.net (Nickname regained by services))) |
| 04:16:02 | texasmynsted_ | is now known as texasmynsted |
| 04:16:05 | <Newbievarine> | suppose I should've read that part :D |
| 04:16:15 | <ski> | yup |
| 04:16:50 | <ski> | so .. often, instead of using existentials, one can use recursive types |
| 04:17:10 | <ski> | (and this is a typically OO thing to do) |
| 04:17:58 | <ski> | (however, this fails if one e.g. have "binary methods", like if we had had `q -> q -> q', for merging two queues into a single queue, or something like that) |
| 04:19:12 | → | wraithm_ joins (~wraithm@unaffiliated/wraithm) |
| 04:19:16 | × | jiribenes quits (~jiribenes@rosa.jiribenes.com) (Remote host closed the connection) |
| 04:20:02 | → | jiribenes joins (~jiribenes@rosa.jiribenes.com) |
| 04:20:18 | → | aib42 joins (~aib@unaffiliated/aib42) |
| 04:20:25 | × | pnotequalnp[m] quits (pnotequaln@gateway/shell/matrix.org/x-vbfhpdihocudbihr) (*.net *.split) |
| 04:20:25 | × | amerocu[m] quits (amerocumat@gateway/shell/matrix.org/x-qxnfpxkjfoepsjkc) (*.net *.split) |
| 04:20:25 | × | Poyo[m] quits (stikynotha@gateway/shell/matrix.org/x-hdaxlpnazrfvbqll) (*.net *.split) |
| 04:20:26 | × | heck-to-the-gnom quits (heck-to-th@gateway/shell/matrix.org/x-odwuoyyyfqjuhqfr) (*.net *.split) |
| 04:20:26 | × | VarikValefor[m] quits (varikvalef@gateway/shell/matrix.org/x-rxkwfuaqsqeyxnjv) (*.net *.split) |
| 04:20:26 | × | anon1891[m] quits (anon1891ma@gateway/shell/matrix.org/x-onnujzintxhdncvb) (*.net *.split) |
| 04:20:26 | × | cafce25 quits (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (*.net *.split) |
| 04:20:26 | × | beardhatcode quits (robbertbea@gateway/shell/matrix.org/x-xwmepnlvznlpjdga) (*.net *.split) |
| 04:20:26 | × | kadoban quits (kadobanemp@gateway/shell/matrix.org/x-gxlvabnrocccxmxd) (*.net *.split) |
| 04:20:26 | × | mly quits (mlydisenco@gateway/shell/matrix.org/x-hdizmtyvxksdkslu) (*.net *.split) |
| 04:20:26 | × | DevTurks[m] quits (turkdevops@gateway/shell/matrix.org/x-ojlnprlhammzunlz) (*.net *.split) |
| 04:20:26 | × | pieguy128 quits (~pieguy128@bras-base-mtrlpq5031w-grc-47-67-70-101-46.dsl.bell.ca) (*.net *.split) |
| 04:20:26 | × | jtojnar quits (jtojnarmat@gateway/shell/matrix.org/x-lztialmegsqbabni) (*.net *.split) |
| 04:20:27 | × | wraithm quits (~wraithm@unaffiliated/wraithm) (*.net *.split) |
| 04:20:27 | × | norsxa quits (uid494793@gateway/web/irccloud.com/x-wurwmiwscjouwjvh) (*.net *.split) |
| 04:20:27 | × | angerman quits (sid209936@gateway/web/irccloud.com/x-telvwebhmibfciob) (*.net *.split) |
| 04:20:27 | × | amatecha____ quits (sid10006@gateway/web/irccloud.com/x-zvybgedfthmrvwqy) (*.net *.split) |
| 04:20:27 | × | cawfee quits (chiya@2406:3003:2077:2341::babe) (*.net *.split) |
| 04:20:27 | × | SolarAquarion quits (SolarAquar@gateway/shell/panicbnc/x-jhqcerqxwmhuufxz) (*.net *.split) |
| 04:20:27 | × | Papa quits (~papa@unaffiliated/papa) (*.net *.split) |
| 04:20:27 | × | AWizzArd quits (~code@unaffiliated/awizzard) (*.net *.split) |
| 04:20:27 | × | tristanC quits (~tristanC@unaffiliated/tristanc) (*.net *.split) |
| 04:20:27 | × | gambpang quits (~gambpang@unaffiliated/gambpang) (*.net *.split) |
| 04:20:27 | × | Klumben quits (Nsaiswatch@gateway/shell/panicbnc/x-tsikniggqbsrqudz) (*.net *.split) |
| 04:20:27 | × | urdh quits (~urdh@unaffiliated/urdh) (*.net *.split) |
| 04:20:27 | × | dminuoso quits (~dminuoso@static.88-198-218-68.clients.your-server.de) (*.net *.split) |
| 04:20:27 | × | PragCypher quits (~cypher@li1507-98.members.linode.com) (*.net *.split) |
| 04:20:27 | × | aib quits (~aib@unaffiliated/aib42) (*.net *.split) |
| 04:20:27 | × | electrostat quits (~dag@unaffiliated/electrostat) (*.net *.split) |
| 04:20:27 | × | PatrickRobotham_ quits (sid18270@gateway/web/irccloud.com/x-oiupfqgvgmcusgoi) (*.net *.split) |
| 04:20:27 | × | sclv quits (sid39734@haskell/developer/sclv) (*.net *.split) |
| 04:20:27 | × | scav quits (sid309693@gateway/web/irccloud.com/x-uslhiglasceegqqw) (*.net *.split) |
| 04:20:27 | × | anderson quits (~ande@159.65.95.130) (*.net *.split) |
| 04:20:27 | × | akhesacaro quits (~caro@212.83.144.58) (*.net *.split) |
| 04:20:27 | × | earthy_ quits (~arthurvl@deban2.xs4all.space) (*.net *.split) |
| 04:20:27 | × | oleks quits (~oleks@188.166.34.97) (*.net *.split) |
| 04:20:27 | × | dilinger_ quits (~dilinger@spindle.queued.net) (*.net *.split) |
| 04:20:27 | electrostat_ | is now known as electrostat |
| 04:20:40 | <ski> | (the OO way of using existentials consists of opening up a package of a state, and methods. doing some operation on the state, using methods. in case we get a new state back, we repackage it up again with the methods. the ADT way, starts by opening the existential at the beginning, and then passing around the raw states directly, not repackaging. this allows such "binary operations", like merging) |
| 04:21:03 | × | outerpassage_ quits (outerpassa@2600:3c01::f03c:92ff:fed1:4643) (Quit: quitting) |
| 04:21:17 | → | outerpassage joins (~outerpass@li1196-30.members.linode.com) |
| 04:21:25 | → | Papa joins (~papa@unaffiliated/papa) |
| 04:22:14 | → | gambpang joins (~gambpang@unaffiliated/gambpang) |
| 04:22:22 | → | DevTurks[m] joins (turkdevops@gateway/shell/matrix.org/x-ijvxwxyebgqvrzsn) |
| 04:22:33 | <ski> | (however, my naming `QueueOps a' above, and that i labelled the `q' part of the triple as "empty" rather than as "current queue state", suggested that i was thinking of it in the ADT way. however, the transformation from `exists' to `nu' above that i showed really makes sense for the OO usage of existentials, not the ADT, so i guess i ought to have renamed `QueueOps' to `Queue' ..) |
| 04:23:09 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds) |
| 04:23:25 | → | anderson joins (~ande@159.65.95.130) |
| 04:26:22 | → | earthy_ joins (~arthurvl@deban2.xs4all.space) |
| 04:27:49 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
| 04:28:05 | × | blankhart quits (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 246 seconds) |
| 04:28:30 | → | blankhart joins (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) |
| 04:30:11 | × | swater quits (bouhier200@perso.iiens.net) (Ping timeout: 240 seconds) |
| 04:30:12 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 04:30:38 | → | Tario joins (~Tario@201.192.165.173) |
| 04:31:45 | × | snowflake quits (~snowflake@gateway/tor-sasl/snowflake) (Remote host closed the connection) |
| 04:32:12 | → | snowflake joins (~snowflake@gateway/tor-sasl/snowflake) |
| 04:34:36 | → | PatrickRobotham_ joins (sid18270@gateway/web/irccloud.com/x-dsytamzyvqvdenoe) |
| 04:34:38 | → | norsxa joins (uid494793@gateway/web/irccloud.com/x-qcpmzqxcuhseltht) |
| 04:34:42 | → | scav joins (sid309693@gateway/web/irccloud.com/x-zpwaikoxdaqjtkjd) |
| 04:34:43 | → | angerman joins (sid209936@gateway/web/irccloud.com/x-vwzrxwwqpznmvfzd) |
| 04:34:44 | → | cawfee joins (chiya@2406:3003:2077:2341::babe) |
| 04:34:54 | → | urdh joins (~urdh@unaffiliated/urdh) |
| 04:34:56 | → | sclv joins (sid39734@haskell/developer/sclv) |
| 04:35:18 | → | amatecha____ joins (sid10006@gateway/web/irccloud.com/x-gvwvasnyguqtijeo) |
| 04:35:26 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
| 04:37:10 | → | Poyo[m] joins (stikynotha@gateway/shell/matrix.org/x-uiqhsetlapuwwlht) |
| 04:37:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 04:38:30 | → | pnotequalnp[m] joins (pnotequaln@gateway/shell/matrix.org/x-ilonrmhzsbjadrsm) |
| 04:38:34 | → | amerocu[m] joins (amerocumat@gateway/shell/matrix.org/x-qzhlcptahjtnfoav) |
| 04:39:13 | → | anon1891[m] joins (anon1891ma@gateway/shell/matrix.org/x-luqmyjielnldrpsd) |
| 04:39:13 | → | VarikValefor[m] joins (varikvalef@gateway/shell/matrix.org/x-uozhdqikwobvzrfg) |
| 04:40:45 | → | mly joins (mlydisenco@gateway/shell/matrix.org/x-hffzasvjgrikcwzr) |
| 04:41:13 | → | jtojnar joins (jtojnarmat@gateway/shell/matrix.org/x-letamvhzjtbwxmeu) |
| 04:41:25 | → | beardhatcode joins (robbertbea@gateway/shell/matrix.org/x-lsjnjwfsaaqmayss) |
| 04:41:34 | → | kadoban joins (kadobanemp@gateway/shell/matrix.org/x-zvjltlxvjsvasrie) |
| 04:41:41 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 04:41:46 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 04:42:06 | → | heck-to-the-gnom joins (heck-to-th@gateway/shell/matrix.org/x-bjzlaxrwotuujapr) |
| 04:45:53 | × | Newbievarine quits (1829ec3e@24.41.236.62) (Quit: Connection closed) |
| 04:46:06 | → | SolarAquarion joins (SolarAquar@gateway/shell/panicbnc/x-sxxrzckrtiulpjwg) |
| 04:46:57 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 04:48:29 | × | gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Remote host closed the connection) |
| 04:48:54 | → | gioyik joins (~gioyik@gateway/tor-sasl/gioyik) |
| 04:52:43 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 04:53:08 | × | myShoggoth quits (~myShoggot@75.164.73.93) (Remote host closed the connection) |
| 04:53:36 | → | myShoggoth joins (~myShoggot@75.164.73.93) |
| 04:55:05 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds) |
| 04:57:45 | × | vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving) |
| 05:00:10 | → | Klumben joins (Nsaiswatch@gateway/shell/panicbnc/x-igfvivsmqpanwyqa) |
| 05:03:48 | → | v01d4lph4 joins (~v01d4lph4@223.177.186.2) |
| 05:06:59 | × | nbloomf quits (~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 05:10:14 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:4e:3fe1:fdb1:102) (Remote host closed the connection) |
| 05:15:17 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-xnusfecbnfnfbkmf) |
| 05:18:58 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 05:21:51 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 05:23:33 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
| 05:26:17 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 05:37:15 | → | anandprabhu joins (uid495588@gateway/web/irccloud.com/x-eezubqkxedpeqasj) |
| 05:43:18 | × | myShoggoth quits (~myShoggot@75.164.73.93) (Ping timeout: 268 seconds) |
| 05:44:39 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
| 05:45:33 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 05:55:09 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 05:55:28 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 05:59:11 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 06:01:33 | × | snowflake quits (~snowflake@gateway/tor-sasl/snowflake) (Remote host closed the connection) |
| 06:01:55 | × | kav quits (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Remote host closed the connection) |
| 06:02:05 | × | Jajik quits (xchlup2@gateway/shell/fi.muni.cz/x-xsxkgiwziqlucamx) (Ping timeout: 258 seconds) |
| 06:02:13 | × | xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-ejzqrdqgatevcaqk) (Ping timeout: 246 seconds) |
| 06:02:41 | → | Moyst_ joins (~moyst@212-149-213-144.bb.dnainternet.fi) |
| 06:02:51 | × | Moyst quits (~moyst@212-149-213-144.bb.dnainternet.fi) (Ping timeout: 258 seconds) |
| 06:05:10 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 06:10:03 | → | Codaraxis_ joins (Codaraxis@gateway/vpn/mullvad/codaraxis) |
| 06:10:12 | × | kristijonas quits (~kristijon@78-56-32-39.static.zebra.lt) (Read error: Connection reset by peer) |
| 06:10:31 | → | kav joins (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) |
| 06:11:05 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 06:11:22 | → | snowflake joins (~snowflake@gateway/tor-sasl/snowflake) |
| 06:11:49 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 06:12:03 | × | hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:5814:9eff:6ec3:1fa9) (Ping timeout: 260 seconds) |
| 06:12:03 | × | hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:5814:9eff:6ec3:1fa9) (Ping timeout: 260 seconds) |
| 06:13:25 | × | Codaraxis__ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 252 seconds) |
| 06:18:22 | → | kristijonas joins (~kristijon@78-56-32-39.static.zebra.lt) |
| 06:19:23 | → | Lowl3v3l joins (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) |
| 06:21:27 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 06:22:13 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 06:24:13 | → | hiroaki_ joins (~hiroaki@2a02:8108:8c40:2bb8:803f:da32:c6d7:e902) |
| 06:24:23 | → | rnat2 joins (uid73555@gateway/web/irccloud.com/x-xyybgrwhpsswrqnb) |
| 06:24:24 | → | hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:803f:da32:c6d7:e902) |
| 06:25:04 | × | snowflake quits (~snowflake@gateway/tor-sasl/snowflake) (Remote host closed the connection) |
| 06:25:31 | → | snowflake joins (~snowflake@gateway/tor-sasl/snowflake) |
| 06:26:53 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 06:28:14 | → | jpe90 joins (~user@pool-108-31-85-19.washdc.fios.verizon.net) |
| 06:32:54 | → | srk joins (~sorki@unaffiliated/srk) |
| 06:33:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:34:08 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
| 06:34:28 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 06:36:22 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 06:38:19 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:41:30 | → | michalz joins (~user@185.246.204.61) |
| 06:44:09 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 06:47:56 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 06:50:49 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 06:52:35 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 06:53:19 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 06:54:53 | → | solvr joins (57e3c46d@87.227.196.109) |
| 06:58:18 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 06:58:31 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 07:00:01 | × | fiedlr quits (~fiedlr@83.148.33.254) (Remote host closed the connection) |
| 07:00:15 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 07:02:26 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 246 seconds) |
| 07:05:27 | × | snowflake quits (~snowflake@gateway/tor-sasl/snowflake) (Remote host closed the connection) |
| 07:06:26 | → | snowflake joins (~snowflake@gateway/tor-sasl/snowflake) |
| 07:07:15 | → | coot joins (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
| 07:08:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 07:08:06 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 07:09:51 | → | zeenk joins (~zeenk@2a02:2f04:a10b:af00:91ba:3645:1cdb:9a75) |
| 07:10:47 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:fd13:61f6:41c7:dd98) |
| 07:10:50 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 246 seconds) |
| 07:10:57 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-lebgsvzszhbzqzrr) |
| 07:12:01 | → | malumore joins (~malumore@151.62.112.168) |
| 07:12:16 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 07:13:13 | → | Sorna joins (~Sornaensi@077213203030.dynamic.telenor.dk) |
| 07:13:21 | → | Jajik joins (xchlup2@gateway/shell/fi.muni.cz/x-opqjhtmxhszjujsj) |
| 07:15:40 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:fd13:61f6:41c7:dd98) (Ping timeout: 258 seconds) |
| 07:16:12 | → | jespada joins (~jespada@90.254.243.187) |
| 07:18:57 | × | gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.0) |
| 07:20:55 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 07:22:45 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 07:23:08 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 07:23:55 | × | lawid quits (~quassel@2a02:8109:b5c0:8af9:265e:beff:fe2a:dde8) (Ping timeout: 260 seconds) |
| 07:24:00 | juri__ | is now known as juri_ |
| 07:26:46 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:27:11 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 07:27:45 | → | Sorny joins (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) |
| 07:28:22 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 07:29:41 | → | kuribas joins (~user@ptr-25vy0i8r0t0fnc1atgj.18120a2.ip6.access.telenet.be) |
| 07:31:02 | × | Sorna quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 260 seconds) |
| 07:32:47 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 07:33:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:33:59 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 07:37:29 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 07:38:40 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 258 seconds) |
| 07:38:44 | → | xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-uidtystkyvzekhjq) |
| 07:39:19 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-xnusfecbnfnfbkmf) (Quit: Connection closed for inactivity) |
| 07:39:35 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 07:42:20 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 07:44:27 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 07:44:50 | → | idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 07:51:03 | → | lawid joins (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) |
| 07:52:39 | → | minoru_shiraeesh joins (~shiraeesh@109.166.56.28) |
| 07:54:37 | → | sedeki joins (~textual@unaffiliated/sedeki) |
| 07:55:53 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 07:56:16 | × | raym quits (~ray@45.64.220.116) (Ping timeout: 252 seconds) |
| 07:57:15 | × | jpe90 quits (~user@pool-108-31-85-19.washdc.fios.verizon.net) (Remote host closed the connection) |
| 07:57:26 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 07:57:30 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Remote host closed the connection) |
| 07:57:43 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 08:00:46 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 08:01:34 | × | evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
| 08:02:03 | → | LKoen joins (~LKoen@65.250.88.92.rev.sfr.net) |
| 08:02:18 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Client Quit) |
| 08:02:41 | × | mrchampion quits (~mrchampio@38.18.109.23) (Ping timeout: 240 seconds) |
| 08:02:43 | → | evanjs joins (~evanjs@075-129-098-007.res.spectrum.com) |
| 08:05:14 | tdammers_ | is now known as tdammers |
| 08:06:11 | × | sedeki quits (~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 08:07:02 | × | zariuq quits (~zar@fw1.ciirc.cvut.cz) (Quit: Leaving) |
| 08:07:13 | → | hendursaga joins (~weechat@gateway/tor-sasl/hendursaga) |
| 08:09:33 | × | hendursa1 quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
| 08:10:19 | × | lawid quits (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) (Quit: lawid) |
| 08:12:23 | → | swater joins (~swater@perso.iiens.net) |
| 08:13:05 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 08:13:25 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 08:14:05 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 08:14:27 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 08:15:58 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 08:18:37 | × | normie quits (~normie@S0106ac202e2069c3.vw.shawcable.net) (Quit: WeeChat 3.1) |
| 08:25:17 | × | snowflake quits (~snowflake@gateway/tor-sasl/snowflake) (Remote host closed the connection) |
| 08:25:44 | → | snowflake joins (~snowflake@gateway/tor-sasl/snowflake) |
| 08:26:36 | → | tony42 joins (5c10c36d@host-92-16-195-109.as13285.net) |
| 08:27:11 | <tony42> | Hi, I'm getting a problem installing haskell on a mac mini (applesilicon) |
| 08:27:15 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 08:29:18 | <tony42> | is there an IDE I can use, I tried the intelliJ plugin but I can't start a new project with haskell |
| 08:30:33 | <merijn> | "Is there an IDE?" not really, for most common definitions of IDE |
| 08:31:17 | <merijn> | tony42: As for "problems installing", it'd help to mention: How you are installing, what the error is, etc. |
| 08:31:23 | AWizzArd_ | is now known as AWizzArd |
| 08:31:36 | × | AWizzArd quits (~code@gehrels.uberspace.de) (Changing host) |
| 08:31:36 | → | AWizzArd joins (~code@unaffiliated/awizzard) |
| 08:32:04 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 265 seconds) |
| 08:32:41 | × | snowflake quits (~snowflake@gateway/tor-sasl/snowflake) (Remote host closed the connection) |
| 08:32:49 | <maerwald> | apple silicon isn't supported yet, you have to usr -arch x86_64 compat mode |
| 08:33:30 | <maerwald> | https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/101#note_319402 |
| 08:33:35 | → | Neuromancer joins (~Neuromanc@unaffiliated/neuromancer) |
| 08:34:27 | → | snowflake joins (~snowflake@gateway/tor-sasl/snowflake) |
| 08:35:42 | → | jpe90 joins (~user@pool-108-31-85-19.washdc.fios.verizon.net) |
| 08:36:40 | → | epipav joins (2ec500f6@46.197.0.246) |
| 08:37:55 | → | mrchampion joins (~mrchampio@38.18.109.23) |
| 08:38:26 | <tony42> | ok thank you Maerwald, it did have a specific download for apple silicon |
| 08:44:35 | akhesaca1o | is now known as akhesacaro |
| 08:45:36 | × | drbean_ quits (~drbean@TC210-63-209-92.static.apol.com.tw) (Ping timeout: 265 seconds) |
| 08:49:05 | × | rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-tjgowmwnssyxkqkn) (Quit: Connection closed for inactivity) |
| 08:50:39 | <jackdk> | Is anyone familiar with the `some` library? I'm looking for a way to derive GEq. My type has four constructors, so it's not critical, but some TH would be nice |
| 08:52:22 | × | minoru_shiraeesh quits (~shiraeesh@109.166.56.28) (Ping timeout: 265 seconds) |
| 08:52:59 | <jackdk> | Ah, it seems to still be in dependent-sum-template |
| 08:55:18 | → | mananamenos joins (~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) |
| 08:55:57 | <jackdk> | hm, no. that only gives me GShow, and seems to be wired into the dependent-sum universe a bit |
| 08:57:01 | → | fendor joins (~fendor@91.141.0.248.wireless.dyn.drei.com) |
| 08:57:12 | <jackdk> | no, the functions i need are there after all |
| 09:00:05 | × | plumenator[m] quits (plumenator@gateway/shell/matrix.org/x-mccaaaafsjcbbjtb) (Quit: Idle for 30+ days) |
| 09:02:40 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 09:09:06 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 09:09:27 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 09:09:40 | × | Guest61238 quits (~textual@2603-7000-3040-0000-35a2-98b5-94af-f785.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:09:41 | × | paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 09:10:09 | × | mananamenos quits (~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) (Quit: Leaving) |
| 09:11:51 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:c91f:da77:c91e:d06d) |
| 09:14:42 | → | acidjnk_new joins (~acidjnk@p200300d0c72b950365222184c91f1222.dip0.t-ipconnect.de) |
| 09:15:07 | mnrmnaugh | is now known as awk |
| 09:15:11 | → | ulidtko|k joins (~ulidtko@31.133.98.215) |
| 09:16:25 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:c91f:da77:c91e:d06d) (Ping timeout: 258 seconds) |
| 09:21:54 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:22:13 | → | haskellstudent joins (~quassel@213-225-6-101.nat.highway.a1.net) |
| 09:22:39 | → | Guest_69 joins (5d4bdf9b@93.75.223.155) |
| 09:23:58 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 09:25:03 | awk | is now known as mnrmnaugh |
| 09:26:31 | <Guest_69> | Hi haskellers, question from noobie why https://www.haskell.org/ghcup/ installs cabal and not stack? |
| 09:27:07 | <sclv> | because stack has its own installer |
| 09:27:21 | <sclv> | and ghcup is for installing ghc and cabal |
| 09:27:23 | <Guest_69> | I have trouble with cabal => installed Haskell => install blaze-markup => iHaskell call import => ending with Could not find module ‘Text.Blaze.Html4.Strict’ |
| 09:27:47 | <Guest_69> | but Haskell.org/ghcup sounds very official, like way to go |
| 09:28:06 | <Guest_69> | cabal and stack can live together or they conflict? |
| 09:28:55 | <Guest_69> | * installed IHaskell (https://github.com/gibiansky/IHaskell) |
| 09:29:25 | → | idhugo_ joins (~idhugo@87-49-44-84-mobile.dk.customer.tdc.net) |
| 09:29:29 | <Guest_69> | Haskell port to Jupiter (wanna drop some functional code into the cells |
| 09:29:44 | <sclv> | they can live together. stack installs its own ghc even. its totally removed from the system toolchain |
| 09:30:33 | <Guest_69> | so stack its like nvm, ram or virtualenv from python? |
| 09:30:44 | <Guest_69> | rvm* for ruby |
| 09:31:30 | <Guest_69> | if so what's the difference of ghcup against stack? |
| 09:31:52 | <Guest_69> | ghcup manages only single ghc? |
| 09:31:58 | × | idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
| 09:32:40 | × | rnat2 quits (uid73555@gateway/web/irccloud.com/x-xyybgrwhpsswrqnb) (Quit: Connection closed for inactivity) |
| 09:32:54 | <maerwald> | Guest_69: stack incorporates a) tool to develop haskell projects b) automatic installation of GHC c) package release sets as opposed to rolling. ghcup is just an installer for GHC and cabal. Cabal is the other tool to develop haskell projects |
| 09:33:34 | <maerwald> | So a common (but not only) combination is: 1. stack or 2. ghcup + cabal |
| 09:35:06 | → | worc3131 joins (~quassel@2a02:c7f:dcc4:6500:cf0e:3346:8766:ab20) |
| 09:37:04 | <maerwald> | in terms of philosphy you could say stack is more "batteries included" and ghcup+cabal more UNIX |
| 09:37:33 | <maerwald> | there's nothing major you can't achieve with either tool... it boils down to taste, mostly |
| 09:37:52 | <maerwald> | so every beginner has to waste half an hour on this question :) |
| 09:39:46 | <maerwald> | like kung fu vs karate |
| 09:40:06 | <Guest_69> | reading article https://medium.com/@fommil/why-not-both-8adadb71a5ed sayd cabal for libs and stack for apps |
| 09:41:39 | <Guest_69> | I think I just need some more time to get into it… my main points right now is that I want to add blaze-markup (or any other lib) so it can be available from iHaskell (installed from any random location with `cabal install ihaskell` and then `~/.cabal/bin/ihaskell install`) |
| 09:42:25 | <Guest_69> | when doing `import Text.Blaze.Html4.Strict` gives me `Could not find module ‘Text.Blaze.Html4.Strict’` though installation went well |
| 09:42:52 | <maerwald> | ihaskell README suggests using stack |
| 09:43:08 | <maerwald> | also https://github.com/gibiansky/IHaskell#where-are-my-packages-ihaskell--stack |
| 09:43:36 | <Guest_69> | should I create a cabal project? But package will be installed globally to my user `~/.cabal/packages/hackage.haskell.org/` |
| 09:43:46 | <maerwald> | unless you're already familiar with both tools, I suggest going with whatever the readme of the project you're using suggests |
| 09:44:24 | <Guest_69> | yes, it told to be so - but then I faced an issue and this one worked for me too https://github.com/gibiansky/IHaskell/issues/1128#issuecomment-560000760 |
| 09:44:42 | <Guest_69> | so I have it installed with stack and cabal |
| 09:44:51 | <kuribas> | maerwald: kung-fu vs karate would be more like C++ vs functional programming. |
| 09:44:59 | <kuribas> | maerwald: other way around |
| 09:45:05 | <maerwald> | it seems you're neck deep in tooling issues already |
| 09:45:16 | <maerwald> | I'm sorry for that |
| 09:45:27 | <Guest_69> | my problem was with that `GHC_PACKAGE_PATH` |
| 09:45:59 | <maerwald> | kuribas: C++ isn't a langague, it's a language toolbox :p |
| 09:46:20 | <Guest_69> | imports didn't recognize new things installed |
| 09:46:39 | → | DavidEichmann joins (~david@47.27.93.209.dyn.plus.net) |
| 09:47:02 | <kuribas> | maerwald: more like a moster of frankenstein language |
| 09:49:27 | → | Guest_6943 joins (5d4bdf9b@93.75.223.155) |
| 09:49:56 | <kuribas> | maerwald: KungFu isn't a martial arts style, it literally means "discipline", or "skill". |
| 09:50:14 | <kuribas> | maerwald: you could have Kung-Fu in haskell :) |
| 09:50:37 | <Guest_6943> | karate is a subclass to kungfu (or maybe some other Indian guy) |
| 09:50:53 | <Guest_6943> | so what I think to do, remove stack/cabal - reinstall iHaskell |
| 09:51:14 | <Guest_6943> | setup `GHC_PACKAGE_PATH` with output from `stack path --ghc-package-path` |
| 09:51:23 | × | Guest_69 quits (5d4bdf9b@93.75.223.155) (Ping timeout: 240 seconds) |
| 09:51:37 | <Guest_6943> | and do the `source .env && Jupiter notebook` in the new "Haskell project" |
| 09:51:48 | <Guest_6943> | and do the `source .env \& Jupiter notebook` in the new "Haskell project" |
| 09:51:54 | <Guest_6943> | and do the `source .env \&& Jupiter notebook` in the new "Haskell project" |
| 09:52:09 | <Guest_6943> | can't remove duplicates 🤔 |
| 09:52:13 | × | gnumonic quits (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 09:53:30 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 09:56:41 | → | viluon joins (uid453725@gateway/web/irccloud.com/x-nfhjdcxtvlbhsvti) |
| 09:57:16 | × | jpe90 quits (~user@pool-108-31-85-19.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 10:01:18 | → | Alleria joins (~textual@zrcout.mskcc.org) |
| 10:01:42 | Alleria | is now known as Guest19986 |
| 10:04:08 | × | Guest_6943 quits (5d4bdf9b@93.75.223.155) (Quit: Ping timeout (120 seconds)) |
| 10:05:57 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 10:06:13 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 10:07:38 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 10:08:10 | × | xff0x quits (~xff0x@2001:1a81:52af:1400:3ce5:1261:85cb:8b42) (Ping timeout: 258 seconds) |
| 10:08:51 | → | xff0x joins (~xff0x@2001:1a81:52af:1400:26ad:e192:c14b:a6d5) |
| 10:10:58 | → | dhil joins (~dhil@80.208.56.181) |
| 10:13:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:13:08 | × | solvr quits (57e3c46d@87.227.196.109) (Quit: Connection closed) |
| 10:14:42 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:19:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:20:29 | → | comerijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:21:42 | → | gnumonic joins (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) |
| 10:21:44 | → | quaestor joins (~quaestor@griffith.christophrauch.de) |
| 10:23:56 | → | idhugo__ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 10:24:02 | → | jpe90 joins (~user@pool-108-31-85-19.washdc.fios.verizon.net) |
| 10:25:05 | × | comerijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 10:25:49 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:26:23 | × | worc3131 quits (~quassel@2a02:c7f:dcc4:6500:cf0e:3346:8766:ab20) (Ping timeout: 260 seconds) |
| 10:26:48 | × | tony42 quits (5c10c36d@host-92-16-195-109.as13285.net) (Quit: Connection closed) |
| 10:26:57 | × | idhugo_ quits (~idhugo@87-49-44-84-mobile.dk.customer.tdc.net) (Ping timeout: 268 seconds) |
| 10:31:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 10:31:13 | × | epipav quits (2ec500f6@46.197.0.246) (Quit: Connection closed) |
| 10:32:07 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:32:41 | lemmih_ | is now known as lemmih |
| 10:36:27 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
| 10:36:42 | → | ulidtko|kk joins (~ulidtko@194.54.80.38) |
| 10:37:11 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:37:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:39:03 | × | ulidtko|k quits (~ulidtko@31.133.98.215) (Ping timeout: 252 seconds) |
| 10:42:41 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:43:42 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:53:08 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 10:53:28 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 10:54:00 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 10:54:06 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 10:54:25 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 10:55:48 | → | lawid joins (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) |
| 10:57:14 | × | v01d4lph4 quits (~v01d4lph4@223.177.186.2) (Read error: Connection reset by peer) |
| 10:57:57 | × | darjeeling_ quits (~darjeelin@122.245.120.156) (Quit: WeeChat 3.0) |
| 10:58:59 | → | v01d4lph4 joins (~v01d4lph4@223.177.186.2) |
| 10:59:06 | × | cgfbee quits (~bot@oc1.itim-cj.ro) (Read error: Connection reset by peer) |
| 10:59:08 | → | darjeeling_ joins (~darjeelin@122.245.120.156) |
| 10:59:58 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 11:03:11 | → | dariof4 joins (~dario@217.171.72.98) |
| 11:03:13 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 11:06:13 | × | conjunctive quits (sid433686@gateway/web/irccloud.com/x-hhhjkiinhlcnbbgs) (Quit: Connection closed for inactivity) |
| 11:10:11 | → | usr25 joins (~usr25@unaffiliated/usr25) |
| 11:19:02 | → | drbean_ joins (~drbean@TC210-63-209-84.static.apol.com.tw) |
| 11:20:10 | → | cgfbee joins (~bot@oc1.itim-cj.ro) |
| 11:27:42 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:7842:3793:f21:78a5) |
| 11:30:24 | → | xzmsl joins (4e208274@78.32.130.116) |
| 11:32:07 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:7842:3793:f21:78a5) (Ping timeout: 258 seconds) |
| 11:32:47 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 11:37:22 | <xzmsl> | Hey! Say I have an event type represented as a huge sum type, each with different fields with other types nested within them deeply. Anywhere in this structure there might be fields of a particular type T that I'm looking for. Given one of these events, is there a nice way of extracting a list [T] of all of the T types in this nested structure, |
| 11:37:23 | <xzmsl> | making sure to not miss any? This feels like maybe something lens-y but I'm not sure where to look |
| 11:39:57 | → | Kaeipi joins (~Kaiepi@47.54.252.148) |
| 11:40:06 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Read error: No route to host) |
| 11:43:08 | <wrunt> | look in Control.Lens.Plated |
| 11:43:57 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 11:44:53 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 11:44:55 | → | Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas) |
| 11:46:10 | × | Lowl3v3l quits (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 11:47:22 | → | Lowl3v3l joins (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) |
| 11:47:49 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 252 seconds) |
| 11:49:05 | × | whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 11:49:36 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection) |
| 11:50:12 | → | whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:52:08 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 11:52:23 | <wrunt> | 'deep' may be what you're after |
| 11:52:29 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
| 11:53:54 | × | rprije quits (~rprije@59-102-63-15.tpgi.com.au) (Ping timeout: 268 seconds) |
| 11:54:43 | × | hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursaga) |
| 11:55:11 | → | hendursaga joins (~weechat@gateway/tor-sasl/hendursaga) |
| 11:57:38 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:59:19 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 12:00:59 | × | LKoen quits (~LKoen@65.250.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 12:02:42 | → | LKoen joins (~LKoen@65.250.88.92.rev.sfr.net) |
| 12:07:10 | × | fiedlr quits (~fiedlr@83.148.33.254) (Remote host closed the connection) |
| 12:07:39 | → | solvr joins (57e3c46d@87.227.196.109) |
| 12:12:34 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
| 12:14:34 | × | Vq quits (~vq@90-227-195-41-no77.tbcn.telia.com) (Read error: Connection reset by peer) |
| 12:14:57 | × | usr25 quits (~usr25@unaffiliated/usr25) (Read error: Connection reset by peer) |
| 12:15:25 | → | Vq joins (~vq@90-227-195-41-no77.tbcn.telia.com) |
| 12:15:47 | × | Vq quits (~vq@90-227-195-41-no77.tbcn.telia.com) (Remote host closed the connection) |
| 12:16:19 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 12:18:15 | → | jonathanx_ joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 12:18:48 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
| 12:19:27 | <L29Ah> | compiler/GHC/Prelude.hs:41:8: error: |
| 12:19:28 | <L29Ah> | Could not find module ‘GHC.Bits’ |
| 12:19:29 | <L29Ah> | omg apparently ghc master is too new for ghc-9.0.1 |
| 12:19:47 | <L29Ah> | bgamari_: have you poked my repro case? |
| 12:21:15 | <xzmsl> | wrunt: thanks, just what i was looking for! |
| 12:22:34 | → | ClaudiusMaximus joins (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) |
| 12:22:34 | × | ClaudiusMaximus quits (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host) |
| 12:22:34 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 12:28:26 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
| 12:28:49 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 12:31:31 | → | ulidtko joins (~ulidtko@31.133.98.215) |
| 12:31:58 | × | ulidtko|kk quits (~ulidtko@194.54.80.38) (Ping timeout: 240 seconds) |
| 12:32:36 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 12:33:23 | → | ulidtko|k joins (~ulidtko@194.54.80.38) |
| 12:33:28 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:36:09 | × | ulidtko quits (~ulidtko@31.133.98.215) (Ping timeout: 265 seconds) |
| 12:36:37 | × | kristijonas quits (~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection) |
| 12:41:59 | → | waleee-cl joins (uid373333@gateway/web/irccloud.com/x-laygyesnubfpnshz) |
| 12:43:02 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 12:45:05 | × | APic quits (apic@apic.name) (Ping timeout: 268 seconds) |
| 12:45:13 | <zzz> | i am getting 'fdLock: invalid argument (Invalid argument)' on cabal update and cabal install wtv on ubuntu and am struggling with google. any ideas? |
| 12:46:22 | → | supercoven joins (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
| 12:46:22 | → | APic joins (apic@apic.name) |
| 12:47:22 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 12:47:41 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 12:48:21 | → | Sornaensis joins (~Sornaensi@077213203030.dynamic.telenor.dk) |
| 12:50:41 | <merijn> | sounds like a broken file/file lock in the cabal metadata directory |
| 12:50:47 | <maerwald> | WSL? |
| 12:51:16 | <zzz> | no wsl |
| 12:52:07 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 12:52:09 | × | Sorny quits (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 252 seconds) |
| 12:52:29 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
| 12:55:17 | × | xzmsl quits (4e208274@78.32.130.116) (Quit: Connection closed) |
| 12:56:31 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 13:00:15 | → | hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
| 13:00:48 | × | forell quits (~forell@unaffiliated/forell) (Ping timeout: 265 seconds) |
| 13:00:58 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 13:01:03 | → | forell joins (~forell@unaffiliated/forell) |
| 13:04:01 | × | rembo10 quits (~rembo10@wally.codeshy.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 13:06:08 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 13:06:28 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 13:06:49 | → | xkapastel joins (uid17782@gateway/web/irccloud.com/x-xevksgpnhxylybkh) |
| 13:07:52 | → | Sorna joins (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) |
| 13:08:11 | → | rembo10 joins (~rembo10@wally.codeshy.com) |
| 13:08:59 | → | freusque joins (63e6e881@cpef85e4245f305-cmf85e4245f303.cpe.net.cable.rogers.com) |
| 13:10:18 | × | Sornaensis quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds) |
| 13:10:38 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 13:12:09 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 13:12:15 | × | ram19890 quits (~ram@49.207.130.109) (Remote host closed the connection) |
| 13:12:18 | × | lawid quits (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) (Quit: lawid) |
| 13:12:30 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 13:12:59 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 13:14:53 | × | LKoen quits (~LKoen@65.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 13:15:19 | → | lawid joins (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) |
| 13:16:56 | × | jonathanx_ quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 13:19:04 | × | freusque quits (63e6e881@cpef85e4245f305-cmf85e4245f303.cpe.net.cable.rogers.com) (Quit: Connection closed) |
| 13:19:10 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 13:19:31 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 13:20:10 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 13:20:30 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 13:22:10 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 13:22:19 | → | bitmagie joins (~Thunderbi@200116b8061cbc00e8696d8688336284.dip.versatel-1u1.de) |
| 13:22:31 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 13:23:10 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 13:23:32 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 13:24:09 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 13:24:29 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 13:25:09 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 13:25:34 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 13:26:34 | → | jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 13:26:59 | × | _bin quits (~bin@2600:1700:10a1:38d0:552:2a84:dc6:b119) (Ping timeout: 260 seconds) |
| 13:27:46 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:28:14 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection) |
| 13:28:31 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:c9a3:9dbc:99dc:a4cc) |
| 13:29:12 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 13:29:16 | → | _bin joins (~bin@2600:1700:10a1:38d0:6924:8e26:a144:5b39) |
| 13:29:22 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:68e0:e795:2871:903f) |
| 13:30:51 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection) |
| 13:31:40 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 13:32:52 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:c9a3:9dbc:99dc:a4cc) (Ping timeout: 258 seconds) |
| 13:35:53 | → | Tario joins (~Tario@201.192.165.173) |
| 13:38:05 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 13:42:47 | → | carlomagno joins (~cararell@148.87.23.4) |
| 13:43:05 | × | whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 13:44:12 | → | whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:44:30 | × | bitmagie quits (~Thunderbi@200116b8061cbc00e8696d8688336284.dip.versatel-1u1.de) (Quit: bitmagie) |
| 13:44:55 | × | APic quits (apic@apic.name) (Ping timeout: 268 seconds) |
| 13:45:14 | → | Synthetica joins (uid199651@gateway/web/irccloud.com/x-angnetldjalsgvuz) |
| 13:46:55 | → | APic joins (apic@185.203.114.187) |
| 13:47:31 | × | drbean_ quits (~drbean@TC210-63-209-84.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 13:48:20 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 13:48:53 | → | Mo49 joins (549d3d1a@p549d3d1a.dip0.t-ipconnect.de) |
| 13:49:23 | × | Mo49 quits (549d3d1a@p549d3d1a.dip0.t-ipconnect.de) (Client Quit) |
| 13:50:33 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 13:51:13 | × | APic quits (apic@185.203.114.187) (Ping timeout: 240 seconds) |
| 13:51:53 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds) |
| 13:52:07 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 13:52:29 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
| 13:52:48 | → | Vq joins (~vq@90-227-195-41-no77.tbcn.telia.com) |
| 13:53:09 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 13:53:42 | → | APic joins (apic@apic.name) |
| 13:55:32 | × | v01d4lph4 quits (~v01d4lph4@223.177.186.2) (Remote host closed the connection) |
| 13:57:18 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:58:15 | × | idhugo__ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds) |
| 13:58:34 | → | ram19890 joins (~ram@49.207.130.109) |
| 13:59:53 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 14:03:39 | → | Guest_69 joins (c22c6f46@194.44.111.70) |
| 14:03:41 | → | Alleria joins (~textual@mskresolve-a.mskcc.org) |
| 14:04:05 | Alleria | is now known as Guest35124 |
| 14:04:13 | × | elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 14:04:43 | → | oniijin joins (~oniijin@185.204.1.185) |
| 14:05:12 | × | Guest19986 quits (~textual@zrcout.mskcc.org) (Ping timeout: 240 seconds) |
| 14:05:44 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 14:05:50 | × | Guest_69 quits (c22c6f46@194.44.111.70) (Client Quit) |
| 14:09:02 | × | finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection) |
| 14:09:08 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection) |
| 14:09:31 | → | finn_elija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 14:11:04 | → | superstar64 joins (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) |
| 14:11:57 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 14:13:56 | <thblt> | Potentially stupid question I don't know how to Google: I have a few record types like `data Student { studentId :: StudentID, classes :: [Class] }`. 99% of the time I only care about the `classes` field, so I end up doing a lot of eg func s@(Student _ c) = s { classes = fmap … }. Is there a way (that isn't horrible) to somehow apply the field's Functor (and Monoid, and Monad, and so on) instances to the whole Student type, |
| 14:13:56 | <thblt> | so I can fmap over a Student and it actually fmaps over what really matters, `classes`. |
| 14:14:00 | → | ram19890_ joins (~ram@49.207.130.109) |
| 14:14:13 | × | ram19890_ quits (~ram@49.207.130.109) (Remote host closed the connection) |
| 14:14:30 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 14:14:33 | → | ram19890_ joins (~ram@49.207.130.109) |
| 14:14:46 | × | ram19890_ quits (~ram@49.207.130.109) (Max SendQ exceeded) |
| 14:15:08 | <merijn> | Well, fmap can't work, because Student doesn't have a type variable |
| 14:15:11 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 14:15:30 | → | ram19890_ joins (~ram@49.207.130.109) |
| 14:15:33 | <lyxia> | thblt: modifyClasses f s@(Student _ c) = s { classes = f c } |
| 14:15:34 | <merijn> | You could, theoretically fix that, though |
| 14:15:44 | <merijn> | But yeah, lyxia's suggestion is common |
| 14:16:10 | <thblt> | merijn: lyxia: thank you both! |
| 14:16:30 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 14:17:25 | ram19890_ | is now known as ram19890_1 |
| 14:19:00 | × | ram19890_1 quits (~ram@49.207.130.109) (Client Quit) |
| 14:19:41 | → | son0p joins (~ff@181.136.122.143) |
| 14:21:13 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 14:22:54 | → | ram19890_ joins (~ram@49.207.130.109) |
| 14:22:57 | × | ram19890_ quits (~ram@49.207.130.109) (Remote host closed the connection) |
| 14:22:57 | × | ram19890 quits (~ram@49.207.130.109) (Quit: Leaving) |
| 14:23:18 | → | ram19890 joins (~ram@49.207.130.109) |
| 14:23:18 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 14:23:37 | × | xff0x quits (~xff0x@2001:1a81:52af:1400:26ad:e192:c14b:a6d5) (Ping timeout: 250 seconds) |
| 14:24:32 | → | xff0x joins (~xff0x@2001:1a81:52af:1400:ec8a:b59a:161d:e7ba) |
| 14:24:49 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 14:25:41 | × | ram19890 quits (~ram@49.207.130.109) (Remote host closed the connection) |
| 14:26:02 | → | ram19890 joins (~ram@49.207.130.109) |
| 14:26:59 | <kuribas> | thblt: sounds like lenses |
| 14:27:44 | <kuribas> | thblt: over classesLens f student |
| 14:27:52 | → | Tops2 joins (~Tobias@dyndsl-091-249-083-203.ewe-ip-backbone.de) |
| 14:27:57 | <kuribas> | where classesLens is a lens that targets the classes field. |
| 14:28:43 | <kuribas> | a lens is a traverse, rather than a fmap. |
| 14:29:21 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 14:31:00 | → | minoru_shiraeesh joins (~shiraeesh@109.166.57.218) |
| 14:31:50 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Quit: Leaving.) |
| 14:35:14 | × | malumore quits (~malumore@151.62.112.168) (Quit: Leaving) |
| 14:35:31 | × | rj quits (~x@gateway/tor-sasl/rj) (Quit: rj) |
| 14:35:39 | × | ram19890 quits (~ram@49.207.130.109) (Quit: Leaving) |
| 14:36:01 | → | ram19890 joins (~ram@49.207.130.109) |
| 14:36:04 | × | ram19890 quits (~ram@49.207.130.109) (Read error: Connection reset by peer) |
| 14:36:13 | → | malumore joins (~malumore@151.62.112.168) |
| 14:36:24 | → | ram19890 joins (~ram@49.207.130.109) |
| 14:36:30 | × | gnumonic quits (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 265 seconds) |
| 14:36:30 | × | ram19890 quits (~ram@49.207.130.109) (Read error: Connection reset by peer) |
| 14:37:46 | <thblt> | kuribas: thank you! I thought lenses when I was writing the question, but I'm not comfortable enough with them for now :) |
| 14:38:04 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 14:39:11 | <merijn> | thblt: lyxia's modifyClasses is basically a highly specialise lens :p |
| 14:39:46 | → | ram19890 joins (~ram@49.207.130.109) |
| 14:42:33 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 14:44:13 | × | ram19890 quits (~ram@49.207.130.109) (Client Quit) |
| 14:44:33 | → | ram19890 joins (~ram@49.207.130.109) |
| 14:44:56 | × | ram19890 quits (~ram@49.207.130.109) (Max SendQ exceeded) |
| 14:46:12 | → | ram19890 joins (~ram@49.207.130.109) |
| 14:46:52 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 14:48:04 | × | ram19890 quits (~ram@49.207.130.109) (Client Quit) |
| 14:48:20 | → | ram19890 joins (~ram@49.207.130.109) |
| 14:49:38 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 14:50:42 | × | oleks_ quits (~oleks@188.166.34.97) (Quit: leaving) |
| 14:50:58 | → | oleks joins (~oleks@188.166.34.97) |
| 14:51:10 | × | ram19890 quits (~ram@49.207.130.109) (Client Quit) |
| 14:52:07 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 14:52:27 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
| 14:54:56 | × | minoru_shiraeesh quits (~shiraeesh@109.166.57.218) (Ping timeout: 246 seconds) |
| 14:55:43 | × | poscat quits (~poscat@114.245.106.173) (Ping timeout: 252 seconds) |
| 14:55:59 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 14:56:33 | → | poscat joins (~poscat@114.245.106.173) |
| 14:56:51 | × | dcbdan quits (~dcbdan@c-73-76-129-120.hsd1.tx.comcast.net) (Quit: leaving) |
| 14:57:33 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 14:58:44 | → | kristijonas joins (~kristijon@78-56-32-39.static.zebra.lt) |
| 15:00:29 | → | minoru_shiraeesh joins (~shiraeesh@109.166.57.218) |
| 15:01:46 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 15:04:21 | × | acidjnk_new quits (~acidjnk@p200300d0c72b950365222184c91f1222.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 15:04:32 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 15:05:00 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 15:06:24 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 15:08:54 | → | usr25 joins (~usr25@unaffiliated/usr25) |
| 15:10:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 15:12:28 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 15:16:14 | × | johnw quits (~johnw@haskell/developer/johnw) (Remote host closed the connection) |
| 15:24:06 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 15:24:25 | → | Deide joins (~Deide@217.155.19.23) |
| 15:24:41 | × | pfurla_ quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Read error: Connection reset by peer) |
| 15:27:17 | → | fendor_ joins (~fendor@e244-003.eduroam.tuwien.ac.at) |
| 15:27:51 | → | myShoggoth joins (~myShoggot@75.164.73.93) |
| 15:29:05 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 15:29:10 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:fd49:971:910:f13a) |
| 15:32:34 | × | Gurkenglas_ quits (~Gurkengla@unaffiliated/gurkenglas) (Read error: Connection reset by peer) |
| 15:32:34 | × | jpe90 quits (~user@pool-108-31-85-19.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 15:34:00 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:fd49:971:910:f13a) (Ping timeout: 258 seconds) |
| 15:35:11 | × | jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 260 seconds) |
| 15:35:22 | → | idhugo__ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 15:35:44 | → | ram19890 joins (~ram@49.207.130.109) |
| 15:36:33 | × | APic quits (apic@apic.name) (Ping timeout: 240 seconds) |
| 15:40:35 | × | mach1speed quits (~textual@S0106f0b4d2c39cee.va.shawcable.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 15:41:05 | → | mach1speed joins (~textual@S0106f0b4d2c39cee.va.shawcable.net) |
| 15:41:22 | → | neiluj joins (~jco@91-167-203-101.subs.proxad.net) |
| 15:41:22 | × | neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
| 15:41:22 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 15:41:24 | × | mach1speed quits (~textual@S0106f0b4d2c39cee.va.shawcable.net) (Client Quit) |
| 15:41:30 | → | meinhof joins (4eb96741@78.185.103.65) |
| 15:41:55 | → | mach1speed joins (~textual@S0106f0b4d2c39cee.va.shawcable.net) |
| 15:42:12 | × | mach1speed quits (~textual@S0106f0b4d2c39cee.va.shawcable.net) (Client Quit) |
| 15:43:48 | → | APic joins (apic@apic.name) |
| 15:45:33 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
| 15:45:58 | → | Tario joins (~Tario@200.119.184.160) |
| 15:46:43 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 15:50:18 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 15:50:56 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds) |
| 15:52:07 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 15:52:29 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
| 15:55:27 | <solvr> | Isn't it odd that no CPU I can think of does lazy execution. But almost any CPU I can think of does the exact opposite: speculative execution (i.e. executing before it needs to). |
| 15:55:46 | ChanServ | sets mode +o monochrom |
| 15:55:48 | → | johnw joins (~johnw@haskell/developer/johnw) |
| 15:55:52 | monochrom | sets mode +b *!*@87.227.196.109 |
| 15:55:52 | solvr | is kicked by monochrom (solvr) |
| 15:56:28 | monochrom | sets mode -b+b-o *!*@87.227.196.109 $a:solvr monochrom |
| 15:59:12 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:59:43 | × | meinhof quits (4eb96741@78.185.103.65) (Ping timeout: 240 seconds) |
| 15:59:51 | → | pengjiz joins (~user@2601:547:902:6d00::2) |
| 16:03:34 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 16:08:06 | × | whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 16:08:09 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:09:13 | → | whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:09:24 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 16:11:18 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 16:12:25 | <bgamari_> | L29Ah, sadly not yet |
| 16:12:32 | <bgamari_> | I'm a bit under water at the moment |
| 16:14:10 | → | DavideDV joins (DavideDV@93.51.53.166) |
| 16:14:17 | <DavideDV> | ciao! |
| 16:14:22 | <DavideDV> | list! |
| 16:14:30 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 16:14:58 | Moyst_ | is now known as Moyst |
| 16:17:31 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 265 seconds) |
| 16:17:38 | ← | DavideDV parts (DavideDV@93.51.53.166) ("Closing Window") |
| 16:17:43 | → | puke joins (~vroom@217.138.252.196) |
| 16:17:56 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 16:18:59 | ← | jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client") |
| 16:20:01 | × | simplegauss quits (~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Quit: Bye) |
| 16:20:01 | × | sveit quits (~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Quit: Bye) |
| 16:21:29 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Ping timeout: 250 seconds) |
| 16:21:31 | → | sveit joins (~sveit@45.77.0.246) |
| 16:22:00 | → | simplegauss joins (~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) |
| 16:23:26 | × | zeenk quits (~zeenk@2a02:2f04:a10b:af00:91ba:3645:1cdb:9a75) (Read error: Connection reset by peer) |
| 16:23:26 | × | Tario quits (~Tario@200.119.184.160) (Read error: Connection reset by peer) |
| 16:23:42 | → | Tario joins (~Tario@201.192.165.173) |
| 16:23:47 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 16:25:21 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 16:25:30 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 16:26:34 | → | LKoen joins (~LKoen@65.250.88.92.rev.sfr.net) |
| 16:26:53 | × | xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-uidtystkyvzekhjq) (Ping timeout: 240 seconds) |
| 16:26:53 | × | Jajik quits (xchlup2@gateway/shell/fi.muni.cz/x-opqjhtmxhszjujsj) (Ping timeout: 240 seconds) |
| 16:29:41 | → | xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-bdqphpqxvzmclymb) |
| 16:33:09 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 16:34:19 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:35:19 | → | gitgood joins (~gitgood@80-44-10-33.dynamic.dsl.as9105.com) |
| 16:35:38 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:40:33 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 16:41:36 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:42:52 | → | arpl joins (~ARPL@84-107-171-239.cable.dynamic.v4.ziggo.nl) |
| 16:44:09 | × | alx741 quits (~alx741@181.196.68.37) (Quit: alx741) |
| 16:46:49 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 16:48:31 | → | alx741 joins (~alx741@181.196.68.37) |
| 16:51:45 | → | fendor__ joins (~fendor@77.119.130.199.wireless.dyn.drei.com) |
| 16:51:47 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:f4f2) |
| 16:52:49 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 16:53:34 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-wqwlliyoydaqzoui) |
| 16:54:15 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 16:54:50 | × | fendor quits (~fendor@91.141.0.248.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
| 16:55:11 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 16:55:50 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 16:57:12 | → | p8m_ joins (p8m@gateway/vpn/protonvpn/p8m) |
| 16:57:25 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:68e0:e795:2871:903f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:57:27 | × | p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds) |
| 16:58:14 | × | fendor_ quits (~fendor@e244-003.eduroam.tuwien.ac.at) (Quit: Leaving) |
| 16:58:38 | → | nbloomf joins (~nbloomf@76.217.43.73) |
| 16:59:05 | → | Guest60991 joins (d5cdf004@213.205.240.4) |
| 17:00:09 | → | dominicusin[m] joins (dominicusi@gateway/shell/matrix.org/x-cjngkratdjygajhy) |
| 17:01:38 | × | p8m_ quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 240 seconds) |
| 17:02:07 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:f4f2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 17:02:08 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 17:02:54 | → | Jajik joins (xchlup2@gateway/shell/fi.muni.cz/x-addkanorupodyldz) |
| 17:03:05 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 17:03:47 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:f4f2) |
| 17:05:58 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 17:09:25 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:10:45 | <Guest60991> | does anyone have a link to some examples of smart constructors for recursion-schemes defined using Mu/Nu constructors? |
| 17:10:45 | → | hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube) |
| 17:10:53 | <Guest60991> | every tutorial I can find explains how to use them with Fix |
| 17:10:58 | <Guest60991> | but not with Mu/Nu |
| 17:11:21 | <monochrom> | Just s/Fix/Mu/ |
| 17:11:25 | → | chenin joins (bab7251a@186.183.37.26) |
| 17:12:33 | <Guest60991> | different types, though? newtype Mu f = Mu (forall a. (f a → a) → a) vs data Fix f = Fix { project ∷ f (Fix f) } |
| 17:12:45 | <monochrom> | Ah |
| 17:13:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:13:35 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:14:52 | <Guest60991> | yeah, like, here's a standard example from a tutorial: data ListF a r = Cons a r | Nil |
| 17:14:52 | <Guest60991> | type List a = Mu (ListF a) |
| 17:14:53 | <Guest60991> | type CoList a = Nu (ListF a) |
| 17:15:02 | <Guest60991> | but ... how do I build a value of Mu(ListF a) ? |
| 17:15:02 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 17:15:19 | → | p8m joins (p8m@gateway/vpn/protonvpn/p8m) |
| 17:15:46 | → | heatsink_ joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:15:57 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:18:20 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 17:19:03 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 17:19:50 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:f4f2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 17:21:30 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 17:21:40 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 252 seconds) |
| 17:23:03 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 17:24:18 | → | lordyod joins (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) |
| 17:24:20 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 17:24:42 | × | haskellstudent quits (~quassel@213-225-6-101.nat.highway.a1.net) (Ping timeout: 265 seconds) |
| 17:26:58 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:f4f2) |
| 17:28:13 | × | superstar64 quits (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Quit: Connection closed) |
| 17:28:15 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:f4f2) (Client Quit) |
| 17:29:35 | → | superstar64 joins (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) |
| 17:30:02 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:e4bf:b288:514c:1188) |
| 17:30:24 | <monochrom> | Guest60991: https://paste.tomsmeding.com/E1fzjdjK |
| 17:30:38 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 17:30:53 | × | Jajik quits (xchlup2@gateway/shell/fi.muni.cz/x-addkanorupodyldz) (Ping timeout: 240 seconds) |
| 17:30:53 | × | xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-bdqphpqxvzmclymb) (Ping timeout: 240 seconds) |
| 17:31:29 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:b81f:59fe:5cfc:b422) |
| 17:33:04 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:f4f2) |
| 17:34:22 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:e4bf:b288:514c:1188) (Ping timeout: 258 seconds) |
| 17:35:32 | → | Jajik joins (xchlup2@gateway/shell/fi.muni.cz/x-mbreufimrxubbqnd) |
| 17:35:35 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
| 17:36:37 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 17:39:02 | <Guest60991> | @monochrom ahhh thanks so much! I've been stuck on this for ages, can't believe it's not spelled out anywhere |
| 17:39:02 | <lambdabot> | Unknown command, try @list |
| 17:39:11 | <Guest60991> | monochrom: ahhh thanks so much! I've been stuck on this for ages, can't believe it's not spelled out anywhere |
| 17:40:29 | × | idhugo__ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 268 seconds) |
| 17:40:31 | <monochrom> | :) |
| 17:43:04 | <monochrom> | My (\(Mu e) -> e alg) there is (cata alg). "in_ c = Mu (\alg -> alg (fmap (cata alg) c))" may be more easily reconcilable with the famous commuting diagram of in_ (the initial algebra), cata, and alg (the arbitrary algebra). |
| 17:46:39 | × | heatsink_ quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:47:12 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 17:50:09 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 17:50:28 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 17:50:33 | × | Jajik quits (xchlup2@gateway/shell/fi.muni.cz/x-mbreufimrxubbqnd) (Ping timeout: 240 seconds) |
| 17:50:39 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 17:52:07 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 17:52:18 | → | Jajik joins (xchlup2@gateway/shell/fi.muni.cz/x-ynaunapgbwfqheim) |
| 17:52:18 | → | cansis joins (uid90033@gateway/web/irccloud.com/x-ifsukysjwkgufywd) |
| 17:52:27 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
| 17:54:10 | <Guest60991> | Aha, yes. And the type makes it quite clear that we're translating a nested expression "f (Mu f)" into "Mu f" |
| 17:54:51 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:b81f:59fe:5cfc:b422) (Ping timeout: 260 seconds) |
| 17:55:01 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 17:56:12 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 17:56:15 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-lebgsvzszhbzqzrr) (Quit: Connection closed for inactivity) |
| 17:56:23 | → | dmytrish joins (~mitra@37.228.247.154) |
| 17:57:17 | ← | chenin parts (bab7251a@186.183.37.26) () |
| 17:57:32 | × | myShoggoth quits (~myShoggot@75.164.73.93) (Ping timeout: 260 seconds) |
| 17:58:35 | → | myShoggoth joins (~myShoggot@97-120-72-12.ptld.qwest.net) |
| 17:58:48 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:21ac:92a1:db64:4dd2) |
| 17:59:22 | → | xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-nisloqezbzpgxfhz) |
| 18:06:46 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 18:08:58 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 18:09:05 | → | idhugo__ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 18:10:42 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 268 seconds) |
| 18:12:50 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
| 18:14:08 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 18:14:28 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 18:14:53 | × | lawid quits (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
| 18:14:56 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 18:15:04 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 18:15:17 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 18:15:26 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection) |
| 18:16:03 | → | lawid joins (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) |
| 18:16:19 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 18:17:46 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds) |
| 18:20:38 | → | haskellstudent joins (~quassel@213-225-6-101.nat.highway.a1.net) |
| 18:20:58 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 18:23:04 | <arpl> | Today I noticed a resource leak (handles) on my Windows laptop. I have pinpointed it to WinGHCi. Running the same code in GHCi (on both Windows and Linux) works just fine. (When I noticed it I had about 15k of iterations resulting in 150k handles. When I ran it in GHCi with 500k iterations handles remained stable.) Is there any point in looking into this any deeper/further? I hardly ever use WinGHCi and I don´t think many people do ei |
| 18:23:04 | <arpl> | her. Also, the handles are released the moment WinGHCi is closed. |
| 18:25:35 | <d34df00d> | koz_: gave it a shot with massiv — well, it's a bit faster, but not too much faster (think 1.6-1.7 seconds now). |
| 18:25:39 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 18:25:45 | <d34df00d> | Although slicing in massiv is indeed way nicer than in repa! |
| 18:25:58 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 18:26:12 | <koz_> | With massiv questions, you could try asking lehins (the author), but he's not here. :( |
| 18:26:36 | → | idhugo_ joins (~idhugo@87-49-44-84-mobile.dk.customer.tdc.net) |
| 18:27:32 | × | vv8 quits (~egp_@128-71-69-136.broadband.corbina.ru) (Ping timeout: 265 seconds) |
| 18:29:28 | × | idhugo__ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds) |
| 18:29:29 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 18:30:31 | → | nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 18:31:07 | × | Guest60991 quits (d5cdf004@213.205.240.4) (Quit: Connection closed) |
| 18:32:24 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 18:32:25 | × | rajivr quits (uid269651@gateway/web/irccloud.com/x-wqstqfwsmnwqeeor) (Quit: Connection closed for inactivity) |
| 18:32:37 | → | idhugo__ joins (~idhugo@87-49-44-84-mobile.dk.customer.tdc.net) |
| 18:33:01 | → | Sorny joins (~Sornaensi@077213203030.dynamic.telenor.dk) |
| 18:33:33 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 18:35:22 | × | idhugo_ quits (~idhugo@87-49-44-84-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
| 18:36:12 | × | Sorna quits (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 240 seconds) |
| 18:37:41 | × | ystael quits (~ystael@209.6.50.55) (Ping timeout: 240 seconds) |
| 18:40:22 | <d34df00d> | I'l stick around! |
| 18:40:47 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 18:41:36 | × | rj quits (~x@gateway/tor-sasl/rj) (Quit: rj) |
| 18:42:07 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 18:44:22 | <koz_> | They have a Gitter you could hit up? |
| 18:44:36 | <koz_> | https://gitter.im/haskell-massiv |
| 18:44:52 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 18:45:18 | × | poscat quits (~poscat@114.245.106.173) (Ping timeout: 260 seconds) |
| 18:46:21 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 252 seconds) |
| 18:47:01 | → | poscat joins (~poscat@114.245.106.173) |
| 18:47:50 | × | APic quits (apic@apic.name) (Ping timeout: 265 seconds) |
| 18:48:23 | <d34df00d> | Oh, cool! |
| 18:49:00 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 18:49:27 | × | hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:803f:da32:c6d7:e902) (Ping timeout: 260 seconds) |
| 18:49:27 | × | hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:803f:da32:c6d7:e902) (Ping timeout: 260 seconds) |
| 18:52:06 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 18:52:28 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
| 18:58:23 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 19:00:16 | → | aerona joins (~aerona@2600:6c54:4600:f300:469c:10f6:fe62:fc1c) |
| 19:00:17 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 19:01:19 | jorts | is now known as nckx |
| 19:01:25 | → | hiroaki_ joins (~hiroaki@2a02:8108:8c40:2bb8:c438:feb2:e809:229a) |
| 19:01:35 | → | hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:c438:feb2:e809:229a) |
| 19:05:29 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 19:08:22 | × | idhugo__ quits (~idhugo@87-49-44-84-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
| 19:08:40 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
| 19:08:53 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 19:09:26 | → | __minoru__shirae joins (~shiraeesh@109.166.56.189) |
| 19:09:53 | × | minoru_shiraeesh quits (~shiraeesh@109.166.57.218) (Ping timeout: 240 seconds) |
| 19:11:15 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:11:16 | × | superstar64 quits (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Quit: Connection closed) |
| 19:14:49 | → | ystael joins (~ystael@214.sub-174-242-80.myvzw.com) |
| 19:14:52 | × | kuribas quits (~user@ptr-25vy0i8r0t0fnc1atgj.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 19:17:13 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 19:17:26 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 19:19:42 | × | fiedlr quits (~fiedlr@83.148.33.254) (Remote host closed the connection) |
| 19:19:52 | × | neiluj quits (~jco@unaffiliated/neiluj) (Remote host closed the connection) |
| 19:19:53 | → | nullifidian joins (~nullifidi@unaffiliated/nullifidian) |
| 19:20:59 | × | supercoven quits (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 268 seconds) |
| 19:22:28 | × | kini quits (~kini@unaffiliated/kini) (Ping timeout: 258 seconds) |
| 19:22:40 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
| 19:22:49 | → | krkini joins (~kini@unaffiliated/kini) |
| 19:23:55 | × | usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving) |
| 19:24:02 | → | HannaM joins (~quassel@p54849510.dip0.t-ipconnect.de) |
| 19:26:13 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 19:27:16 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
| 19:27:39 | × | kadobanana quits (~mud@unaffiliated/kadoban) (Quit: bye) |
| 19:28:45 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 19:29:22 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:30:01 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 19:32:12 | → | mud joins (~mud@unaffiliated/kadoban) |
| 19:32:48 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 19:32:56 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 19:33:47 | → | cuz joins (~user@38.140.58.234) |
| 19:33:47 | × | shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:cde1:2c3d:19e0:545) (Ping timeout: 260 seconds) |
| 19:35:19 | × | hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 252 seconds) |
| 19:37:36 | → | Codaraxis__ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 19:39:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:39:40 | → | shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:88d8:adcd:b46:7f64) |
| 19:40:12 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 19:40:49 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:f4f2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 19:40:50 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 19:40:53 | × | Codaraxis_ quits (Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 240 seconds) |
| 19:42:27 | × | DavidEichmann quits (~david@47.27.93.209.dyn.plus.net) (Remote host closed the connection) |
| 19:43:59 | × | ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
| 19:46:23 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 19:46:57 | → | jathan joins (~jathan@69.61.93.38) |
| 19:49:45 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 19:50:13 | × | nullifidian quits (~nullifidi@unaffiliated/nullifidian) (Quit: Leaving) |
| 19:50:34 | × | Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving) |
| 19:50:42 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 19:51:50 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 268 seconds) |
| 19:54:18 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 268 seconds) |
| 19:54:18 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:55:00 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:f4f2) |
| 19:56:00 | × | vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Quit: ZNC - https://znc.in) |
| 19:56:15 | → | vgtw joins (~vgtw@gateway/tor-sasl/vgtw) |
| 19:56:40 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 19:56:46 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:f4f2) (Client Quit) |
| 19:58:41 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 19:59:33 | × | finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection) |
| 19:59:48 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 20:00:32 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:03:11 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds) |
| 20:03:39 | → | finn_elija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 20:05:36 | → | hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube) |
| 20:07:42 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:f4f2) |
| 20:08:27 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
| 20:08:49 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:f4f2) (Client Quit) |
| 20:10:44 | → | Lycurgus joins (~niemand@98.4.118.65) |
| 20:13:33 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 20:14:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 20:17:30 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 20:20:09 | × | liyang quits (~liyang@90.253.54.54) (Ping timeout: 265 seconds) |
| 20:22:12 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 20:23:27 | → | araujo joins (~araujo@unaffiliated/araujo) |
| 20:25:32 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 20:25:35 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection) |
| 20:25:40 | × | Lycurgus quits (~niemand@98.4.118.65) (Quit: Exeunt) |
| 20:27:28 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 20:27:48 | → | bobey88 joins (~bobey@72-172-218-188.fidnet.com) |
| 20:28:08 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 20:32:38 | × | NGravity quits (csp@gateway/shell/xshellz/x-fqlktjjmzfodnifg) (Excess Flood) |
| 20:32:50 | → | NGravity joins (csp@gateway/shell/xshellz/x-wehocrdvpegpsnls) |
| 20:32:55 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 20:34:57 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:c73d) |
| 20:36:12 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:21ac:92a1:db64:4dd2) (Remote host closed the connection) |
| 20:36:33 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:21ac:92a1:db64:4dd2) |
| 20:37:13 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
| 20:38:03 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
| 20:39:00 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 20:43:41 | → | usr25 joins (~usr25@unaffiliated/usr25) |
| 20:44:31 | × | coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 20:46:53 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
| 20:46:59 | → | jstn joins (~jstn@89.197.183.98) |
| 20:47:50 | × | mud quits (~mud@unaffiliated/kadoban) (Quit: bye) |
| 20:50:07 | fendor__ | is now known as fendor |
| 20:51:19 | × | LKoen quits (~LKoen@65.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 20:52:30 | → | justan0theruser joins (~justanoth@unaffiliated/justanotheruser) |
| 20:53:49 | × | bobey88 quits (~bobey@72-172-218-188.fidnet.com) (Quit: The Lounge - https://thelounge.chat) |
| 20:54:31 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
| 20:56:21 | ← | arpl parts (~ARPL@84-107-171-239.cable.dynamic.v4.ziggo.nl) () |
| 20:56:26 | × | ystael quits (~ystael@214.sub-174-242-80.myvzw.com) (Read error: Connection reset by peer) |
| 20:56:31 | × | ram19890 quits (~ram@49.207.130.109) (Ping timeout: 252 seconds) |
| 20:58:15 | → | freusque joins (63e6e881@cpef85e4245f305-cmf85e4245f303.cpe.net.cable.rogers.com) |
| 20:58:58 | × | nbloomf quits (~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:59:13 | × | Sorny quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds) |
| 21:00:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 21:00:21 | × | andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds) |
| 21:01:03 | × | Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
| 21:01:24 | → | Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 21:01:28 | × | hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:c438:feb2:e809:229a) (Quit: Leaving) |
| 21:03:16 | → | bobey88 joins (~bobey@72-172-218-188.fidnet.com) |
| 21:03:18 | → | vv8 joins (~egp_@2.95.117.163) |
| 21:04:40 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 21:04:42 | → | mud joins (~mud@unaffiliated/kadoban) |
| 21:04:45 | → | andreas303 joins (~andreas@gateway/tor-sasl/andreas303) |
| 21:06:20 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 21:06:28 | × | bobey88 quits (~bobey@72-172-218-188.fidnet.com) (Client Quit) |
| 21:07:07 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds) |
| 21:11:28 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 21:12:05 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
| 21:13:13 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 21:14:34 | → | bobey88 joins (~bobey@72-172-218-188.fidnet.com) |
| 21:16:19 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
| 21:16:20 | × | Varis quits (~Tadas@unaffiliated/varis) (Read error: Connection reset by peer) |
| 21:17:50 | × | jstn quits (~jstn@89.197.183.98) (Ping timeout: 246 seconds) |
| 21:27:12 | → | ixlun joins (~user@109.249.184.235) |
| 21:28:42 | → | dansho joins (~dansho@ec2-13-112-45-179.ap-northeast-1.compute.amazonaws.com) |
| 21:28:52 | × | ixlun quits (~user@109.249.184.235) (Remote host closed the connection) |
| 21:30:25 | × | freusque quits (63e6e881@cpef85e4245f305-cmf85e4245f303.cpe.net.cable.rogers.com) (Quit: Connection closed) |
| 21:31:01 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection) |
| 21:31:19 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 21:32:40 | → | ystael joins (~ystael@209.6.50.55) |
| 21:35:54 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 21:40:32 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 21:41:56 | × | Feuermagier_ quits (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Read error: Connection reset by peer) |
| 21:42:09 | → | Feuermagier_ joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
| 21:43:02 | <maralorn> | I wonder how this code could leak because the call to concurrently breaks tail call detection: |
| 21:43:06 | × | Guest35124 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 260 seconds) |
| 21:43:30 | maralorn | < https://matrix.org/_matrix/media/r0/download/matrix.org/RpMuWoqelieVjAEJGjBTcTNx/message.txt > |
| 21:44:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 21:44:59 | → | M9ndres[m] joins (m9ndresmat@gateway/shell/matrix.org/x-dfiqdthtgevvjnld) |
| 21:45:22 | <monochrom> | Is that a fork bomb? |
| 21:45:33 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
| 21:47:52 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 21:47:58 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 21:50:00 | <maralorn> | monochrom: What? No. Well if that queue were very full maybe … |
| 21:50:11 | → | Althar joins (5e039f1a@94.3.159.26) |
| 21:51:25 | <maralorn> | But it doesn‘t feel very bomby to me seeing that the number of threads grows only linear. But the handler is not supposed to run very long anyways. |
| 21:51:35 | <Althar> | Hello all, anyone with experience using haddock around here? I am trying to figure out if it is possible to exclude a module from the documentation. Specifically, I have an autogen module which I don't really want to feature in the documentation. I have another project setup similarly, with an autogen & somehow the module isn't documented there; |
| 21:51:36 | <Althar> | not sure what the difference could be. Thanks |
| 21:52:17 | <Althar> | specifically, I'm trying to hide my Paths_ autogen module |
| 21:53:00 | <wz1000> | maralorn: there is no 'tail call detection', but it probably leaks because of the way concurrently_ is defined (it retains a reference to the ThreadId of both threads until they both terminate) |
| 21:54:50 | <maralorn> | Now I wonder how I could work around that … |
| 21:55:07 | <monochrom> | concurrently_ waits for both jobs to finish. One such job is a recursive call. This is intentionally non-tail. |
| 21:55:33 | <wz1000> | but you probably don't want to use concurrently_ at all since if there is an exception in the handler it will bring down both threads |
| 21:56:18 | × | fendor quits (~fendor@77.119.130.199.wireless.dyn.drei.com) (Remote host closed the connection) |
| 21:56:49 | <wz1000> | tail calls don't mean much in Haskell |
| 21:57:09 | <monochrom> | But it regains the usual imperative meaning in IO. |
| 21:57:59 | × | srk quits (~sorki@unaffiliated/srk) (Ping timeout: 260 seconds) |
| 21:58:12 | <monochrom> | main = do { x; y; z } totally exhibits tail-call behaviour with the last statement z. |
| 21:58:13 | <wz1000> | not necessarily. If `concurrently_` was just defined as `concurrently_ left right = right` (as a degenerate example) it wouldn't grow the stack |
| 21:58:52 | <wz1000> | even though the original function still isn't tail call |
| 21:59:06 | <wz1000> | (this is true even with NOINLINE concurrently_) |
| 22:00:21 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 22:01:10 | <monochrom> | That can also be explained by saying "`concurrently_ left right = right` makes a tail call to right". |
| 22:01:22 | → | acidjnk_new joins (~acidjnk@p200300d0c72b9561cdce4d77de6ce0bc.dip0.t-ipconnect.de) |
| 22:01:40 | <wz1000> | nope |
| 22:02:02 | <wz1000> | concurrently_ left right = forkIO right >> forkIO left |
| 22:02:08 | <wz1000> | that still doesn't leak |
| 22:02:14 | × | nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 22:02:22 | × | e quits (e@freenode/staff/spy.edk) (Quit: edk) |
| 22:03:37 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 22:04:21 | × | araujo quits (~araujo@unaffiliated/araujo) (Quit: My laptop has gone to ZZZzzz…) |
| 22:04:37 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 22:05:05 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 22:05:26 | × | malumore quits (~malumore@151.62.112.168) (Ping timeout: 260 seconds) |
| 22:05:35 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 22:07:37 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 22:07:44 | <monochrom> | That can also be explained by saying "forkIO returns promptly, so the model that says the 1st forkIO isn't a tail call (but it returns promptly anyway) and the 2nd forkIO is a tail call still explains the space observation". |
| 22:09:07 | <wz1000> | sounds like epicycles to me |
| 22:09:19 | <monochrom> | Yes I know. What's your replacement? |
| 22:09:38 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 246 seconds) |
| 22:09:52 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 22:10:09 | <wz1000> | reasoning about the behaviour of your program by understanding the operational semantics |
| 22:10:10 | <monochrom> | You have only stated that my model is not good. Where can I find a better model? |
| 22:10:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:12:43 | <monochrom> | I have done that. I have also looked at generated code. |
| 22:13:15 | <wz1000> | you don't have a model really. The point of the tail call model in other languages is so you can take one glance at the definition of your recursive function and figure out if it will blow up the stack. It already breaks down when its not purely syntactic anymore and you need to substitute in the definition of all the functions you call |
| 22:13:31 | <monochrom> | I have found that for IO, all that can be safely approximated and/or abstracted to: to execute "x >>= k", make a non-tail call to x, then make a tail call to k. |
| 22:17:56 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:c73d) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 22:18:51 | × | Althar quits (5e039f1a@94.3.159.26) (Quit: Connection closed) |
| 22:22:36 | <monochrom> | I have to know all definitions too in other languages, I would think. In Scheme, I cannot know what happens to (define (f) (g)) until I know that, for example, g is not (define (g) (begin (f) (f))). |
| 22:22:38 | × | hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection) |
| 22:22:55 | × | cuz quits (~user@38.140.58.234) (Ping timeout: 268 seconds) |
| 22:23:00 | × | Tops2 quits (~Tobias@dyndsl-091-249-083-203.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 22:23:03 | → | hendursaga joins (~weechat@gateway/tor-sasl/hendursaga) |
| 22:23:28 | <monochrom> | But what I do know is that in f, the (g) is a tail call. And that in g, the 2nd (f) is a tail call. The Scheme standard forces this. |
| 22:24:01 | <monochrom> | And then suddenly it doesn't look so wrong that I can carry over this model to IO's >>= |
| 22:27:09 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 22:28:14 | × | Benzi-Junior quits (~BenziJuni@88-149-64-251.du.xdsl.is) (Ping timeout: 265 seconds) |
| 22:28:46 | × | dxld quits (~dxld@rush.pub.dxld.at) (Remote host closed the connection) |
| 22:31:22 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 22:31:23 | → | dxld joins (~dxld@rush.pub.dxld.at) |
| 22:32:01 | × | michalz quits (~user@185.246.204.61) (Remote host closed the connection) |
| 22:33:31 | → | smatting joins (~stefan@p200300cd7708e000958acc65436f5a2e.dip0.t-ipconnect.de) |
| 22:33:32 | → | liyang joins (~liyang@90.255.129.199) |
| 22:34:41 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 22:34:54 | × | gitgood quits (~gitgood@80-44-10-33.dynamic.dsl.as9105.com) (Quit: Probably away to do something really awesome) |
| 22:34:57 | × | lawid quits (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) (Quit: lawid) |
| 22:35:28 | → | gienah_ joins (~mwright@119-18-3-62.771203.syd.nbn.aussiebb.net) |
| 22:36:12 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 22:36:46 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:3061:d9b2:32c9:4068) |
| 22:37:19 | → | lawid joins (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) |
| 22:38:20 | × | gienah quits (~mwright@gentoo/developer/gienah) (Ping timeout: 246 seconds) |
| 22:38:29 | × | son0p quits (~ff@181.136.122.143) (Quit: Using Circe, the loveliest of all IRC clients) |
| 22:40:16 | × | fiedlr quits (~fiedlr@83.148.33.254) (Read error: Connection reset by peer) |
| 22:40:55 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 22:42:02 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:42:39 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 22:43:53 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 22:44:13 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 22:46:31 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 22:48:42 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 22:52:16 | × | fiedlr quits (~fiedlr@83.148.33.254) (Remote host closed the connection) |
| 22:52:31 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 22:52:40 | × | fiedlr quits (~fiedlr@83.148.33.254) (Remote host closed the connection) |
| 22:53:41 | × | dmytrish quits (~mitra@37.228.247.154) (Ping timeout: 240 seconds) |
| 22:55:31 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 22:57:27 | → | loller_ joins (uid358106@gateway/web/irccloud.com/x-jmeczyzfdqqbsxdy) |
| 22:58:31 | × | Feuermagier_ quits (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Quit: Leaving) |
| 22:58:42 | → | Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
| 23:00:00 | → | Alleria joins (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) |
| 23:00:03 | × | smatting quits (~stefan@p200300cd7708e000958acc65436f5a2e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 23:00:24 | Alleria | is now known as Guest3055 |
| 23:02:44 | → | rprije joins (~rprije@59-102-63-15.tpgi.com.au) |
| 23:04:25 | × | Guest3055 quits (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) (Ping timeout: 258 seconds) |
| 23:04:56 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:f811:9873:2623:c28b) |
| 23:05:40 | <DigitalKiwi> | is it amusing to anyone else that there are 3 mersenne library by dons and 1 by bos and it has more usage than all 3 of dons combined? now we know why bos name is first on the book authors ;p |
| 23:06:21 | <monochrom> | "this shows you who's the boss" |
| 23:06:51 | <monochrom> | But don't get too excited. The mafia obeys the don. |
| 23:09:08 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-fsfopwufuwlbuqbr) |
| 23:11:44 | × | usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving) |
| 23:11:57 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 23:15:27 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:f811:9873:2623:c28b) (Ping timeout: 260 seconds) |
| 23:15:35 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 23:16:24 | → | wopas32 joins (uid384704@gateway/web/irccloud.com/x-nsunqoqlyntbwalw) |
| 23:19:47 | <edwardk> | All this makes you wonder about Goerzen. |
| 23:20:10 | Clint | squints. |
| 23:20:11 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 23:23:07 | × | Synthetica quits (uid199651@gateway/web/irccloud.com/x-angnetldjalsgvuz) (Quit: Connection closed for inactivity) |
| 23:23:40 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:d34f) |
| 23:24:06 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 23:26:45 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 23:27:03 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 23:28:22 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:30:13 | × | haskellstudent quits (~quassel@213-225-6-101.nat.highway.a1.net) (Ping timeout: 240 seconds) |
| 23:30:22 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 23:35:41 | × | acidjnk_new quits (~acidjnk@p200300d0c72b9561cdce4d77de6ce0bc.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 23:39:45 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 23:46:49 | × | aerona quits (~aerona@2600:6c54:4600:f300:469c:10f6:fe62:fc1c) (Remote host closed the connection) |
| 23:47:06 | → | aerona joins (~aerona@2600:6c54:4600:f300:469c:10f6:fe62:fc1c) |
| 23:49:35 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 23:55:04 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:59:33 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 23:59:52 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
All times are in UTC on 2021-04-12.