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