2023-08-07 00:00:05 +0200 | zaraksh | (~zaraksh@94.11.219.121) |
2023-08-07 00:02:02 +0200 | micro | (~micro@user/micro) (Ping timeout: 245 seconds) |
2023-08-07 00:03:24 +0200 | misterfish | (~misterfis@87.215.131.102) (Ping timeout: 260 seconds) |
2023-08-07 00:03:25 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds) |
2023-08-07 00:03:57 +0200 | micro | (~micro@user/micro) |
2023-08-07 00:11:03 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-08-07 00:21:54 +0200 | ubert1 | (~Thunderbi@77.119.215.66.wireless.dyn.drei.com) |
2023-08-07 00:23:16 +0200 | ubert | (~Thunderbi@178.115.57.241.wireless.dyn.drei.com) (Ping timeout: 246 seconds) |
2023-08-07 00:23:16 +0200 | ubert1 | ubert |
2023-08-07 00:30:04 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 00:38:06 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-08-07 00:48:49 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
2023-08-07 00:50:21 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) (Ping timeout: 246 seconds) |
2023-08-07 00:52:00 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) |
2023-08-07 00:52:42 +0200 | bilegeek | (~bilegeek@2600:1008:b0aa:9826:3cd0:f7c6:82d4:d441) |
2023-08-07 01:12:51 +0200 | NinjaTrappeur | (~ninja@user/ninjatrappeur) (Ping timeout: 260 seconds) |
2023-08-07 01:13:38 +0200 | bilegeek | (~bilegeek@2600:1008:b0aa:9826:3cd0:f7c6:82d4:d441) (Quit: Leaving) |
2023-08-07 01:13:56 +0200 | mauke_ | (~mauke@user/mauke) |
2023-08-07 01:15:33 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 246 seconds) |
2023-08-07 01:15:33 +0200 | mauke_ | mauke |
2023-08-07 01:24:11 +0200 | NinjaTrappeur | (~ninja@user/ninjatrappeur) |
2023-08-07 01:25:44 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-08-07 01:27:24 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-08-07 01:30:45 +0200 | <bratwurst> | is there a channel for asking nix questions? #nix seems to be invite-only |
2023-08-07 01:30:53 +0200 | <bratwurst> | i'm trying to get obelisk to work |
2023-08-07 01:31:17 +0200 | tokie | (~tokie@tokie.net) (WeeChat 2.8) |
2023-08-07 01:31:40 +0200 | <dsal> | There's #nixos, but I've rarely had a question answered there. |
2023-08-07 01:31:43 +0200 | phma | (phma@2001:5b0:210d:fef8:786c:170d:9d9:5b69) (Read error: Connection reset by peer) |
2023-08-07 01:32:07 +0200 | phma | (phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) |
2023-08-07 01:32:25 +0200 | <jackdk> | #reflex-frp for obelisk/reflexverse stuff |
2023-08-07 01:32:31 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-08-07 01:32:53 +0200 | <jackdk> | Nix people moved to matrix and #nixos is a bit of a ghost town |
2023-08-07 01:33:16 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-095-239.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
2023-08-07 01:33:31 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-08-07 01:51:54 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
2023-08-07 01:54:03 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 01:55:59 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-07 01:57:18 +0200 | bilegeek | (~bilegeek@2600:1008:b0aa:9826:3cd0:f7c6:82d4:d441) |
2023-08-07 01:57:32 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-08-07 02:00:11 +0200 | rselim | (ce261f06ff@2604:bf00:561:2000::257) (Changing host) |
2023-08-07 02:00:11 +0200 | rselim | (ce261f06ff@user/milesrout) |
2023-08-07 02:00:52 +0200 | rselim | (ce261f06ff@user/milesrout) (Remote host closed the connection) |
2023-08-07 02:01:03 +0200 | rselim | (ce261f06ff@user/milesrout) |
2023-08-07 02:03:07 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-08-07 02:07:59 +0200 | phma | (phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) (Read error: Connection reset by peer) |
2023-08-07 02:08:24 +0200 | phma | (~phma@host-67-44-208-165.hnremote.net) |
2023-08-07 02:17:18 +0200 | <yin> | how can i learn how to profile a function to, say, understand if list fusion happens? |
2023-08-07 02:23:19 +0200 | zaraksh | (~zaraksh@94.11.219.121) (Ping timeout: 246 seconds) |
2023-08-07 02:23:28 +0200 | <Axman6> | The usual advice is to start by looking at the Core output, but there's also a lot of flags for dumping all sorts of information about the various optimisations that go on. |
2023-08-07 02:24:19 +0200 | <yin> | i'm a little intimidated by core |
2023-08-07 02:24:58 +0200 | <Axman6> | It's just haskell with slightly funky syntax - there's quite a few talks that cover what it all means, i'll see if I can find some |
2023-08-07 02:25:12 +0200 | <yin> | thanks Axman6 |
2023-08-07 02:26:04 +0200 | <Axman6> | https://www.youtube.com/watch?v=Gml1m-3L47s is an excellent (and recent) introduction into what core is, and i think a little about how to read it. It'ds long but will give you a good baseline understanding of how ghc actually works |
2023-08-07 02:27:30 +0200 | <dsal> | The slightly harder one is doing parallel stuff and trying to figure out why sparks don't run in paralle. |
2023-08-07 02:27:56 +0200 | <yin> | right now i'm trying to find out if i should write a function that calculates several things at once by traversing a list or if i can just do `(f &&& g) list` and rely on some kind of optimization that prevents it from traversing twice |
2023-08-07 02:28:17 +0200 | <yin> | any useful rules of thumb?? |
2023-08-07 02:29:22 +0200 | <jackdk> | Axman6: ooh, good link. I have a "desugaring to core" video in my http://jackkelly.name/wiki/haskell/learning.html linkpost but maybe I need one with more comic sans; will watch and see |
2023-08-07 02:29:49 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds) |
2023-08-07 02:29:51 +0200 | <Axman6> | if you do (f &&& g) list, you've told the compiler to do two traversals, and if it changed it to do one, it would change the semantics of the program, so GHC won't do that. you might want to look at the foldl library, which is specifically designed for single pass traversals of an arbitrary amount of computation |
2023-08-07 02:30:00 +0200 | <jackdk> | yin: I believe Axman6 has used package https://hackage.haskell.org/package/foldl before |
2023-08-07 02:30:08 +0200 | <jackdk> | you're quick on the draw today Axman6 |
2023-08-07 02:30:49 +0200 | <Axman6> | list fusion happens when the result of one function is passed to another function, so things like sum . filter f . enumFromTo 0 |
2023-08-07 02:31:03 +0200 | <Axman6> | jackdk: surprsing given how recently I finished my coffee |
2023-08-07 02:31:46 +0200 | <jackdk> | if you do `(f &&& g) list` I think you guarantee that each function will hold references to the same input list if it needs to, but agree that you can't guarantee that those functions will walk the list in a single traversal |
2023-08-07 02:32:26 +0200 | <Axman6> | Also for your specific question, https://hackage.haskell.org/package/list-fusion-probe exists |
2023-08-07 02:33:25 +0200 | <yin> | Axman6: that's great, thank you |
2023-08-07 02:34:23 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-08-07 02:34:27 +0200 | <dsal> | Axman6: I'm not super familiar with arrows, but why can't that be one traversal? |
2023-08-07 02:34:33 +0200 | <Axman6> | yin: think about this function: average xs = sum sx / fromIntegral (length xs); either the sum or the length needs to be computed first, but both the top and the bottom keep a reference to xs. xs might be a thunk when it's passed in, but once one, say sum, evaluates it, because there's still a reference to it, the evaluated xs remains in memory |
2023-08-07 02:34:42 +0200 | <dsal> | Also, jackdk reminds me that my irc client has an easter egg where it always prints "comic sans" in comic sans. |
2023-08-07 02:35:09 +0200 | <Axman6> | dsal: (f &&& g) x = (f x, g x), in this case (iirc?) |
2023-08-07 02:35:40 +0200 | <dsal> | Yeah, I guess I keep imagining more magic. They can definitely do very different things. |
2023-08-07 02:36:15 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-07 02:37:06 +0200 | razetime | (~quassel@117.254.36.246) |
2023-08-07 02:37:12 +0200 | <Axman6> | yin: one solution to the above problem is to now pass in xs, but pass in a function which computes xs: average fxs = sum (fxs ()) / fromIntegral (length (fxs ())) - this avoid the sharing, both calls to fxs produce a different list (which might get fuxed with the sum and the length), but doubles the work. |
2023-08-07 02:37:39 +0200 | <yin> | dsal: now i'm curious, what's your client? |
2023-08-07 02:37:46 +0200 | <dsal> | irccloud |
2023-08-07 02:40:31 +0200 | <geekosaur> | so it channels SPJ? |
2023-08-07 02:41:36 +0200 | <Axman6> | yin: the foldl package exists specifically to solve this problem - it defines data Fold a b = Fold (a -> x -> x) x (x -> b) - a state update function, some state, and a function to extract a result from the state. sum becomes: Fold (\a s -> a + s) 0 id, length becomes Fold (\_ c -> c + 1) 0 id, and the fun part comes with /, which becomes: (Fold fa sa za) / (Fold fb sb zb) = Fold (\x (sa,sb) -> (fa z sa, fb z sb)) (sa, sb) (\(sa,sb) -> z sa / z sb) |
2023-08-07 02:41:42 +0200 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in) |
2023-08-07 02:41:43 +0200 | <Axman6> | so many lambdas... |
2023-08-07 02:42:55 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) (Ping timeout: 246 seconds) |
2023-08-07 02:42:58 +0200 | <jackdk> | https://github.com/bitemyapp/learnhaskell/blob/master/dialogues.md#transducers related |
2023-08-07 02:43:37 +0200 | <yin> | Axman6: why the use of lambdas instead of (+), const, etc.? |
2023-08-07 02:43:41 +0200 | <Axman6> | then there are function, like fold :: Fold a b -> [a] -> b, and average becomes the beautifully terse: average = sum / fromIntegral <$> length (or average = sum / genericLength, which does the fromIntegral internally) |
2023-08-07 02:44:09 +0200 | <Axman6> | yin: just consistency, it matches up slightluy more clearly with the definition of the type - they're equivalent |
2023-08-07 02:44:39 +0200 | <glguy> | genericLength does the length computation using the result type, which is rarely what you want |
2023-08-07 02:44:42 +0200 | <yin> | ah ok |
2023-08-07 02:45:25 +0200 | <Axman6> | I "maintain" the foldl-statistics package, which computes a bunch statistics on anything you can fold over (including the first five central moments in a single pass, which I just think is neat) |
2023-08-07 02:45:38 +0200 | zaraksh | (~zaraksh@94.11.219.121) |
2023-08-07 02:45:38 +0200 | zaraksh | (~zaraksh@94.11.219.121) (Client Quit) |
2023-08-07 02:45:52 +0200 | <Axman6> | glguy: I thought genericLength = Fold (+) (0 :: Int) fromIntegral |
2023-08-07 02:46:01 +0200 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) |
2023-08-07 02:46:44 +0200 | <Axman6> | oh ew, it's not |
2023-08-07 02:46:45 +0200 | <yin> | why do i always end up opening a dozen of tabs after asking a simple question here? |
2023-08-07 02:47:03 +0200 | <geekosaur> | 🙂 |
2023-08-07 02:47:21 +0200 | <Axman6> | Because you're leaning haskell, and it expants your mind (and tabs are a good mechanism of storing that information before you're internalised it =) |
2023-08-07 02:47:34 +0200 | <glguy> | genericLength doesn't even do a left fold; it's bad news |
2023-08-07 02:47:35 +0200 | jero98772 | (~jero98772@2800:484:1d84:300::3) (Ping timeout: 245 seconds) |
2023-08-07 02:47:44 +0200 | <Axman6> | glguy: you've ruined my day btw |
2023-08-07 02:47:46 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) |
2023-08-07 02:48:41 +0200 | <Axman6> | are we talking about the same genericLength? I'm referring to https://hackage.haskell.org/package/foldl-1.4.15/docs/Control-Foldl.html#v:genericLength which does indeed use the result type, but definitely does a left fold |
2023-08-07 02:49:09 +0200 | <geekosaur> | @index genericLength |
2023-08-07 02:49:09 +0200 | <lambdabot> | GHC.OldList, Data.List |
2023-08-07 02:49:47 +0200 | <yin> | left folds are subject to fusion now, right? |
2023-08-07 02:50:01 +0200 | <Axman6> | GHC.OldList, where the compiler allocates pieces of paper and write down the elements with a biro |
2023-08-07 02:50:32 +0200 | <geekosaur> | I think I saw a compiler Note about left folds being rewritten as right folds? |
2023-08-07 02:51:03 +0200 | <yin> | let's open a couple more tabs |
2023-08-07 02:51:23 +0200 | <yin> | i need tabs for my tabs |
2023-08-07 02:51:43 +0200 | <Axman6> | yin: generally yes, but it depends on what their argument is. Really you shouldn't think of fusion as a specific optimisation (though I guess the build/fold fusion is one specific example), it's generally ends up more often being an instance of the case-of-case optimisation |
2023-08-07 02:51:44 +0200 | <geekosaur> | I thought firefox had an extension for that? |
2023-08-07 02:52:22 +0200 | <Axman6> | Safari has tab groups these days for that, it's been an absolute lifesaver for my RAM (even though Safari uses RAM very efficiently, I still push it very hard) |
2023-08-07 02:52:25 +0200 | <yin> | geekosaur: do NOT send me a link about that rn |
2023-08-07 02:54:03 +0200 | <glguy> | Axman6: I'm talking about base. If you are talking about another library I didn't read enough backlog |
2023-08-07 02:54:57 +0200 | Sciencentistguy4 | (~sciencent@hacksoc/ordinary-member) |
2023-08-07 02:55:42 +0200 | <Axman6> | yeah, foldl's, but you happened to be correct about the types it used |
2023-08-07 02:55:47 +0200 | <yin> | (chrome has native tab groups) |
2023-08-07 02:57:16 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 260 seconds) |
2023-08-07 02:57:17 +0200 | Sciencentistguy4 | Sciencentistguy |
2023-08-07 02:57:34 +0200 | <yin> | Axman6: what is the meaning of "central moments"? |
2023-08-07 02:58:23 +0200 | <Axman6> | mean, variance, kurtosis, skewness etc. |
2023-08-07 02:58:48 +0200 | <yin> | got it |
2023-08-07 02:58:49 +0200 | <Axman6> | (I think the first five are: length, mean, variance, skewness, kurtosis) |
2023-08-07 03:02:47 +0200 | <yin> | ah, the term moment comes from physics which is from where i'm familiar with it in my language :) |
2023-08-07 03:03:13 +0200 | yin | closes tab |
2023-08-07 03:03:38 +0200 | geekosaur | watches two more open |
2023-08-07 03:05:16 +0200 | <Axman6> | If three more opened every time you closed one, you could call that hydration |
2023-08-07 03:07:47 +0200 | razetime | (~quassel@117.254.36.246) (Ping timeout: 260 seconds) |
2023-08-07 03:08:15 +0200 | razetime | (~quassel@117.254.37.77) |
2023-08-07 03:08:43 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-08-07 03:10:08 +0200 | <yin> | damn you Axman6, why am i reading this now? https://en.m.wikipedia.org/wiki/Hydra_(genus) |
2023-08-07 03:12:06 +0200 | bilegeek | (~bilegeek@2600:1008:b0aa:9826:3cd0:f7c6:82d4:d441) (Ping timeout: 246 seconds) |
2023-08-07 03:12:37 +0200 | <lisbeths> | Lets say that you are programming with pure lambdas. And lets say that you are applying your combinators from left to right only without parentheses using currying. Do there exist combinators that can act as control flow structures that can change the order of operations like parentheses normally do |
2023-08-07 03:12:38 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 03:14:59 +0200 | <lisbeths> | I have found something sort of like this. A function that recursively eats infinite arguments. Every ither argument is expected to be a delimiter. If the delimiter is the combinator quit then the control structure is terminated. If the delimiter is left-paren then you would simulate a left parentheses. Similarly if the delimiter was right-paren you would simulate a right parentheses. This is a nestable control structure that is |
2023-08-07 03:14:59 +0200 | <lisbeths> | a prefix and can be used simply by applying lambdas from left to right |
2023-08-07 03:15:31 +0200 | <dsal> | What do you mean by "lambdas" in this context? |
2023-08-07 03:16:51 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 03:19:39 +0200 | <monochrom> | I be damned if any language at all ever used parentheses for control flow. |
2023-08-07 03:22:42 +0200 | <yin> | jackdk: your wiki/haskell/learning is gold |
2023-08-07 03:22:53 +0200 | libertyprime | (~libertypr@203.96.203.44) |
2023-08-07 03:24:26 +0200 | <lisbeths> | A fully contained applyable lambda that doesn't contain any references to anything outside of itself |
2023-08-07 03:24:30 +0200 | <lisbeths> | a combinator |
2023-08-07 03:25:06 +0200 | <jackdk> | yin: thanks. We are lucky that this community has so many generous authors |
2023-08-07 03:25:09 +0200 | <geekosaur> | monochrom, forth after a fashion? |
2023-08-07 03:25:16 +0200 | <lisbeths> | Imagine a programming environment where you are only ably take combinators and apply them from left to right. How do you do control structured without haskell's parentheses |
2023-08-07 03:26:22 +0200 | phma | (~phma@host-67-44-208-165.hnremote.net) (Read error: Connection reset by peer) |
2023-08-07 03:26:30 +0200 | <lisbeths> | a parentheses combinator would eat infinite combinators from the right and look for a terminating combinator that would tell it to return |
2023-08-07 03:26:51 +0200 | phma | (~phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) |
2023-08-07 03:29:47 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-07 03:32:18 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) (Remote host closed the connection) |
2023-08-07 03:34:25 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-08-07 03:50:59 +0200 | hiredman_ | (~hiredman@frontier1.downey.family) |
2023-08-07 03:56:19 +0200 | jero98772 | (~jero98772@2800:484:1d84:300::3) |
2023-08-07 03:58:47 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-08-07 03:58:49 +0200 | kaskal | (~kaskal@2001:4bb8:2dd:a79d:1a7:8529:b79b:cfa) (Quit: ZNC - https://znc.in) |
2023-08-07 04:03:15 +0200 | kaskal | (~kaskal@213-147-167-98.nat.highway.webapn.at) |
2023-08-07 04:11:22 +0200 | xff0x | (~xff0x@2405:6580:b080:900:a81e:4fdc:9952:342d) (Ping timeout: 260 seconds) |
2023-08-07 04:13:04 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 260 seconds) |
2023-08-07 04:15:27 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-08-07 04:20:26 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-07 04:21:35 +0200 | phma | (~phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) (Read error: Connection reset by peer) |
2023-08-07 04:22:00 +0200 | phma | (phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) |
2023-08-07 04:24:06 +0200 | libertyprime | (~libertypr@203.96.203.44) (Quit: leaving) |
2023-08-07 04:34:42 +0200 | td_ | (~td@i5387092A.versanet.de) (Ping timeout: 246 seconds) |
2023-08-07 04:36:32 +0200 | td_ | (~td@i53870914.versanet.de) |
2023-08-07 04:49:08 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-08-07 04:56:58 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
2023-08-07 04:59:35 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-08-07 04:59:36 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-08-07 04:59:36 +0200 | finn_elija | FinnElija |
2023-08-07 05:01:46 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-08-07 05:02:41 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds) |
2023-08-07 05:03:37 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2023-08-07 05:06:21 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 05:07:45 +0200 | slack1256 | (~slack1256@181.43.228.205) |
2023-08-07 05:10:17 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-08-07 05:14:15 +0200 | phma | (phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) (Read error: Connection reset by peer) |
2023-08-07 05:14:15 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 05:14:40 +0200 | phma | (~phma@host-67-44-208-165.hnremote.net) |
2023-08-07 05:17:14 +0200 | jero98772 | (~jero98772@2800:484:1d84:300::3) (Ping timeout: 260 seconds) |
2023-08-07 05:18:48 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-08-07 05:21:02 +0200 | phma | (~phma@host-67-44-208-165.hnremote.net) (Read error: Connection reset by peer) |
2023-08-07 05:21:13 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-08-07 05:21:13 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-08-07 05:21:13 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-08-07 05:21:26 +0200 | phma | (phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) |
2023-08-07 05:22:11 +0200 | aforemny | (~aforemny@i59F516F1.versanet.de) |
2023-08-07 05:22:52 +0200 | aforemny_ | (~aforemny@i59F516D0.versanet.de) (Ping timeout: 246 seconds) |
2023-08-07 05:24:29 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 05:25:07 +0200 | wroathe | (~wroathe@user/wroathe) (Client Quit) |
2023-08-07 05:25:23 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-08-07 05:25:23 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-08-07 05:25:23 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-08-07 05:28:49 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 05:34:54 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
2023-08-07 05:34:56 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-08-07 05:43:04 +0200 | mixfix41 | (~sdeny9ee@user/mixfix41) |
2023-08-07 05:48:20 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-07 05:48:58 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-08-07 05:58:39 +0200 | shapr | (~user@2600:1700:c640:3100:9415:bb5d:ae7f:5570) (Ping timeout: 260 seconds) |
2023-08-07 06:00:28 +0200 | actioninja630 | (~actioninj@user/actioninja) (Quit: see ya mane) |
2023-08-07 06:00:51 +0200 | actioninja6302 | (~actioninj@user/actioninja) |
2023-08-07 06:11:18 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-08-07 06:15:22 +0200 | slack1256 | (~slack1256@181.43.228.205) (Ping timeout: 246 seconds) |
2023-08-07 06:49:01 +0200 | Guest70 | (~Guest38@174.112.127.99) (Quit: Client closed) |
2023-08-07 06:49:39 +0200 | Luj | (~Luj@2a01:e0a:5f9:9681:4671:33b1:6b71:1aab) (Quit: Ping timeout (120 seconds)) |
2023-08-07 06:50:00 +0200 | Luj | (~Luj@2a01:e0a:5f9:9681:48e4:24ca:6fdb:7ec3) |
2023-08-07 06:52:48 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
2023-08-07 06:53:39 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-08-07 06:58:59 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 07:04:33 +0200 | trev | (~trev@user/trev) |
2023-08-07 07:05:24 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 07:09:44 +0200 | slack1256 | (~slack1256@181.43.88.77) |
2023-08-07 07:18:25 +0200 | slack1256 | (~slack1256@181.43.88.77) (Ping timeout: 240 seconds) |
2023-08-07 07:26:11 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-08-07 07:26:24 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 07:28:29 +0200 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 260 seconds) |
2023-08-07 07:29:13 +0200 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) |
2023-08-07 07:30:30 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds) |
2023-08-07 07:33:08 +0200 | haskl | (~haskl@user/haskl) (Remote host closed the connection) |
2023-08-07 07:33:28 +0200 | haskl | (~haskl@user/haskl) |
2023-08-07 07:41:31 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-08-07 07:47:32 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-07 07:48:01 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-08-07 07:49:29 +0200 | kenran | (~user@user/kenran) |
2023-08-07 07:50:42 +0200 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 246 seconds) |
2023-08-07 07:54:07 +0200 | bilegeek | (~bilegeek@2600:1008:b03b:113:6537:9170:87d0:e696) |
2023-08-07 08:01:37 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-07 08:06:13 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-08-07 08:27:49 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-08-07 08:29:41 +0200 | <Axman6> | jackdk: btw, along with that video about Core, you might want to add some of the ones from this year's GHC Contributors Workshop (available on https://www.youtube.com/@HaskellFoundation) |
2023-08-07 08:29:46 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Ping timeout: 246 seconds) |
2023-08-07 08:30:28 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) |
2023-08-07 08:33:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-07 08:37:26 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-08-07 08:44:41 +0200 | lortabac | (~lortabac@2a01:e0a:50d:8d40:7c4c:d965:f783:279f) |
2023-08-07 08:49:10 +0200 | michalz | (~michalz@185.246.207.215) |
2023-08-07 08:49:39 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Read error: Connection reset by peer) |
2023-08-07 08:49:58 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) |
2023-08-07 08:52:46 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-08-07 08:57:34 +0200 | Vajb | (~Vajb@2001:999:704:b8c8:e14b:a6fe:34f9:7c8b) |
2023-08-07 08:59:33 +0200 | titibandit | (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
2023-08-07 09:02:35 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Ping timeout: 245 seconds) |
2023-08-07 09:05:37 +0200 | vglfr | (~vglfr@145.224.100.231) |
2023-08-07 09:13:12 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-08-07 09:13:29 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-08-07 09:16:13 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-07 09:16:40 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 246 seconds) |
2023-08-07 09:19:50 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-08-07 09:20:51 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-08-07 09:20:55 +0200 | qhong | (~qhong@DN160vrd000d6kpg009l6c0000fj.stanford.edu) (Read error: Connection reset by peer) |
2023-08-07 09:21:13 +0200 | qhong | (~qhong@DN160vrd000d6kpg009l6c0000fj.stanford.edu) |
2023-08-07 09:25:25 +0200 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 240 seconds) |
2023-08-07 09:26:04 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-07 09:27:38 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2023-08-07 09:27:52 +0200 | titibandit | (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
2023-08-07 09:28:01 +0200 | taupiqueur | (~taupiqueu@lneuilly-657-1-103-124.w80-15.abo.wanadoo.fr) |
2023-08-07 09:28:21 +0200 | Square2 | (~Square@user/square) |
2023-08-07 09:28:27 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-08-07 09:28:27 +0200 | <sm> | was it always the case that ChanServe sends a message every time you connect here ? Finding it a bit noisy |
2023-08-07 09:38:55 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-08-07 09:42:03 +0200 | titibandit | (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
2023-08-07 09:46:08 +0200 | zeenk | (~zeenk@2a02:2f04:a110:8d00::7fe) |
2023-08-07 09:47:03 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-08-07 09:47:04 +0200 | titibandit | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-08-07 09:47:55 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-08-07 09:50:27 +0200 | MajorBiscuit | (~MajorBisc@c-001-005-039.client.tudelft.eduvpn.nl) |
2023-08-07 09:50:34 +0200 | MajorBiscuit | (~MajorBisc@c-001-005-039.client.tudelft.eduvpn.nl) (Client Quit) |
2023-08-07 09:50:52 +0200 | MajorBiscuit | (~MajorBisc@c-001-005-039.client.tudelft.eduvpn.nl) |
2023-08-07 09:52:50 +0200 | titibandit | (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
2023-08-07 09:53:09 +0200 | zeenk | (~zeenk@2a02:2f04:a110:8d00::7fe) (Remote host closed the connection) |
2023-08-07 09:53:32 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-08-07 09:53:32 +0200 | zeenk | (~zeenk@2a02:2f04:a110:8d00::fba) |
2023-08-07 09:53:38 +0200 | acidjnk | (~acidjnk@p200300d6e7072f488d7b2a00ab71d1ea.dip0.t-ipconnect.de) |
2023-08-07 09:55:38 +0200 | mmhat | (~mmh@p200300f1c73d19ffee086bfffe095315.dip0.t-ipconnect.de) |
2023-08-07 09:55:43 +0200 | phma | (phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) (Read error: Connection reset by peer) |
2023-08-07 09:56:31 +0200 | phma | (~phma@host-67-44-208-168.hnremote.net) |
2023-08-07 09:58:57 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-08-07 09:59:09 +0200 | chele | (~chele@user/chele) |
2023-08-07 09:59:45 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-08-07 10:03:21 +0200 | Square2 | (~Square@user/square) (Ping timeout: 246 seconds) |
2023-08-07 10:06:21 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
2023-08-07 10:07:28 +0200 | seeg123456 | (~seeg12345@64.176.64.83) (Quit: Gateway shutdown) |
2023-08-07 10:08:04 +0200 | mima | (~mmh@net-93-67-213-210.cust.vodafonedsl.it) |
2023-08-07 10:09:12 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-08-07 10:13:22 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 246 seconds) |
2023-08-07 10:17:30 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-08-07 10:17:54 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 10:22:54 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
2023-08-07 10:23:29 +0200 | razetime | (~quassel@117.254.37.77) (Ping timeout: 260 seconds) |
2023-08-07 10:25:49 +0200 | Pickchea | (~private@user/pickchea) |
2023-08-07 10:28:05 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-08-07 10:28:50 +0200 | danse-nr3 | (~francesco@ba-19-128-146.service.infuturo.it) |
2023-08-07 10:28:59 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-07 10:39:04 +0200 | CiaoSen | (~Jura@2a05:5800:296:9800:664b:f0ff:fe37:9ef) |
2023-08-07 10:42:19 +0200 | razetime | (~quassel@117.254.37.77) |
2023-08-07 10:43:57 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2023-08-07 10:46:05 +0200 | libertyprime | (~libertypr@203.96.203.44) |
2023-08-07 10:47:14 +0200 | bilegeek | (~bilegeek@2600:1008:b03b:113:6537:9170:87d0:e696) (Quit: Leaving) |
2023-08-07 10:49:47 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 10:52:42 +0200 | vglfr | (~vglfr@145.224.100.231) (Ping timeout: 260 seconds) |
2023-08-07 10:53:05 +0200 | vglfr | (~vglfr@145.224.100.231) |
2023-08-07 10:53:28 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2023-08-07 10:56:23 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 264 seconds) |
2023-08-07 10:58:35 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 11:02:17 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-08-07 11:02:51 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 11:04:36 +0200 | vglfr | (~vglfr@145.224.100.231) (Ping timeout: 246 seconds) |
2023-08-07 11:05:17 +0200 | misterfish | (~misterfis@87.215.131.102) |
2023-08-07 11:11:39 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) |
2023-08-07 11:14:12 +0200 | fendor | (~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) |
2023-08-07 11:14:18 +0200 | neminis | (~neminis@2001:861:3102:4280:d6a9:d99:d886:7ff5) |
2023-08-07 11:15:59 +0200 | neminis | (~neminis@2001:861:3102:4280:d6a9:d99:d886:7ff5) (Client Quit) |
2023-08-07 11:16:48 +0200 | ubert | (~Thunderbi@77.119.215.66.wireless.dyn.drei.com) (Remote host closed the connection) |
2023-08-07 11:17:10 +0200 | ubert | (~Thunderbi@77.119.215.66.wireless.dyn.drei.com) |
2023-08-07 11:17:48 +0200 | ft | (~ft@p3e9bcd02.dip0.t-ipconnect.de) (Quit: leaving) |
2023-08-07 11:18:18 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 11:18:52 +0200 | chreekat | (~b@dys040yd52g4v55v1vgry-3.rev.dnainternet.fi) |
2023-08-07 11:20:18 +0200 | ubert | (~Thunderbi@77.119.215.66.wireless.dyn.drei.com) (Remote host closed the connection) |
2023-08-07 11:20:38 +0200 | ubert | (~Thunderbi@77.119.215.66.wireless.dyn.drei.com) |
2023-08-07 11:22:35 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds) |
2023-08-07 11:25:37 +0200 | chreekat | (~b@dys040yd52g4v55v1vgry-3.rev.dnainternet.fi) (Quit: quitting) |
2023-08-07 11:27:53 +0200 | titiband1t | (~titibandi@user/titibandit) |
2023-08-07 11:31:29 +0200 | titiband1t | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-08-07 11:31:29 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 11:32:18 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2023-08-07 11:32:24 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-08-07 11:32:53 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-08-07 11:32:58 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2023-08-07 11:33:00 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 245 seconds) |
2023-08-07 11:35:51 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds) |
2023-08-07 11:41:38 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-08-07 11:43:48 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-07 11:48:34 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2023-08-07 11:49:17 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-08-07 11:54:04 +0200 | razetime | (~quassel@117.254.37.77) (Remote host closed the connection) |
2023-08-07 11:54:47 +0200 | Benzi-Junior | (~BenziJuni@dsl-149-64-112.hive.is) (Ping timeout: 246 seconds) |
2023-08-07 11:57:21 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2023-08-07 11:58:27 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 12:00:11 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-08-07 12:02:49 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4412:cedf:3c2a:7919) |
2023-08-07 12:06:12 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 12:06:54 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-08-07 12:06:55 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4412:cedf:3c2a:7919) (Ping timeout: 240 seconds) |
2023-08-07 12:07:57 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 246 seconds) |
2023-08-07 12:12:57 +0200 | Inst_ | (~Inst@2601:6c4:4081:2fc0:1819:b44d:a133:3985) (Remote host closed the connection) |
2023-08-07 12:13:21 +0200 | Inst_ | (~Inst@2601:6c4:4081:2fc0:1819:b44d:a133:3985) |
2023-08-07 12:16:07 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving) |
2023-08-07 12:16:14 +0200 | Minnozz | (~minnozz@salix.minnozz.com) |
2023-08-07 12:16:35 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-08-07 12:16:43 +0200 | <ph88> | where can i find the list type in the docs ? |
2023-08-07 12:16:58 +0200 | Typedfern | (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
2023-08-07 12:18:43 +0200 | <Minnozz> | hi, I want to upgrade from GHC 9.2.8 to 9.6.2 and would like to read the relevant changelogs for this upgrade path. are they aggregated somewhere or do I need to look at every separate changelog from all minor versions in between? |
2023-08-07 12:19:54 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 12:20:11 +0200 | <ncf> | ph88: the list type itself is built in, because of the special syntax |
2023-08-07 12:20:51 +0200 | <ncf> | that said, there is https://hackage.haskell.org/package/base-4.18.0.0/docs/GHC-List.html |
2023-08-07 12:20:52 +0200 | <xerox> | https://www.stackage.org/haddock/lts-21.6/ghc-prim-0.9.0/src/GHC.Types.html#/GHC.Types.html |
2023-08-07 12:21:07 +0200 | <xerox> | there is the standard definition in here |
2023-08-07 12:22:10 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 245 seconds) |
2023-08-07 12:22:59 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-07 12:23:46 +0200 | <ph88> | thanks guys |
2023-08-07 12:27:03 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 12:27:25 +0200 | libertyprime | (~libertypr@203.96.203.44) (Ping timeout: 240 seconds) |
2023-08-07 12:29:32 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Ping timeout: 260 seconds) |
2023-08-07 12:31:18 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-08-07 12:31:35 +0200 | Typedfern | (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) |
2023-08-07 12:35:16 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
2023-08-07 12:37:26 +0200 | libertyprime | (~libertypr@203.96.203.44) |
2023-08-07 12:38:22 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
2023-08-07 12:38:45 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
2023-08-07 12:39:30 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
2023-08-07 12:40:45 +0200 | <ph88> | can anyone explain how sequenceA works? i saw sequenceA and traverse being implemented while using each other which didn't help for understanding https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Traversable.html#traverse |
2023-08-07 12:40:51 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2023-08-07 12:41:00 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 12:41:44 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 260 seconds) |
2023-08-07 12:43:08 +0200 | <ncf> | % sequenceA [do print 1; return 2, do print 3; return 4] |
2023-08-07 12:43:08 +0200 | <yahb2> | 1 ; 3 ; [2,4] |
2023-08-07 12:43:25 +0200 | CiaoSen | (~Jura@2a05:5800:296:9800:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds) |
2023-08-07 12:43:44 +0200 | <ncf> | % traverse (\(a, b) -> do print a; return b) [(1, 2), (3, 4)] |
2023-08-07 12:43:44 +0200 | <yahb2> | 1 ; 3 ; [2,4] |
2023-08-07 12:44:01 +0200 | <ncf> | % traverse (\action -> action) [do print 1; return 2, do print 3; return 4] |
2023-08-07 12:44:01 +0200 | <yahb2> | 1 ; 3 ; [2,4] |
2023-08-07 12:44:09 +0200 | <ncf> | sequenceA = traverse id |
2023-08-07 12:44:11 +0200 | <ncf> | ph88: does this help? |
2023-08-07 12:44:49 +0200 | <dminuoso> | ph88: sequenceA is usually just a clutch. With `traverse` you sort of write a (a -> f a) effect that maps each element. But sometimes you end up with say a list of not numbers, but IO actions. |
2023-08-07 12:45:18 +0200 | <dminuoso> | `sequenceA = traverse id` is really the best way to describe it. |
2023-08-07 12:45:55 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 240 seconds) |
2023-08-07 12:46:32 +0200 | <dminuoso> | ph88: It might also help to start thinking about traverse_ and sequenceA_ first. |
2023-08-07 12:46:38 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
2023-08-07 12:46:57 +0200 | <dminuoso> | % sequenceA [putStr "Hello", putStr ", ", putStr "World"] |
2023-08-07 12:46:57 +0200 | <yahb2> | Hello, World[(),(),()] |
2023-08-07 12:47:00 +0200 | <dminuoso> | % sequenceA_ [putStr "Hello", putStr ", ", putStr "World"] |
2023-08-07 12:47:01 +0200 | <yahb2> | <interactive>:35:1: error: ; • Variable not in scope: sequenceA_ :: [IO ()] -> t ; • Perhaps you meant one of these: ; ‘sequence_’ (imported from Prelude), ; ‘sequenceA’ (im... |
2023-08-07 12:47:06 +0200 | <dminuoso> | % import Data.Foldable |
2023-08-07 12:47:06 +0200 | <yahb2> | <no output> |
2023-08-07 12:47:07 +0200 | <dminuoso> | % sequenceA_ [putStr "Hello", putStr ", ", putStr "World"] |
2023-08-07 12:47:07 +0200 | <yahb2> | Hello, World |
2023-08-07 12:47:27 +0200 | <dminuoso> | % traverse_ putStr ["Hello", ", ", "World"] |
2023-08-07 12:47:27 +0200 | <yahb2> | Hello, World |
2023-08-07 12:47:50 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
2023-08-07 12:48:02 +0200 | <ncf> | there's a whole bunch of functions that can be desribed as some other function + fmap: traverse f = sequenceA . fmap f; foldMap f = fold . fmap f; (>>= f) = join . fmap f |
2023-08-07 12:49:29 +0200 | <ncf> | or described |
2023-08-07 12:49:38 +0200 | <ph88> | % fmap pure [1,2,3] :: [Maybe Int] |
2023-08-07 12:49:38 +0200 | <yahb2> | [Just 1,Just 2,Just 3] |
2023-08-07 12:49:42 +0200 | <ph88> | this i get |
2023-08-07 12:49:50 +0200 | <ph88> | % sequenceA (Just [1,2,3] :: Maybe [Int]) |
2023-08-07 12:49:50 +0200 | <yahb2> | [Just 1,Just 2,Just 3] |
2023-08-07 12:50:00 +0200 | <ph88> | here i don't know how sequenceA get rid of the outer Just |
2023-08-07 12:50:21 +0200 | <dminuoso> | ph88: Oh, there is an instance `Traversable Maybe` |
2023-08-07 12:50:58 +0200 | <dminuoso> | And the "effect" here is the [] effect. |
2023-08-07 12:51:06 +0200 | <dminuoso> | This example is quite treacherous. |
2023-08-07 12:51:12 +0200 | <ph88> | what is the step by step process that these functions do ? so far i only understand them by seeing the result they have but it didn't give me an inituition for it |
2023-08-07 12:51:26 +0200 | <dminuoso> | ph88: Start by picking Applicative f ~ Applicative IO |
2023-08-07 12:51:30 +0200 | <dminuoso> | And Traversable ~ [] |
2023-08-07 12:51:34 +0200 | <dminuoso> | This is a good starting step. |
2023-08-07 12:51:41 +0200 | <dminuoso> | % sequenceA [putStr "Hello", putStr ", ", putStr "World"] |
2023-08-07 12:51:41 +0200 | <yahb2> | Hello, World[(),(),()] |
2023-08-07 12:51:48 +0200 | <dminuoso> | % sequenceA_ [putStr "Hello", putStr ", ", putStr "World" |
2023-08-07 12:51:48 +0200 | <yahb2> | <interactive>:49:56: error: ; parse error (possibly incorrect indentation or mismatched brackets) |
2023-08-07 12:51:50 +0200 | <dminuoso> | % sequenceA_ [putStr "Hello", putStr ", ", putStr "World"] |
2023-08-07 12:51:50 +0200 | <yahb2> | Hello, World |
2023-08-07 12:51:53 +0200 | <dminuoso> | % traverse_ putStr ["Hello", ", ", "World"] |
2023-08-07 12:51:53 +0200 | <yahb2> | Hello, World |
2023-08-07 12:51:54 +0200 | <ncf> | sequenceA (Just a) = Just <$> a |
2023-08-07 12:52:09 +0200 | <ncf> | this is part of the Traversable Maybe instance |
2023-08-07 12:52:29 +0200 | <dminuoso> | ncf: Well, the more "surprising" bit is the [] applicative effect here. |
2023-08-07 12:52:34 +0200 | <dminuoso> | Its what makes this example look strange. |
2023-08-07 12:53:14 +0200 | <ncf> | if you understand `fmap pure [1, 2, 3] :: [Maybe Int]` then you also understand `Just <$> [1, 2, 3]` |
2023-08-07 12:53:38 +0200 | <ph88> | yes i understand that part |
2023-08-07 12:54:59 +0200 | <ph88> | when i look at sequenceA (Just [1,2,3] :: Maybe [Int]) i imagine fmap pure would be the last step that sequenceA is doing. What is the first step that gets rid of the outer Just? this step `Just [1,2,3]` -> [1,2,3]` |
2023-08-07 12:55:11 +0200 | <ncf> | <ncf> sequenceA (Just a) = Just <$> a |
2023-08-07 12:55:30 +0200 | <dminuoso> | ph88: Here's a different perspective: |
2023-08-07 12:55:32 +0200 | <dminuoso> | % :t sequenceA |
2023-08-07 12:55:32 +0200 | <yahb2> | sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a) |
2023-08-07 12:55:39 +0200 | <dminuoso> | ph88: Look how `t` and `f` get swapped around. |
2023-08-07 12:55:49 +0200 | <dminuoso> | It turns `[IO Int]` into `IO [Int]` |
2023-08-07 12:55:59 +0200 | <dminuoso> | It turns `Maybe [Int]` into `[Maybe Int]` |
2023-08-07 12:56:29 +0200 | <ph88> | i understand it on the type level and on the results that come out of the function. But i don't know how i could write these functions from scratch to see what the steps are how they work |
2023-08-07 12:56:45 +0200 | acidjnk | (~acidjnk@p200300d6e7072f488d7b2a00ab71d1ea.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-08-07 12:56:45 +0200 | <dminuoso> | 12:55:11 ncf | <ncf> sequenceA (Just a) = Just <$> a |
2023-08-07 12:56:52 +0200 | <dminuoso> | It's really that simple. |
2023-08-07 12:57:16 +0200 | <dminuoso> | ph88: https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Traversable.html#line-294 |
2023-08-07 12:57:31 +0200 | <dminuoso> | If we take the definition: |
2023-08-07 12:57:39 +0200 | <dminuoso> | sequenceA = traverse id |
2023-08-07 12:57:46 +0200 | <dminuoso> | And |
2023-08-07 12:57:48 +0200 | <dminuoso> | traverse f (Just x) = Just <$> f x |
2023-08-07 12:59:03 +0200 | <dminuoso> | Then `sequenceA (Just [1,2,3])` can be simplified to `traverse id (Just [1,2,3])`, which then by that definition is just `Just <$> id [1,2,3])`, which is just `Just <$> [1,2,3]` |
2023-08-07 12:59:26 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 13:00:56 +0200 | acidjnk | (~acidjnk@p200300d6e7072f48b040639f689e504f.dip0.t-ipconnect.de) |
2023-08-07 13:01:06 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-07 13:01:21 +0200 | <ph88> | instead of Maybe if i had a tuple. instance Traversable (x,) where it would also be defined somewhere ? |
2023-08-07 13:01:34 +0200 | <ncf> | certainly |
2023-08-07 13:01:46 +0200 | <ncf> | https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Traversable.html#line-317 |
2023-08-07 13:01:59 +0200 | <ph88> | oooohhhh |
2023-08-07 13:02:02 +0200 | <dminuoso> | ph88: There is no "default generic instance" that magically works. |
2023-08-07 13:02:05 +0200 | <dminuoso> | Its defined for each type separately. |
2023-08-07 13:02:15 +0200 | <ncf> | % sequenceA ("hi", [1,2,3]) |
2023-08-07 13:02:15 +0200 | <yahb2> | [("hi",1),("hi",2),("hi",3)] |
2023-08-07 13:02:19 +0200 | <dminuoso> | See the list of Instances below https://hackage.haskell.org/package/base-4.18.0.0/docs/Prelude.html#t:Traversable |
2023-08-07 13:03:29 +0200 | <ph88> | The other day i was asking about this traverse (\a -> maybe ([], a) (\a' -> ([a], a')) (f a)) l which then after a while i understood on the type level, but i was missing the step about the tuple being a traversable. i think i got the complete picture now |
2023-08-07 13:04:25 +0200 | <ncf> | well, this is not using the Traversable instance for tuples. it's using the Traversable instance for lists, and the Applicative instance for tuples |
2023-08-07 13:05:10 +0200 | <ncf> | in other words, lists are the data structure we're traversing, and "tuples" ("writer") is the effect we're traversing them with |
2023-08-07 13:05:55 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds) |
2023-08-07 13:06:42 +0200 | <ncf> | so the relevant instances are https://hackage.haskell.org/package/base-4.18.0.0/docs/src/GHC.Base.html#line-523 and Traversable [] (why can't i find this in hackage?) |
2023-08-07 13:06:59 +0200 | <ncf> | oh https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Traversable.html#line-299 |
2023-08-07 13:07:06 +0200 | <ncf> | it's listed as "Traversable List". that's new |
2023-08-07 13:07:31 +0200 | xff0x | (~xff0x@2405:6580:b080:900:5573:85d0:d008:cbd3) |
2023-08-07 13:08:38 +0200 | libertyprime | (~libertypr@203.96.203.44) (Ping timeout: 246 seconds) |
2023-08-07 13:09:04 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-07 13:09:45 +0200 | <ph88> | thanks for the help |
2023-08-07 13:10:02 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 13:16:17 +0200 | xkuru | (~xkuru@user/xkuru) |
2023-08-07 13:17:26 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2023-08-07 13:17:41 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-07 13:18:00 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds) |
2023-08-07 13:19:45 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 13:22:02 +0200 | libertyprime | (~libertypr@203.96.203.44) |
2023-08-07 13:22:20 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 244 seconds) |
2023-08-07 13:23:53 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-08-07 13:26:12 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 13:36:25 +0200 | CiaoSen | (~Jura@2a05:5800:296:9800:664b:f0ff:fe37:9ef) |
2023-08-07 13:37:29 +0200 | seeg123456 | (~seeg12345@64.176.64.83) (Quit: Gateway shutdown) |
2023-08-07 13:39:19 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-08-07 13:40:05 +0200 | danse-nr3 | (~francesco@ba-19-128-146.service.infuturo.it) (Ping timeout: 245 seconds) |
2023-08-07 13:48:09 +0200 | kayvank | (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
2023-08-07 13:49:10 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 13:51:22 +0200 | mei | (~mei@user/mei) (Quit: mei) |
2023-08-07 13:51:47 +0200 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 244 seconds) |
2023-08-07 13:53:44 +0200 | ub | (~Thunderbi@77.119.215.66.wireless.dyn.drei.com) |
2023-08-07 13:53:57 +0200 | seeg123456 | (~seeg12345@64.176.64.83) (Quit: Gateway shutdown) |
2023-08-07 13:54:18 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 250 seconds) |
2023-08-07 13:54:28 +0200 | titibandit | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-08-07 13:55:24 +0200 | libertyprime | (~libertypr@203.96.203.44) (Ping timeout: 244 seconds) |
2023-08-07 13:57:16 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-08-07 14:00:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-07 14:00:17 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 14:01:25 +0200 | ub | (~Thunderbi@77.119.215.66.wireless.dyn.drei.com) (Quit: ub) |
2023-08-07 14:05:36 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-08-07 14:06:22 +0200 | ubert | (~Thunderbi@77.119.215.66.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2023-08-07 14:08:21 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-07 14:14:11 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds) |
2023-08-07 14:15:16 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 14:18:43 +0200 | taupiqueur | (~taupiqueu@lneuilly-657-1-103-124.w80-15.abo.wanadoo.fr) (Quit: WeeChat 4.0.2) |
2023-08-07 14:20:10 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds) |
2023-08-07 14:26:19 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-08-07 14:27:56 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-08-07 14:33:21 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-07 14:36:45 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-08-07 14:39:34 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 14:40:50 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-07 14:43:27 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-07 14:44:04 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-08-07 14:44:50 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-07 14:45:20 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-08-07 14:45:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-08-07 14:47:46 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
2023-08-07 14:52:53 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-07 14:56:16 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-08-07 15:03:17 +0200 | Guest45 | (~Guest45@37.160.131.221) |
2023-08-07 15:03:33 +0200 | Guest45 | (~Guest45@37.160.131.221) () |
2023-08-07 15:03:44 +0200 | Guest45 | (~Guest45@37.160.131.221) |
2023-08-07 15:05:59 +0200 | xkuru | (~xkuru@user/xkuru) |
2023-08-07 15:07:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-07 15:07:48 +0200 | danse-nr3 | (~francesco@ba-19-132-122.service.infuturo.it) |
2023-08-07 15:08:10 +0200 | Benzi-Junior | (~BenziJuni@dsl-149-64-112.hive.is) |
2023-08-07 15:08:22 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection) |
2023-08-07 15:09:07 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds) |
2023-08-07 15:11:54 +0200 | danse-nr3 | (~francesco@ba-19-132-122.service.infuturo.it) (Remote host closed the connection) |
2023-08-07 15:12:17 +0200 | danse-nr3 | (~francesco@ba-19-132-122.service.infuturo.it) |
2023-08-07 15:14:16 +0200 | kayvank | (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
2023-08-07 15:15:25 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 246 seconds) |
2023-08-07 15:16:43 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-08-07 15:18:50 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-08-07 15:19:41 +0200 | asivitz | (uid178348@id-178348.tinside.irccloud.com) |
2023-08-07 15:22:01 +0200 | mmhat | (~mmh@p200300f1c73d19ffee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.2) |
2023-08-07 15:22:33 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-07 15:35:26 +0200 | shapr | (~user@2600:1700:c640:3100:27d9:ee57:10d2:44ba) |
2023-08-07 15:37:32 +0200 | stef204 | (~stef204@user/stef204) |
2023-08-07 15:40:22 +0200 | ddellacosta | (~ddellacos@146.70.166.184) |
2023-08-07 15:41:13 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-08-07 15:43:22 +0200 | <yin> | let's say i have a `IntMap [a]` and I want to write a performant function that 1) compares the heads of all elements and does some computation that changes them (the head elements) and proceed to compare the second elements and so on... |
2023-08-07 15:44:53 +0200 | <yin> | are there more appropriate data structures for doing this? and how would i write such a function in a way that is fast? |
2023-08-07 15:45:29 +0200 | danse-nr3 | (~francesco@ba-19-132-122.service.infuturo.it) (Ping timeout: 260 seconds) |
2023-08-07 15:45:55 +0200 | <yin> | think 3D cellular automata |
2023-08-07 15:47:11 +0200 | <yin> | sort of. more like interacting layers of 2D |
2023-08-07 15:47:42 +0200 | Guest45 | (~Guest45@37.160.131.221) (Ping timeout: 246 seconds) |
2023-08-07 15:48:09 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-08-07 15:48:09 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-08-07 15:48:09 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-08-07 15:48:55 +0200 | slack1256 | (~slack1256@181.43.90.77) |
2023-08-07 15:51:15 +0200 | Pickchea | (~private@user/pickchea) |
2023-08-07 15:52:56 +0200 | <probie> | How big is the automata? |
2023-08-07 15:56:00 +0200 | <yin> | small for now. it's a hexagonal grid with around 11 nodes of radius and indefinite heigh (the heads of my lists are tge bottom so max z-level in potentially infinite) |
2023-08-07 15:56:10 +0200 | <yin> | i want to see how far i can take this |
2023-08-07 15:57:08 +0200 | <yin> | each node holds a reference to all adjacent nodes on the same z-level, so type Node = ([Cell],[Map Dir Int]) |
2023-08-07 15:57:44 +0200 | <yin> | so it's actually an IntMap Node |
2023-08-07 15:59:30 +0200 | <yin> | correction: type Node = ([Cell], Map Dir Int) |
2023-08-07 16:01:35 +0200 | <yin> | the simulation starts on the bottom layer (the head of my lists) and travels upwards |
2023-08-07 16:02:19 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-08-07 16:03:47 +0200 | <yin> | i'm trying to avoid using non funcctional data structures like Array |
2023-08-07 16:04:13 +0200 | ijqq_ | (uid603979@id-603979.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-07 16:04:56 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Remote host closed the connection) |
2023-08-07 16:06:20 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2023-08-07 16:06:20 +0200 | acidjnk | (~acidjnk@p200300d6e7072f48b040639f689e504f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-08-07 16:13:36 +0200 | shapr | hops quietly |
2023-08-07 16:13:38 +0200 | <shapr> | GOOD MORNING |
2023-08-07 16:14:04 +0200 | ulysses4ever | (~artem@38.42.227.237) (Ping timeout: 260 seconds) |
2023-08-07 16:15:53 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 246 seconds) |
2023-08-07 16:16:22 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-08-07 16:17:25 +0200 | nick4 | (~nick@2600:8807:9084:7800:8141:f2b0:61a7:53a9) (Ping timeout: 240 seconds) |
2023-08-07 16:18:20 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-07 16:22:07 +0200 | acidjnk | (~acidjnk@p200300d6e7072f48b040639f689e504f.dip0.t-ipconnect.de) |
2023-08-07 16:22:51 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 260 seconds) |
2023-08-07 16:26:41 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 16:27:06 +0200 | thegeekinside | (~thegeekin@189.180.67.183) |
2023-08-07 16:28:10 +0200 | byorgey | waves good morning to shapr |
2023-08-07 16:30:25 +0200 | <byorgey> | yin: storing it by ID like that, it seems to me it will become more and more inefficient as you go up the layers, since every time you look up a node ID you will have to traverse through the list to the right layer. How about using [IntMap Node] instead? i.e. a list of layers, where each layer is a collection of nodes by ID |
2023-08-07 16:31:27 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2023-08-07 16:32:26 +0200 | nick4 | (~nick@2600:100d:b145:37b1:487b:9d17:9eab:ee88) |
2023-08-07 16:32:33 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-08-07 16:33:25 +0200 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-08-07 16:35:00 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-07 16:35:12 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 246 seconds) |
2023-08-07 16:35:37 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-08-07 16:39:30 +0200 | ripspin | (~chatzilla@1.145.244.14) |
2023-08-07 16:39:48 +0200 | shapr | (~user@2600:1700:c640:3100:27d9:ee57:10d2:44ba) (Remote host closed the connection) |
2023-08-07 16:40:02 +0200 | shapr | (~user@2600:1700:c640:3100:7465:c926:e2a0:e1d8) |
2023-08-07 16:40:22 +0200 | alexherbo2 | (~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) |
2023-08-07 16:40:23 +0200 | <shapr> | good morning byorgey! Nice to see you here |
2023-08-07 16:40:39 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 16:40:49 +0200 | danse-nr3 | (~francesco@ba-19-132-122.service.infuturo.it) |
2023-08-07 16:41:58 +0200 | alexherbo2 | (~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2023-08-07 16:46:33 +0200 | nick4 | (~nick@2600:100d:b145:37b1:487b:9d17:9eab:ee88) (Ping timeout: 246 seconds) |
2023-08-07 16:48:25 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Remote host closed the connection) |
2023-08-07 16:48:41 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 16:51:27 +0200 | misterfish | (~misterfis@87.215.131.102) (Ping timeout: 246 seconds) |
2023-08-07 16:53:04 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 246 seconds) |
2023-08-07 16:53:23 +0200 | <yin> | byorgey: the simulation only needs to run bottom-up, so i was thinking it would be more efficient to process every nth element of all [Cell] on each step |
2023-08-07 16:54:26 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2023-08-07 16:55:19 +0200 | <yin> | that's what I'm trying to figure out how to do |
2023-08-07 16:56:58 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-08-07 16:57:18 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 16:57:58 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-090-161.46.114.pool.telefonica.de) |
2023-08-07 16:58:15 +0200 | <yin> | so like `step (x:x1:xs) = f x x1 : step (x1:xs)` but somehow for every list at the same time |
2023-08-07 17:00:34 +0200 | <yin> | (because every x needs to be aware of neighbours) |
2023-08-07 17:01:00 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-07 17:01:42 +0200 | <yin> | so it's like: take the first 2 layers, calculate the updated first layers and forget about it, on to 2nd and 3rd and so on... |
2023-08-07 17:02:16 +0200 | <yin> | s/updated first layers/updated first layer |
2023-08-07 17:03:10 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-08-07 17:03:47 +0200 | ripspin | (~chatzilla@1.145.244.14) (Remote host closed the connection) |
2023-08-07 17:06:17 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-07 17:06:45 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 245 seconds) |
2023-08-07 17:07:09 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-08-07 17:07:18 +0200 | <ncf> | why not [IntMap (Cell, ...)] ? |
2023-08-07 17:07:54 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Tschüss) |
2023-08-07 17:11:02 +0200 | jero98772 | (~jero98772@2800:484:1d84:300::3) |
2023-08-07 17:11:36 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
2023-08-07 17:15:28 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-07 17:17:25 +0200 | CiaoSen | (~Jura@2a05:5800:296:9800:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds) |
2023-08-07 17:19:50 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-07 17:22:01 +0200 | nick4 | (~nick@wsip-174-78-110-18.pn.at.cox.net) |
2023-08-07 17:23:22 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-08-07 17:24:25 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-08-07 17:24:33 +0200 | alexherbo2 | (~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) |
2023-08-07 17:24:35 +0200 | alexherbo2 | (~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2023-08-07 17:25:58 +0200 | thegeekinside | (~thegeekin@189.180.67.183) (Ping timeout: 246 seconds) |
2023-08-07 17:26:25 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-07 17:29:18 +0200 | asivitz | (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-07 17:29:52 +0200 | <yin> | bacause one of the most intensive operations is comparing each node with the node above |
2023-08-07 17:30:30 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds) |
2023-08-07 17:31:39 +0200 | <yin> | it's really convenient to have "vertical" lists |
2023-08-07 17:32:26 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-08-07 17:32:34 +0200 | <yin> | where the head is the bottom one |
2023-08-07 17:34:49 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-07 17:35:03 +0200 | <yin> | one of the operations is removing one node where all the nodes above "fall" one level, which can be just removing the node from the list |
2023-08-07 17:35:29 +0200 | <yin> | i will rarely lookup a node by z-level |
2023-08-07 17:35:42 +0200 | <yin> | if that makes sense |
2023-08-07 17:35:45 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-07 17:36:52 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-08-07 17:37:08 +0200 | <yin> | every step is like a foldr from each bottom node upwards |
2023-08-07 17:38:47 +0200 | lortabac | (~lortabac@2a01:e0a:50d:8d40:7c4c:d965:f783:279f) (Quit: WeeChat 2.8) |
2023-08-07 17:41:00 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 17:44:31 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2023-08-07 17:46:19 +0200 | stef204 | (~stef204@user/stef204) (Quit: WeeChat 4.0.2) |
2023-08-07 17:48:16 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-08-07 17:52:04 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 260 seconds) |
2023-08-07 17:53:53 +0200 | shriekingnoise_ | (~shrieking@186.137.175.87) |
2023-08-07 17:56:03 +0200 | shriekin- | (~shrieking@186.137.175.87) |
2023-08-07 17:56:11 +0200 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 260 seconds) |
2023-08-07 17:57:43 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
2023-08-07 17:58:17 +0200 | shriekingnoise_ | (~shrieking@186.137.175.87) (Ping timeout: 245 seconds) |
2023-08-07 17:58:42 +0200 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2023-08-07 18:01:29 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 18:04:41 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:5cca:964e:ffad:4e30) |
2023-08-07 18:05:37 +0200 | slac22860 | (~slack1256@181.203.167.101) |
2023-08-07 18:05:46 +0200 | <yin> | and by intensive i (also) mean frequent |
2023-08-07 18:07:15 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 246 seconds) |
2023-08-07 18:07:35 +0200 | slack1256 | (~slack1256@181.43.90.77) (Ping timeout: 245 seconds) |
2023-08-07 18:09:55 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-08-07 18:15:59 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
2023-08-07 18:19:24 +0200 | <EvanR> | in the end, when it starts to become clear that every viewport needs to be optimized, you end up with a database xD |
2023-08-07 18:19:33 +0200 | <EvanR> | viewpoint* |
2023-08-07 18:19:56 +0200 | <EvanR> | indexed sets of records |
2023-08-07 18:21:08 +0200 | <monochrom> | :) |
2023-08-07 18:21:55 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2023-08-07 18:23:49 +0200 | MajorBiscuit | (~MajorBisc@c-001-005-039.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6) |
2023-08-07 18:28:18 +0200 | chexum_ | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
2023-08-07 18:29:13 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-08-07 18:31:14 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-08-07 18:38:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-08-07 18:40:43 +0200 | danse-nr3 | (~francesco@ba-19-132-122.service.infuturo.it) (Read error: Connection reset by peer) |
2023-08-07 18:43:08 +0200 | qqq | (~qqq@92.43.167.61) |
2023-08-07 18:46:57 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2023-08-07 18:47:16 +0200 | mauke | (~mauke@user/mauke) |
2023-08-07 18:53:53 +0200 | zeenk | (~zeenk@2a02:2f04:a110:8d00::fba) (Quit: Konversation terminated!) |
2023-08-07 18:54:54 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-07 18:56:32 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-07 19:00:01 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-08-07 19:00:22 +0200 | thegeekinside | (~thegeekin@189.180.67.183) |
2023-08-07 19:05:24 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2023-08-07 19:07:55 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) |
2023-08-07 19:10:10 +0200 | trev | (~trev@user/trev) (Quit: trev) |
2023-08-07 19:16:13 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-08-07 19:19:55 +0200 | jinsl | (~jinsl@2408:8207:2550:b730:211:32ff:fec8:6aea) (Quit: ZNC - https://znc.in) |
2023-08-07 19:20:11 +0200 | jinsl | (~jinsl@2408:8207:2550:b730:211:32ff:fec8:6aea) |
2023-08-07 19:31:26 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-08-07 19:34:40 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-07 19:38:29 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-08-07 19:40:39 +0200 | asivitz | (uid178348@id-178348.tinside.irccloud.com) |
2023-08-07 19:42:48 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 19:46:39 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-08-07 19:47:25 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 240 seconds) |
2023-08-07 19:50:30 +0200 | thegeekinside | (~thegeekin@189.180.67.183) (Ping timeout: 245 seconds) |
2023-08-07 19:52:56 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 244 seconds) |
2023-08-07 20:10:47 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 20:11:00 +0200 | shapr | (~user@2600:1700:c640:3100:7465:c926:e2a0:e1d8) (Remote host closed the connection) |
2023-08-07 20:11:14 +0200 | shapr | (~user@2600:1700:c640:3100:defa:aba2:b992:8010) |
2023-08-07 20:15:12 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 250 seconds) |
2023-08-07 20:19:16 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-08-07 20:23:21 +0200 | slack1256 | (~slack1256@181.43.226.77) |
2023-08-07 20:24:36 +0200 | mima | (~mmh@net-93-67-213-210.cust.vodafonedsl.it) (Ping timeout: 245 seconds) |
2023-08-07 20:25:25 +0200 | slac22860 | (~slack1256@181.203.167.101) (Ping timeout: 240 seconds) |
2023-08-07 20:33:39 +0200 | Inst_ | (~Inst@2601:6c4:4081:2fc0:1819:b44d:a133:3985) (Ping timeout: 260 seconds) |
2023-08-07 20:34:03 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer) |
2023-08-07 20:34:23 +0200 | ulysses4ever | (~artem@144.121.34.82) |
2023-08-07 20:35:30 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2023-08-07 20:38:57 +0200 | ulysses4ever | (~artem@144.121.34.82) (Ping timeout: 260 seconds) |
2023-08-07 20:40:03 +0200 | danse-nr3 | (~francesco@an-19-183-182.service.infuturo.it) |
2023-08-07 20:40:21 +0200 | danse-nr3 | (~francesco@an-19-183-182.service.infuturo.it) (Remote host closed the connection) |
2023-08-07 20:40:43 +0200 | danse-nr3 | (~francesco@an-19-183-182.service.infuturo.it) |
2023-08-07 20:44:08 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-08-07 20:44:24 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2023-08-07 20:48:30 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-08-07 20:49:49 +0200 | ulysses4ever | (~artem@144.121.34.82) |
2023-08-07 20:53:33 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-08-07 20:54:46 +0200 | thelounge793 | (~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) (Quit: Ping timeout (120 seconds)) |
2023-08-07 20:55:01 +0200 | thelounge793 | (~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) |
2023-08-07 20:55:27 +0200 | nick4 | (~nick@wsip-174-78-110-18.pn.at.cox.net) (Ping timeout: 244 seconds) |
2023-08-07 20:55:36 +0200 | mima | (~mmh@net-93-67-213-210.cust.vodafonedsl.it) |
2023-08-07 20:58:58 +0200 | gmg | (~user@user/gehmehgeh) |
2023-08-07 21:00:26 +0200 | ulysses4ever | (~artem@144.121.34.82) (Ping timeout: 245 seconds) |
2023-08-07 21:03:06 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 246 seconds) |
2023-08-07 21:04:34 +0200 | ulysses4ever | (~artem@144.121.34.82) |
2023-08-07 21:09:49 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-07 21:10:22 +0200 | mIRC-rockcavera | (mirc-rockc@179.152.251.228) |
2023-08-07 21:10:26 +0200 | mIRC-rockcavera | (mirc-rockc@179.152.251.228) () |
2023-08-07 21:11:00 +0200 | ulysses4ever | (~artem@144.121.34.82) (Ping timeout: 246 seconds) |
2023-08-07 21:14:20 +0200 | dfg | (~dfg@user/dfg) (Quit: I hate quit messages.) |
2023-08-07 21:15:27 +0200 | dfg | (~dfg@dfg.rocks) |
2023-08-07 21:15:27 +0200 | dfg | (~dfg@dfg.rocks) (Changing host) |
2023-08-07 21:15:27 +0200 | dfg | (~dfg@user/dfg) |
2023-08-07 21:16:04 +0200 | ft | (~ft@p3e9bcd02.dip0.t-ipconnect.de) |
2023-08-07 21:22:01 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-07 21:26:33 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-08-07 21:28:07 +0200 | pavonia | (~user@user/siracusa) |
2023-08-07 21:32:42 +0200 | shapr | (~user@2600:1700:c640:3100:defa:aba2:b992:8010) (Remote host closed the connection) |
2023-08-07 21:32:56 +0200 | shapr | (~user@2600:1700:c640:3100:9bfa:62f3:d638:17fe) |
2023-08-07 21:33:28 +0200 | Reinhilde | AmyMalik |
2023-08-07 21:33:36 +0200 | dfg | (~dfg@user/dfg) (Quit: I hate quit messages.) |
2023-08-07 21:34:15 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds) |
2023-08-07 21:34:41 +0200 | dfg | (~dfg@dfg.rocks) |
2023-08-07 21:34:41 +0200 | dfg | (~dfg@dfg.rocks) (Changing host) |
2023-08-07 21:34:41 +0200 | dfg | (~dfg@user/dfg) |
2023-08-07 21:35:11 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 21:38:46 +0200 | <yin> | ignoring my specific implementation, i think i condensed the problem i came up with to its simplest form: https://paste.jrvieira.com/1691437013507 |
2023-08-07 21:39:22 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 244 seconds) |
2023-08-07 21:39:22 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 244 seconds) |
2023-08-07 21:40:12 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 260 seconds) |
2023-08-07 21:41:23 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-08-07 21:44:16 +0200 | <ncf> | the answer is probably something like ZipList + traverse, which is some kind of transposition, which would effectively amount to switching your representation to [IntMap Cell] for the sake of iterating |
2023-08-07 21:44:23 +0200 | <int-e> | > let g n f = transpose . map (take n . map (f . take n) . tails . cycle) . transpose in g 2 (\[x,y] -> x-y) [[1,2,3],[4,6,8]] |
2023-08-07 21:44:24 +0200 | <lambdabot> | [[-3,-4,-5],[3,4,5]] |
2023-08-07 21:44:41 +0200 | <int-e> | (I just like `transpose`) |
2023-08-07 21:44:45 +0200 | <ncf> | :t transpose |
2023-08-07 21:44:46 +0200 | <lambdabot> | [[a]] -> [[a]] |
2023-08-07 21:45:00 +0200 | <ncf> | yeah, ZipList would be the general version of that for NonLists-of-Lists |
2023-08-07 21:45:33 +0200 | dfg | (~dfg@user/dfg) (Quit: I hate quit messages.) |
2023-08-07 21:45:52 +0200 | <int-e> | (it's not right either because apparently we want to work with 2xn values here. |
2023-08-07 21:46:24 +0200 | <int-e> | or, at least, n+1 |
2023-08-07 21:46:28 +0200 | int-e | shrugs |
2023-08-07 21:46:39 +0200 | dfg | (~dfg@dfg.rocks) |
2023-08-07 21:46:39 +0200 | dfg | (~dfg@dfg.rocks) (Changing host) |
2023-08-07 21:46:39 +0200 | dfg | (~dfg@user/dfg) |
2023-08-07 21:47:33 +0200 | dfg | (~dfg@user/dfg) (Client Quit) |
2023-08-07 21:47:38 +0200 | <ncf> | that said, i'm not sure how much sense "<yin> i'm trying to avoid using non funcctional data structures like Array" makes |
2023-08-07 21:48:05 +0200 | <int-e> | I wouldn't know, btw, how `g x y` and `g y x` are supposed to generalize to more than two entries. |
2023-08-07 21:48:27 +0200 | <int-e> | is it a cyclic shift? is it selecting one element and keeping the order of the rest? |
2023-08-07 21:48:30 +0200 | <yin> | ncf: this is a toy project that i'm using as an excuse to exercise functional programming |
2023-08-07 21:48:46 +0200 | <int-e> | :i zip3 |
2023-08-07 21:48:55 +0200 | <int-e> | :t zip3 |
2023-08-07 21:48:56 +0200 | <lambdabot> | [a] -> [b] -> [c] -> [(a, b, c)] |
2023-08-07 21:49:35 +0200 | dfg | (~dfg@dfg.rocks) |
2023-08-07 21:49:35 +0200 | dfg | (~dfg@dfg.rocks) (Changing host) |
2023-08-07 21:49:36 +0200 | dfg | (~dfg@user/dfg) |
2023-08-07 21:50:00 +0200 | <int-e> | I guess my "insight" here is that `transpose` is a `zipN` if the list of lists is a rectangle. |
2023-08-07 21:50:23 +0200 | <yin> | int-e: in my specific case, g only cares about adjacent Cells in an hexagonal grid so it will ignore all but 6 lists |
2023-08-07 21:50:24 +0200 | asivitz | (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-07 21:51:26 +0200 | <int-e> | you may be abstracting too much at this point |
2023-08-07 21:52:04 +0200 | <yin> | the arbitrary amount of lists will live in an IntMap, so `step :: IntMap [Cell] -> IntMap [Cell]` |
2023-08-07 21:52:54 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2023-08-07 21:52:55 +0200 | ulysses4ever | (~artem@144.121.34.82) |
2023-08-07 21:52:57 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-08-07 21:53:41 +0200 | artem | (~artem@144.121.34.82) |
2023-08-07 21:53:55 +0200 | <yin> | ok let me parse what you said :) |
2023-08-07 21:54:01 +0200 | Wojciech_K | (~Wojciech_@2a01:4f9:6a:18a8::239) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2023-08-07 21:55:34 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-08-07 21:56:50 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:5cca:964e:ffad:4e30) (Remote host closed the connection) |
2023-08-07 21:57:10 +0200 | ulysses4ever | (~artem@144.121.34.82) (Ping timeout: 245 seconds) |
2023-08-07 21:57:43 +0200 | <ncf> | someone should probably mention comonads at some point |
2023-08-07 21:57:53 +0200 | <yin> | oh god |
2023-08-07 21:58:00 +0200 | artem | (~artem@144.121.34.82) (Ping timeout: 245 seconds) |
2023-08-07 22:01:31 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2023-08-07 22:01:56 +0200 | TheCatCollective | (NyaaTheKit@user/calculuscat) (Quit: Meow Meow Meow Meow Meow Meow Meow Meow) |
2023-08-07 22:03:37 +0200 | TheCatCollective | (NyaaTheKit@user/calculuscat) |
2023-08-07 22:06:13 +0200 | ulysses4ever | (~artem@144.121.34.82) |
2023-08-07 22:06:48 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-08-07 22:07:49 +0200 | <int-e> | hehe, Data.List stops as `zip7`; that's one short for this purpose |
2023-08-07 22:08:37 +0200 | artem | (~artem@144.121.34.82) |
2023-08-07 22:09:05 +0200 | <yin> | ok comonads seem simple enough |
2023-08-07 22:09:36 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Ping timeout: 246 seconds) |
2023-08-07 22:09:53 +0200 | TheCatCollective | (NyaaTheKit@user/calculuscat) (Quit: Meow Meow Meow Meow Meow Meow Meow Meow) |
2023-08-07 22:10:25 +0200 | danse-nr3 | (~francesco@an-19-183-182.service.infuturo.it) (Ping timeout: 240 seconds) |
2023-08-07 22:10:29 +0200 | ulysses4ever | (~artem@144.121.34.82) (Ping timeout: 260 seconds) |
2023-08-07 22:10:51 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) |
2023-08-07 22:11:32 +0200 | TheCatCollective | (NyaaTheKit@user/calculuscat) |
2023-08-07 22:11:32 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Read error: Connection reset by peer) |
2023-08-07 22:12:49 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) |
2023-08-07 22:12:55 +0200 | artem | (~artem@144.121.34.82) (Ping timeout: 240 seconds) |
2023-08-07 22:13:23 +0200 | ulysses4ever | (~artem@144.121.34.82) |
2023-08-07 22:15:04 +0200 | vglfr | (~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Read error: Connection reset by peer) |
2023-08-07 22:15:49 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-08-07 22:16:19 +0200 | vglfr | (~vglfr@145.224.100.231) |
2023-08-07 22:20:54 +0200 | Pickchea | (~private@user/pickchea) |
2023-08-07 22:21:02 +0200 | vglfr | (~vglfr@145.224.100.231) (Ping timeout: 260 seconds) |
2023-08-07 22:23:00 +0200 | vglfr | (~vglfr@188.239.201.89) |
2023-08-07 22:24:31 +0200 | artem | (~artem@144.121.34.82) |
2023-08-07 22:25:04 +0200 | ulysses4ever | (~artem@144.121.34.82) (Ping timeout: 260 seconds) |
2023-08-07 22:27:28 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-090-161.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-08-07 22:29:58 +0200 | <int-e> | hmm, a prototype: https://paste.tomsmeding.com/yW9dXL0t -- wonder what ncf thinks about it :) |
2023-08-07 22:30:40 +0200 | danza | (~francesco@an-19-183-182.service.infuturo.it) |
2023-08-07 22:31:13 +0200 | <int-e> | oh is that a traverse? |
2023-08-07 22:31:31 +0200 | artem | (~artem@144.121.34.82) (Ping timeout: 260 seconds) |
2023-08-07 22:32:06 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 22:33:17 +0200 | titibandit | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-08-07 22:33:39 +0200 | <int-e> | (no it isn't, because `traverse` isn't a zip) |
2023-08-07 22:34:39 +0200 | danza | (~francesco@an-19-183-182.service.infuturo.it) (Remote host closed the connection) |
2023-08-07 22:35:02 +0200 | danza | (~francesco@an-19-183-182.service.infuturo.it) |
2023-08-07 22:35:54 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-08-07 22:36:47 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
2023-08-07 22:37:57 +0200 | <ncf> | int-e: getZipList . traverse ZipList ? |
2023-08-07 22:39:54 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-07 22:41:47 +0200 | <int-e> | ncf: ah, that would work. |
2023-08-07 22:42:50 +0200 | <int-e> | (but there's also some charm to only using `Functor`) |
2023-08-07 22:43:43 +0200 | ulysses4ever | (~artem@2607:fb90:ad4a:4cb9:77a0:9d1f:9d74:ddae) |
2023-08-07 22:44:48 +0200 | <int-e> | And it does accomplish the main goal as I understand it... namely, it avoids unnecessary boilerplate for dealing with different neighbourhood shapes. |
2023-08-07 22:45:17 +0200 | <int-e> | s/unnecessary// |
2023-08-07 22:50:54 +0200 | shapr | (~user@2600:1700:c640:3100:9bfa:62f3:d638:17fe) (Remote host closed the connection) |
2023-08-07 22:51:07 +0200 | shapr | (~user@2600:1700:c640:3100:de71:e1d6:7cf3:d6a9) |
2023-08-07 22:54:19 +0200 | michalz | (~michalz@185.246.207.215) (Remote host closed the connection) |
2023-08-07 22:57:19 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:5cca:964e:ffad:4e30) |
2023-08-07 22:58:36 +0200 | danza | (~francesco@an-19-183-182.service.infuturo.it) (Ping timeout: 246 seconds) |
2023-08-07 23:00:01 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 23:01:49 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:5cca:964e:ffad:4e30) (Ping timeout: 260 seconds) |
2023-08-07 23:04:15 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds) |
2023-08-07 23:07:11 +0200 | ystael | (~ystael@user/ystael) |
2023-08-07 23:08:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-07 23:10:54 +0200 | nick4 | (~nick@2600:8807:9084:7800:e088:85db:e105:cf5e) |
2023-08-07 23:15:15 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 246 seconds) |
2023-08-07 23:17:38 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-08-07 23:21:41 +0200 | nick4 | (~nick@2600:8807:9084:7800:e088:85db:e105:cf5e) (Ping timeout: 260 seconds) |
2023-08-07 23:22:52 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-08-07 23:27:18 +0200 | fendor | (~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) (Remote host closed the connection) |
2023-08-07 23:29:18 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-07 23:30:59 +0200 | nick4 | (~nick@2600:8807:9084:7800:e088:85db:e105:cf5e) |
2023-08-07 23:32:35 +0200 | acidjnk | (~acidjnk@p200300d6e7072f48b040639f689e504f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-08-07 23:34:40 +0200 | Vajb | (~Vajb@2001:999:704:b8c8:e14b:a6fe:34f9:7c8b) (Ping timeout: 245 seconds) |
2023-08-07 23:35:40 +0200 | Vajb | (~Vajb@2001:999:58d:647c:664f:4b4f:efff:9b44) |
2023-08-07 23:36:20 +0200 | nick4 | (~nick@2600:8807:9084:7800:e088:85db:e105:cf5e) (Ping timeout: 245 seconds) |
2023-08-07 23:36:47 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-08-07 23:39:53 +0200 | danse-nr3 | (~francesco@an-19-183-182.service.infuturo.it) |
2023-08-07 23:40:33 +0200 | danse-nr3 | (~francesco@an-19-183-182.service.infuturo.it) (Remote host closed the connection) |
2023-08-07 23:41:03 +0200 | danse-nr3 | (~francesco@an-19-183-182.service.infuturo.it) |
2023-08-07 23:44:00 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-08-07 23:44:20 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-08-07 23:45:51 +0200 | mima | (~mmh@net-93-67-213-210.cust.vodafonedsl.it) (Ping timeout: 245 seconds) |
2023-08-07 23:51:10 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-07 23:52:09 +0200 | jero98772 | (~jero98772@2800:484:1d84:300::3) (Ping timeout: 246 seconds) |
2023-08-07 23:53:31 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) |
2023-08-07 23:55:30 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds) |
2023-08-07 23:57:09 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-08-07 23:58:00 +0200 | cptaffe | (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 245 seconds) |
2023-08-07 23:59:03 +0200 | talismanick | (~user@campus-013-245.ucdavis.edu) |
2023-08-07 23:59:06 +0200 | _xor | (~xor@ip-50-5-233-250.dynamic.fuse.net) |
2023-08-07 23:59:35 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |